From a58fee7200b5037ef388ddafdcc085b71e023c69 Mon Sep 17 00:00:00 2001 From: Tiberiu Chibici Date: Tue, 14 Sep 2021 19:02:20 +0300 Subject: [PATCH] Bad version (?) --- ...09-08-09-15-29.037-VirtualBox.exe-4292.log | 2 +- ...09-08-09-21-27.088-VirtualBox.exe-4884.log | 4 + Build/loader.o | Bin 1216 -> 1216 bytes Build/main.o | Bin 1528 -> 1588 bytes Kernel/debug/commands.c | 52 +- Kernel/debug/console.c | 2 +- Kernel/debug/logger.c | 7 +- Kernel/drivers/drivers.c | 3 +- Kernel/hal/clock/clock.c | 9 +- Kernel/hal/crash.c | 4 +- Kernel/hal/filesys/initrd/initrd.c | 10 +- Kernel/hal/hal.c | 2 +- Kernel/include/debugio.h | 2 - Kernel/include/memory-add.h | 48 +- Kernel/include/settings.h | 2 +- Kernel/include/tasking.h | 31 +- Kernel/include/version.h | 2 +- Kernel/library/memory/memory_alloc.c | 3 +- Kernel/library/memory/memory_info.c | 13 +- Kernel/library/memory/memory_init.c | 25 +- Kernel/loader.asm | 3 - Kernel/main.c | 6 +- Kernel/memory/mem-heap.c | 20 +- Kernel/memory/mem-paging.c | 177 +- Kernel/memory/mem-phys.c | 78 +- Kernel/tasking/tasking-asm.asm | 48 +- Kernel/tasking/tasking-multi.c | 188 +- Kernel/tasking/tasking-stack.c | 51 + Modules/Rom image maker/langspecs.txt | 2 +- .../nbproject/Makefile-impl.mk | 133 - bash.exe.stackdump | 7 - bochs/bochs_run.log | 103 +- bochs/dump.txt | 10672 ---------------- build/clock.o | Bin 1068 -> 1064 bytes build/console.o | Bin 12304 -> 12224 bytes build/crash.o | Bin 0 -> 4212 bytes build/hal.o | Bin 2020 -> 2136 bytes build/initrd.o | Bin 3264 -> 3000 bytes build/keyboard.o | Bin 0 -> 5064 bytes build/logger.o | Bin 3660 -> 3380 bytes build/mem-heap.o | Bin 3592 -> 3620 bytes build/mem-paging.o | Bin 2120 -> 2764 bytes build/mem-phys.o | Bin 2364 -> 2720 bytes build/memory_alloc.o | Bin 2876 -> 2888 bytes build/memory_info.o | Bin 1376 -> 1376 bytes build/memory_init.o | Bin 2568 -> 2440 bytes build/tasking-asm.o | Bin 448 -> 608 bytes build/tasking-multi.o | Bin 1792 -> 2360 bytes build/tasking-stack.o | Bin 0 -> 1304 bytes change.log | 11 +- filelistAsm.txt | 5 +- filelistC.txt | 3 + kernel.bin | Bin 67025 -> 67205 bytes luxos.img | Bin 1474560 -> 1474560 bytes scripts/build.bat | 6 +- scripts/pack.bat | 6 +- scripts/pack.sh | 2 +- scripts/version.txt | 2 +- 58 files changed, 555 insertions(+), 11189 deletions(-) rename 2011-09-20-09-23-01.013-VirtualBox.exe-4472.log => 2011-09-08-09-15-29.037-VirtualBox.exe-4292.log (80%) create mode 100644 2011-09-08-09-21-27.088-VirtualBox.exe-4884.log create mode 100644 Kernel/tasking/tasking-stack.c delete mode 100644 Modules/Rom image maker/nbproject/Makefile-impl.mk delete mode 100644 bash.exe.stackdump delete mode 100644 bochs/dump.txt create mode 100644 build/crash.o create mode 100644 build/keyboard.o create mode 100644 build/tasking-stack.o diff --git a/2011-09-20-09-23-01.013-VirtualBox.exe-4472.log b/2011-09-08-09-15-29.037-VirtualBox.exe-4292.log similarity index 80% rename from 2011-09-20-09-23-01.013-VirtualBox.exe-4472.log rename to 2011-09-08-09-15-29.037-VirtualBox.exe-4292.log index a79ccd0..8afc126 100644 --- a/2011-09-20-09-23-01.013-VirtualBox.exe-4472.log +++ b/2011-09-08-09-15-29.037-VirtualBox.exe-4292.log @@ -1,4 +1,4 @@ -Log created: 2011-09-20T09:23:01.130988600Z +Log created: 2011-09-08T09:15:29.377663100Z Executable: C:\PROGRA~1\oracle\Virtua~1\VirtualBox.exe Commandline: C:\PROGRA~1\oracle\Virtua~1\\virtualbox --startvm "lux Testbed" --dbg fatal error in recompiler cpu: triple fault diff --git a/2011-09-08-09-21-27.088-VirtualBox.exe-4884.log b/2011-09-08-09-21-27.088-VirtualBox.exe-4884.log new file mode 100644 index 0000000..2501e6a --- /dev/null +++ b/2011-09-08-09-21-27.088-VirtualBox.exe-4884.log @@ -0,0 +1,4 @@ +Log created: 2011-09-08T09:21:27.881741000Z +Executable: C:\PROGRA~1\oracle\Virtua~1\VirtualBox.exe +Commandline: C:\PROGRA~1\oracle\Virtua~1\\virtualbox --startvm "lux Testbed" --dbg +fatal error in recompiler cpu: triple fault diff --git a/Build/loader.o b/Build/loader.o index e5acfcb0cc81e0f07103ba5266b9d6751090166f..08b9b722958530f0d71940de5345e300e3bc2a52 100644 GIT binary patch delta 135 zcmX@Wd4O}m62_K^OaDl*hXlX)^Z);U1hKH0fq@|)!*udq#+1$SOrng6l0X3nU}BgD yWSGLZ3``8Gfb8bYq0H8d22wyKlMn-gJct%yU{C?ljLZxST2NXaBrXgjpa1}7k{(L{ delta 137 zcmX@Wd4O}m62`WPOaI7lh6KO(^Z)<NGvQZEc_ML3O05Y!E;7Pk=tV5_Xc*BnV-Z{@+zmEJLB2p#bTk*juk$7VHkGi z-qkf_m7~sST6H=5Izv5Wn^yzuQA+348*OTbmbLw#JigDgr#|UHd*&NJnjZPhm$r3G z(XV#(WSm^fRb?t!o_Vo=G96iYV{^wY-CFnjODX1@xcs(%Yz`BBVT#X0ycF@Rh&LjB z9P!IRU&75`0e2C{fgjYTs;F&Cz?y$p3+lU-oo2BfGy{LX()6n}(q`7;GR>QnMw&b5 zA;4j(1h62U1d768U{yE*tP4kh4I$536{dLMLT)0XC|*}f7za+Jo&nmzF(4<@z#kG; BNO%AM delta 408 zcmZ9IJxc>Y5Qg8`&59)Fc}77LA{P#FyLP}?%Hao>U`|K|J?(QfWR|Y9P7WG=ud0Xm3%E!~U#>df(^>K1p+K5wg z#-4`M=Woi~zySwbGa0?GH~FM5@`XucREWRwv-A&sH@O*u%eG-Y9k1F3ZStPY-N*uM zzP6eBDgpQWWFO8ow+h0n=Kob9T=*BEdOh%F;M;-k1b!HJ@7I?n(15F8!yS`b;ihYG z&vlQ0imX!^SQ8qNb!7x>DQAF=G6uRzdCjg;4&GPJ0eS(F4?I>*0Vg_N1x}UoK&mvr E4-?rki~s-t diff --git a/Kernel/debug/commands.c b/Kernel/debug/commands.c index ffacc2a..7ad1329 100644 --- a/Kernel/debug/commands.c +++ b/Kernel/debug/commands.c @@ -21,7 +21,7 @@ string ConsoleCommands[] = "restart", "dir", "cat", - "task" + "fork" }; int32 ConsoleCommandsCount = 14; @@ -174,7 +174,7 @@ void _CommandMemPrintMemmap() blocks = n - old; used = 0; for (; old < n; old++) - used += (MemPhGetBlock (old) != 0); + used += (MemPhGetFrame(old) != 0); if (used <= blocks / 5) c = ' '; else if (used > 4 * blocks / 5) c = 219; @@ -338,29 +338,39 @@ void CommandCat (string argv[], int32 argc) } #include -void task() -{ - Point p = {5, 1}; - uint32 t = 0; - - while (1) - { - ConsoleCursorGoto(p); - ConsoleWrite("Hello world! %u ", t++); - } -} - -void CommandTask() +void CommandFork() { ConsoleClear(); - TaskCreate(task); - Point p = {5, 2}; - uint32 t = 0; + Point a = {5,1}; + Point b = {5,2}; - while (1) + // Child? + if (Fork() == 0) { - ConsoleCursorGoto(p); - ConsoleWrite("%#Hello world! %u ", ColorLightBlue, t++); + uint32 i; + for (i = 0; i < 0x7fffffff; i++) + { + ConsoleCursorGoto(a); + ConsoleWrite ("[c] Hello %u", i); + + if (i > 0x7ffffff0) i = 0; + } + + for (;;); + } + + // Not child? + else { + uint32 i; + for (i = 0; i < 0x7fffffff; i++) + { + ConsoleCursorGoto(b); + ConsoleWrite ("[p] world %u", i); + + if (i > 0x7ffffff0) i = 0; + } + + for (;;); } } diff --git a/Kernel/debug/console.c b/Kernel/debug/console.c index dcae21b..2e612e8 100644 --- a/Kernel/debug/console.c +++ b/Kernel/debug/console.c @@ -76,7 +76,7 @@ loop: case 10: SystemReboot(); break; case 11: CommandDir(params, count); break; case 12: CommandCat(params, count); break; - case 13: CommandTask(); break; + case 13: CommandFork(); break; default: ConsoleWrite ("%#! Command %#%s%# was not implemented (yet)!\n", Color(0,ColorLightRed), Color(0,ColorWhite), params[0], Color(0,ColorLightRed)); break; diff --git a/Kernel/debug/logger.c b/Kernel/debug/logger.c index dfe0d18..b0bf06f 100644 --- a/Kernel/debug/logger.c +++ b/Kernel/debug/logger.c @@ -17,6 +17,7 @@ string LogAllowedDevices[] = { "vfs", //"mem", "console", + "tasking", 0x0, 0x0 }; @@ -118,9 +119,3 @@ int32 LogWrite (uint8 error, string device, string format, ...) ConsoleCursorUpdateHardware(); return i; } - -void LogAssert (int32 condition, string file, int32 line) -{ - if (!condition) - Panic("Assert", "Assertion failed in file %s line %d.\n", file, line); -} diff --git a/Kernel/drivers/drivers.c b/Kernel/drivers/drivers.c index c344206..aefa68a 100644 --- a/Kernel/drivers/drivers.c +++ b/Kernel/drivers/drivers.c @@ -29,7 +29,8 @@ void DriversInstall() DriversInstall_Clock(); // Install fdc - Error ("Floppy", "Floppy driver is currently disabled.\n"); + + Error("Floppy", "Floppy driver is currently disabled.\n"); //IrqInstallHandler(6, FloppyIrqHandler); //FloppyInitialize(); } diff --git a/Kernel/hal/clock/clock.c b/Kernel/hal/clock/clock.c index 56e0eaa..87855d6 100644 --- a/Kernel/hal/clock/clock.c +++ b/Kernel/hal/clock/clock.c @@ -6,12 +6,14 @@ volatile TimeSystem _internal_time; uint32 _internal_frequency_hz; -extern void TaskSwitch (_RegsStack32* regs); +extern void TaskingScheduler(); -void TimeHandler(_RegsStack32* r) +void TimeHandler(_RegsStack32* UNUSED(r)) { + // Make sure it is initialised if (_internal_frequency_hz == 0) return; + // Timer tick _internal_time.Time += 1000/_internal_frequency_hz; if (_internal_time.Time >= MILISECONDS_IN_DAY) { @@ -19,5 +21,6 @@ void TimeHandler(_RegsStack32* r) _internal_time.Time-=MILISECONDS_IN_DAY; } - TaskSwitch(r); + // Launch scheduler + TaskingScheduler(); } diff --git a/Kernel/hal/crash.c b/Kernel/hal/crash.c index a719bb8..fcaa4a0 100644 --- a/Kernel/hal/crash.c +++ b/Kernel/hal/crash.c @@ -70,8 +70,8 @@ void CrashMessage(_RegsStack32 *r) ConsoleCursorGoto(c); ConsoleWrite("eflags=0x%x", r->eflags); ConsoleCursorGoto(d); ConsoleWrite("useresp=0x%x\n", r->useresp); - ConsoleCursorGoto(a); ConsoleWrite("ss=0x%x", r->ss); - ConsoleCursorGoto(b); ConsoleWrite("int_no=0x%x", r->int_no); + ConsoleCursorGoto(a); ConsoleWrite("gs=0x%x", r->ss); + ConsoleCursorGoto(b); ConsoleWrite("fs=0x%x", r->int_no); ConsoleCursorGoto(c); ConsoleWrite("err_code=0x%x", r->err_code); // Useful info about page fault diff --git a/Kernel/hal/filesys/initrd/initrd.c b/Kernel/hal/filesys/initrd/initrd.c index 2836d20..1c7fbd2 100644 --- a/Kernel/hal/filesys/initrd/initrd.c +++ b/Kernel/hal/filesys/initrd/initrd.c @@ -180,16 +180,13 @@ void luxInitrdInstall (MultibootInfo* info) VfsInstallFs(&fs); // Check for multiboot info flags to see if any modules are loaded - if ((info->Flags & 8) == 0) { - Error("Initrd", "No boot modules found!"); - return; - } + if ((info->Flags & 8) == 0) return; // Loop through each module and if it is an initrd image, mount it MultibootModule* modules = (MultibootModule*) info->ModulesAddress; for (i = 0; i < info->ModulesCount; i++) - if (*((uint32*) modules[i].ModuleStart) == LUXMAGIC) + if ((*(uint32*) modules[i].ModuleStart) == LUXMAGIC) { // Mount the device Log("Initrd", "Found initrd image at 0x%x.\n", modules[i].ModuleStart); @@ -199,7 +196,4 @@ void luxInitrdInstall (MultibootInfo* info) mp->FsData[0] = modules[i].ModuleStart; mp->FsData[1] = modules[i].ModuleEnd; } - else { - Log("Initrd", "Found module @ 0x%x, but not initrd image.\n", modules[i].ModuleStart); - } } diff --git a/Kernel/hal/hal.c b/Kernel/hal/hal.c index a6fd502..0569d3e 100644 --- a/Kernel/hal/hal.c +++ b/Kernel/hal/hal.c @@ -34,7 +34,7 @@ void HalInitialize() KeyboardInstallB(); Log("HAL", "%#[2/2]\n", ColorLightGreen); // Install mouse driver - //MouseInstall(); Log("HAL", "Installed mouse driver\n"); + MouseInstall(); Log("HAL", "Installed mouse driver\n"); // Install VFS VfsInstall(); diff --git a/Kernel/include/debugio.h b/Kernel/include/debugio.h index eb8e47c..ce41720 100644 --- a/Kernel/include/debugio.h +++ b/Kernel/include/debugio.h @@ -65,12 +65,10 @@ extern void ConsoleMain(); // External test routines extern void SystemPanic(); extern int32 LogWrite (uint8 error, string device, string format, ...); -extern void LogAssert (int32 condition, string file, int32 line); // Debug print #define Log(dev, ...) { LogWrite(0, dev, __VA_ARGS__); } #define Error(dev, ...) { LogWrite(1, dev, __VA_ARGS__); } #define Panic(dev, ...) { LogWrite(1, dev, __VA_ARGS__); SystemPanic(); } -#define Assert(c) { LogAssert(c, __FILE__, __LINE__); } #endif diff --git a/Kernel/include/memory-add.h b/Kernel/include/memory-add.h index 6f66cb7..c305e74 100644 --- a/Kernel/include/memory-add.h +++ b/Kernel/include/memory-add.h @@ -33,6 +33,8 @@ enum PageFlags PageFrame = 0xFFFFF000 }; + + typedef struct { Page Pages[1024]; } PageTable; @@ -46,28 +48,28 @@ typedef struct { extern PageDirectory* CurrentDirectory; extern PageDirectory* KernelDirectory; -extern void PagingEnable (); -extern void PagingDisable (); -extern void PagingSwitchDirectory (PageDirectory* dir); -extern void PagingFlushTlb (); -extern void PagingInitialize (uint32* kernelEnd); -extern void PagingMapPage (uint32 phys, uint32 virt, uint32 flags, PageDirectory* pd); -extern void PagingUnmapPage (uint32 virt, PageDirectory* pd); -extern uint32 PagingGetPhysical (uint32 virt, PageDirectory* pd); +extern void PagingInitialize(volatile uint32* SystemMemory); +extern void PagingSwitchPageDirectory (PageDirectory* dir); +extern Page* PagingGetPage(uint32 addr, uint8 make, PageDirectory* dir); +extern void PagingCopyPagePhysical (uint32, uint32); +extern PageTable* PagingCloneTable (PageTable* src, uint32* physAddr); +extern PageDirectory* PagingCloneDirectory (PageDirectory* src); + /*************************************************** * Physical memory manager * ***************************************************/ -extern uint32 TotalBlocks; +extern uint32 TotalFrames; extern uint32 TotalMemory; -extern uint32 UsedBlocks; +extern uint32 UsedFrames; -extern void MemPhInitialize (uint32 SystemMemoryKb); -extern void MemPhSetBlock (uint32 Block, uint8 value); -extern uint32 MemPhGetBlock (uint32 Block); -extern uint32 MemPhAllocateBlock (); -extern void MemPhFreeBlock (uint32 addr); -extern void MemPhReserveBlocks (uint32 address, uint32 length); +void MemPhInitialize(uint32 SystemMemoryKb); +extern void MemPhSetFrame (uint32 frame, uint8 value); +uint32 MemPhGetFrame (uint32 frame); +uint32 MemPhFindFreeFrame(); +void MemPhAllocFrame(Page* page, uint8 isKernel, uint8 isWriteable); +void MemPhFreeFrame(Page* page); +void MemPhReserveFrames (uint32 address, uint32 length); /*************************************************** @@ -83,12 +85,12 @@ typedef struct extern MemHeap* KernelHeap; -extern uint32 MemHeapFindSmallestHole (uint32 size, uint8 page_align, MemHeap* heap); -extern int32 MemHeapCompare (uint32 a, uint32 b); -extern MemHeap* MemHeapCreate (uint32 start, uint32 end, uint32 max, uint8 flags); -extern uint32 MemHeapExpand (uint32 newsz, MemHeap* heap, PageDirectory* pd); -extern uint32 MemHeapContract (uint32 newsz, MemHeap* heap, PageDirectory* pd); -extern uint32 MemHeapAlloc (uint32 size, uint8 isPageAligned, MemHeap* heap, PageDirectory* pd); -extern void MemHeapFree (uint32 address, MemHeap* heap, PageDirectory* pd); +extern uint32 MemHeapFindSmallestHole (uint32 size, uint8 page_align, MemHeap* heap); +extern int32 MemHeapCompare (uint32 a, uint32 b); +extern MemHeap* MemHeapCreate(uint32 start, uint32 end, uint32 max, uint8 flags); +extern void MemHeapExpand(uint32 newsz, MemHeap* heap, PageDirectory* pd); +extern uint32 MemHeapContract(uint32 newsz, MemHeap* heap, PageDirectory* pd); +extern uint32 MemHeapAlloc (uint32 size, uint8 isPageAligned, MemHeap* heap, PageDirectory* pd); +extern void MemHeapFree (uint32 address, MemHeap* heap, PageDirectory* pd); #endif /* MEMORY_ADD_H_ */ diff --git a/Kernel/include/settings.h b/Kernel/include/settings.h index 5de2003..bf7b528 100644 --- a/Kernel/include/settings.h +++ b/Kernel/include/settings.h @@ -32,7 +32,7 @@ // Memory manager #define KERNEL_HEAP_START 0xC0000000 #define KERNEL_HEAP_INITIAL_SIZE 0x100000 -#define KERNEL_HEAP_END (KERNEL_HEAP_START + KERNEL_HEAP_INITIAL_SIZE) +#define KERNEL_HEAP_END (KERNEL_HEAP_START + KERNEL_HEAP_INITIAL_SIZE) #endif /* SETTINGS_H_ */ diff --git a/Kernel/include/tasking.h b/Kernel/include/tasking.h index 4a44946..2f72533 100644 --- a/Kernel/include/tasking.h +++ b/Kernel/include/tasking.h @@ -1,28 +1,33 @@ /* * tasking.h * - * Created on: Sep 8, 2011 + * Created on: Sep 7, 2011 * Author: Tiberiu */ #ifndef TASKING_H_ #define TASKING_H_ -#include #include -typedef struct _Task { - uint32 Pid; - uint32 Eip, Esp, Ebp; - PageDirectory* Pd; - uint32 StackLowerBase; - uint32 StackUpperBase; - uint8 Initialized; - struct _Task* Next; +typedef struct _Task{ + uint32 Pid; // Process ID + uint32 Esp, Ebp, Eip; // Stack, base and instruction pointers + PageDirectory* Pd; // Page dir + struct _Task *Next; // Next task in a linked list } Task; -extern void TaskInitialize(); -extern void TaskSwitch (); -extern void TaskCreate (void (*func)()); +extern void TaskingInitialize(); +extern void TaskingScheduler(); +extern void TaskingSwitch(); + +extern int32 Fork(); + +extern void TaskingSetInitialStack(uint32 addr); +extern void TaskingMoveStack (uint32 newstart, uint32 size); + +extern int32 GetPid(); + +extern uint32 TaskingReadEip(); #endif /* TASKING_H_ */ diff --git a/Kernel/include/version.h b/Kernel/include/version.h index 4dd4f99..0f73020 100644 --- a/Kernel/include/version.h +++ b/Kernel/include/version.h @@ -1 +1 @@ -#define OS_BUILD "0.1.1.50" +#define OS_BUILD "0.1.1.48" diff --git a/Kernel/library/memory/memory_alloc.c b/Kernel/library/memory/memory_alloc.c index 3ab91f8..4b7c4ea 100644 --- a/Kernel/library/memory/memory_alloc.c +++ b/Kernel/library/memory/memory_alloc.c @@ -28,7 +28,8 @@ uint32 _malloc_init2 (uint32 size, uint8 page_aligned, uint32* phys) if (phys) { - *phys = PagingGetPhysical(ret, KernelDirectory) + (ret & 0xFFF); + Page *pg = PagingGetPage(ret, 0, KernelDirectory); + *phys = (*pg & PageFrame) + (ret & 0xFFF); Log("Mem","%#Allocated %u bytes (%spage aligned) at address 0x%x (phys=%x).\n", ColorLightMagenta, size, ((page_aligned) ? "" : "not "), ret, *phys); } diff --git a/Kernel/library/memory/memory_info.c b/Kernel/library/memory/memory_info.c index 001d8c6..fbcf54a 100644 --- a/Kernel/library/memory/memory_info.c +++ b/Kernel/library/memory/memory_info.c @@ -6,6 +6,7 @@ */ #include +// MemoryGetFree(), MemoryGetTotal(), MemoryGet blah blah... // Returns total physical memory in bytes uint32 MemoryGetTotal() @@ -16,13 +17,13 @@ uint32 MemoryGetTotal() // Returns total free physical memory in bytes uint32 MemoryGetFree() { - return (TotalBlocks - UsedBlocks) * 0x4; + return (TotalFrames - UsedFrames) * 0x4; } // Total used physical memory in bytes uint32 MemoryGetUsed() { - return UsedBlocks * 0x4; + return UsedFrames * 0x4; } // Same as above functions, but in frames @@ -33,15 +34,15 @@ uint32 MemoryGetFrameSize() uint32 MemoryGetFramesTotal() { - return TotalBlocks; + return TotalFrames; } uint32 MemoryGetFramesUsed() { - return UsedBlocks; + return UsedFrames; } uint32 MemoryGetFramesFree() { - return (TotalBlocks - UsedBlocks); -} + return (TotalFrames - UsedFrames); +} \ No newline at end of file diff --git a/Kernel/library/memory/memory_init.c b/Kernel/library/memory/memory_init.c index dec5ac4..6d49258 100644 --- a/Kernel/library/memory/memory_init.c +++ b/Kernel/library/memory/memory_init.c @@ -10,6 +10,7 @@ #include "../../drivers/cmos/cmos.h" #include + uint32 mem_kernel_end = 0; uint8 mem_initialized = 0; @@ -41,7 +42,7 @@ void _memory_reserve_system(MultibootInfo* info) while ((uint32)location < (info->MemoryMapAddress + info->MemoryMapLength)) { if (location->Type > 1) - MemPhReserveBlocks((uint32)location->Address, (uint32)location->Length); + MemPhReserveFrames((uint32)location->Address, (uint32)location->Length); location = (MultibootMemoryMapEntry*) ((uint32)location + location->Size + sizeof(uint32)); } @@ -52,35 +53,29 @@ void _memory_reserve_system(MultibootInfo* info) Error("Mem", "%#Missing %#memory map%# info from bootloader.\n", ColorLightRed, ColorWhite, ColorLightRed); // Standard memory hole at 15mb - MemPhReserveBlocks(0x00F00000, 0x00100000); + MemPhReserveFrames(0x00F00000, 0x00100000); } + // Standard reserved memory areas + MemPhReserveFrames(0x0, 0x400 + 256); // Real mode IVT, BDA + MemPhReserveFrames(0x1000, 0x2400); // DMA buffer + MemPhReserveFrames(0x9FC00, 385*1024); // EBDA, Video memory, ROM area } void MemoryInitialize (MultibootInfo* info) { - // Get total system memory uint32 totalSystemMemory = _memory_get_total_mem(info); - // Initialize physical & virtual memory managers - uint32 end = mem_kernel_end + 0x80000; MemPhInitialize(totalSystemMemory); - PagingInitialize(&end); + PagingInitialize((volatile uint32*)&mem_kernel_end); - // Reserve physical blocks _memory_reserve_system(info); - uint32 i; - // Allocate some space for the kernel heap - for (i = KERNEL_HEAP_START; i <= KERNEL_HEAP_END; i += 0x1000) - PagingMapPage(MemPhAllocateBlock(), i, PageWriteable, KernelDirectory); - - // Create the kernel heap KernelHeap = MemHeapCreate(KERNEL_HEAP_START, KERNEL_HEAP_START + KERNEL_HEAP_INITIAL_SIZE, 0xCFFFF000, 3); // is kernel, writeable - Log("Mem", "Done initializing memory!\n"); + Log("Mem", "Done initializing memory!"); mem_initialized = 2; } @@ -89,5 +84,5 @@ void MemoryTempInitialize (uint32 kernel_end) { mem_initialized = 1; mem_kernel_end = kernel_end; - Log("Mem", "Initialized temporary memory manager, allocating from %#0x%x.\n", ColorWhite, mem_kernel_end); + Log("Mem", "Initialized temporary memory manager, allocating from %#0x%x.\n", kernel_end); } diff --git a/Kernel/loader.asm b/Kernel/loader.asm index ca583f6..aae3c06 100644 --- a/Kernel/loader.asm +++ b/Kernel/loader.asm @@ -39,9 +39,6 @@ start: extern k_main call k_main - cli - hlt - ; Show error message, and halt system .bad: diff --git a/Kernel/main.c b/Kernel/main.c index eccb126..cd18c39 100644 --- a/Kernel/main.c +++ b/Kernel/main.c @@ -12,8 +12,10 @@ extern uint32 _end; extern void luxInitrdInstall (MultibootInfo* info); -void k_main(MultibootInfo* info) +void k_main(MultibootInfo* info, uint32 initial_stack) { + TaskingSetInitialStack(initial_stack); + uint32 KernelEnd = (uint32)&_end; // Find kernel's end @@ -30,7 +32,7 @@ void k_main(MultibootInfo* info) MemoryTempInitialize(KernelEnd); MemoryInitialize(info); - TaskInitialize(); + TaskingInitialize(); HalInitialize(); luxInitrdInstall(info); diff --git a/Kernel/memory/mem-heap.c b/Kernel/memory/mem-heap.c index dee88e1..eac2d6e 100644 --- a/Kernel/memory/mem-heap.c +++ b/Kernel/memory/mem-heap.c @@ -6,6 +6,9 @@ #define MEMHEAP_INDEX_SIZE 0x20000 #define MEMHEAP_MINIM_SIZE 0x70000 +#define FlagsKernel 1 +#define FlagsWriteable 2 + typedef struct { uint32 Magic; @@ -95,31 +98,30 @@ MemHeap* MemHeapCreate(uint32 start, uint32 end, uint32 max, uint8 flags) } -uint32 MemHeapExpand(uint32 newsz, MemHeap* heap, PageDirectory* pd) +void MemHeapExpand(uint32 newsz, MemHeap* heap, PageDirectory* pd) { - if (newsz <= heap->EndAddress - heap->StartAddress) return heap->EndAddress - heap->StartAddress; + if (newsz <= heap->EndAddress - heap->StartAddress) return; if (newsz & 0xfff) newsz = (newsz & 0xfffff000) + 0x1000; - if (newsz + heap->StartAddress >= heap->MaxAddress) return heap->EndAddress - heap->StartAddress; + if (newsz + heap->StartAddress >= heap->MaxAddress) return; uint32 i; - for (i = heap->EndAddress; i < heap->StartAddress + newsz; i+=0x1000) - PagingMapPage(MemPhAllocateBlock(), i, heap->Flags, pd); + for (i = heap->EndAddress - heap->StartAddress; i < heap->StartAddress + newsz; i+=0x1000) + MemPhAllocFrame(PagingGetPage(i, 1, pd), heap->Flags & FlagsKernel, heap->Flags & FlagsWriteable); heap->EndAddress = heap->StartAddress + newsz; - return newsz; } uint32 MemHeapContract(uint32 newsz, MemHeap* heap, PageDirectory* pd) { - if (newsz >= heap->EndAddress - heap->StartAddress) return heap->EndAddress - heap->StartAddress; + if (newsz >= heap->EndAddress - heap->StartAddress) return 0; if (newsz & 0xfff) newsz = (newsz & 0xfffff000) + 0x1000; // page align newsz = Max(newsz, MEMHEAP_MINIM_SIZE); uint32 i; - for (i = heap->EndAddress - 0x1000; i > heap->StartAddress + newsz; i-=0x1000) - PagingUnmapPage(i, pd); + for (i = heap->EndAddress - heap->StartAddress - 0x1000; i > newsz; i-=0x1000) + MemPhFreeFrame(PagingGetPage(i, 0, pd)); heap->EndAddress = heap->StartAddress + newsz; return newsz; diff --git a/Kernel/memory/mem-paging.c b/Kernel/memory/mem-paging.c index c7620cc..d4ac201 100644 --- a/Kernel/memory/mem-paging.c +++ b/Kernel/memory/mem-paging.c @@ -6,123 +6,132 @@ */ #include #include - /******************************* * Data * *******************************/ PageDirectory* CurrentDirectory; PageDirectory* KernelDirectory; -void PagingEnable() +/******************************* + * Useful routines * + *******************************/ +void PagingInitialize(volatile uint32* kernel_used) { - uint32 tmp; - asm volatile ("mov %%cr0, %0" : "=r"(tmp)); - tmp |= 0x80000000; - asm volatile ("mov %0, %%cr0" : : "r"(tmp)); + Log("Mem", "Virtual memory manager initialization started. End of kernel = 0x%x\n", kernel_used); + + PageDirectory* kernelPd = (PageDirectory*) kmalloc_a(sizeof(PageDirectory)); + memset(kernelPd, 0, sizeof(PageDirectory)); + + kernelPd->PhysicalAddr = (uint32)kernelPd->TablesPhysical; + KernelDirectory = kernelPd; + + uint32 i; + + // Map some kernel space + for (i = KERNEL_HEAP_START; i < KERNEL_HEAP_END; i+=0x1000) + PagingGetPage(i, 1, kernelPd); + + // Identity map + for (i = 0; i < (volatile uint32) kernel_used + 0x1000; i+=0x1000) + MemPhAllocFrame(PagingGetPage(i, 1, kernelPd), 0, 0); + + // Allocate kernel space + for (i = KERNEL_HEAP_START; i < KERNEL_HEAP_END; i+=0x1000) + MemPhAllocFrame (PagingGetPage(i, 1, kernelPd), 0, 0); + + PagingSwitchPageDirectory (kernelPd); + PageDirectory* temp = PagingCloneDirectory(kernelPd); + PagingSwitchPageDirectory (temp); } -void PagingDisable() -{ - uint32 tmp; - asm volatile ("mov %%cr0, %0" : "=r"(tmp)); - tmp &= 0x7FFFFFFF; - asm volatile ("mov %0, %%cr0" : : "r"(tmp)); -} - -void PagingSwitchDirectory(PageDirectory* dir) +void PagingSwitchPageDirectory (PageDirectory* dir) { CurrentDirectory = dir; - asm volatile ("mov %0, %%cr3" : : "r"(dir->PhysicalAddr)); + asm volatile ("mov %0, %%cr3":: "r"(dir->PhysicalAddr)); + + // Enable paging + uint32 cr0; + asm volatile ("mov %%cr0, %0": "=r"(cr0)); + cr0 |= 0x80000000; + asm volatile ("mov %0, %%cr0":: "r"(cr0)); + + Log("Mem", "Enabled paging.\n"); } -void PagingFlushTlb () +Page* PagingGetPage(uint32 addr, uint8 make, PageDirectory* dir) { - uint32 tmp; - asm volatile ("mov %%cr3, %0" : "=r"(tmp)); - asm volatile ("mov %0, %%cr3" : : "r" (tmp)); -} + addr >>= 12; -void PagingInitialize(uint32* kernelEnd) -{ - // Create the kernel page directory - PageDirectory* kdir = kmalloc_a(sizeof(PageDirectory)); - memset(kdir, 0, sizeof(PageDirectory)); + uint32 tableIndex = addr >> 10; - KernelDirectory = kdir; + if (dir->Tables[tableIndex]) + return &dir->Tables[tableIndex]->Pages[addr&0x3ff]; - // Set up physical address of PDEs. - kdir->PhysicalAddr = (uint32) kdir->TablesPhysical; - - // Identity map the kernel - uint32 i = 0; - while (i <= *kernelEnd + 1024) + else if (make) { - PagingMapPage(i, i, PageWriteable, kdir); - i += 0x1000; + uint32 temp; + dir->Tables[tableIndex] = (PageTable*)kmalloc_ap(sizeof(PageTable), &temp); + memset (dir->Tables[tableIndex], 0, 0x1000); + dir->TablesPhysical[tableIndex] = temp | 0x7; + return &dir->Tables[tableIndex]->Pages[addr&0x3ff]; } - // Reserve the identity mapped blocks - MemPhReserveBlocks(0x0, *kernelEnd); - - PagingSwitchDirectory(kdir); - PagingEnable(); + else return 0; } -void PagingMapPage (uint32 phys, uint32 virt, uint32 flags, PageDirectory* pd) + +PageTable* PagingCloneTable (PageTable* src, uint32* physAddr) { - // Calculate pde and pte - uint32 pde = virt >> 22; - uint32 pte = (virt >> 12) & 0x3ff; + PageTable* tab = (PageTable*) kmalloc_ap(sizeof(PageTable), physAddr); + memset (tab, 0, sizeof(PageTable)); - phys &= 0xFFFFF000; // Make sure address is page aligned - flags &= 0xFFF; // Make sure flags don't overflow - - // See if page table exists - if (!pd->Tables[pde]) + uint32 i; + for (i=0; i<1024; i++) { - // No? allocate it - uint32 ph; - PageTable* pt = kmalloc_ap(sizeof(PageTable), &ph); - memset(pt, 0, sizeof(PageTable)); + if (!(src->Pages[i] & PageFrame)) continue; + MemPhAllocFrame(&tab->Pages[i], 1, 0); - pd->Tables[pde] = pt; - pd->TablesPhysical[pde] = ph | 0x7; + if (src->Pages[i] & PagePresent) tab->Pages[i] |= PagePresent; + if (src->Pages[i] & PageWriteable) tab->Pages[i] |= PageWriteable; + if (src->Pages[i] & PageUser) tab->Pages[i] |= PageUser; + if (src->Pages[i] & PageAccessed) tab->Pages[i] |= PageAccessed; + if (src->Pages[i] & PageDirty) tab->Pages[i] |= PageDirty; + + PagingCopyPagePhysical (src->Pages[i] & PageFrame, tab->Pages[i] & PageFrame); } - // Set up the page - pd->Tables[pde]->Pages[pte] = phys | flags | 0x1; // Present, and flags - - // If it is the current directory, flush the tlb to notice the change - if (pd == CurrentDirectory) PagingFlushTlb(); + return tab; } -void PagingUnmapPage (uint32 virt, PageDirectory* pd) +PageDirectory* PagingCloneDirectory (PageDirectory* src) { - // Calculate pde and pte - uint32 pde = virt >> 22; - uint32 pte = (virt >> 12) & 0x3ff; + uint32 phys; + PageDirectory* dir = (PageDirectory*)kmalloc_ap(sizeof(PageDirectory), &phys); - if (!pd->Tables[pde] || !pd->Tables[pde]->Pages[pte]) return; + memset(dir, 0, sizeof(PageDirectory)); - // Get physical address - uint32 phys = pd->Tables[pde]->Pages[pte] & PageFrame; + uint32 offset = (uint32)dir->TablesPhysical - (uint32)dir; + dir->PhysicalAddr = phys + offset; - // Free page - pd->Tables[pde]->Pages[pte] = 0; - MemPhFreeBlock(phys); + uint32 i; + for (i = 0; i < 1024; i++) + { + if (!src->Tables[i]) continue; - // If it is the current directory, flush the tlb to notice the change - if (pd == CurrentDirectory) PagingFlushTlb(); -} - -uint32 PagingGetPhysical (uint32 virt, PageDirectory* pd) -{ - // Calculate pde and pte - uint32 pde = virt >> 22; - uint32 pte = (virt >> 12) & 0x3ff; - - // Not mapped - if (!pd->Tables[pde] || !pd->Tables[pde]->Pages[pte]) return NULL; - - return (pd->Tables[pde]->Pages[pte] & PageFrame); + if (KernelDirectory->Tables[i] == src->Tables[i]) + { + // It is in the kernel, link it + dir->Tables[i] = src->Tables[i]; + dir->TablesPhysical[i] = src->TablesPhysical[i]; + } + else + { + // Copy the table + uint32 ph; + dir->Tables[i] = PagingCloneTable (src->Tables[i], &ph); + dir->TablesPhysical[i] = ph | 0x7; + } + } + + return dir; } diff --git a/Kernel/memory/mem-phys.c b/Kernel/memory/mem-phys.c index 974c694..6f7b47a 100644 --- a/Kernel/memory/mem-phys.c +++ b/Kernel/memory/mem-phys.c @@ -6,89 +6,103 @@ */ #include -uint32* BlockMap; -uint32 TotalBlocks; +uint32* FrameMap; +uint32 TotalFrames; uint32 TotalMemory; -uint32 UsedBlocks; +uint32 UsedFrames; -inline void ConvertIndexToBlock (uint32 index, uint32* address, uint32* offset) +inline void ConvertIndexToFrame (uint32 index, uint32* address, uint32* offset) { *address = (index >> 5); *offset = index & 0x1f; } -inline uint32 ConvertBlockToIndex (uint32 address, uint32 offset) +inline uint32 ConvertFrameToIndex (uint32 address, uint32 offset) { return (address<<5) | offset; } -void MemPhSetBlock (uint32 Block, uint8 value) +void MemPhSetFrame (uint32 frame, uint8 value) { uint32 addr, off; - ConvertIndexToBlock(Block, &addr, &off); + ConvertIndexToFrame(frame, &addr, &off); if (value) { - if ((BlockMap[addr] & (1<> 5; addr++) - if (BlockMap[addr] != 0xffffffff) + for (addr = 0; addr < TotalFrames >> 5; addr++) + if (FrameMap[addr] != 0xffffffff) { - for (pos = 0; (BlockMap[addr] & (1<> 12; - if (!Block) return; + if ((*page & PageFrame) != 0) return; - MemPhSetBlock(Block, 0); + uint32 free = MemPhFindFreeFrame(); + if (free == 0xffffffff) { + Panic("Mem", "%#Failed allocation free=0x%x page=0x%x\n", ColorRed, free, *page); + return; + } + + MemPhSetFrame(free, 1); + *page |= PagePresent; + *page |= (isKernel) ? 0 : PageUser; + *page |= (isWriteable) ? PageWriteable : 0; + *page |= (free<<12) & PageFrame; +} + +void MemPhFreeFrame(Page* page) +{ + uint32 frame = *page & PageFrame; + if (!frame) return; + + MemPhSetFrame(frame, 0); + *page &= ~PageFrame; } void MemPhInitialize(uint32 SystemMemoryKb) { - TotalBlocks = SystemMemoryKb >> 2; + TotalFrames = SystemMemoryKb >> 2; TotalMemory = SystemMemoryKb; - BlockMap = (uint32*) kmalloc(sizeof(uint32) * (1 + (TotalBlocks>>5))); - memset(BlockMap, 0, sizeof(uint32) * (1 + (TotalBlocks>>5))); + FrameMap = (uint32*) kmalloc(sizeof(uint32) * (1 + (TotalFrames>>5))); + memset(FrameMap, 0, sizeof(uint32) * (1 + (TotalFrames>>5))); Log("Mem", "%#Started physical memory manager ok!, found %ukb\n", ColorLightGreen, SystemMemoryKb); } -void MemPhReserveBlocks (uint32 address, uint32 length) +void MemPhReserveFrames (uint32 address, uint32 length) { address >>= 12; length = (length>>12) + ((length & 0xfff) > 0); uint32 end = address + length; for (; address < end ; address++) - MemPhSetBlock(address, 1); + MemPhSetFrame(address, 1); } diff --git a/Kernel/tasking/tasking-asm.asm b/Kernel/tasking/tasking-asm.asm index 7910cf6..790eb84 100644 --- a/Kernel/tasking/tasking-asm.asm +++ b/Kernel/tasking/tasking-asm.asm @@ -1,7 +1,49 @@ -; tasking.asm +; +; tasking-asm.asm +; +; Created on: Sep 6, 2011 +; Author: Tiberiu +; + bits 32 -global TaskReadEip -TaskReadEip: +global PagingCopyPagePhysical +PagingCopyPagePhysical: + push ebx + pushf + cli + + mov ebx, [esp+12] + mov ecx, [esp+16] + + ; Disable paging + mov edx, cr0 + and edx, 0x7fffffff + mov cr0, edx + + ; copy + mov edx, 1024 + +.loop: + mov eax, [ebx] + mov [ecx], eax + add ebx, 4 + add ecx, 4 + dec edx + jnz .loop + + ; reenable paging + mov edx, cr0 + or edx, 0x80000000 + mov cr0, edx + + ; return + popf + pop ebx + ret + + +global TaskingReadEip +TaskingReadEip: pop eax jmp eax diff --git a/Kernel/tasking/tasking-multi.c b/Kernel/tasking/tasking-multi.c index 60fd7b8..60c36cc 100644 --- a/Kernel/tasking/tasking-multi.c +++ b/Kernel/tasking/tasking-multi.c @@ -1,107 +1,141 @@ /* * tasking-multi.c * - * Created on: Sep 8, 2011 + * Created on: Sep 7, 2011 * Author: Tiberiu */ #include -#include +#include #include -Task* TaskList; -Task* CurrentTask; -uint32 NextPid = 1; +volatile Task *CurrentTask; +volatile Task *TaskQueue; +volatile uint32 NextPid = 1; -void TaskSwitch (_RegsStack32* regs) +void TaskingInitialize() { - MagicBreakpoint(); + // Stop interrupts + asm volatile ("cli"); - if (!TaskList) return; + // Relocate stack + TaskingMoveStack(0xE0000000, 0x4000); - uint32 eip = TaskReadEip(); - if (eip == 0xABCDEF) return; + // Set up first task (kernel) + CurrentTask = TaskQueue = (Task*) kmalloc(sizeof(Task)); + CurrentTask->Pid = NextPid ++; + CurrentTask->Esp = CurrentTask->Ebp = CurrentTask->Eip = 0; + CurrentTask->Pd = CurrentDirectory; + CurrentTask->Next = NULL; - // Save context - asm volatile ("mov %%esp, %0" : "=r"(CurrentTask->Esp)); - asm volatile ("mov %%ebp, %0" : "=r"(CurrentTask->Ebp)); - CurrentTask->Eip = eip; + // Reenable interrupts + asm volatile ("sti"); - // Next task - CurrentTask = (!CurrentTask->Next) ? TaskList : CurrentTask->Next ; - - // Switch context - PagingSwitchDirectory(CurrentTask->Pd); - - // Prepare for jump - asm volatile ("" - "mov %0, %%ebp; " - "mov %1, %%esp; " - "mov %2, %%ecx; " - "mov $0xABCDEF, %%eax; " - "jmp *%%ecx; " - : : "r"(CurrentTask->Ebp), "r"(CurrentTask->Esp), "r"(CurrentTask->Eip) - : "eax", "ecx"); + Log("Tasking", "Initialized, currenttask: pid=%u esp=%x ebp=%x eip=%x Pd=%x Next=%x\n", CurrentTask->Pid, + CurrentTask->Esp, CurrentTask->Ebp, CurrentTask->Eip, CurrentTask->Pd, CurrentTask->Next); } -// Fallback for new tasks -void TaskEnd () +int32 Fork() { - // Find parent of current task - if (CurrentTask->Pid == TaskList->Pid) TaskList = TaskList->Next; + asm volatile ("cli"); - else { - Task* t = TaskList; - while (t->Next && t->Next->Pid != CurrentTask->Pid) t = t->Next; + Task* Parent = (Task*) CurrentTask; + PageDirectory* Dir = PagingCloneDirectory(CurrentDirectory); - t->Next = CurrentTask->Next; + // Create a new process + Task* n = (Task*)kmalloc(sizeof(Task)); + n->Pid = NextPid++; + n->Esp = n->Ebp = 0; + n->Eip = 0; + n->Pd = Dir; + n->Next = 0; + + // Add it at the end of the queue + Task* temp = (Task*) TaskQueue; + while (temp->Next) temp = temp->Next; // Find end of queue + temp->Next = n; // Add it + + // Read eip + uint32 eip = TaskingReadEip(); + + // We could be the parent + if (CurrentTask == Parent) + { + uint32 esp, ebp; + asm volatile ("mov %%esp, %0" : "=r"(esp)); + asm volatile ("mov %%ebp, %0" : "=r"(ebp)); + n->Esp = esp; + n->Ebp = ebp; + n->Eip = eip; + + asm volatile ("sti"); + return n->Pid; } - // Free allocated space - kfree((void*)CurrentTask->StackLowerBase); - kfree(CurrentTask); - - // Wait for next task - for (;;) ; + // Or the child + else return 0; } -void TaskCreate (void (*func)()) +void TaskingScheduler() { - // Create a new task - Task* t = kmalloc(sizeof(Task)); - - // Set up data - t->StackLowerBase = (uint32) kmalloc(0x1000); // Allocate some space for new stack - t->StackUpperBase = t->StackLowerBase + 0x1000; - t->Next = NULL; - t->Pd = KernelDirectory; - t->Pid = NextPid++; - - // Set up stack - /*memset(&t->Regs, 0, sizeof(_RegsStack32)); - t->Regs.ebp = t->StackUpperBase; - t->Regs.esp = (t->StackUpperBase - 0x4 - sizeof(_RegsStack32)); - t->Regs.useresp = t->StackUpperBase - 0x4; - t->Regs.eip = (uint32) func; - *(uint32 *) (t->Regs.esp) = (uint32) TaskEnd; // Fallback function - t->Initialized = 0; - - // Read eflags - asm volatile ("pushf; pop %0" : "=r"(t->Regs.eflags));*/ - - // Add the task to the list - Task* last = TaskList; - while (last && last->Next) last = last->Next; - if (last) last->Next = t; + // For now, just switch tasks + TaskingSwitch(); } -void TaskInitialize() +void Func() { - Task* t = kmalloc(sizeof(Task)); - t->Pid = NextPid++; - t->Pd = KernelDirectory; - t->Next = NULL; - - TaskList = CurrentTask = t; +} + +void TaskingSwitch() +{ + // Make sure tasking is initialized, or there are at least 2 processes running + if (!CurrentTask) return; + + // Save esp & epb + uint32 esp, ebp, eip; + asm volatile("mov %%esp, %0" : "=r"(esp)); + asm volatile("mov %%ebp, %0" : "=r"(ebp)); + eip = TaskingReadEip(); + + // Have we just switched tasks? + if (eip == 0xABCDE) return; + + // No? Switch + // Save stack address and current instruction pointer + CurrentTask->Eip = eip; + CurrentTask->Esp = esp; + CurrentTask->Ebp = ebp; + + //Log("Tasking", "Saved eip=%x esp=%x ebp=%x\n", eip, esp, ebp); + + CurrentTask = CurrentTask ->Next; // Switch task + if (!CurrentTask) CurrentTask = TaskQueue; // End of queue? Start over + + // Read registers + eip = CurrentTask->Eip; + esp = CurrentTask->Esp; + ebp = CurrentTask->Ebp; + + //Log("Tasking", "Loaded eip=%x esp=%x ebp=%x", eip, esp, ebp); + + CurrentDirectory = CurrentTask->Pd; + MagicBreakpoint(); + + // Put data in registers + asm volatile (" " + "cli;" + "mov %0, %%ecx;" + "mov %1, %%esp;" + "mov %2, %%ebp;" + "mov %3, %%cr3;" + "mov $0xABCDE, %%eax;" + "sti;" + "jmp *%%ecx" + : : "r"(eip), "r"(esp), "r"(ebp), "r"(CurrentDirectory->PhysicalAddr)); +} + +int32 GetPid() +{ + return CurrentTask->Pid; } diff --git a/Kernel/tasking/tasking-stack.c b/Kernel/tasking/tasking-stack.c new file mode 100644 index 0000000..f191dce --- /dev/null +++ b/Kernel/tasking/tasking-stack.c @@ -0,0 +1,51 @@ +/* + * tasking-stack.c + * + * Created on: Sep 7, 2011 + * Author: Tiberiu + */ + +#include +uint32 InitialStack; + +void TaskingSetInitialStack(uint32 addr) +{ + InitialStack = addr; +} + +void TaskingMoveStack (uint32 newstart, uint32 size) +{ + + uint32 i; + for (i = newstart; i >= newstart-size; i-= 0x1000) + MemPhAllocFrame(PagingGetPage(i, 1, CurrentDirectory), 0, 1); + + // Flush TLB by rewriting cr3 + uint32 t; + asm volatile ("mov %%cr3, %0" : "=r" (t)); + asm volatile ("mov %0, %%cr3" : : "r" (t)); + + // Read old esp, ebp regs + uint32 oldStackPointer, oldBasePointer; + asm volatile ("mov %%esp, %0" : "=r"(oldStackPointer)); + asm volatile ("mov %%ebp, %0" : "=r"(oldBasePointer)); + + uint32 offset = newstart - InitialStack; + uint32 newStackPointer = oldStackPointer + offset; + uint32 newBasePointer = oldBasePointer + offset; + + // Copy stack content + memcpy((void*)newStackPointer, (void*)oldStackPointer, InitialStack-oldStackPointer); + + // (Attempt to) change EBP addresses in new stack + for (i = newstart; i > newstart - size; i-=4) + { + uint32 *temp = (uint32*)i; + if (oldStackPointer < *temp && *temp < InitialStack) + *temp += offset; + } + + // Set stack pointers to new stack + asm volatile ("mov %0, %%esp" : : "r" (newStackPointer)); + asm volatile ("mov %0, %%ebp" : : "r" (newBasePointer)); +} diff --git a/Modules/Rom image maker/langspecs.txt b/Modules/Rom image maker/langspecs.txt index 4ce9d1c..83d1f8f 100644 --- a/Modules/Rom image maker/langspecs.txt +++ b/Modules/Rom image maker/langspecs.txt @@ -1,6 +1,6 @@ CREATE "filename" ; creates a new ramdisk with the filename MKDIR "name" ; creates a new directory (in current dir) -CD "\path" ; sets current directory, where \ is root +CD "\path" ; sets current directory ADD "filename" ; adds a file to current directory! SETFLAGS 1A1B01 ; sets flags for next added files, number is in hex using this mask: * bits description diff --git a/Modules/Rom image maker/nbproject/Makefile-impl.mk b/Modules/Rom image maker/nbproject/Makefile-impl.mk deleted file mode 100644 index f00c66a..0000000 --- a/Modules/Rom image maker/nbproject/Makefile-impl.mk +++ /dev/null @@ -1,133 +0,0 @@ -# -# Generated Makefile - do not edit! -# -# Edit the Makefile in the project folder instead (../Makefile). Each target -# has a pre- and a post- target defined where you can add customization code. -# -# This makefile implements macros and targets common to all configurations. -# -# NOCDDL - - -# Building and Cleaning subprojects are done by default, but can be controlled with the SUB -# macro. If SUB=no, subprojects will not be built or cleaned. The following macro -# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf -# and .clean-reqprojects-conf unless SUB has the value 'no' -SUB_no=NO -SUBPROJECTS=${SUB_${SUB}} -BUILD_SUBPROJECTS_=.build-subprojects -BUILD_SUBPROJECTS_NO= -BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} -CLEAN_SUBPROJECTS_=.clean-subprojects -CLEAN_SUBPROJECTS_NO= -CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} - - -# Project Name -PROJECTNAME=RamdiskWriter - -# Active Configuration -DEFAULTCONF=Debug -CONF=${DEFAULTCONF} - -# All Configurations -ALLCONFS=Debug Release - - -# build -.build-impl: .build-pre .validate-impl .depcheck-impl - @#echo "=> Running $@... Configuration=$(CONF)" - "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf - - -# clean -.clean-impl: .clean-pre .validate-impl .depcheck-impl - @#echo "=> Running $@... Configuration=$(CONF)" - "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf - - -# clobber -.clobber-impl: .clobber-pre .depcheck-impl - @#echo "=> Running $@..." - for CONF in ${ALLCONFS}; \ - do \ - "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ - done - -# all -.all-impl: .all-pre .depcheck-impl - @#echo "=> Running $@..." - for CONF in ${ALLCONFS}; \ - do \ - "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ - done - -# build tests -.build-tests-impl: .build-impl .build-tests-pre - @#echo "=> Running $@... Configuration=$(CONF)" - "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf - -# run tests -.test-impl: .build-tests-impl .test-pre - @#echo "=> Running $@... Configuration=$(CONF)" - "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf - -# dependency checking support -.depcheck-impl: - @echo "# This code depends on make tool being used" >.dep.inc - @if [ -n "${MAKE_VERSION}" ]; then \ - echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ - echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ - echo "include \$${DEPFILES}" >>.dep.inc; \ - echo "endif" >>.dep.inc; \ - else \ - echo ".KEEP_STATE:" >>.dep.inc; \ - echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ - fi - -# configuration validation -.validate-impl: - @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ - then \ - echo ""; \ - echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ - echo "See 'make help' for details."; \ - echo "Current directory: " `pwd`; \ - echo ""; \ - fi - @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ - then \ - exit 1; \ - fi - - -# help -.help-impl: .help-pre - @echo "This makefile supports the following configurations:" - @echo " ${ALLCONFS}" - @echo "" - @echo "and the following targets:" - @echo " build (default target)" - @echo " clean" - @echo " clobber" - @echo " all" - @echo " help" - @echo "" - @echo "Makefile Usage:" - @echo " make [CONF=] [SUB=no] build" - @echo " make [CONF=] [SUB=no] clean" - @echo " make [SUB=no] clobber" - @echo " make [SUB=no] all" - @echo " make help" - @echo "" - @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," - @echo " also build subprojects." - @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," - @echo " also clean subprojects." - @echo "Target 'clobber' will remove all built files from all configurations and," - @echo " unless 'SUB=no', also from subprojects." - @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," - @echo " also build subprojects." - @echo "Target 'help' prints this message." - @echo "" - diff --git a/bash.exe.stackdump b/bash.exe.stackdump deleted file mode 100644 index a6c3ebe..0000000 --- a/bash.exe.stackdump +++ /dev/null @@ -1,7 +0,0 @@ -Exception: STATUS_ACCESS_VIOLATION at eip=6102048B -eax=00925C98 ebx=61243754 ecx=75907BBE edx=002F51F8 esi=00000000 edi=0022FA10 -ebp=61020C00 esp=0022C7E0 program=C:\cygwin\bin\bash.exe, pid 2900, thread main -cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023 -Stack trace: -Frame Function Args -End of stack trace diff --git a/bochs/bochs_run.log b/bochs/bochs_run.log index ad35e4f..e4b7ada 100644 --- a/bochs/bochs_run.log +++ b/bochs/bochs_run.log @@ -30,13 +30,13 @@ 00000000000i[ ] SB16 support: yes 00000000000i[ ] USB support: yes 00000000000i[ ] VGA extension support: vbe cirrus -00000000000i[MEM0 ] allocated memory at 03C60020. after alignment, vector=03C61000 +00000000000i[MEM0 ] allocated memory at 04310020. after alignment, vector=04311000 00000000000i[MEM0 ] 32.00MB 00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32 00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('C:\Program Files\Bochs-2.4.6\BIOS-bochs-latest') 00000000000i[MEM0 ] rom at 0xc0000/40448 ('C:\Program Files\Bochs-2.4.6\VGABIOS-lgpl-latest') 00000000000i[CMOS ] Using local time for initial clock -00000000000i[CMOS ] Setting initial clock to: Tue Sep 20 12:05:43 2011 (time0=1316509543) +00000000000i[CMOS ] Setting initial clock to: Wed Sep 07 15:36:29 2011 (time0=1315398989) 00000000000i[DMA ] channel 4 used by cascade 00000000000i[DMA ] channel 2 used by Floppy Drive 00000000000i[FDD ] fd0: 'a:' ro=0, h=2,t=80,spt=18 @@ -160,40 +160,65 @@ 00023137418i[BIOS ] int13_harddisk: function 41, unmapped device for ELDL=80 00023142199i[BIOS ] int13_harddisk: function 08, unmapped device for ELDL=80 00023146850i[BIOS ] *** int 15h function AX=00c0, BX=0000 not yet supported! -00044035593i[CPU0 ] [44035593] Stopped on MAGIC BREAKPOINT -00044142237i[CPU0 ] [44142237] Stopped on MAGIC BREAKPOINT -00044779187i[KBD ] setting typematic info -00044779205i[KBD ] setting delay to 500 mS (unused) -00044779205i[KBD ] setting repeat rate to 10.9 cps (unused) -00044779248i[KBD ] Switched to scancode set 2 -00044779311i[KBD ] keyboard: scan convert turned off -00044838196i[CPU0 ] [44838196] Stopped on MAGIC BREAKPOINT -00044838228i[ ] dbg: Quit -00044838228i[CPU0 ] CPU is in protected mode (active) -00044838228i[CPU0 ] CS.d_b = 32 bit -00044838228i[CPU0 ] SS.d_b = 32 bit -00044838228i[CPU0 ] EFER = 0x00000000 -00044838228i[CPU0 ] | RAX=0000000000108f18 RBX=0000000000000064 -00044838228i[CPU0 ] | RCX=0000000000111720 RDX=0000000000000014 -00044838228i[CPU0 ] | RSP=0000000000111720 RBP=0000000000000014 -00044838228i[CPU0 ] | RSI=0000000000111806 RDI=0000000000000002 -00044838228i[CPU0 ] | R8=0000000000000000 R9=0000000000000000 -00044838228i[CPU0 ] | R10=0000000000000000 R11=0000000000000000 -00044838228i[CPU0 ] | R12=0000000000000000 R13=0000000000000000 -00044838228i[CPU0 ] | R14=0000000000000000 R15=0000000000000000 -00044838228i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf -00044838228i[CPU0 ] | SEG selector base limit G D -00044838228i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D -00044838228i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00044838228i[CPU0 ] | MSR_FS_BASE:0000000000000000 -00044838228i[CPU0 ] | MSR_GS_BASE:0000000000000000 -00044838228i[CPU0 ] | RIP=0000000000108f60 (0000000000108f60) -00044838228i[CPU0 ] | CR0=0xe0000011 CR2=0x0000000000000000 -00044838228i[CPU0 ] | CR3=0x0011b000 CR4=0x00000000 -00044838228i[CMOS ] Last time is 1316509554 (Tue Sep 20 12:05:54 2011) -00044838228i[CTRL ] quit_sim called with exit code 0 +00044037091i[CPU0 ] [44037091] Stopped on MAGIC BREAKPOINT +00044377981i[CPU0 ] [44377981] Stopped on MAGIC BREAKPOINT +00044972707e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08) +00044972707e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x0d) +00044972707e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08) +00044972707i[CPU0 ] CPU is in protected mode (active) +00044972707i[CPU0 ] CS.d_b = 32 bit +00044972707i[CPU0 ] SS.d_b = 32 bit +00044972707i[CPU0 ] EFER = 0x00000000 +00044972707i[CPU0 ] | RAX=00000000c008000c RBX=00000000001195ee +00044972707i[CPU0 ] | RCX=000000000000006d RDX=000000000011f000 +00044972707i[CPU0 ] | RSP=00000000dfffff98 RBP=0000000000067ec4 +00044972707i[CPU0 ] | RSI=000000000002bd20 RDI=0000000000000000 +00044972707i[CPU0 ] | R8=0000000000000000 R9=0000000000000000 +00044972707i[CPU0 ] | R10=0000000000000000 R11=0000000000000000 +00044972707i[CPU0 ] | R12=0000000000000000 R13=0000000000000000 +00044972707i[CPU0 ] | R14=0000000000000000 R15=0000000000000000 +00044972707i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df IF tf sf zf af pf cf +00044972707i[CPU0 ] | SEG selector base limit G D +00044972707i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D +00044972707i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00044972707i[CPU0 ] | MSR_FS_BASE:0000000000000000 +00044972707i[CPU0 ] | MSR_GS_BASE:0000000000000000 +00044972707i[CPU0 ] | RIP=00000000001091e2 (00000000001091e2) +00044972707i[CPU0 ] | CR0=0xe0000011 CR2=0x0000000000000000 +00044972707i[CPU0 ] | CR3=0x00120000 CR4=0x00000000 +00044972707e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting +00044972707i[SYS ] bx_pc_system_c::Reset(HARDWARE) called +00044972707i[CPU0 ] cpu hardware reset +00044972707i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000 +00044972707i[CPU0 ] CPUID[0x00000000]: 00000003 756e6547 6c65746e 49656e69 +00044972707i[CPU0 ] CPUID[0x00000001]: 00000f23 00000800 00002000 07cbfbff +00044972707i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x00000007]: 00000000 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000001 2a100800 +00044972707i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020 +00044972707i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75 +00044972707i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020 +00044972707i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000 +00044972707i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000 +00044972707i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000 +00044972707i[ ] reset of 'unmapped' plugin device by virtual method +00044972707i[ ] reset of 'biosdev' plugin device by virtual method +00044972707i[ ] reset of 'speaker' plugin device by virtual method +00044972707i[ ] reset of 'extfpuirq' plugin device by virtual method +00044972707i[ ] reset of 'gameport' plugin device by virtual method +00044972707i[ ] reset of 'iodebug' plugin device by virtual method +00044972707i[ ] reset of 'pci_ide' plugin device by virtual method +00044972707i[ ] reset of 'acpi' plugin device by virtual method +00044972707i[ ] reset of 'ioapic' plugin device by virtual method +00044972707i[ ] reset of 'keyboard' plugin device by virtual method +00044972707i[ ] reset of 'harddrv' plugin device by virtual method +00044972707i[ ] reset of 'serial' plugin device by virtual method +00044972707i[ ] reset of 'parallel' plugin device by virtual method diff --git a/bochs/dump.txt b/bochs/dump.txt deleted file mode 100644 index 0222200..0000000 --- a/bochs/dump.txt +++ /dev/null @@ -1,10672 +0,0 @@ - -kernel.bin: file format elf32-i386 - - -Disassembly of section .text: - -001020a0 : - 1020a0: 53 push ebx - 1020a1: 83 ec 18 sub esp,0x18 - 1020a4: 8b 1d 08 d0 10 00 mov ebx,DWORD PTR ds:0x10d008 - 1020aa: 85 db test ebx,ebx - 1020ac: 74 4c je 1020fa - 1020ae: 8b 0d 04 d0 10 00 mov ecx,DWORD PTR ds:0x10d004 - 1020b4: b8 e8 03 00 00 mov eax,0x3e8 - 1020b9: ba 00 00 00 00 mov edx,0x0 - 1020be: f7 f3 div ebx - 1020c0: 01 c1 add ecx,eax - 1020c2: 89 0d 04 d0 10 00 mov DWORD PTR ds:0x10d004,ecx - 1020c8: a1 04 d0 10 00 mov eax,ds:0x10d004 - 1020cd: 3d ff 5b 26 05 cmp eax,0x5265bff - 1020d2: 76 1a jbe 1020ee - 1020d4: a1 00 d0 10 00 mov eax,ds:0x10d000 - 1020d9: 40 inc eax - 1020da: a3 00 d0 10 00 mov ds:0x10d000,eax - 1020df: a1 04 d0 10 00 mov eax,ds:0x10d004 - 1020e4: 2d 00 5c 26 05 sub eax,0x5265c00 - 1020e9: a3 04 d0 10 00 mov ds:0x10d004,eax - 1020ee: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1020f2: 89 04 24 mov DWORD PTR [esp],eax - 1020f5: e8 2a 6e 00 00 call 108f24 - 1020fa: 83 c4 18 add esp,0x18 - 1020fd: 5b pop ebx - 1020fe: c3 ret - ... - -00102100 : - 102100: 83 ec 1c sub esp,0x1c - 102103: 8a 44 24 20 mov al,BYTE PTR [esp+0x20] - 102107: e6 70 out 0x70,al - 102109: e6 80 out 0x80,al - 10210b: c7 04 24 71 00 00 00 mov DWORD PTR [esp],0x71 - 102112: e8 c1 6a 00 00 call 108bd8 - 102117: 83 c4 1c add esp,0x1c - 10211a: c3 ret - -0010211b : - 10211b: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 10211f: e6 70 out 0x70,al - 102121: e6 80 out 0x80,al - 102123: 8a 44 24 08 mov al,BYTE PTR [esp+0x8] - 102127: e6 71 out 0x71,al - 102129: c3 ret - -0010212a : - 10212a: 55 push ebp - 10212b: 57 push edi - 10212c: 56 push esi - 10212d: 53 push ebx - 10212e: 83 ec 2c sub esp,0x2c - 102131: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40] - 102135: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb - 10213c: e8 bf ff ff ff call 102100 - 102141: a8 04 test al,0x4 - 102143: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f] - 102148: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb - 10214f: e8 ac ff ff ff call 102100 - 102154: bd 02 00 00 00 mov ebp,0x2 - 102159: 21 c5 and ebp,eax - 10215b: 8b 0b mov ecx,DWORD PTR [ebx] - 10215d: bf 64 00 00 00 mov edi,0x64 - 102162: 89 c8 mov eax,ecx - 102164: 89 ca mov edx,ecx - 102166: c1 fa 1f sar edx,0x1f - 102169: f7 ff idiv edi - 10216b: 89 d6 mov esi,edx - 10216d: ba 1f 85 eb 51 mov edx,0x51eb851f - 102172: 89 c8 mov eax,ecx - 102174: f7 ea imul edx - 102176: c1 fa 05 sar edx,0x5 - 102179: c1 f9 1f sar ecx,0x1f - 10217c: 28 ca sub dl,cl - 10217e: 89 d7 mov edi,edx - 102180: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 102185: 74 66 je 1021ed - 102187: 31 c0 xor eax,eax - 102189: 8a 43 09 mov al,BYTE PTR [ebx+0x9] - 10218c: 8d 14 80 lea edx,[eax+eax*4] - 10218f: 8d 04 d0 lea eax,[eax+edx*8] - 102192: 8d 04 80 lea eax,[eax+eax*4] - 102195: 66 c1 e8 0b shr ax,0xb - 102199: 88 c2 mov dl,al - 10219b: c1 e2 04 shl edx,0x4 - 10219e: 8d 04 80 lea eax,[eax+eax*4] - 1021a1: 01 c0 add eax,eax - 1021a3: 8a 4b 09 mov cl,BYTE PTR [ebx+0x9] - 1021a6: 28 c1 sub cl,al - 1021a8: 88 c8 mov al,cl - 1021aa: 09 d0 or eax,edx - 1021ac: 25 ff 00 00 00 and eax,0xff - 1021b1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1021b5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1021bc: e8 5a ff ff ff call 10211b - 1021c1: 31 c0 xor eax,eax - 1021c3: 8a 43 08 mov al,BYTE PTR [ebx+0x8] - 1021c6: 8d 14 80 lea edx,[eax+eax*4] - 1021c9: 8d 04 d0 lea eax,[eax+edx*8] - 1021cc: 8d 14 80 lea edx,[eax+eax*4] - 1021cf: 66 c1 ea 0b shr dx,0xb - 1021d3: 88 d0 mov al,dl - 1021d5: c1 e0 04 shl eax,0x4 - 1021d8: 8d 14 92 lea edx,[edx+edx*4] - 1021db: 01 d2 add edx,edx - 1021dd: 8a 4b 08 mov cl,BYTE PTR [ebx+0x8] - 1021e0: 28 d1 sub cl,dl - 1021e2: 88 ca mov dl,cl - 1021e4: 09 d0 or eax,edx - 1021e6: 25 ff 00 00 00 and eax,0xff - 1021eb: eb 1a jmp 102207 - 1021ed: 31 c0 xor eax,eax - 1021ef: 8a 43 09 mov al,BYTE PTR [ebx+0x9] - 1021f2: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1021f6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1021fd: e8 19 ff ff ff call 10211b - 102202: 31 c0 xor eax,eax - 102204: 8a 43 08 mov al,BYTE PTR [ebx+0x8] - 102207: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10220b: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 102212: e8 04 ff ff ff call 10211b - 102217: 85 ed test ebp,ebp - 102219: 0f 85 8a 00 00 00 jne 1022a9 - 10221f: 8a 4b 07 mov cl,BYTE PTR [ebx+0x7] - 102222: 80 f9 0c cmp cl,0xc - 102225: 76 5d jbe 102284 - 102227: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 10222c: 74 39 je 102267 - 10222e: 81 e1 ff 00 00 00 and ecx,0xff - 102234: 83 e9 0c sub ecx,0xc - 102237: 66 bd 0a 00 mov bp,0xa - 10223b: 89 c8 mov eax,ecx - 10223d: 89 ca mov edx,ecx - 10223f: c1 fa 1f sar edx,0x1f - 102242: f7 fd idiv ebp - 102244: 83 ca 80 or edx,0xffffff80 - 102247: 89 d5 mov ebp,edx - 102249: ba 67 66 66 66 mov edx,0x66666667 - 10224e: 89 c8 mov eax,ecx - 102250: f7 ea imul edx - 102252: c1 fa 02 sar edx,0x2 - 102255: c1 f9 1f sar ecx,0x1f - 102258: 29 ca sub edx,ecx - 10225a: c1 e2 04 shl edx,0x4 - 10225d: 09 d5 or ebp,edx - 10225f: 81 e5 ff 00 00 00 and ebp,0xff - 102265: eb 0b jmp 102272 - 102267: 83 c9 80 or ecx,0xffffff80 - 10226a: 81 e1 ff 00 00 00 and ecx,0xff - 102270: 89 cd mov ebp,ecx - 102272: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 102276: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10227d: e8 99 fe ff ff call 10211b - 102282: eb 6b jmp 1022ef - 102284: 84 c9 test cl,cl - 102286: 75 21 jne 1022a9 - 102288: 80 7c 24 1f 01 cmp BYTE PTR [esp+0x1f],0x1 - 10228d: 19 c0 sbb eax,eax - 10228f: 83 e0 fa and eax,0xfffffffa - 102292: 05 92 00 00 00 add eax,0x92 - 102297: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10229b: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 1022a2: e8 74 fe ff ff call 10211b - 1022a7: eb 46 jmp 1022ef - 1022a9: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 1022ae: 74 2a je 1022da - 1022b0: 31 c0 xor eax,eax - 1022b2: 8a 43 07 mov al,BYTE PTR [ebx+0x7] - 1022b5: 8d 14 80 lea edx,[eax+eax*4] - 1022b8: 8d 04 d0 lea eax,[eax+edx*8] - 1022bb: 8d 14 80 lea edx,[eax+eax*4] - 1022be: 66 c1 ea 0b shr dx,0xb - 1022c2: 88 d1 mov cl,dl - 1022c4: c1 e1 04 shl ecx,0x4 - 1022c7: 8d 14 92 lea edx,[edx+edx*4] - 1022ca: 01 d2 add edx,edx - 1022cc: 8a 43 07 mov al,BYTE PTR [ebx+0x7] - 1022cf: 28 d0 sub al,dl - 1022d1: 09 c8 or eax,ecx - 1022d3: 25 ff 00 00 00 and eax,0xff - 1022d8: eb 05 jmp 1022df - 1022da: 31 c0 xor eax,eax - 1022dc: 8a 43 07 mov al,BYTE PTR [ebx+0x7] - 1022df: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1022e3: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 1022ea: e8 2c fe ff ff call 10211b - 1022ef: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 1022f4: 0f 84 e0 00 00 00 je 1023da - 1022fa: 31 c0 xor eax,eax - 1022fc: 8a 43 06 mov al,BYTE PTR [ebx+0x6] - 1022ff: 8d 14 80 lea edx,[eax+eax*4] - 102302: 8d 04 d0 lea eax,[eax+edx*8] - 102305: 8d 04 80 lea eax,[eax+eax*4] - 102308: 66 c1 e8 0b shr ax,0xb - 10230c: 88 c2 mov dl,al - 10230e: c1 e2 04 shl edx,0x4 - 102311: 8d 04 80 lea eax,[eax+eax*4] - 102314: 01 c0 add eax,eax - 102316: 8a 4b 06 mov cl,BYTE PTR [ebx+0x6] - 102319: 28 c1 sub cl,al - 10231b: 88 c8 mov al,cl - 10231d: 09 d0 or eax,edx - 10231f: 25 ff 00 00 00 and eax,0xff - 102324: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 102328: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 10232f: e8 e7 fd ff ff call 10211b - 102334: 8a 53 04 mov dl,BYTE PTR [ebx+0x4] - 102337: 31 c0 xor eax,eax - 102339: 88 d0 mov al,dl - 10233b: 8d 0c 80 lea ecx,[eax+eax*4] - 10233e: 8d 04 c8 lea eax,[eax+ecx*8] - 102341: 8d 04 80 lea eax,[eax+eax*4] - 102344: 66 c1 e8 0b shr ax,0xb - 102348: 88 c1 mov cl,al - 10234a: c1 e1 04 shl ecx,0x4 - 10234d: 8d 04 80 lea eax,[eax+eax*4] - 102350: 01 c0 add eax,eax - 102352: 28 c2 sub dl,al - 102354: 09 ca or edx,ecx - 102356: 81 e2 ff 00 00 00 and edx,0xff - 10235c: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 102360: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 102367: e8 af fd ff ff call 10211b - 10236c: 89 f0 mov eax,esi - 10236e: 25 ff 00 00 00 and eax,0xff - 102373: 8d 14 80 lea edx,[eax+eax*4] - 102376: 8d 04 d0 lea eax,[eax+edx*8] - 102379: 8d 04 80 lea eax,[eax+eax*4] - 10237c: 66 c1 e8 0b shr ax,0xb - 102380: 88 c2 mov dl,al - 102382: c1 e2 04 shl edx,0x4 - 102385: 8d 04 80 lea eax,[eax+eax*4] - 102388: 01 c0 add eax,eax - 10238a: 89 f1 mov ecx,esi - 10238c: 28 c1 sub cl,al - 10238e: 88 c8 mov al,cl - 102390: 09 c2 or edx,eax - 102392: 89 d6 mov esi,edx - 102394: 81 e6 ff 00 00 00 and esi,0xff - 10239a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10239e: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 1023a5: e8 71 fd ff ff call 10211b - 1023aa: 89 f8 mov eax,edi - 1023ac: 25 ff 00 00 00 and eax,0xff - 1023b1: 8d 14 80 lea edx,[eax+eax*4] - 1023b4: 8d 04 d0 lea eax,[eax+edx*8] - 1023b7: 8d 04 80 lea eax,[eax+eax*4] - 1023ba: 66 c1 e8 0b shr ax,0xb - 1023be: 88 c2 mov dl,al - 1023c0: c1 e2 04 shl edx,0x4 - 1023c3: 8d 04 80 lea eax,[eax+eax*4] - 1023c6: 01 c0 add eax,eax - 1023c8: 89 f9 mov ecx,edi - 1023ca: 28 c1 sub cl,al - 1023cc: 88 c8 mov al,cl - 1023ce: 09 c2 or edx,eax - 1023d0: 89 d7 mov edi,edx - 1023d2: 81 e7 ff 00 00 00 and edi,0xff - 1023d8: eb 46 jmp 102420 - 1023da: 31 c0 xor eax,eax - 1023dc: 8a 43 06 mov al,BYTE PTR [ebx+0x6] - 1023df: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1023e3: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 1023ea: e8 2c fd ff ff call 10211b - 1023ef: 31 c0 xor eax,eax - 1023f1: 8a 43 04 mov al,BYTE PTR [ebx+0x4] - 1023f4: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1023f8: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 1023ff: e8 17 fd ff ff call 10211b - 102404: 81 e6 ff 00 00 00 and esi,0xff - 10240a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10240e: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 102415: e8 01 fd ff ff call 10211b - 10241a: 81 e7 ff 00 00 00 and edi,0xff - 102420: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi - 102424: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32 - 10242b: e8 eb fc ff ff call 10211b - 102430: 83 c4 2c add esp,0x2c - 102433: 5b pop ebx - 102434: 5e pop esi - 102435: 5f pop edi - 102436: 5d pop ebp - 102437: c3 ret - -00102438 : - 102438: 57 push edi - 102439: 56 push esi - 10243a: 53 push ebx - 10243b: 83 ec 20 sub esp,0x20 - 10243e: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 102442: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb - 102449: e8 b2 fc ff ff call 102100 - 10244e: a8 04 test al,0x4 - 102450: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f] - 102455: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb - 10245c: e8 9f fc ff ff call 102100 - 102461: be 02 00 00 00 mov esi,0x2 - 102466: 21 c6 and esi,eax - 102468: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 10246d: 74 51 je 1024c0 - 10246f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 102476: e8 85 fc ff ff call 102100 - 10247b: 89 c7 mov edi,eax - 10247d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 102484: e8 77 fc ff ff call 102100 - 102489: c0 e8 04 shr al,0x4 - 10248c: 8d 04 80 lea eax,[eax+eax*4] - 10248f: 83 e7 0f and edi,0xf - 102492: 8d 04 47 lea eax,[edi+eax*2] - 102495: 88 43 09 mov BYTE PTR [ebx+0x9],al - 102498: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 10249f: e8 5c fc ff ff call 102100 - 1024a4: 89 c7 mov edi,eax - 1024a6: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 1024ad: e8 4e fc ff ff call 102100 - 1024b2: c0 e8 04 shr al,0x4 - 1024b5: 8d 04 80 lea eax,[eax+eax*4] - 1024b8: 83 e7 0f and edi,0xf - 1024bb: 8d 04 47 lea eax,[edi+eax*2] - 1024be: eb 1b jmp 1024db - 1024c0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1024c7: e8 34 fc ff ff call 102100 - 1024cc: 88 43 09 mov BYTE PTR [ebx+0x9],al - 1024cf: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 1024d6: e8 25 fc ff ff call 102100 - 1024db: 88 43 08 mov BYTE PTR [ebx+0x8],al - 1024de: 85 f6 test esi,esi - 1024e0: 75 7c jne 10255e - 1024e2: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 1024e9: e8 12 fc ff ff call 102100 - 1024ee: a8 50 test al,0x50 - 1024f0: 74 6c je 10255e - 1024f2: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 1024f7: 74 4e je 102547 - 1024f9: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 102500: e8 fb fb ff ff call 102100 - 102505: 89 c6 mov esi,eax - 102507: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10250e: e8 ed fb ff ff call 102100 - 102513: 31 d2 xor edx,edx - 102515: 88 c2 mov dl,al - 102517: 83 c2 80 add edx,0xffffff80 - 10251a: 89 d0 mov eax,edx - 10251c: c1 f8 1f sar eax,0x1f - 10251f: c1 e8 1c shr eax,0x1c - 102522: 01 d0 add eax,edx - 102524: c1 e8 04 shr eax,0x4 - 102527: 8d 04 80 lea eax,[eax+eax*4] - 10252a: 81 e6 ff 00 00 00 and esi,0xff - 102530: 83 c6 80 add esi,0xffffff80 - 102533: 89 f2 mov edx,esi - 102535: c1 fa 1f sar edx,0x1f - 102538: c1 ea 1c shr edx,0x1c - 10253b: 01 d6 add esi,edx - 10253d: 83 e6 0f and esi,0xf - 102540: 29 d6 sub esi,edx - 102542: 8d 04 46 lea eax,[esi+eax*2] - 102545: eb 0f jmp 102556 - 102547: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10254e: e8 ad fb ff ff call 102100 - 102553: 83 c0 80 add eax,0xffffff80 - 102556: 83 c0 0c add eax,0xc - 102559: 88 43 07 mov BYTE PTR [ebx+0x7],al - 10255c: eb 3e jmp 10259c - 10255e: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 102563: 74 28 je 10258d - 102565: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10256c: e8 8f fb ff ff call 102100 - 102571: 89 c6 mov esi,eax - 102573: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10257a: e8 81 fb ff ff call 102100 - 10257f: c0 e8 04 shr al,0x4 - 102582: 8d 04 80 lea eax,[eax+eax*4] - 102585: 83 e6 0f and esi,0xf - 102588: 8d 04 46 lea eax,[esi+eax*2] - 10258b: eb 0c jmp 102599 - 10258d: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 102594: e8 67 fb ff ff call 102100 - 102599: 88 43 07 mov BYTE PTR [ebx+0x7],al - 10259c: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 1025a1: 0f 84 de 00 00 00 je 102685 - 1025a7: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6 - 1025ae: e8 4d fb ff ff call 102100 - 1025b3: 89 c6 mov esi,eax - 1025b5: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6 - 1025bc: e8 3f fb ff ff call 102100 - 1025c1: c0 e8 04 shr al,0x4 - 1025c4: 8d 04 80 lea eax,[eax+eax*4] - 1025c7: 83 e6 0f and esi,0xf - 1025ca: 8d 04 46 lea eax,[esi+eax*2] - 1025cd: 88 43 05 mov BYTE PTR [ebx+0x5],al - 1025d0: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 1025d7: e8 24 fb ff ff call 102100 - 1025dc: 89 c6 mov esi,eax - 1025de: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 1025e5: e8 16 fb ff ff call 102100 - 1025ea: c0 e8 04 shr al,0x4 - 1025ed: 8d 04 80 lea eax,[eax+eax*4] - 1025f0: 83 e6 0f and esi,0xf - 1025f3: 8d 04 46 lea eax,[esi+eax*2] - 1025f6: 88 43 06 mov BYTE PTR [ebx+0x6],al - 1025f9: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 102600: e8 fb fa ff ff call 102100 - 102605: 89 c6 mov esi,eax - 102607: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 10260e: e8 ed fa ff ff call 102100 - 102613: c0 e8 04 shr al,0x4 - 102616: 8d 04 80 lea eax,[eax+eax*4] - 102619: 83 e6 0f and esi,0xf - 10261c: 8d 04 46 lea eax,[esi+eax*2] - 10261f: 88 43 04 mov BYTE PTR [ebx+0x4],al - 102622: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 102629: e8 d2 fa ff ff call 102100 - 10262e: 89 c6 mov esi,eax - 102630: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 102637: e8 c4 fa ff ff call 102100 - 10263c: 83 e6 0f and esi,0xf - 10263f: c0 e8 04 shr al,0x4 - 102642: 25 ff 00 00 00 and eax,0xff - 102647: 8d 04 80 lea eax,[eax+eax*4] - 10264a: 8d 34 46 lea esi,[esi+eax*2] - 10264d: 89 33 mov DWORD PTR [ebx],esi - 10264f: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32 - 102656: e8 a5 fa ff ff call 102100 - 10265b: 89 c7 mov edi,eax - 10265d: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32 - 102664: e8 97 fa ff ff call 102100 - 102669: 83 e7 0f and edi,0xf - 10266c: c0 e8 04 shr al,0x4 - 10266f: 25 ff 00 00 00 and eax,0xff - 102674: 8d 04 80 lea eax,[eax+eax*4] - 102677: 8d 04 47 lea eax,[edi+eax*2] - 10267a: 8d 04 80 lea eax,[eax+eax*4] - 10267d: 8d 04 80 lea eax,[eax+eax*4] - 102680: c1 e0 02 shl eax,0x2 - 102683: eb 5c jmp 1026e1 - 102685: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6 - 10268c: e8 6f fa ff ff call 102100 - 102691: 88 43 05 mov BYTE PTR [ebx+0x5],al - 102694: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 10269b: e8 60 fa ff ff call 102100 - 1026a0: 88 43 06 mov BYTE PTR [ebx+0x6],al - 1026a3: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 1026aa: e8 51 fa ff ff call 102100 - 1026af: 88 43 04 mov BYTE PTR [ebx+0x4],al - 1026b2: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 1026b9: e8 42 fa ff ff call 102100 - 1026be: 25 ff 00 00 00 and eax,0xff - 1026c3: 89 c6 mov esi,eax - 1026c5: 89 03 mov DWORD PTR [ebx],eax - 1026c7: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32 - 1026ce: e8 2d fa ff ff call 102100 - 1026d3: 25 ff 00 00 00 and eax,0xff - 1026d8: 8d 04 80 lea eax,[eax+eax*4] - 1026db: 8d 04 80 lea eax,[eax+eax*4] - 1026de: c1 e0 02 shl eax,0x2 - 1026e1: 01 c6 add esi,eax - 1026e3: 89 33 mov DWORD PTR [ebx],esi - 1026e5: 83 c4 20 add esp,0x20 - 1026e8: 5b pop ebx - 1026e9: 5e pop esi - 1026ea: 5f pop edi - 1026eb: c3 ret - -001026ec : - 1026ec: 55 push ebp - 1026ed: 57 push edi - 1026ee: 56 push esi - 1026ef: 53 push ebx - 1026f0: 83 ec 04 sub esp,0x4 - 1026f3: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 1026f7: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008 - 1026fd: 89 04 24 mov DWORD PTR [esp],eax - 102700: 39 c8 cmp eax,ecx - 102702: 76 03 jbe 102707 - 102704: 89 0c 24 mov DWORD PTR [esp],ecx - 102707: 2b 0c 24 sub ecx,DWORD PTR [esp] - 10270a: 74 56 je 102762 - 10270c: 8b 34 24 mov esi,DWORD PTR [esp] - 10270f: 01 f6 add esi,esi - 102711: bd 00 00 00 00 mov ebp,0x0 - 102716: eb 34 jmp 10274c - 102718: 89 f3 mov ebx,esi - 10271a: 0f af d8 imul ebx,eax - 10271d: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c - 102723: 01 d1 add ecx,edx - 102725: 8a 1c 19 mov bl,BYTE PTR [ecx+ebx*1] - 102728: 0f af c7 imul eax,edi - 10272b: 88 1c 01 mov BYTE PTR [ecx+eax*1],bl - 10272e: 42 inc edx - 10272f: a1 04 c0 10 00 mov eax,ds:0x10c004 - 102734: 8d 0c 00 lea ecx,[eax+eax*1] - 102737: 39 d1 cmp ecx,edx - 102739: 77 dd ja 102718 - 10273b: 45 inc ebp - 10273c: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008 - 102742: 2b 0c 24 sub ecx,DWORD PTR [esp] - 102745: 83 c6 02 add esi,0x2 - 102748: 39 e9 cmp ecx,ebp - 10274a: 76 16 jbe 102762 - 10274c: a1 04 c0 10 00 mov eax,ds:0x10c004 - 102751: 89 c2 mov edx,eax - 102753: 01 d2 add edx,edx - 102755: 74 e4 je 10273b - 102757: 8d 7c 2d 00 lea edi,[ebp+ebp*1+0x0] - 10275b: ba 00 00 00 00 mov edx,0x0 - 102760: eb b6 jmp 102718 - 102762: 39 0d 08 c0 10 00 cmp DWORD PTR ds:0x10c008,ecx - 102768: 77 40 ja 1027aa - 10276a: eb 4f jmp 1027bb - 10276c: 0f af d1 imul edx,ecx - 10276f: 01 c2 add edx,eax - 102771: 8b 1d 0c c0 10 00 mov ebx,DWORD PTR ds:0x10c00c - 102777: c6 04 53 00 mov BYTE PTR [ebx+edx*2],0x0 - 10277b: 89 cb mov ebx,ecx - 10277d: 0f af 1d 04 c0 10 00 imul ebx,DWORD PTR ds:0x10c004 - 102784: 01 c3 add ebx,eax - 102786: 8b 35 0c c0 10 00 mov esi,DWORD PTR ds:0x10c00c - 10278c: 8a 15 00 c0 10 00 mov dl,BYTE PTR ds:0x10c000 - 102792: 88 54 5e 01 mov BYTE PTR [esi+ebx*2+0x1],dl - 102796: 40 inc eax - 102797: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 10279d: 39 c2 cmp edx,eax - 10279f: 77 cb ja 10276c - 1027a1: 41 inc ecx - 1027a2: 39 0d 08 c0 10 00 cmp DWORD PTR ds:0x10c008,ecx - 1027a8: 76 11 jbe 1027bb - 1027aa: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 1027b0: b8 00 00 00 00 mov eax,0x0 - 1027b5: 85 d2 test edx,edx - 1027b7: 75 b3 jne 10276c - 1027b9: eb e6 jmp 1027a1 - 1027bb: 8b 04 24 mov eax,DWORD PTR [esp] - 1027be: 29 05 3c da 10 00 sub DWORD PTR ds:0x10da3c,eax - 1027c4: 83 c4 04 add esp,0x4 - 1027c7: 5b pop ebx - 1027c8: 5e pop esi - 1027c9: 5f pop edi - 1027ca: 5d pop ebp - 1027cb: c3 ret - -001027cc : - 1027cc: 53 push ebx - 1027cd: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 1027d1: 8b 0d 38 da 10 00 mov ecx,DWORD PTR ds:0x10da38 - 1027d7: 8b 1d 3c da 10 00 mov ebx,DWORD PTR ds:0x10da3c - 1027dd: 89 08 mov DWORD PTR [eax],ecx - 1027df: 89 58 04 mov DWORD PTR [eax+0x4],ebx - 1027e2: 5b pop ebx - 1027e3: c2 04 00 ret 0x4 - -001027e6 : - 1027e6: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 1027ea: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 1027ee: a3 38 da 10 00 mov ds:0x10da38,eax - 1027f3: 89 15 3c da 10 00 mov DWORD PTR ds:0x10da3c,edx - 1027f9: c3 ret - -001027fa : - 1027fa: 57 push edi - 1027fb: 56 push esi - 1027fc: 53 push ebx - 1027fd: 83 ec 04 sub esp,0x4 - 102800: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 102804: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004 - 10280a: ba 00 00 00 00 mov edx,0x0 - 10280f: f7 f1 div ecx - 102811: 01 05 3c da 10 00 add DWORD PTR ds:0x10da3c,eax - 102817: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38 - 10281d: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx - 102823: 89 ce mov esi,ecx - 102825: 39 ca cmp edx,ecx - 102827: 7c 1f jl 102848 - 102829: a1 3c da 10 00 mov eax,ds:0x10da3c - 10282e: 29 ca sub edx,ecx - 102830: eb 02 jmp 102834 - 102832: 89 da mov edx,ebx - 102834: 40 inc eax - 102835: 89 d3 mov ebx,edx - 102837: 29 cb sub ebx,ecx - 102839: 39 f2 cmp edx,esi - 10283b: 7d f5 jge 102832 - 10283d: a3 3c da 10 00 mov ds:0x10da3c,eax - 102842: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx - 102848: 8b 15 38 da 10 00 mov edx,DWORD PTR ds:0x10da38 - 10284e: 85 d2 test edx,edx - 102850: 79 1b jns 10286d - 102852: 8b 1d 3c da 10 00 mov ebx,DWORD PTR ds:0x10da3c - 102858: 4b dec ebx - 102859: 8d 04 0a lea eax,[edx+ecx*1] - 10285c: 89 c2 mov edx,eax - 10285e: 85 c0 test eax,eax - 102860: 78 f6 js 102858 - 102862: 89 1d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebx - 102868: a3 38 da 10 00 mov ds:0x10da38,eax - 10286d: a1 08 c0 10 00 mov eax,ds:0x10c008 - 102872: 39 05 3c da 10 00 cmp DWORD PTR ds:0x10da3c,eax - 102878: 7c 0c jl 102886 - 10287a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 102881: e8 66 fe ff ff call 1026ec - 102886: 83 c4 04 add esp,0x4 - 102889: 5b pop ebx - 10288a: 5e pop esi - 10288b: 5f pop edi - 10288c: c3 ret - -0010288d : - 10288d: 83 ec 04 sub esp,0x4 - 102890: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0 - 102897: 00 00 00 - 10289a: a1 3c da 10 00 mov eax,ds:0x10da3c - 10289f: 40 inc eax - 1028a0: a3 3c da 10 00 mov ds:0x10da3c,eax - 1028a5: 3b 05 08 c0 10 00 cmp eax,DWORD PTR ds:0x10c008 - 1028ab: 7c 0c jl 1028b9 - 1028ad: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1028b4: e8 33 fe ff ff call 1026ec - 1028b9: 83 c4 04 add esp,0x4 - 1028bc: c3 ret - -001028bd : - 1028bd: 56 push esi - 1028be: 53 push ebx - 1028bf: 8b 35 3c da 10 00 mov esi,DWORD PTR ds:0x10da3c - 1028c5: 0f af 35 04 c0 10 00 imul esi,DWORD PTR ds:0x10c004 - 1028cc: 03 35 38 da 10 00 add esi,DWORD PTR ds:0x10da38 - 1028d2: 66 8b 0d 63 04 00 00 mov cx,WORD PTR ds:0x463 - 1028d9: b0 0e mov al,0xe - 1028db: 89 ca mov edx,ecx - 1028dd: ee out dx,al - 1028de: 8d 59 01 lea ebx,[ecx+0x1] - 1028e1: 89 f0 mov eax,esi - 1028e3: 66 c1 e8 08 shr ax,0x8 - 1028e7: 89 da mov edx,ebx - 1028e9: ee out dx,al - 1028ea: b0 0f mov al,0xf - 1028ec: 89 ca mov edx,ecx - 1028ee: ee out dx,al - 1028ef: 89 da mov edx,ebx - 1028f1: 89 f0 mov eax,esi - 1028f3: ee out dx,al - 1028f4: 5b pop ebx - 1028f5: 5e pop esi - 1028f6: c3 ret - -001028f7 : - 1028f7: 53 push ebx - 1028f8: a1 08 c0 10 00 mov eax,ds:0x10c008 - 1028fd: 0f af 05 04 c0 10 00 imul eax,DWORD PTR ds:0x10c004 - 102904: 85 c0 test eax,eax - 102906: 74 38 je 102940 - 102908: ba 01 00 00 00 mov edx,0x1 - 10290d: b8 00 00 00 00 mov eax,0x0 - 102912: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c - 102918: c6 04 41 00 mov BYTE PTR [ecx+eax*2],0x0 - 10291c: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c - 102922: 8a 1d 00 c0 10 00 mov bl,BYTE PTR ds:0x10c000 - 102928: 88 1c 11 mov BYTE PTR [ecx+edx*1],bl - 10292b: 40 inc eax - 10292c: 83 c2 02 add edx,0x2 - 10292f: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008 - 102935: 0f af 0d 04 c0 10 00 imul ecx,DWORD PTR ds:0x10c004 - 10293c: 39 c1 cmp ecx,eax - 10293e: 77 d2 ja 102912 - 102940: c7 05 3c da 10 00 00 mov DWORD PTR ds:0x10da3c,0x0 - 102947: 00 00 00 - 10294a: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0 - 102951: 00 00 00 - 102954: e8 64 ff ff ff call 1028bd - 102959: 5b pop ebx - 10295a: c3 ret - -0010295b : - 10295b: 31 c0 xor eax,eax - 10295d: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 102961: c1 e0 04 shl eax,0x4 - 102964: 0b 44 24 08 or eax,DWORD PTR [esp+0x8] - 102968: c3 ret - -00102969 : - 102969: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 10296d: a2 00 c0 10 00 mov ds:0x10c000,al - 102972: c3 ret - -00102973 : - 102973: a0 00 c0 10 00 mov al,ds:0x10c000 - 102978: c3 ret - -00102979 : - 102979: 53 push ebx - 10297a: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 10297e: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004 - 102984: 8b 1d 08 c0 10 00 mov ebx,DWORD PTR ds:0x10c008 - 10298a: 89 08 mov DWORD PTR [eax],ecx - 10298c: 89 58 04 mov DWORD PTR [eax+0x4],ebx - 10298f: 5b pop ebx - 102990: c2 04 00 ret 0x4 - -00102993 : - 102993: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 102997: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 10299b: 85 d2 test edx,edx - 10299d: 78 0e js 1029ad - 10299f: 39 15 04 c0 10 00 cmp DWORD PTR ds:0x10c004,edx - 1029a5: 7e 06 jle 1029ad - 1029a7: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx - 1029ad: 85 c0 test eax,eax - 1029af: 78 0d js 1029be - 1029b1: 39 05 08 c0 10 00 cmp DWORD PTR ds:0x10c008,eax - 1029b7: 7e 05 jle 1029be - 1029b9: a3 3c da 10 00 mov ds:0x10da3c,eax - 1029be: c3 ret - ... - -001029c0 <_next_word_index>: - 1029c0: 53 push ebx - 1029c1: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 1029c5: 8b 44 24 10 mov eax,DWORD PTR [esp+0x10] - 1029c9: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14] - 1029cd: 83 7c 24 0c 00 cmp DWORD PTR [esp+0xc],0x0 - 1029d2: 79 73 jns 102a47 <_next_word_index+0x87> - 1029d4: 48 dec eax - 1029d5: 31 c9 xor ecx,ecx - 1029d7: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1] - 1029da: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1] - 1029e0: 81 e1 ff 00 00 00 and ecx,0xff - 1029e6: f6 c1 0a test cl,0xa - 1029e9: 74 1f je 102a0a <_next_word_index+0x4a> - 1029eb: 85 c0 test eax,eax - 1029ed: 7e 1b jle 102a0a <_next_word_index+0x4a> - 1029ef: 48 dec eax - 1029f0: 31 c9 xor ecx,ecx - 1029f2: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1] - 1029f5: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1] - 1029fb: 81 e1 ff 00 00 00 and ecx,0xff - 102a01: f6 c1 0a test cl,0xa - 102a04: 74 04 je 102a0a <_next_word_index+0x4a> - 102a06: 85 c0 test eax,eax - 102a08: 7f e5 jg 1029ef <_next_word_index+0x2f> - 102a0a: 31 c9 xor ecx,ecx - 102a0c: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1] - 102a0f: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1] - 102a15: 81 e1 ff 00 00 00 and ecx,0xff - 102a1b: f6 c1 d0 test cl,0xd0 - 102a1e: 74 1f je 102a3f <_next_word_index+0x7f> - 102a20: 85 c0 test eax,eax - 102a22: 7e 1b jle 102a3f <_next_word_index+0x7f> - 102a24: 48 dec eax - 102a25: 31 c9 xor ecx,ecx - 102a27: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1] - 102a2a: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1] - 102a30: 81 e1 ff 00 00 00 and ecx,0xff - 102a36: f6 c1 d0 test cl,0xd0 - 102a39: 74 04 je 102a3f <_next_word_index+0x7f> - 102a3b: 85 c0 test eax,eax - 102a3d: 7f e5 jg 102a24 <_next_word_index+0x64> - 102a3f: 83 f8 01 cmp eax,0x1 - 102a42: 83 d8 ff sbb eax,0xffffffff - 102a45: eb 6b jmp 102ab2 <_next_word_index+0xf2> - 102a47: 40 inc eax - 102a48: 31 db xor ebx,ebx - 102a4a: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1] - 102a4d: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1] - 102a53: 81 e3 ff 00 00 00 and ebx,0xff - 102a59: f6 c3 d0 test bl,0xd0 - 102a5c: 74 1f je 102a7d <_next_word_index+0xbd> - 102a5e: 39 c8 cmp eax,ecx - 102a60: 7d 1b jge 102a7d <_next_word_index+0xbd> - 102a62: 40 inc eax - 102a63: 31 db xor ebx,ebx - 102a65: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1] - 102a68: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1] - 102a6e: 81 e3 ff 00 00 00 and ebx,0xff - 102a74: f6 c3 d0 test bl,0xd0 - 102a77: 74 04 je 102a7d <_next_word_index+0xbd> - 102a79: 39 c1 cmp ecx,eax - 102a7b: 7f e5 jg 102a62 <_next_word_index+0xa2> - 102a7d: 31 db xor ebx,ebx - 102a7f: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1] - 102a82: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1] - 102a88: 81 e3 ff 00 00 00 and ebx,0xff - 102a8e: f6 c3 0a test bl,0xa - 102a91: 74 1f je 102ab2 <_next_word_index+0xf2> - 102a93: 39 c1 cmp ecx,eax - 102a95: 7e 1b jle 102ab2 <_next_word_index+0xf2> - 102a97: 40 inc eax - 102a98: 31 db xor ebx,ebx - 102a9a: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1] - 102a9d: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1] - 102aa3: 81 e3 ff 00 00 00 and ebx,0xff - 102aa9: f6 c3 0a test bl,0xa - 102aac: 74 04 je 102ab2 <_next_word_index+0xf2> - 102aae: 39 c1 cmp ecx,eax - 102ab0: 7f e5 jg 102a97 <_next_word_index+0xd7> - 102ab2: 5b pop ebx - 102ab3: c3 ret - -00102ab4 <_string_crop>: - 102ab4: 55 push ebp - 102ab5: 57 push edi - 102ab6: 56 push esi - 102ab7: 53 push ebx - 102ab8: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14] - 102abc: 8b 6c 24 18 mov ebp,DWORD PTR [esp+0x18] - 102ac0: 8b 7c 24 1c mov edi,DWORD PTR [esp+0x1c] - 102ac4: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 102ac8: 8b 11 mov edx,DWORD PTR [ecx] - 102aca: 39 d7 cmp edi,edx - 102acc: 7d 15 jge 102ae3 <_string_crop+0x2f> - 102ace: 89 f8 mov eax,edi - 102ad0: 89 ee mov esi,ebp - 102ad2: 29 fe sub esi,edi - 102ad4: 01 de add esi,ebx - 102ad6: 8a 14 03 mov dl,BYTE PTR [ebx+eax*1] - 102ad9: 88 14 06 mov BYTE PTR [esi+eax*1],dl - 102adc: 40 inc eax - 102add: 8b 11 mov edx,DWORD PTR [ecx] - 102adf: 39 c2 cmp edx,eax - 102ae1: 7f f3 jg 102ad6 <_string_crop+0x22> - 102ae3: 29 fd sub ebp,edi - 102ae5: 01 ea add edx,ebp - 102ae7: 89 11 mov DWORD PTR [ecx],edx - 102ae9: c6 04 13 00 mov BYTE PTR [ebx+edx*1],0x0 - 102aed: 5b pop ebx - 102aee: 5e pop esi - 102aef: 5f pop edi - 102af0: 5d pop ebp - 102af1: c3 ret - -00102af2 <_string_insert>: - 102af2: 56 push esi - 102af3: 53 push ebx - 102af4: 83 ec 04 sub esp,0x4 - 102af7: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10] - 102afb: 8b 4c 24 18 mov ecx,DWORD PTR [esp+0x18] - 102aff: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c] - 102b03: 8a 44 24 14 mov al,BYTE PTR [esp+0x14] - 102b07: 88 44 24 03 mov BYTE PTR [esp+0x3],al - 102b0b: 8b 06 mov eax,DWORD PTR [esi] - 102b0d: 39 c8 cmp eax,ecx - 102b0f: 7e 0c jle 102b1d <_string_insert+0x2b> - 102b11: 8a 5c 02 ff mov bl,BYTE PTR [edx+eax*1-0x1] - 102b15: 88 1c 02 mov BYTE PTR [edx+eax*1],bl - 102b18: 48 dec eax - 102b19: 39 c1 cmp ecx,eax - 102b1b: 7c f4 jl 102b11 <_string_insert+0x1f> - 102b1d: 8a 44 24 03 mov al,BYTE PTR [esp+0x3] - 102b21: 88 04 0a mov BYTE PTR [edx+ecx*1],al - 102b24: 8b 06 mov eax,DWORD PTR [esi] - 102b26: 40 inc eax - 102b27: 89 06 mov DWORD PTR [esi],eax - 102b29: c6 04 02 00 mov BYTE PTR [edx+eax*1],0x0 - 102b2d: 83 c4 04 add esp,0x4 - 102b30: 5b pop ebx - 102b31: 5e pop esi - 102b32: c3 ret - -00102b33 : - 102b33: 55 push ebp - 102b34: 57 push edi - 102b35: 56 push esi - 102b36: 53 push ebx - 102b37: 83 ec 3c sub esp,0x3c - 102b3a: 8a 44 24 58 mov al,BYTE PTR [esp+0x58] - 102b3e: 88 44 24 1d mov BYTE PTR [esp+0x1d],al - 102b42: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0 - 102b49: 00 - 102b4a: 8b 3d 38 da 10 00 mov edi,DWORD PTR ds:0x10da38 - 102b50: 8b 2d 3c da 10 00 mov ebp,DWORD PTR ds:0x10da3c - 102b56: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102b5a: c6 02 00 mov BYTE PTR [edx],0x0 - 102b5d: be 00 00 00 00 mov esi,0x0 - 102b62: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0 - 102b69: 00 - 102b6a: 8d 44 24 1e lea eax,[esp+0x1e] - 102b6e: 89 04 24 mov DWORD PTR [esp],eax - 102b71: e8 68 60 00 00 call 108bde - 102b76: 83 ec 04 sub esp,0x4 - 102b79: 66 8b 44 24 1e mov ax,WORD PTR [esp+0x1e] - 102b7e: 88 44 24 1c mov BYTE PTR [esp+0x1c],al - 102b82: 0f b6 c4 movzx eax,ah - 102b85: 83 e8 5f sub eax,0x5f - 102b88: 3c 08 cmp al,0x8 - 102b8a: 0f 87 d5 01 00 00 ja 102d65 - 102b90: 25 ff 00 00 00 and eax,0xff - 102b95: ff 24 85 0c 9c 10 00 jmp DWORD PTR [eax*4+0x109c0c] - 102b9c: 83 7c 24 18 00 cmp DWORD PTR [esp+0x18],0x0 - 102ba1: 0f 8e 01 02 00 00 jle 102da8 - 102ba7: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c - 102bae: e8 4a 42 00 00 call 106dfd - 102bb3: 84 c0 test al,al - 102bb5: 75 10 jne 102bc7 - 102bb7: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14 - 102bbe: e8 3a 42 00 00 call 106dfd - 102bc3: 84 c0 test al,al - 102bc5: 74 2d je 102bf4 - 102bc7: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 102bcb: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 102bcf: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102bd3: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102bd7: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 102bde: ff - 102bdf: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102be3: 89 14 24 mov DWORD PTR [esp],edx - 102be6: e8 d5 fd ff ff call 1029c0 <_next_word_index> - 102beb: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 102bef: e9 b4 01 00 00 jmp 102da8 - 102bf4: ff 4c 24 18 dec DWORD PTR [esp+0x18] - 102bf8: e9 ab 01 00 00 jmp 102da8 - 102bfd: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102c01: 3b 44 24 2c cmp eax,DWORD PTR [esp+0x2c] - 102c05: 0f 8d 9d 01 00 00 jge 102da8 - 102c0b: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c - 102c12: e8 e6 41 00 00 call 106dfd - 102c17: 84 c0 test al,al - 102c19: 75 10 jne 102c2b - 102c1b: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14 - 102c22: e8 d6 41 00 00 call 106dfd - 102c27: 84 c0 test al,al - 102c29: 74 2d je 102c58 - 102c2b: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 102c2f: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 102c33: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102c37: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102c3b: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 102c42: 00 - 102c43: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102c47: 89 14 24 mov DWORD PTR [esp],edx - 102c4a: e8 71 fd ff ff call 1029c0 <_next_word_index> - 102c4f: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 102c53: e9 50 01 00 00 jmp 102da8 - 102c58: ff 44 24 18 inc DWORD PTR [esp+0x18] - 102c5c: e9 47 01 00 00 jmp 102da8 - 102c61: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102c65: 3b 44 24 2c cmp eax,DWORD PTR [esp+0x2c] - 102c69: 0f 84 39 01 00 00 je 102da8 - 102c6f: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c - 102c76: e8 82 41 00 00 call 106dfd - 102c7b: 84 c0 test al,al - 102c7d: 75 17 jne 102c96 - 102c7f: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14 - 102c86: e8 72 41 00 00 call 106dfd - 102c8b: 88 c2 mov dl,al - 102c8d: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102c91: 40 inc eax - 102c92: 84 d2 test dl,dl - 102c94: 74 24 je 102cba - 102c96: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 102c9a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 102c9e: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102ca2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102ca6: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 102cad: 00 - 102cae: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102cb2: 89 14 24 mov DWORD PTR [esp],edx - 102cb5: e8 06 fd ff ff call 1029c0 <_next_word_index> - 102cba: 8d 54 24 2c lea edx,[esp+0x2c] - 102cbe: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 102cc2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102cc6: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102cca: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 102cce: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102cd2: 89 14 24 mov DWORD PTR [esp],edx - 102cd5: e8 da fd ff ff call 102ab4 <_string_crop> - 102cda: e9 c9 00 00 00 jmp 102da8 - 102cdf: 83 7c 24 18 00 cmp DWORD PTR [esp+0x18],0x0 - 102ce4: 0f 84 be 00 00 00 je 102da8 - 102cea: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c - 102cf1: e8 07 41 00 00 call 106dfd - 102cf6: 84 c0 test al,al - 102cf8: 75 15 jne 102d0f - 102cfa: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14 - 102d01: e8 f7 40 00 00 call 106dfd - 102d06: 8b 5c 24 18 mov ebx,DWORD PTR [esp+0x18] - 102d0a: 4b dec ebx - 102d0b: 84 c0 test al,al - 102d0d: 74 26 je 102d35 - 102d0f: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 102d13: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 102d17: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102d1b: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102d1f: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 102d26: ff - 102d27: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102d2b: 89 14 24 mov DWORD PTR [esp],edx - 102d2e: e8 8d fc ff ff call 1029c0 <_next_word_index> - 102d33: 89 c3 mov ebx,eax - 102d35: 8d 44 24 2c lea eax,[esp+0x2c] - 102d39: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 102d3d: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102d41: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 102d45: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 102d49: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102d4d: 89 14 24 mov DWORD PTR [esp],edx - 102d50: e8 5f fd ff ff call 102ab4 <_string_crop> - 102d55: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx - 102d59: eb 4d jmp 102da8 - 102d5b: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 102d5f: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 102d63: eb 43 jmp 102da8 - 102d65: 80 7c 24 1c 00 cmp BYTE PTR [esp+0x1c],0x0 - 102d6a: 74 3c je 102da8 - 102d6c: 0f be 44 24 1c movsx eax,BYTE PTR [esp+0x1c] - 102d71: f6 80 e1 c0 10 00 01 test BYTE PTR [eax+0x10c0e1],0x1 - 102d78: 75 2e jne 102da8 - 102d7a: 8d 54 24 2c lea edx,[esp+0x2c] - 102d7e: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 102d82: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18] - 102d86: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 102d8a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 102d8e: 8b 44 24 50 mov eax,DWORD PTR [esp+0x50] - 102d92: 89 04 24 mov DWORD PTR [esp],eax - 102d95: e8 58 fd ff ff call 102af2 <_string_insert> - 102d9a: ff 44 24 18 inc DWORD PTR [esp+0x18] - 102d9e: eb 08 jmp 102da8 - 102da0: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0 - 102da7: 00 - 102da8: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi - 102dae: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp - 102db4: 3b 74 24 2c cmp esi,DWORD PTR [esp+0x2c] - 102db8: 7e 1a jle 102dd4 - 102dba: 85 f6 test esi,esi - 102dbc: 7e 16 jle 102dd4 - 102dbe: bb 00 00 00 00 mov ebx,0x0 - 102dc3: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20 - 102dca: e8 6d 00 00 00 call 102e3c <_write_char> - 102dcf: 43 inc ebx - 102dd0: 39 f3 cmp ebx,esi - 102dd2: 75 ef jne 102dc3 - 102dd4: 8b 74 24 2c mov esi,DWORD PTR [esp+0x2c] - 102dd8: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi - 102dde: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp - 102de4: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 102de8: 89 14 24 mov DWORD PTR [esp],edx - 102deb: e8 22 01 00 00 call 102f12 <_write_string> - 102df0: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi - 102df6: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp - 102dfc: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 102e00: 89 04 24 mov DWORD PTR [esp],eax - 102e03: e8 f2 f9 ff ff call 1027fa - 102e08: e8 b0 fa ff ff call 1028bd - 102e0d: 8a 54 24 1c mov dl,BYTE PTR [esp+0x1c] - 102e11: 38 54 24 1d cmp BYTE PTR [esp+0x1d],dl - 102e15: 74 0e je 102e25 - 102e17: 8b 44 24 54 mov eax,DWORD PTR [esp+0x54] - 102e1b: 39 44 24 2c cmp DWORD PTR [esp+0x2c],eax - 102e1f: 0f 8c 45 fd ff ff jl 102b6a - 102e25: c7 04 24 0a 00 00 00 mov DWORD PTR [esp],0xa - 102e2c: e8 16 01 00 00 call 102f47 - 102e31: 83 c4 3c add esp,0x3c - 102e34: 5b pop ebx - 102e35: 5e pop esi - 102e36: 5f pop edi - 102e37: 5d pop ebp - 102e38: c3 ret - 102e39: 00 00 add BYTE PTR [eax],al - ... - -00102e3c <_write_char>: - 102e3c: 83 ec 1c sub esp,0x1c - 102e3f: 8a 44 24 20 mov al,BYTE PTR [esp+0x20] - 102e43: 3c 09 cmp al,0x9 - 102e45: 74 2d je 102e74 <_write_char+0x38> - 102e47: 3c 09 cmp al,0x9 - 102e49: 7f 06 jg 102e51 <_write_char+0x15> - 102e4b: 3c 08 cmp al,0x8 - 102e4d: 75 75 jne 102ec4 <_write_char+0x88> - 102e4f: eb 49 jmp 102e9a <_write_char+0x5e> - 102e51: 3c 0a cmp al,0xa - 102e53: 74 06 je 102e5b <_write_char+0x1f> - 102e55: 3c 0d cmp al,0xd - 102e57: 75 6b jne 102ec4 <_write_char+0x88> - 102e59: eb 0a jmp 102e65 <_write_char+0x29> - 102e5b: e8 2d fa ff ff call 10288d - 102e60: e9 a9 00 00 00 jmp 102f0e <_write_char+0xd2> - 102e65: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0 - 102e6c: 00 00 00 - 102e6f: e9 9a 00 00 00 jmp 102f0e <_write_char+0xd2> - 102e74: 8b 0d 38 da 10 00 mov ecx,DWORD PTR ds:0x10da38 - 102e7a: b8 ab aa aa aa mov eax,0xaaaaaaab - 102e7f: f7 e1 mul ecx - 102e81: 89 d0 mov eax,edx - 102e83: c1 e8 02 shr eax,0x2 - 102e86: 8d 04 40 lea eax,[eax+eax*2] - 102e89: 01 c0 add eax,eax - 102e8b: 29 c8 sub eax,ecx - 102e8d: 8d 40 06 lea eax,[eax+0x6] - 102e90: 89 04 24 mov DWORD PTR [esp],eax - 102e93: e8 62 f9 ff ff call 1027fa - 102e98: eb 74 jmp 102f0e <_write_char+0xd2> - 102e9a: c7 04 24 ff ff ff ff mov DWORD PTR [esp],0xffffffff - 102ea1: e8 54 f9 ff ff call 1027fa - 102ea6: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 102eac: 0f af 15 3c da 10 00 imul edx,DWORD PTR ds:0x10da3c - 102eb3: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38 - 102eb9: a1 0c c0 10 00 mov eax,ds:0x10c00c - 102ebe: c6 04 50 00 mov BYTE PTR [eax+edx*2],0x0 - 102ec2: eb 4a jmp 102f0e <_write_char+0xd2> - 102ec4: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004 - 102eca: 0f af 0d 3c da 10 00 imul ecx,DWORD PTR ds:0x10da3c - 102ed1: 03 0d 38 da 10 00 add ecx,DWORD PTR ds:0x10da38 - 102ed7: 8b 15 0c c0 10 00 mov edx,DWORD PTR ds:0x10c00c - 102edd: 88 04 4a mov BYTE PTR [edx+ecx*2],al - 102ee0: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 102ee6: 0f af 15 3c da 10 00 imul edx,DWORD PTR ds:0x10da3c - 102eed: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38 - 102ef3: a1 0c c0 10 00 mov eax,ds:0x10c00c - 102ef8: 8a 0d 00 c0 10 00 mov cl,BYTE PTR ds:0x10c000 - 102efe: 88 4c 50 01 mov BYTE PTR [eax+edx*2+0x1],cl - 102f02: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 102f09: e8 ec f8 ff ff call 1027fa - 102f0e: 83 c4 1c add esp,0x1c - 102f11: c3 ret - -00102f12 <_write_string>: - 102f12: 57 push edi - 102f13: 56 push esi - 102f14: 53 push ebx - 102f15: 83 ec 10 sub esp,0x10 - 102f18: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 102f1c: 89 34 24 mov DWORD PTR [esp],esi - 102f1f: e8 ec 5d 00 00 call 108d10 - 102f24: 89 c7 mov edi,eax - 102f26: 85 c0 test eax,eax - 102f28: 7e 16 jle 102f40 <_write_string+0x2e> - 102f2a: bb 00 00 00 00 mov ebx,0x0 - 102f2f: 0f be 04 1e movsx eax,BYTE PTR [esi+ebx*1] - 102f33: 89 04 24 mov DWORD PTR [esp],eax - 102f36: e8 01 ff ff ff call 102e3c <_write_char> - 102f3b: 43 inc ebx - 102f3c: 39 df cmp edi,ebx - 102f3e: 75 ef jne 102f2f <_write_string+0x1d> - 102f40: 83 c4 10 add esp,0x10 - 102f43: 5b pop ebx - 102f44: 5e pop esi - 102f45: 5f pop edi - 102f46: c3 ret - -00102f47 : - 102f47: 83 ec 1c sub esp,0x1c - 102f4a: 0f be 44 24 20 movsx eax,BYTE PTR [esp+0x20] - 102f4f: 89 04 24 mov DWORD PTR [esp],eax - 102f52: e8 e5 fe ff ff call 102e3c <_write_char> - 102f57: e8 61 f9 ff ff call 1028bd - 102f5c: 83 c4 1c add esp,0x1c - 102f5f: c3 ret - -00102f60 : - 102f60: 83 ec 1c sub esp,0x1c - 102f63: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 102f67: 89 04 24 mov DWORD PTR [esp],eax - 102f6a: e8 a3 ff ff ff call 102f12 <_write_string> - 102f6f: e8 49 f9 ff ff call 1028bd - 102f74: 83 c4 1c add esp,0x1c - 102f77: c3 ret - -00102f78 : - 102f78: 55 push ebp - 102f79: 57 push edi - 102f7a: 56 push esi - 102f7b: 53 push ebx - 102f7c: 83 ec 4c sub esp,0x4c - 102f7f: 8b 54 24 60 mov edx,DWORD PTR [esp+0x60] - 102f83: b8 00 00 00 00 mov eax,0x0 - 102f88: 85 d2 test edx,edx - 102f8a: 0f 84 7c 01 00 00 je 10310c - 102f90: 80 3a 00 cmp BYTE PTR [edx],0x0 - 102f93: 0f 84 73 01 00 00 je 10310c - 102f99: 89 14 24 mov DWORD PTR [esp],edx - 102f9c: e8 6f 5d 00 00 call 108d10 - 102fa1: 89 c7 mov edi,eax - 102fa3: a0 00 c0 10 00 mov al,ds:0x10c000 - 102fa8: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 102fac: 85 ff test edi,edi - 102fae: 0f 84 3c 01 00 00 je 1030f0 - 102fb4: bb 00 00 00 00 mov ebx,0x0 - 102fb9: 8d 74 24 64 lea esi,[esp+0x64] - 102fbd: 8d 6c 24 20 lea ebp,[esp+0x20] - 102fc1: 8b 54 24 60 mov edx,DWORD PTR [esp+0x60] - 102fc5: 8a 04 1a mov al,BYTE PTR [edx+ebx*1] - 102fc8: 3c 25 cmp al,0x25 - 102fca: 74 10 je 102fdc - 102fcc: 0f be c0 movsx eax,al - 102fcf: 89 04 24 mov DWORD PTR [esp],eax - 102fd2: e8 65 fe ff ff call 102e3c <_write_char> - 102fd7: e9 09 01 00 00 jmp 1030e5 - 102fdc: 43 inc ebx - 102fdd: 8a 04 1a mov al,BYTE PTR [edx+ebx*1] - 102fe0: 3c 69 cmp al,0x69 - 102fe2: 74 76 je 10305a - 102fe4: 3c 69 cmp al,0x69 - 102fe6: 7f 27 jg 10300f - 102fe8: 3c 63 cmp al,0x63 - 102fea: 74 39 je 103025 - 102fec: 3c 63 cmp al,0x63 - 102fee: 7f 15 jg 103005 - 102ff0: 3c 23 cmp al,0x23 - 102ff2: 0f 84 e3 00 00 00 je 1030db - 102ff8: 3c 58 cmp al,0x58 - 102ffa: 0f 85 07 01 00 00 jne 103107 - 103000: e9 80 00 00 00 jmp 103085 - 103005: 3c 64 cmp al,0x64 - 103007: 0f 85 fa 00 00 00 jne 103107 - 10300d: eb 4b jmp 10305a - 10300f: 3c 75 cmp al,0x75 - 103011: 0f 84 99 00 00 00 je 1030b0 - 103017: 3c 78 cmp al,0x78 - 103019: 74 6a je 103085 - 10301b: 3c 73 cmp al,0x73 - 10301d: 0f 85 e4 00 00 00 jne 103107 - 103023: eb 1b jmp 103040 - 103025: 8d 46 04 lea eax,[esi+0x4] - 103028: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 10302c: 0f be 06 movsx eax,BYTE PTR [esi] - 10302f: 89 04 24 mov DWORD PTR [esp],eax - 103032: e8 05 fe ff ff call 102e3c <_write_char> - 103037: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 10303b: e9 a5 00 00 00 jmp 1030e5 - 103040: 8d 46 04 lea eax,[esi+0x4] - 103043: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 103047: 8b 06 mov eax,DWORD PTR [esi] - 103049: 89 04 24 mov DWORD PTR [esp],eax - 10304c: e8 c1 fe ff ff call 102f12 <_write_string> - 103051: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 103055: e9 8b 00 00 00 jmp 1030e5 - 10305a: 8d 46 04 lea eax,[esi+0x4] - 10305d: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 103061: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa - 103068: 00 - 103069: 8b 06 mov eax,DWORD PTR [esi] - 10306b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10306f: 89 2c 24 mov DWORD PTR [esp],ebp - 103072: e8 e9 12 00 00 call 104360 - 103077: 89 2c 24 mov DWORD PTR [esp],ebp - 10307a: e8 93 fe ff ff call 102f12 <_write_string> - 10307f: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 103083: eb 60 jmp 1030e5 - 103085: 8d 46 04 lea eax,[esi+0x4] - 103088: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 10308c: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10 - 103093: 00 - 103094: 8b 06 mov eax,DWORD PTR [esi] - 103096: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10309a: 89 2c 24 mov DWORD PTR [esp],ebp - 10309d: e8 3e 13 00 00 call 1043e0 - 1030a2: 89 2c 24 mov DWORD PTR [esp],ebp - 1030a5: e8 68 fe ff ff call 102f12 <_write_string> - 1030aa: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 1030ae: eb 35 jmp 1030e5 - 1030b0: 8d 46 04 lea eax,[esi+0x4] - 1030b3: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 1030b7: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa - 1030be: 00 - 1030bf: 8b 06 mov eax,DWORD PTR [esi] - 1030c1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1030c5: 89 2c 24 mov DWORD PTR [esp],ebp - 1030c8: e8 13 13 00 00 call 1043e0 - 1030cd: 89 2c 24 mov DWORD PTR [esp],ebp - 1030d0: e8 3d fe ff ff call 102f12 <_write_string> - 1030d5: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 1030d9: eb 0a jmp 1030e5 - 1030db: 8a 06 mov al,BYTE PTR [esi] - 1030dd: a2 00 c0 10 00 mov ds:0x10c000,al - 1030e2: 8d 76 04 lea esi,[esi+0x4] - 1030e5: 43 inc ebx - 1030e6: 39 df cmp edi,ebx - 1030e8: 0f 87 d3 fe ff ff ja 102fc1 - 1030ee: eb 05 jmp 1030f5 - 1030f0: bb 00 00 00 00 mov ebx,0x0 - 1030f5: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f] - 1030f9: a2 00 c0 10 00 mov ds:0x10c000,al - 1030fe: e8 ba f7 ff ff call 1028bd - 103103: 89 d8 mov eax,ebx - 103105: eb 05 jmp 10310c - 103107: b8 01 00 00 00 mov eax,0x1 - 10310c: 83 c4 4c add esp,0x4c - 10310f: 5b pop ebx - 103110: 5e pop esi - 103111: 5f pop edi - 103112: 5d pop ebp - 103113: c3 ret - -00103114 : - 103114: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 10311a: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8] - 10311f: 03 54 24 04 add edx,DWORD PTR [esp+0x4] - 103123: a1 0c c0 10 00 mov eax,ds:0x10c00c - 103128: 8b 4c 24 0c mov ecx,DWORD PTR [esp+0xc] - 10312c: 88 0c 50 mov BYTE PTR [eax+edx*2],cl - 10312f: c3 ret - -00103130 : - 103130: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 103136: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8] - 10313b: 03 54 24 04 add edx,DWORD PTR [esp+0x4] - 10313f: a1 0c c0 10 00 mov eax,ds:0x10c00c - 103144: 8b 4c 24 0c mov ecx,DWORD PTR [esp+0xc] - 103148: 88 4c 50 01 mov BYTE PTR [eax+edx*2+0x1],cl - 10314c: c3 ret - -0010314d : - 10314d: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 103153: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8] - 103158: 03 54 24 04 add edx,DWORD PTR [esp+0x4] - 10315c: a1 0c c0 10 00 mov eax,ds:0x10c00c - 103161: 8a 04 50 mov al,BYTE PTR [eax+edx*2] - 103164: c3 ret - -00103165 : - 103165: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004 - 10316b: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8] - 103170: 03 54 24 04 add edx,DWORD PTR [esp+0x4] - 103174: a1 0c c0 10 00 mov eax,ds:0x10c00c - 103179: 8a 44 50 01 mov al,BYTE PTR [eax+edx*2+0x1] - 10317d: c3 ret - ... - -00103180 : - 103180: 55 push ebp - 103181: 57 push edi - 103182: 56 push esi - 103183: 53 push ebx - 103184: 83 ec 1c sub esp,0x1c - 103187: bf 05 00 00 00 mov edi,0x5 - 10318c: bd 01 00 00 00 mov ebp,0x1 - 103191: bb 00 00 00 00 mov ebx,0x0 - 103196: 89 3c 24 mov DWORD PTR [esp],edi - 103199: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 10319d: e8 f1 f7 ff ff call 102993 - 1031a2: 8d 73 01 lea esi,[ebx+0x1] - 1031a5: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 1031a9: c7 04 24 e3 9e 10 00 mov DWORD PTR [esp],0x109ee3 - 1031b0: e8 c3 fd ff ff call 102f78 - 1031b5: 89 f3 mov ebx,esi - 1031b7: eb dd jmp 103196 - -001031b9 : - 1031b9: 53 push ebx - 1031ba: 83 ec 28 sub esp,0x28 - 1031bd: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 1031c4: 00 - 1031c5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1031cc: e8 8a f7 ff ff call 10295b - 1031d1: 88 c3 mov bl,al - 1031d3: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe - 1031da: 00 - 1031db: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1031e2: e8 74 f7 ff ff call 10295b - 1031e7: 81 e3 ff 00 00 00 and ebx,0xff - 1031ed: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx - 1031f1: c7 44 24 08 30 9c 10 mov DWORD PTR [esp+0x8],0x109c30 - 1031f8: 00 - 1031f9: 25 ff 00 00 00 and eax,0xff - 1031fe: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103202: c7 04 24 7c 9f 10 00 mov DWORD PTR [esp],0x109f7c - 103209: e8 6a fd ff ff call 102f78 - 10320e: bb 1e 00 00 00 mov ebx,0x1e - 103213: c7 44 24 08 cd 00 00 mov DWORD PTR [esp+0x8],0xcd - 10321a: 00 - 10321b: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 103222: 00 - 103223: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 10322a: e8 49 fd ff ff call 102f78 - 10322f: 4b dec ebx - 103230: 75 e1 jne 103213 - 103232: c7 44 24 0c 39 9c 10 mov DWORD PTR [esp+0xc],0x109c39 - 103239: 00 - 10323a: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7 - 103241: 00 - 103242: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 103249: 00 - 10324a: c7 04 24 49 9c 10 00 mov DWORD PTR [esp],0x109c49 - 103251: e8 22 fd ff ff call 102f78 - 103256: c7 44 24 0c 5e 9c 10 mov DWORD PTR [esp+0xc],0x109c5e - 10325d: 00 - 10325e: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7 - 103265: 00 - 103266: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 10326d: 00 - 10326e: c7 04 24 67 9c 10 00 mov DWORD PTR [esp],0x109c67 - 103275: e8 fe fc ff ff call 102f78 - 10327a: c7 44 24 18 76 9c 10 mov DWORD PTR [esp+0x18],0x109c76 - 103281: 00 - 103282: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7 - 103289: 00 - 10328a: c7 44 24 10 08 00 00 mov DWORD PTR [esp+0x10],0x8 - 103291: 00 - 103292: c7 44 24 0c 7f 9c 10 mov DWORD PTR [esp+0xc],0x109c7f - 103299: 00 - 10329a: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7 - 1032a1: 00 - 1032a2: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 1032a9: 00 - 1032aa: c7 04 24 8b 9c 10 00 mov DWORD PTR [esp],0x109c8b - 1032b1: e8 c2 fc ff ff call 102f78 - 1032b6: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7 - 1032bd: 00 - 1032be: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 1032c5: 00 - 1032c6: c7 04 24 9c 9f 10 00 mov DWORD PTR [esp],0x109f9c - 1032cd: e8 a6 fc ff ff call 102f78 - 1032d2: 83 c4 28 add esp,0x28 - 1032d5: 5b pop ebx - 1032d6: c3 ret - -001032d7 : - 1032d7: 55 push ebp - 1032d8: 57 push edi - 1032d9: 56 push esi - 1032da: 53 push ebx - 1032db: 81 ec ac 00 00 00 sub esp,0xac - 1032e1: 8d 7c 24 6c lea edi,[esp+0x6c] - 1032e5: be 60 a2 10 00 mov esi,0x10a260 - 1032ea: b9 0d 00 00 00 mov ecx,0xd - 1032ef: f3 a5 rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi] - 1032f1: 8d 7c 24 4c lea edi,[esp+0x4c] - 1032f5: be a0 a2 10 00 mov esi,0x10a2a0 - 1032fa: b1 08 mov cl,0x8 - 1032fc: f3 a5 rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi] - 1032fe: 8d 44 24 38 lea eax,[esp+0x38] - 103302: 89 04 24 mov DWORD PTR [esp],eax - 103305: e8 46 60 00 00 call 109350 - 10330a: 83 ec 04 sub esp,0x4 - 10330d: 8d 44 24 40 lea eax,[esp+0x40] - 103311: 8b 4c 24 38 mov ecx,DWORD PTR [esp+0x38] - 103315: 8b 5c 24 3c mov ebx,DWORD PTR [esp+0x3c] - 103319: 89 4c 24 04 mov DWORD PTR [esp+0x4],ecx - 10331d: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 103321: 89 04 24 mov DWORD PTR [esp],eax - 103324: e8 2e 5e 00 00 call 109157 - 103329: 83 ec 04 sub esp,0x4 - 10332c: 0f b6 74 24 48 movzx esi,BYTE PTR [esp+0x48] - 103331: 8a 5c 24 49 mov bl,BYTE PTR [esp+0x49] - 103335: 88 5c 24 33 mov BYTE PTR [esp+0x33],bl - 103339: 66 8b 5c 24 4a mov bx,WORD PTR [esp+0x4a] - 10333e: c7 04 24 a6 9c 10 00 mov DWORD PTR [esp],0x109ca6 - 103345: e8 2e fc ff ff call 102f78 - 10334a: 31 c0 xor eax,eax - 10334c: 8a 44 24 47 mov al,BYTE PTR [esp+0x47] - 103350: 89 44 24 34 mov DWORD PTR [esp+0x34],eax - 103354: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa - 10335b: 00 - 10335c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103363: e8 f3 f5 ff ff call 10295b - 103368: 89 da mov edx,ebx - 10336a: 81 e2 ff ff 00 00 and edx,0xffff - 103370: 8d 0c 52 lea ecx,[edx+edx*2] - 103373: 89 cf mov edi,ecx - 103375: c1 e7 04 shl edi,0x4 - 103378: 01 f9 add ecx,edi - 10337a: 89 cf mov edi,ecx - 10337c: c1 e7 08 shl edi,0x8 - 10337f: 01 f9 add ecx,edi - 103381: 8d 14 8a lea edx,[edx+ecx*4] - 103384: c1 ea 13 shr edx,0x13 - 103387: 8d 0c 92 lea ecx,[edx+edx*4] - 10338a: 01 c9 add ecx,ecx - 10338c: 89 df mov edi,ebx - 10338e: 66 29 cf sub di,cx - 103391: 89 f9 mov ecx,edi - 103393: 81 e1 ff ff 00 00 and ecx,0xffff - 103399: 89 4c 24 24 mov DWORD PTR [esp+0x24],ecx - 10339d: 89 d1 mov ecx,edx - 10339f: 81 e1 ff ff 00 00 and ecx,0xffff - 1033a5: 8d 3c 49 lea edi,[ecx+ecx*2] - 1033a8: 89 fd mov ebp,edi - 1033aa: c1 e5 04 shl ebp,0x4 - 1033ad: 01 ef add edi,ebp - 1033af: 89 fd mov ebp,edi - 1033b1: c1 e5 08 shl ebp,0x8 - 1033b4: 01 ef add edi,ebp - 1033b6: 8d 0c b9 lea ecx,[ecx+edi*4] - 1033b9: c1 e9 13 shr ecx,0x13 - 1033bc: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1033bf: 01 c9 add ecx,ecx - 1033c1: 66 29 ca sub dx,cx - 1033c4: 81 e2 ff ff 00 00 and edx,0xffff - 1033ca: 89 54 24 20 mov DWORD PTR [esp+0x20],edx - 1033ce: 66 c1 eb 02 shr bx,0x2 - 1033d2: 81 e3 ff ff 00 00 and ebx,0xffff - 1033d8: 8d 14 9b lea edx,[ebx+ebx*4] - 1033db: 8d 14 d3 lea edx,[ebx+edx*8] - 1033de: c1 e2 05 shl edx,0x5 - 1033e1: 29 da sub edx,ebx - 1033e3: c1 e2 02 shl edx,0x2 - 1033e6: 29 da sub edx,ebx - 1033e8: c1 ea 11 shr edx,0x11 - 1033eb: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx - 1033ef: 31 d2 xor edx,edx - 1033f1: 8a 54 24 33 mov dl,BYTE PTR [esp+0x33] - 1033f5: 8d 0c 92 lea ecx,[edx+edx*4] - 1033f8: 8d 14 ca lea edx,[edx+ecx*8] - 1033fb: 8d 14 92 lea edx,[edx+edx*4] - 1033fe: 66 c1 ea 0b shr dx,0xb - 103402: 8d 0c 92 lea ecx,[edx+edx*4] - 103405: 01 c9 add ecx,ecx - 103407: 8a 5c 24 33 mov bl,BYTE PTR [esp+0x33] - 10340b: 28 cb sub bl,cl - 10340d: 88 d9 mov cl,bl - 10340f: 81 e1 ff 00 00 00 and ecx,0xff - 103415: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx - 103419: 81 e2 ff 00 00 00 and edx,0xff - 10341f: 89 54 24 14 mov DWORD PTR [esp+0x14],edx - 103423: 89 f2 mov edx,esi - 103425: 81 e2 ff 00 00 00 and edx,0xff - 10342b: 8d 0c 92 lea ecx,[edx+edx*4] - 10342e: 8d 14 ca lea edx,[edx+ecx*8] - 103431: 8d 14 92 lea edx,[edx+edx*4] - 103434: 66 c1 ea 0b shr dx,0xb - 103438: 8d 0c 92 lea ecx,[edx+edx*4] - 10343b: 01 c9 add ecx,ecx - 10343d: 89 f3 mov ebx,esi - 10343f: 28 cb sub bl,cl - 103441: 89 de mov esi,ebx - 103443: 81 e6 ff 00 00 00 and esi,0xff - 103449: 89 74 24 10 mov DWORD PTR [esp+0x10],esi - 10344d: 81 e2 ff 00 00 00 and edx,0xff - 103453: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 103457: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 10345b: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi - 10345f: 25 ff 00 00 00 and eax,0xff - 103464: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103468: c7 04 24 b5 9c 10 00 mov DWORD PTR [esp],0x109cb5 - 10346f: e8 04 fb ff ff call 102f78 - 103474: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40] - 103478: 8a 44 24 46 mov al,BYTE PTR [esp+0x46] - 10347c: 25 ff 00 00 00 and eax,0xff - 103481: 89 c6 mov esi,eax - 103483: 31 c0 xor eax,eax - 103485: 8a 44 24 44 mov al,BYTE PTR [esp+0x44] - 103489: 8b 7c 84 6c mov edi,DWORD PTR [esp+eax*4+0x6c] - 10348d: 31 c0 xor eax,eax - 10348f: 8a 44 24 45 mov al,BYTE PTR [esp+0x45] - 103493: 8b 6c 84 4c mov ebp,DWORD PTR [esp+eax*4+0x4c] - 103497: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa - 10349e: 00 - 10349f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1034a6: e8 b0 f4 ff ff call 10295b - 1034ab: 89 5c 24 14 mov DWORD PTR [esp+0x14],ebx - 1034af: 89 74 24 10 mov DWORD PTR [esp+0x10],esi - 1034b3: 89 7c 24 0c mov DWORD PTR [esp+0xc],edi - 1034b7: 89 6c 24 08 mov DWORD PTR [esp+0x8],ebp - 1034bb: 25 ff 00 00 00 and eax,0xff - 1034c0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1034c4: c7 04 24 cc 9c 10 00 mov DWORD PTR [esp],0x109ccc - 1034cb: e8 a8 fa ff ff call 102f78 - 1034d0: 81 c4 ac 00 00 00 add esp,0xac - 1034d6: 5b pop ebx - 1034d7: 5e pop esi - 1034d8: 5f pop edi - 1034d9: 5d pop ebp - 1034da: c3 ret - -001034db : - 1034db: 56 push esi - 1034dc: 53 push ebx - 1034dd: 83 ec 14 sub esp,0x14 - 1034e0: 83 7c 24 24 01 cmp DWORD PTR [esp+0x24],0x1 - 1034e5: 7f 59 jg 103540 - 1034e7: c7 04 24 72 9d 10 00 mov DWORD PTR [esp],0x109d72 - 1034ee: e8 85 fa ff ff call 102f78 - 1034f3: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0 - 1034fa: 7e 78 jle 103574 - 1034fc: bb 00 00 00 00 mov ebx,0x0 - 103501: 8b 34 9d 40 c0 10 00 mov esi,DWORD PTR [ebx*4+0x10c040] - 103508: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 10350f: 00 - 103510: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103517: e8 3f f4 ff ff call 10295b - 10351c: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 103520: 25 ff 00 00 00 and eax,0xff - 103525: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103529: c7 04 24 87 9d 10 00 mov DWORD PTR [esp],0x109d87 - 103530: e8 43 fa ff ff call 102f78 - 103535: 43 inc ebx - 103536: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx - 10353c: 7f c3 jg 103501 - 10353e: eb 34 jmp 103574 - 103540: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 103544: 8b 58 04 mov ebx,DWORD PTR [eax+0x4] - 103547: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 10354e: 00 - 10354f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103556: e8 00 f4 ff ff call 10295b - 10355b: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 10355f: 25 ff 00 00 00 and eax,0xff - 103564: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103568: c7 04 24 c0 9f 10 00 mov DWORD PTR [esp],0x109fc0 - 10356f: e8 04 fa ff ff call 102f78 - 103574: 83 c4 14 add esp,0x14 - 103577: 5b pop ebx - 103578: 5e pop esi - 103579: c3 ret - -0010357a : - 10357a: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 10357e: 8d 42 37 lea eax,[edx+0x37] - 103581: 83 fa 09 cmp edx,0x9 - 103584: 7f 03 jg 103589 - 103586: 8d 42 30 lea eax,[edx+0x30] - 103589: c3 ret - -0010358a : - 10358a: 55 push ebp - 10358b: 57 push edi - 10358c: 56 push esi - 10358d: 53 push ebx - 10358e: 83 ec 4c sub esp,0x4c - 103591: 8b 5c 24 60 mov ebx,DWORD PTR [esp+0x60] - 103595: 8b 44 24 64 mov eax,DWORD PTR [esp+0x64] - 103599: 83 f8 02 cmp eax,0x2 - 10359c: 7f 55 jg 1035f3 - 10359e: c7 44 24 0c 07 00 00 mov DWORD PTR [esp+0xc],0x7 - 1035a5: 00 - 1035a6: c7 44 24 08 0f 00 00 mov DWORD PTR [esp+0x8],0xf - 1035ad: 00 - 1035ae: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 1035b5: 00 - 1035b6: c7 04 24 f4 9f 10 00 mov DWORD PTR [esp],0x109ff4 - 1035bd: e8 b6 f9 ff ff call 102f78 - 1035c2: c7 44 24 10 08 00 00 mov DWORD PTR [esp+0x10],0x8 - 1035c9: 00 - 1035ca: c7 44 24 0c 07 00 00 mov DWORD PTR [esp+0xc],0x7 - 1035d1: 00 - 1035d2: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1035d9: 00 - 1035da: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 1035e1: 00 - 1035e2: c7 04 24 34 a0 10 00 mov DWORD PTR [esp],0x10a034 - 1035e9: e8 8a f9 ff ff call 102f78 - 1035ee: e9 70 02 00 00 jmp 103863 - 1035f3: c7 44 24 38 01 00 00 mov DWORD PTR [esp+0x38],0x1 - 1035fa: 00 - 1035fb: 83 f8 04 cmp eax,0x4 - 1035fe: 75 21 jne 103621 - 103600: c7 44 24 04 90 9d 10 mov DWORD PTR [esp+0x4],0x109d90 - 103607: 00 - 103608: 8b 43 0c mov eax,DWORD PTR [ebx+0xc] - 10360b: 89 04 24 mov DWORD PTR [esp],eax - 10360e: e8 11 57 00 00 call 108d24 - 103613: 85 c0 test eax,eax - 103615: 0f 95 c0 setne al - 103618: 25 ff 00 00 00 and eax,0xff - 10361d: 89 44 24 38 mov DWORD PTR [esp+0x38],eax - 103621: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103624: 89 04 24 mov DWORD PTR [esp],eax - 103627: e8 8e 0e 00 00 call 1044ba - 10362c: 89 c7 mov edi,eax - 10362e: 8b 43 08 mov eax,DWORD PTR [ebx+0x8] - 103631: 89 04 24 mov DWORD PTR [esp],eax - 103634: e8 81 0e 00 00 call 1044ba - 103639: 89 44 24 34 mov DWORD PTR [esp+0x34],eax - 10363d: 39 c7 cmp edi,eax - 10363f: 0f 87 1e 02 00 00 ja 103863 - 103645: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0 - 10364c: 00 - 10364d: eb 04 jmp 103653 - 10364f: 8b 7c 24 30 mov edi,DWORD PTR [esp+0x30] - 103653: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 10365a: 00 - 10365b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103662: e8 f4 f2 ff ff call 10295b - 103667: 88 c3 mov bl,al - 103669: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd - 103670: 00 - 103671: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103678: e8 de f2 ff ff call 10295b - 10367d: 81 e3 ff 00 00 00 and ebx,0xff - 103683: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx - 103687: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi - 10368b: 25 ff 00 00 00 and eax,0xff - 103690: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103694: c7 04 24 93 9d 10 00 mov DWORD PTR [esp],0x109d93 - 10369b: e8 d8 f8 ff ff call 102f78 - 1036a0: 8d 57 10 lea edx,[edi+0x10] - 1036a3: 89 54 24 30 mov DWORD PTR [esp+0x30],edx - 1036a7: 39 d7 cmp edi,edx - 1036a9: 0f 83 a3 01 00 00 jae 103852 - 1036af: bb 00 00 00 00 mov ebx,0x0 - 1036b4: 89 fd mov ebp,edi - 1036b6: 8a 44 1d 00 mov al,BYTE PTR [ebp+ebx*1+0x0] - 1036ba: 84 c0 test al,al - 1036bc: 75 2b jne 1036e9 - 1036be: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 1036c5: 00 - 1036c6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1036cd: e8 89 f2 ff ff call 10295b - 1036d2: 25 ff 00 00 00 and eax,0xff - 1036d7: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1036db: c7 04 24 9d 9d 10 00 mov DWORD PTR [esp],0x109d9d - 1036e2: e8 91 f8 ff ff call 102f78 - 1036e7: eb 5b jmp 103744 - 1036e9: 89 c2 mov edx,eax - 1036eb: 83 e2 0f and edx,0xf - 1036ee: 8d 4a 37 lea ecx,[edx+0x37] - 1036f1: 83 fa 09 cmp edx,0x9 - 1036f4: 7f 03 jg 1036f9 - 1036f6: 8d 4a 30 lea ecx,[edx+0x30] - 1036f9: 0f be f9 movsx edi,cl - 1036fc: c0 e8 04 shr al,0x4 - 1036ff: 31 d2 xor edx,edx - 103701: 88 c2 mov dl,al - 103703: 8d 70 37 lea esi,[eax+0x37] - 103706: 83 fa 09 cmp edx,0x9 - 103709: 7f 03 jg 10370e - 10370b: 8d 70 30 lea esi,[eax+0x30] - 10370e: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 103715: 00 - 103716: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10371d: e8 39 f2 ff ff call 10295b - 103722: 89 7c 24 0c mov DWORD PTR [esp+0xc],edi - 103726: 89 f2 mov edx,esi - 103728: 0f be f2 movsx esi,dl - 10372b: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 10372f: 25 ff 00 00 00 and eax,0xff - 103734: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103738: c7 04 24 a3 9d 10 00 mov DWORD PTR [esp],0x109da3 - 10373f: e8 34 f8 ff ff call 102f78 - 103744: 43 inc ebx - 103745: 83 fb 10 cmp ebx,0x10 - 103748: 0f 85 68 ff ff ff jne 1036b6 - 10374e: 89 ef mov edi,ebp - 103750: c7 04 24 9a 9d 10 00 mov DWORD PTR [esp],0x109d9a - 103757: e8 1c f8 ff ff call 102f78 - 10375c: b3 00 mov bl,0x0 - 10375e: 0f b6 34 1f movzx esi,BYTE PTR [edi+ebx*1] - 103762: 89 f0 mov eax,esi - 103764: 3c 1f cmp al,0x1f - 103766: 77 0e ja 103776 - 103768: c7 04 24 cf 9e 10 00 mov DWORD PTR [esp],0x109ecf - 10376f: e8 04 f8 ff ff call 102f78 - 103774: eb 33 jmp 1037a9 - 103776: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa - 10377d: 00 - 10377e: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103785: e8 d1 f1 ff ff call 10295b - 10378a: 81 e6 ff 00 00 00 and esi,0xff - 103790: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 103794: 25 ff 00 00 00 and eax,0xff - 103799: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10379d: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 1037a4: e8 cf f7 ff ff call 102f78 - 1037a9: 43 inc ebx - 1037aa: 83 fb 10 cmp ebx,0x10 - 1037ad: 75 af jne 10375e - 1037af: c7 04 24 ac 9d 10 00 mov DWORD PTR [esp],0x109dac - 1037b6: e8 bd f7 ff ff call 102f78 - 1037bb: ff 44 24 2c inc DWORD PTR [esp+0x2c] - 1037bf: b8 a3 8b 2e ba mov eax,0xba2e8ba3 - 1037c4: f7 64 24 2c mul DWORD PTR [esp+0x2c] - 1037c8: 89 44 24 20 mov DWORD PTR [esp+0x20],eax - 1037cc: 89 54 24 24 mov DWORD PTR [esp+0x24],edx - 1037d0: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 1037d4: c1 e8 04 shr eax,0x4 - 1037d7: 8d 14 80 lea edx,[eax+eax*4] - 1037da: 8d 04 50 lea eax,[eax+edx*2] - 1037dd: 01 c0 add eax,eax - 1037df: 39 44 24 2c cmp DWORD PTR [esp+0x2c],eax - 1037e3: 75 5d jne 103842 - 1037e5: 83 7c 24 38 00 cmp DWORD PTR [esp+0x38],0x0 - 1037ea: 74 56 je 103842 - 1037ec: c7 44 24 14 08 00 00 mov DWORD PTR [esp+0x14],0x8 - 1037f3: 00 - 1037f4: c7 44 24 10 07 00 00 mov DWORD PTR [esp+0x10],0x7 - 1037fb: 00 - 1037fc: c7 44 24 0c 08 00 00 mov DWORD PTR [esp+0xc],0x8 - 103803: 00 - 103804: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7 - 10380b: 00 - 10380c: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 103813: 00 - 103814: c7 04 24 64 a0 10 00 mov DWORD PTR [esp],0x10a064 - 10381b: e8 58 f7 ff ff call 102f78 - 103820: 8d 54 24 3e lea edx,[esp+0x3e] - 103824: 89 14 24 mov DWORD PTR [esp],edx - 103827: e8 b2 53 00 00 call 108bde - 10382c: 83 ec 04 sub esp,0x4 - 10382f: 80 7c 24 3f 76 cmp BYTE PTR [esp+0x3f],0x76 - 103834: 74 2d je 103863 - 103836: c7 04 24 ab 9d 10 00 mov DWORD PTR [esp],0x109dab - 10383d: e8 36 f7 ff ff call 102f78 - 103842: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 103846: 39 44 24 34 cmp DWORD PTR [esp+0x34],eax - 10384a: 0f 83 ff fd ff ff jae 10364f - 103850: eb 11 jmp 103863 - 103852: c7 04 24 9a 9d 10 00 mov DWORD PTR [esp],0x109d9a - 103859: e8 1a f7 ff ff call 102f78 - 10385e: e9 4c ff ff ff jmp 1037af - 103863: 83 c4 4c add esp,0x4c - 103866: 5b pop ebx - 103867: 5e pop esi - 103868: 5f pop edi - 103869: 5d pop ebp - 10386a: c3 ret - -0010386b <_CommandMemPrintMemmap>: - 10386b: 55 push ebp - 10386c: 57 push edi - 10386d: 56 push esi - 10386e: 53 push ebx - 10386f: 83 ec 3c sub esp,0x3c - 103872: c7 44 24 04 04 00 00 mov DWORD PTR [esp+0x4],0x4 - 103879: 00 - 10387a: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 103881: e8 d5 f0 ff ff call 10295b - 103886: 89 c6 mov esi,eax - 103888: e8 5b 4b 00 00 call 1083e8 - 10388d: 89 44 24 28 mov DWORD PTR [esp+0x28],eax - 103891: bb 50 00 00 00 mov ebx,0x50 - 103896: c7 44 24 08 dc 00 00 mov DWORD PTR [esp+0x8],0xdc - 10389d: 00 - 10389e: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 1038a5: 00 - 1038a6: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 1038ad: e8 c6 f6 ff ff call 102f78 - 1038b2: 4b dec ebx - 1038b3: 75 e1 jne 103896 <_CommandMemPrintMemmap+0x2b> - 1038b5: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 1038b9: 89 44 24 20 mov DWORD PTR [esp+0x20],eax - 1038bd: c7 44 24 24 20 03 00 mov DWORD PTR [esp+0x24],0x320 - 1038c4: 00 - 1038c5: bb 00 00 00 00 mov ebx,0x0 - 1038ca: 89 f0 mov eax,esi - 1038cc: 25 ff 00 00 00 and eax,0xff - 1038d1: 89 44 24 2c mov DWORD PTR [esp+0x2c],eax - 1038d5: b8 1f 85 eb 51 mov eax,0x51eb851f - 1038da: f7 64 24 20 mul DWORD PTR [esp+0x20] - 1038de: c1 ea 08 shr edx,0x8 - 1038e1: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx - 1038e5: 89 d7 mov edi,edx - 1038e7: 89 d5 mov ebp,edx - 1038e9: 29 dd sub ebp,ebx - 1038eb: be 00 00 00 00 mov esi,0x0 - 1038f0: 39 da cmp edx,ebx - 1038f2: 7e 1d jle 103911 <_CommandMemPrintMemmap+0xa6> - 1038f4: 89 1c 24 mov DWORD PTR [esp],ebx - 1038f7: e8 8f 45 00 00 call 107e8b - 1038fc: 85 c0 test eax,eax - 1038fe: 0f 95 c0 setne al - 103901: 25 ff 00 00 00 and eax,0xff - 103906: 01 c6 add esi,eax - 103908: 43 inc ebx - 103909: 39 df cmp edi,ebx - 10390b: 7f e7 jg 1038f4 <_CommandMemPrintMemmap+0x89> - 10390d: 8b 5c 24 1c mov ebx,DWORD PTR [esp+0x1c] - 103911: ba 67 66 66 66 mov edx,0x66666667 - 103916: 89 e8 mov eax,ebp - 103918: f7 ea imul edx - 10391a: d1 fa sar edx,1 - 10391c: 89 e8 mov eax,ebp - 10391e: c1 f8 1f sar eax,0x1f - 103921: 29 c2 sub edx,eax - 103923: b0 20 mov al,0x20 - 103925: 39 f2 cmp edx,esi - 103927: 7d 53 jge 10397c <_CommandMemPrintMemmap+0x111> - 103929: 8d 0c ad 00 00 00 00 lea ecx,[ebp*4+0x0] - 103930: ba 67 66 66 66 mov edx,0x66666667 - 103935: 89 c8 mov eax,ecx - 103937: f7 ea imul edx - 103939: d1 fa sar edx,1 - 10393b: c1 f9 1f sar ecx,0x1f - 10393e: 29 ca sub edx,ecx - 103940: b0 db mov al,0xdb - 103942: 39 f2 cmp edx,esi - 103944: 7c 36 jl 10397c <_CommandMemPrintMemmap+0x111> - 103946: 8d 4c 2d 00 lea ecx,[ebp+ebp*1+0x0] - 10394a: ba 67 66 66 66 mov edx,0x66666667 - 10394f: 89 c8 mov eax,ecx - 103951: f7 ea imul edx - 103953: d1 fa sar edx,1 - 103955: c1 f9 1f sar ecx,0x1f - 103958: 29 ca sub edx,ecx - 10395a: b0 b0 mov al,0xb0 - 10395c: 39 f2 cmp edx,esi - 10395e: 7d 1c jge 10397c <_CommandMemPrintMemmap+0x111> - 103960: 8d 4c 6d 00 lea ecx,[ebp+ebp*2+0x0] - 103964: ba 67 66 66 66 mov edx,0x66666667 - 103969: 89 c8 mov eax,ecx - 10396b: f7 ea imul edx - 10396d: d1 fa sar edx,1 - 10396f: c1 f9 1f sar ecx,0x1f - 103972: 29 ca sub edx,ecx - 103974: 39 f2 cmp edx,esi - 103976: 0f 9c c0 setl al - 103979: 83 e8 4f sub eax,0x4f - 10397c: 0f be c0 movsx eax,al - 10397f: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103983: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 103987: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10398b: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 103992: e8 e1 f5 ff ff call 102f78 - 103997: 43 inc ebx - 103998: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 10399c: 01 44 24 20 add DWORD PTR [esp+0x20],eax - 1039a0: ff 4c 24 24 dec DWORD PTR [esp+0x24] - 1039a4: 0f 85 2b ff ff ff jne 1038d5 <_CommandMemPrintMemmap+0x6a> - 1039aa: bb 50 00 00 00 mov ebx,0x50 - 1039af: c7 44 24 08 df 00 00 mov DWORD PTR [esp+0x8],0xdf - 1039b6: 00 - 1039b7: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8 - 1039be: 00 - 1039bf: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 1039c6: e8 ad f5 ff ff call 102f78 - 1039cb: 4b dec ebx - 1039cc: 75 e1 jne 1039af <_CommandMemPrintMemmap+0x144> - 1039ce: 83 c4 3c add esp,0x3c - 1039d1: 5b pop ebx - 1039d2: 5e pop esi - 1039d3: 5f pop edi - 1039d4: 5d pop ebp - 1039d5: c3 ret - -001039d6 : - 1039d6: 56 push esi - 1039d7: 53 push ebx - 1039d8: 83 ec 14 sub esp,0x14 - 1039db: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20] - 1039df: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24] - 1039e3: 83 fe 01 cmp esi,0x1 - 1039e6: 0f 8f 8e 00 00 00 jg 103a7a - 1039ec: c7 04 24 af 9d 10 00 mov DWORD PTR [esp],0x109daf - 1039f3: e8 80 f5 ff ff call 102f78 - 1039f8: e8 6e fe ff ff call 10386b <_CommandMemPrintMemmap> - 1039fd: e8 f2 49 00 00 call 1083f4 - 103a02: 89 c3 mov ebx,eax - 103a04: e8 c1 49 00 00 call 1083ca - 103a09: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx - 103a0d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103a11: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd - 103a18: 00 - 103a19: c7 04 24 a4 a0 10 00 mov DWORD PTR [esp],0x10a0a4 - 103a20: e8 53 f5 ff ff call 102f78 - 103a25: e8 c4 49 00 00 call 1083ee - 103a2a: 89 c3 mov ebx,eax - 103a2c: e8 a8 49 00 00 call 1083d9 - 103a31: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx - 103a35: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103a39: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd - 103a40: 00 - 103a41: c7 04 24 c4 a0 10 00 mov DWORD PTR [esp],0x10a0c4 - 103a48: e8 2b f5 ff ff call 102f78 - 103a4d: e8 96 49 00 00 call 1083e8 - 103a52: 89 c3 mov ebx,eax - 103a54: e8 6b 49 00 00 call 1083c4 - 103a59: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx - 103a5d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103a61: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd - 103a68: 00 - 103a69: c7 04 24 e8 a0 10 00 mov DWORD PTR [esp],0x10a0e8 - 103a70: e8 03 f5 ff ff call 102f78 - 103a75: e9 be 00 00 00 jmp 103b38 - 103a7a: c7 44 24 04 c5 9d 10 mov DWORD PTR [esp+0x4],0x109dc5 - 103a81: 00 - 103a82: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103a85: 89 04 24 mov DWORD PTR [esp],eax - 103a88: e8 97 52 00 00 call 108d24 - 103a8d: 85 c0 test eax,eax - 103a8f: 75 40 jne 103ad1 - 103a91: 83 fe 02 cmp esi,0x2 - 103a94: 7f 0e jg 103aa4 - 103a96: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 103a9d: e8 5f 47 00 00 call 108201 - 103aa2: eb 13 jmp 103ab7 - 103aa4: 8b 43 08 mov eax,DWORD PTR [ebx+0x8] - 103aa7: 89 04 24 mov DWORD PTR [esp],eax - 103aaa: e8 df 09 00 00 call 10448e - 103aaf: 89 04 24 mov DWORD PTR [esp],eax - 103ab2: e8 4a 47 00 00 call 108201 - 103ab7: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103abb: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 103ac2: 00 - 103ac3: c7 04 24 cb 9d 10 00 mov DWORD PTR [esp],0x109dcb - 103aca: e8 a9 f4 ff ff call 102f78 - 103acf: eb 67 jmp 103b38 - 103ad1: c7 44 24 04 e5 9d 10 mov DWORD PTR [esp+0x4],0x109de5 - 103ad8: 00 - 103ad9: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103adc: 89 04 24 mov DWORD PTR [esp],eax - 103adf: e8 40 52 00 00 call 108d24 - 103ae4: 85 c0 test eax,eax - 103ae6: 75 3c jne 103b24 - 103ae8: 83 fe 02 cmp esi,0x2 - 103aeb: 7f 16 jg 103b03 - 103aed: c7 44 24 04 04 00 00 mov DWORD PTR [esp+0x4],0x4 - 103af4: 00 - 103af5: c7 04 24 0c a1 10 00 mov DWORD PTR [esp],0x10a10c - 103afc: e8 77 f4 ff ff call 102f78 - 103b01: eb 35 jmp 103b38 - 103b03: 8b 43 08 mov eax,DWORD PTR [ebx+0x8] - 103b06: 89 04 24 mov DWORD PTR [esp],eax - 103b09: e8 ac 09 00 00 call 1044ba - 103b0e: 89 04 24 mov DWORD PTR [esp],eax - 103b11: e8 52 48 00 00 call 108368 - 103b16: c7 04 24 ea 9d 10 00 mov DWORD PTR [esp],0x109dea - 103b1d: e8 56 f4 ff ff call 102f78 - 103b22: eb 14 jmp 103b38 - 103b24: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103b2b: 00 - 103b2c: c7 04 24 34 a1 10 00 mov DWORD PTR [esp],0x10a134 - 103b33: e8 40 f4 ff ff call 102f78 - 103b38: 83 c4 14 add esp,0x14 - 103b3b: 5b pop ebx - 103b3c: 5e pop esi - 103b3d: c3 ret - -00103b3e : - 103b3e: 83 ec 1c sub esp,0x1c - 103b41: b8 0a 00 00 00 mov eax,0xa - 103b46: b9 00 00 00 00 mov ecx,0x0 - 103b4b: 89 c2 mov edx,eax - 103b4d: c1 fa 1f sar edx,0x1f - 103b50: f7 f9 idiv ecx - 103b52: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103b56: c7 04 24 f1 9d 10 00 mov DWORD PTR [esp],0x109df1 - 103b5d: e8 16 f4 ff ff call 102f78 - 103b62: 83 c4 1c add esp,0x1c - 103b65: c3 ret - -00103b66 : - 103b66: 53 push ebx - 103b67: 83 ec 28 sub esp,0x28 - 103b6a: 8d 44 24 14 lea eax,[esp+0x14] - 103b6e: 89 04 24 mov DWORD PTR [esp],eax - 103b71: e8 40 4d 00 00 call 1088b6 - 103b76: 83 ec 04 sub esp,0x4 - 103b79: 8a 5c 24 14 mov bl,BYTE PTR [esp+0x14] - 103b7d: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 103b81: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103b85: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 103b89: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103b8d: c7 04 24 f4 9d 10 00 mov DWORD PTR [esp],0x109df4 - 103b94: e8 df f3 ff ff call 102f78 - 103b99: 84 db test bl,bl - 103b9b: 75 13 jne 103bb0 - 103b9d: c7 04 24 07 9e 10 00 mov DWORD PTR [esp],0x109e07 - 103ba4: e8 cf f3 ff ff call 102f78 - 103ba9: bb 00 00 00 00 mov ebx,0x0 - 103bae: eb 28 jmp 103bd8 - 103bb0: 81 e3 ff 00 00 00 and ebx,0xff - 103bb6: f6 c3 01 test bl,0x1 - 103bb9: 74 0c je 103bc7 - 103bbb: c7 04 24 0e 9e 10 00 mov DWORD PTR [esp],0x109e0e - 103bc2: e8 b1 f3 ff ff call 102f78 - 103bc7: f6 c3 02 test bl,0x2 - 103bca: 74 0c je 103bd8 - 103bcc: c7 04 24 15 9e 10 00 mov DWORD PTR [esp],0x109e15 - 103bd3: e8 a0 f3 ff ff call 102f78 - 103bd8: f6 c3 04 test bl,0x4 - 103bdb: 74 0c je 103be9 - 103bdd: c7 04 24 1d 9e 10 00 mov DWORD PTR [esp],0x109e1d - 103be4: e8 8f f3 ff ff call 102f78 - 103be9: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53 - 103bf0: e8 83 f3 ff ff call 102f78 - 103bf5: 83 c4 28 add esp,0x28 - 103bf8: 5b pop ebx - 103bf9: c3 ret - -00103bfa : - 103bfa: 83 ec 1c sub esp,0x1c - 103bfd: 83 7c 24 24 01 cmp DWORD PTR [esp+0x24],0x1 - 103c02: 7f 16 jg 103c1a - 103c04: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103c0b: 00 - 103c0c: c7 04 24 70 a1 10 00 mov DWORD PTR [esp],0x10a170 - 103c13: e8 60 f3 ff ff call 102f78 - 103c18: eb 2f jmp 103c49 - 103c1a: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 103c1e: 8b 40 04 mov eax,DWORD PTR [eax+0x4] - 103c21: 89 04 24 mov DWORD PTR [esp],eax - 103c24: e8 65 08 00 00 call 10448e - 103c29: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103c2d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103c34: e8 f6 1a 00 00 call 10572f - 103c39: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103c3d: c7 04 24 23 9e 10 00 mov DWORD PTR [esp],0x109e23 - 103c44: e8 2f f3 ff ff call 102f78 - 103c49: 83 c4 1c add esp,0x1c - 103c4c: c3 ret - -00103c4d : - 103c4d: 57 push edi - 103c4e: 56 push esi - 103c4f: 53 push ebx - 103c50: 83 ec 60 sub esp,0x60 - 103c53: 8b 5c 24 70 mov ebx,DWORD PTR [esp+0x70] - 103c57: 83 7c 24 74 01 cmp DWORD PTR [esp+0x74],0x1 - 103c5c: 7f 4a jg 103ca8 - 103c5e: c7 04 24 41 9e 10 00 mov DWORD PTR [esp],0x109e41 - 103c65: e8 0e f3 ff ff call 102f78 - 103c6a: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103c71: e8 6d 5f 00 00 call 109be3 - 103c76: 85 c0 test eax,eax - 103c78: 0f 84 42 01 00 00 je 103dc0 - 103c7e: bb 01 00 00 00 mov ebx,0x1 - 103c83: 83 c0 08 add eax,0x8 - 103c86: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103c8a: c7 04 24 55 9e 10 00 mov DWORD PTR [esp],0x109e55 - 103c91: e8 e2 f2 ff ff call 102f78 - 103c96: 89 1c 24 mov DWORD PTR [esp],ebx - 103c99: e8 45 5f 00 00 call 109be3 - 103c9e: 43 inc ebx - 103c9f: 85 c0 test eax,eax - 103ca1: 75 e0 jne 103c83 - 103ca3: e9 18 01 00 00 jmp 103dc0 - 103ca8: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103cab: 89 04 24 mov DWORD PTR [esp],eax - 103cae: e8 1a 5d 00 00 call 1099cd - 103cb3: 85 c0 test eax,eax - 103cb5: 75 19 jne 103cd0 - 103cb7: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103cbe: 00 - 103cbf: c7 04 24 60 9e 10 00 mov DWORD PTR [esp],0x109e60 - 103cc6: e8 ad f2 ff ff call 102f78 - 103ccb: e9 f0 00 00 00 jmp 103dc0 - 103cd0: 8b 80 00 01 00 00 mov eax,DWORD PTR [eax+0x100] - 103cd6: 83 e0 07 and eax,0x7 - 103cd9: 83 f8 01 cmp eax,0x1 - 103cdc: 75 19 jne 103cf7 - 103cde: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103ce5: 00 - 103ce6: c7 04 24 73 9e 10 00 mov DWORD PTR [esp],0x109e73 - 103ced: e8 86 f2 ff ff call 102f78 - 103cf2: e9 c9 00 00 00 jmp 103dc0 - 103cf7: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103cfa: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103cfe: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 103d05: 00 - 103d06: c7 04 24 89 9e 10 00 mov DWORD PTR [esp],0x109e89 - 103d0d: e8 66 f2 ff ff call 102f78 - 103d12: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103d15: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103d19: 8d 5c 24 18 lea ebx,[esp+0x18] - 103d1d: 89 1c 24 mov DWORD PTR [esp],ebx - 103d20: e8 27 5c 00 00 call 10994c - 103d25: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 103d2c: 00 - 103d2d: 89 1c 24 mov DWORD PTR [esp],ebx - 103d30: e8 3b 5e 00 00 call 109b70 - 103d35: 89 c3 mov ebx,eax - 103d37: 85 c0 test eax,eax - 103d39: 74 79 je 103db4 - 103d3b: be 01 00 00 00 mov esi,0x1 - 103d40: 8d 7c 24 18 lea edi,[esp+0x18] - 103d44: b8 3d 9e 10 00 mov eax,0x109e3d - 103d49: f6 83 00 01 00 00 01 test BYTE PTR [ebx+0x100],0x1 - 103d50: 74 05 je 103d57 - 103d52: b8 39 9e 10 00 mov eax,0x109e39 - 103d57: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103d5b: c7 04 24 a6 9e 10 00 mov DWORD PTR [esp],0x109ea6 - 103d62: e8 11 f2 ff ff call 102f78 - 103d67: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 103d6b: c7 04 24 ad 9e 10 00 mov DWORD PTR [esp],0x109ead - 103d72: e8 01 f2 ff ff call 102f78 - 103d77: c7 04 24 3c 00 00 00 mov DWORD PTR [esp],0x3c - 103d7e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 103d85: ff - 103d86: e8 08 ec ff ff call 102993 - 103d8b: 8b 83 0c 01 00 00 mov eax,DWORD PTR [ebx+0x10c] - 103d91: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103d95: c7 04 24 b0 9e 10 00 mov DWORD PTR [esp],0x109eb0 - 103d9c: e8 d7 f1 ff ff call 102f78 - 103da1: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 103da5: 89 3c 24 mov DWORD PTR [esp],edi - 103da8: e8 c3 5d 00 00 call 109b70 - 103dad: 89 c3 mov ebx,eax - 103daf: 46 inc esi - 103db0: 85 c0 test eax,eax - 103db2: 75 90 jne 103d44 - 103db4: 8d 44 24 18 lea eax,[esp+0x18] - 103db8: 89 04 24 mov DWORD PTR [esp],eax - 103dbb: e8 79 5c 00 00 call 109a39 - 103dc0: 83 c4 60 add esp,0x60 - 103dc3: 5b pop ebx - 103dc4: 5e pop esi - 103dc5: 5f pop edi - 103dc6: c3 ret - -00103dc7 : - 103dc7: 55 push ebp - 103dc8: 57 push edi - 103dc9: 56 push esi - 103dca: 53 push ebx - 103dcb: 83 ec 6c sub esp,0x6c - 103dce: 8b 9c 24 80 00 00 00 mov ebx,DWORD PTR [esp+0x80] - 103dd5: 83 bc 24 84 00 00 00 cmp DWORD PTR [esp+0x84],0x1 - 103ddc: 01 - 103ddd: 7f 19 jg 103df8 - 103ddf: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103de6: 00 - 103de7: c7 04 24 94 a1 10 00 mov DWORD PTR [esp],0x10a194 - 103dee: e8 85 f1 ff ff call 102f78 - 103df3: e9 c7 00 00 00 jmp 103ebf - 103df8: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103dfb: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103dff: 8d 44 24 18 lea eax,[esp+0x18] - 103e03: 89 04 24 mov DWORD PTR [esp],eax - 103e06: e8 41 5b 00 00 call 10994c - 103e0b: 85 c0 test eax,eax - 103e0d: 75 20 jne 103e2f - 103e0f: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103e12: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103e16: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103e1d: 00 - 103e1e: c7 04 24 ba 9e 10 00 mov DWORD PTR [esp],0x109eba - 103e25: e8 4e f1 ff ff call 102f78 - 103e2a: e9 90 00 00 00 jmp 103ebf - 103e2f: c7 04 24 00 01 00 00 mov DWORD PTR [esp],0x100 - 103e36: e8 c6 43 00 00 call 108201 - 103e3b: 89 c6 mov esi,eax - 103e3d: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 103e40: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103e44: c7 04 24 d1 9e 10 00 mov DWORD PTR [esp],0x109ed1 - 103e4b: e8 28 f1 ff ff call 102f78 - 103e50: 8d 6c 24 18 lea ebp,[esp+0x18] - 103e54: eb 27 jmp 103e7d - 103e56: bf 00 00 00 00 mov edi,0x0 - 103e5b: 31 c0 xor eax,eax - 103e5d: 8a 04 3e mov al,BYTE PTR [esi+edi*1] - 103e60: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103e64: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 103e6b: 00 - 103e6c: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34 - 103e73: e8 00 f1 ff ff call 102f78 - 103e78: 47 inc edi - 103e79: 39 df cmp edi,ebx - 103e7b: 75 de jne 103e5b - 103e7d: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 103e81: c7 44 24 08 00 01 00 mov DWORD PTR [esp+0x8],0x100 - 103e88: 00 - 103e89: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 103e90: 00 - 103e91: 89 2c 24 mov DWORD PTR [esp],ebp - 103e94: e8 f9 5b 00 00 call 109a92 - 103e99: 89 c3 mov ebx,eax - 103e9b: 85 c0 test eax,eax - 103e9d: 75 b7 jne 103e56 - 103e9f: c7 04 24 c4 a1 10 00 mov DWORD PTR [esp],0x10a1c4 - 103ea6: e8 cd f0 ff ff call 102f78 - 103eab: 89 34 24 mov DWORD PTR [esp],esi - 103eae: e8 b5 44 00 00 call 108368 - 103eb3: 8d 44 24 18 lea eax,[esp+0x18] - 103eb7: 89 04 24 mov DWORD PTR [esp],eax - 103eba: e8 7a 5b 00 00 call 109a39 - 103ebf: 83 c4 6c add esp,0x6c - 103ec2: 5b pop ebx - 103ec3: 5e pop esi - 103ec4: 5f pop edi - 103ec5: 5d pop ebp - 103ec6: c3 ret - -00103ec7 : - 103ec7: 55 push ebp - 103ec8: 57 push edi - 103ec9: 56 push esi - 103eca: 53 push ebx - 103ecb: 83 ec 1c sub esp,0x1c - 103ece: e8 24 ea ff ff call 1028f7 - 103ed3: c7 04 24 80 31 10 00 mov DWORD PTR [esp],0x103180 - 103eda: e8 fe 50 00 00 call 108fdd - 103edf: bf 05 00 00 00 mov edi,0x5 - 103ee4: bd 02 00 00 00 mov ebp,0x2 - 103ee9: bb 00 00 00 00 mov ebx,0x0 - 103eee: 89 3c 24 mov DWORD PTR [esp],edi - 103ef1: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 103ef5: e8 99 ea ff ff call 102993 - 103efa: 8d 73 01 lea esi,[ebx+0x1] - 103efd: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 103f01: c7 44 24 04 09 00 00 mov DWORD PTR [esp+0x4],0x9 - 103f08: 00 - 103f09: c7 04 24 e1 9e 10 00 mov DWORD PTR [esp],0x109ee1 - 103f10: e8 63 f0 ff ff call 102f78 - 103f15: 89 f3 mov ebx,esi - 103f17: eb d5 jmp 103eee - -00103f19 <_command_does_not_exist>: - 103f19: 55 push ebp - 103f1a: 57 push edi - 103f1b: 56 push esi - 103f1c: 53 push ebx - 103f1d: 83 ec 2c sub esp,0x2c - 103f20: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40] - 103f24: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0 - 103f2b: 7e 72 jle 103f9f <_command_does_not_exist+0x86> - 103f2d: bb 00 00 00 00 mov ebx,0x0 - 103f32: bd 00 00 00 00 mov ebp,0x0 - 103f37: 89 34 24 mov DWORD PTR [esp],esi - 103f3a: e8 d1 4d 00 00 call 108d10 - 103f3f: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 103f43: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040] - 103f4a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 103f4e: 89 34 24 mov DWORD PTR [esp],esi - 103f51: e8 10 4e 00 00 call 108d66 - 103f56: 85 c0 test eax,eax - 103f58: 75 03 jne 103f5d <_command_does_not_exist+0x44> - 103f5a: 45 inc ebp - 103f5b: 89 df mov edi,ebx - 103f5d: 43 inc ebx - 103f5e: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx - 103f64: 7f d1 jg 103f37 <_command_does_not_exist+0x1e> - 103f66: 83 fd 01 cmp ebp,0x1 - 103f69: 75 39 jne 103fa4 <_command_does_not_exist+0x8b> - 103f6b: c7 44 24 10 0e 00 00 mov DWORD PTR [esp+0x10],0xe - 103f72: 00 - 103f73: 8b 04 bd 40 c0 10 00 mov eax,DWORD PTR [edi*4+0x10c040] - 103f7a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 103f7e: c7 44 24 08 0f 00 00 mov DWORD PTR [esp+0x8],0xf - 103f85: 00 - 103f86: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe - 103f8d: 00 - 103f8e: c7 04 24 f4 9e 10 00 mov DWORD PTR [esp],0x109ef4 - 103f95: e8 de ef ff ff call 102f78 - 103f9a: e9 02 01 00 00 jmp 1040a1 <_command_does_not_exist+0x188> - 103f9f: bd 00 00 00 00 mov ebp,0x0 - 103fa4: 89 34 24 mov DWORD PTR [esp],esi - 103fa7: e8 64 4d 00 00 call 108d10 - 103fac: 83 f8 14 cmp eax,0x14 - 103faf: 76 10 jbe 103fc1 <_command_does_not_exist+0xa8> - 103fb1: c6 46 14 2e mov BYTE PTR [esi+0x14],0x2e - 103fb5: c6 46 13 2e mov BYTE PTR [esi+0x13],0x2e - 103fb9: c6 46 12 2e mov BYTE PTR [esi+0x12],0x2e - 103fbd: c6 46 15 00 mov BYTE PTR [esi+0x15],0x0 - 103fc1: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103fc8: 00 - 103fc9: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103fd0: e8 86 e9 ff ff call 10295b - 103fd5: 88 c3 mov bl,al - 103fd7: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 103fde: 00 - 103fdf: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103fe6: e8 70 e9 ff ff call 10295b - 103feb: 89 c7 mov edi,eax - 103fed: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 103ff4: 00 - 103ff5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 103ffc: e8 5a e9 ff ff call 10295b - 104001: 81 e3 ff 00 00 00 and ebx,0xff - 104007: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx - 10400b: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 10400f: 81 e7 ff 00 00 00 and edi,0xff - 104015: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi - 104019: 25 ff 00 00 00 and eax,0xff - 10401e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104022: c7 04 24 e4 a1 10 00 mov DWORD PTR [esp],0x10a1e4 - 104029: e8 4a ef ff ff call 102f78 - 10402e: bf ff ff ff ff mov edi,0xffffffff - 104033: 85 ed test ebp,ebp - 104035: 7e 6a jle 1040a1 <_command_does_not_exist+0x188> - 104037: c7 04 24 0c 9f 10 00 mov DWORD PTR [esp],0x109f0c - 10403e: e8 35 ef ff ff call 102f78 - 104043: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0 - 10404a: 7e 55 jle 1040a1 <_command_does_not_exist+0x188> - 10404c: bb 00 00 00 00 mov ebx,0x0 - 104051: 89 34 24 mov DWORD PTR [esp],esi - 104054: e8 b7 4c 00 00 call 108d10 - 104059: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 10405d: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040] - 104064: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104068: 89 34 24 mov DWORD PTR [esp],esi - 10406b: e8 f6 4c 00 00 call 108d66 - 104070: 85 c0 test eax,eax - 104072: 75 1f jne 104093 <_command_does_not_exist+0x17a> - 104074: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040] - 10407b: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 10407f: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe - 104086: 00 - 104087: c7 04 24 20 9f 10 00 mov DWORD PTR [esp],0x109f20 - 10408e: e8 e5 ee ff ff call 102f78 - 104093: 43 inc ebx - 104094: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx - 10409a: 7f b5 jg 104051 <_command_does_not_exist+0x138> - 10409c: bf ff ff ff ff mov edi,0xffffffff - 1040a1: 89 f8 mov eax,edi - 1040a3: 83 c4 2c add esp,0x2c - 1040a6: 5b pop ebx - 1040a7: 5e pop esi - 1040a8: 5f pop edi - 1040a9: 5d pop ebp - 1040aa: c3 ret - -001040ab <_process_command>: - 1040ab: 55 push ebp - 1040ac: 57 push edi - 1040ad: 56 push esi - 1040ae: 53 push ebx - 1040af: 83 ec 2c sub esp,0x2c - 1040b2: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40] - 1040b6: 8b 6c 24 44 mov ebp,DWORD PTR [esp+0x44] - 1040ba: 85 ed test ebp,ebp - 1040bc: 74 10 je 1040ce <_process_command+0x23> - 1040be: bf ff ff ff ff mov edi,0xffffffff - 1040c3: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0 - 1040ca: 7f 30 jg 1040fc <_process_command+0x51> - 1040cc: eb 61 jmp 10412f <_process_command+0x84> - 1040ce: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 1040d5: 00 - 1040d6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1040dd: e8 79 e8 ff ff call 10295b - 1040e2: 25 ff 00 00 00 and eax,0xff - 1040e7: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1040eb: c7 04 24 08 a2 10 00 mov DWORD PTR [esp],0x10a208 - 1040f2: e8 81 ee ff ff call 102f78 - 1040f7: e9 6d 01 00 00 jmp 104269 <_process_command+0x1be> - 1040fc: bb 00 00 00 00 mov ebx,0x0 - 104101: bf ff ff ff ff mov edi,0xffffffff - 104106: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040] - 10410d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104111: 8b 06 mov eax,DWORD PTR [esi] - 104113: 89 04 24 mov DWORD PTR [esp],eax - 104116: e8 09 4c 00 00 call 108d24 - 10411b: 85 c0 test eax,eax - 10411d: 75 02 jne 104121 <_process_command+0x76> - 10411f: 89 df mov edi,ebx - 104121: 43 inc ebx - 104122: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx - 104128: 7e 05 jle 10412f <_process_command+0x84> - 10412a: 83 ff ff cmp edi,0xffffffff - 10412d: 74 d7 je 104106 <_process_command+0x5b> - 10412f: 47 inc edi - 104130: 83 ff 0e cmp edi,0xe - 104133: 0f 87 c1 00 00 00 ja 1041fa <_process_command+0x14f> - 104139: ff 24 bd c0 a2 10 00 jmp DWORD PTR [edi*4+0x10a2c0] - 104140: 8b 06 mov eax,DWORD PTR [esi] - 104142: 89 04 24 mov DWORD PTR [esp],eax - 104145: e8 cf fd ff ff call 103f19 <_command_does_not_exist> - 10414a: 89 c7 mov edi,eax - 10414c: 83 f8 ff cmp eax,0xffffffff - 10414f: 75 de jne 10412f <_process_command+0x84> - 104151: e9 13 01 00 00 jmp 104269 <_process_command+0x1be> - 104156: e8 5e f0 ff ff call 1031b9 - 10415b: e9 09 01 00 00 jmp 104269 <_process_command+0x1be> - 104160: e8 72 f1 ff ff call 1032d7 - 104165: e9 ff 00 00 00 jmp 104269 <_process_command+0x1be> - 10416a: e8 88 e7 ff ff call 1028f7 - 10416f: e9 f5 00 00 00 jmp 104269 <_process_command+0x1be> - 104174: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 104178: 89 34 24 mov DWORD PTR [esp],esi - 10417b: e8 5b f3 ff ff call 1034db - 104180: e9 e4 00 00 00 jmp 104269 <_process_command+0x1be> - 104185: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 104189: 89 34 24 mov DWORD PTR [esp],esi - 10418c: e8 f9 f3 ff ff call 10358a - 104191: e9 d3 00 00 00 jmp 104269 <_process_command+0x1be> - 104196: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 10419a: 89 34 24 mov DWORD PTR [esp],esi - 10419d: e8 34 f8 ff ff call 1039d6 - 1041a2: e9 c2 00 00 00 jmp 104269 <_process_command+0x1be> - 1041a7: e8 92 f9 ff ff call 103b3e - 1041ac: e9 b8 00 00 00 jmp 104269 <_process_command+0x1be> - 1041b1: e8 b0 f9 ff ff call 103b66 - 1041b6: e9 ae 00 00 00 jmp 104269 <_process_command+0x1be> - 1041bb: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 1041bf: 89 34 24 mov DWORD PTR [esp],esi - 1041c2: e8 33 fa ff ff call 103bfa - 1041c7: e9 9d 00 00 00 jmp 104269 <_process_command+0x1be> - 1041cc: e8 16 4d 00 00 call 108ee7 - 1041d1: e9 93 00 00 00 jmp 104269 <_process_command+0x1be> - 1041d6: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 1041da: 89 34 24 mov DWORD PTR [esp],esi - 1041dd: e8 6b fa ff ff call 103c4d - 1041e2: e9 82 00 00 00 jmp 104269 <_process_command+0x1be> - 1041e7: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 1041eb: 89 34 24 mov DWORD PTR [esp],esi - 1041ee: e8 d4 fb ff ff call 103dc7 - 1041f3: eb 74 jmp 104269 <_process_command+0x1be> - 1041f5: e8 cd fc ff ff call 103ec7 - 1041fa: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 104201: 00 - 104202: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104209: e8 4d e7 ff ff call 10295b - 10420e: 89 c7 mov edi,eax - 104210: 8b 36 mov esi,DWORD PTR [esi] - 104212: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 104219: 00 - 10421a: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104221: e8 35 e7 ff ff call 10295b - 104226: 88 c3 mov bl,al - 104228: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc - 10422f: 00 - 104230: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104237: e8 1f e7 ff ff call 10295b - 10423c: 81 e7 ff 00 00 00 and edi,0xff - 104242: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi - 104246: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 10424a: 81 e3 ff 00 00 00 and ebx,0xff - 104250: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 104254: 25 ff 00 00 00 and eax,0xff - 104259: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10425d: c7 04 24 28 a2 10 00 mov DWORD PTR [esp],0x10a228 - 104264: e8 0f ed ff ff call 102f78 - 104269: 83 c4 2c add esp,0x2c - 10426c: 5b pop ebx - 10426d: 5e pop esi - 10426e: 5f pop edi - 10426f: 5d pop ebp - 104270: c3 ret - -00104271 : - 104271: 56 push esi - 104272: 53 push ebx - 104273: 81 ec 94 02 00 00 sub esp,0x294 - 104279: e8 3b ef ff ff call 1031b9 - 10427e: 8d 9c 24 90 00 00 00 lea ebx,[esp+0x90] - 104285: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe - 10428c: 00 - 10428d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104294: e8 c2 e6 ff ff call 10295b - 104299: 25 ff 00 00 00 and eax,0xff - 10429e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1042a2: c7 04 24 29 9f 10 00 mov DWORD PTR [esp],0x109f29 - 1042a9: e8 ca ec ff ff call 102f78 - 1042ae: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa - 1042b5: 00 - 1042b6: c7 44 24 04 00 02 00 mov DWORD PTR [esp+0x4],0x200 - 1042bd: 00 - 1042be: 89 1c 24 mov DWORD PTR [esp],ebx - 1042c1: e8 6d e8 ff ff call 102b33 - 1042c6: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx - 1042ca: 89 1c 24 mov DWORD PTR [esp],ebx - 1042cd: e8 3e 4a 00 00 call 108d10 - 1042d2: be 00 00 00 00 mov esi,0x0 - 1042d7: ba 00 00 00 00 mov edx,0x0 - 1042dc: eb 49 jmp 104327 - 1042de: c6 04 1a 00 mov BYTE PTR [edx+ebx*1],0x0 - 1042e2: 42 inc edx - 1042e3: 39 d0 cmp eax,edx - 1042e5: 7e 0d jle 1042f4 - 1042e7: 0f be 0c 1a movsx ecx,BYTE PTR [edx+ebx*1] - 1042eb: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2 - 1042f2: 75 ea jne 1042de - 1042f4: 39 c2 cmp edx,eax - 1042f6: 74 52 je 10434a - 1042f8: 8d 0c 13 lea ecx,[ebx+edx*1] - 1042fb: 89 4c b4 10 mov DWORD PTR [esp+esi*4+0x10],ecx - 1042ff: 46 inc esi - 104300: 39 d0 cmp eax,edx - 104302: 7e 23 jle 104327 - 104304: 0f be 8c 14 90 00 00 movsx ecx,BYTE PTR [esp+edx*1+0x90] - 10430b: 00 - 10430c: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2 - 104313: 75 12 jne 104327 - 104315: 42 inc edx - 104316: 39 d0 cmp eax,edx - 104318: 7e 0d jle 104327 - 10431a: 0f be 0c 1a movsx ecx,BYTE PTR [edx+ebx*1] - 10431e: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2 - 104325: 74 ee je 104315 - 104327: 39 c2 cmp edx,eax - 104329: 0f 9c c1 setl cl - 10432c: 7d 1c jge 10434a - 10432e: 83 fe 1f cmp esi,0x1f - 104331: 7f 17 jg 10434a - 104333: 84 c9 test cl,cl - 104335: 74 bd je 1042f4 - 104337: 0f be 8c 14 90 00 00 movsx ecx,BYTE PTR [esp+edx*1+0x90] - 10433e: 00 - 10433f: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2 - 104346: 75 96 jne 1042de - 104348: eb aa jmp 1042f4 - 10434a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10434e: 8d 44 24 10 lea eax,[esp+0x10] - 104352: 89 04 24 mov DWORD PTR [esp],eax - 104355: e8 51 fd ff ff call 1040ab <_process_command> - 10435a: e9 26 ff ff ff jmp 104285 - ... - -00104360 : - 104360: 55 push ebp - 104361: 57 push edi - 104362: 56 push esi - 104363: 53 push ebx - 104364: 83 ec 2c sub esp,0x2c - 104367: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40] - 10436b: 8b 6c 24 44 mov ebp,DWORD PTR [esp+0x44] - 10436f: 8b 74 24 48 mov esi,DWORD PTR [esp+0x48] - 104373: 89 f7 mov edi,esi - 104375: 8d 46 fe lea eax,[esi-0x2] - 104378: 83 f8 22 cmp eax,0x22 - 10437b: 77 54 ja 1043d1 - 10437d: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 104381: 89 2c 24 mov DWORD PTR [esp],ebp - 104384: e8 53 45 00 00 call 1088dc - 104389: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 10438d: 89 e8 mov eax,ebp - 10438f: c1 e8 1f shr eax,0x1f - 104392: 74 0e je 1043a2 - 104394: 83 fe 0a cmp esi,0xa - 104397: 75 09 jne 1043a2 - 104399: c6 03 2d mov BYTE PTR [ebx],0x2d - 10439c: 66 be 01 00 mov si,0x1 - 1043a0: eb 05 jmp 1043a7 - 1043a2: be 00 00 00 00 mov esi,0x0 - 1043a7: 8b 4c 24 1c mov ecx,DWORD PTR [esp+0x1c] - 1043ab: 49 dec ecx - 1043ac: 39 ce cmp esi,ecx - 1043ae: 7f 17 jg 1043c7 - 1043b0: 89 e8 mov eax,ebp - 1043b2: ba 00 00 00 00 mov edx,0x0 - 1043b7: f7 f7 div edi - 1043b9: 8a 92 fc a2 10 00 mov dl,BYTE PTR [edx+0x10a2fc] - 1043bf: 88 14 0b mov BYTE PTR [ebx+ecx*1],dl - 1043c2: 49 dec ecx - 1043c3: 39 ce cmp esi,ecx - 1043c5: 7e eb jle 1043b2 - 1043c7: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 1043cb: c6 04 03 00 mov BYTE PTR [ebx+eax*1],0x0 - 1043cf: eb 05 jmp 1043d6 - 1043d1: bd 00 00 00 00 mov ebp,0x0 - 1043d6: 89 e8 mov eax,ebp - 1043d8: 83 c4 2c add esp,0x2c - 1043db: 5b pop ebx - 1043dc: 5e pop esi - 1043dd: 5f pop edi - 1043de: 5d pop ebp - 1043df: c3 ret - -001043e0 : - 1043e0: 55 push ebp - 1043e1: 57 push edi - 1043e2: 56 push esi - 1043e3: 53 push ebx - 1043e4: 83 ec 1c sub esp,0x1c - 1043e7: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30] - 1043eb: 8b 5c 24 34 mov ebx,DWORD PTR [esp+0x34] - 1043ef: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38] - 1043f3: 89 c7 mov edi,eax - 1043f5: 8d 50 fe lea edx,[eax-0x2] - 1043f8: 83 fa 22 cmp edx,0x22 - 1043fb: 77 33 ja 104430 - 1043fd: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104401: 89 1c 24 mov DWORD PTR [esp],ebx - 104404: e8 11 45 00 00 call 10891a - 104409: 89 c5 mov ebp,eax - 10440b: 89 c1 mov ecx,eax - 10440d: 49 dec ecx - 10440e: 78 1a js 10442a - 104410: 89 d8 mov eax,ebx - 104412: ba 00 00 00 00 mov edx,0x0 - 104417: f7 f7 div edi - 104419: 89 c3 mov ebx,eax - 10441b: 8a 92 fc a2 10 00 mov dl,BYTE PTR [edx+0x10a2fc] - 104421: 88 14 0e mov BYTE PTR [esi+ecx*1],dl - 104424: 49 dec ecx - 104425: 83 f9 ff cmp ecx,0xffffffff - 104428: 75 e6 jne 104410 - 10442a: c6 04 2e 00 mov BYTE PTR [esi+ebp*1],0x0 - 10442e: eb 05 jmp 104435 - 104430: bb 00 00 00 00 mov ebx,0x0 - 104435: 89 d8 mov eax,ebx - 104437: 83 c4 1c add esp,0x1c - 10443a: 5b pop ebx - 10443b: 5e pop esi - 10443c: 5f pop edi - 10443d: 5d pop ebp - 10443e: c3 ret - -0010443f : - 10443f: 53 push ebx - 104440: 83 ec 04 sub esp,0x4 - 104443: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 104447: 8a 10 mov dl,BYTE PTR [eax] - 104449: 88 54 24 03 mov BYTE PTR [esp+0x3],dl - 10444d: 80 fa 2d cmp dl,0x2d - 104450: 0f 94 c1 sete cl - 104453: 81 e1 ff 00 00 00 and ecx,0xff - 104459: 01 c1 add ecx,eax - 10445b: 8a 11 mov dl,BYTE PTR [ecx] - 10445d: 8d 5a d0 lea ebx,[edx-0x30] - 104460: b8 00 00 00 00 mov eax,0x0 - 104465: 80 fb 09 cmp bl,0x9 - 104468: 77 16 ja 104480 - 10446a: 8d 04 80 lea eax,[eax+eax*4] - 10446d: 0f be d2 movsx edx,dl - 104470: 8d 44 42 d0 lea eax,[edx+eax*2-0x30] - 104474: 8a 51 01 mov dl,BYTE PTR [ecx+0x1] - 104477: 41 inc ecx - 104478: 8d 5a d0 lea ebx,[edx-0x30] - 10447b: 80 fb 09 cmp bl,0x9 - 10447e: 76 ea jbe 10446a - 104480: 80 7c 24 03 2d cmp BYTE PTR [esp+0x3],0x2d - 104485: 75 02 jne 104489 - 104487: f7 d8 neg eax - 104489: 83 c4 04 add esp,0x4 - 10448c: 5b pop ebx - 10448d: c3 ret - -0010448e : - 10448e: 53 push ebx - 10448f: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8] - 104493: 8a 11 mov dl,BYTE PTR [ecx] - 104495: 8d 5a d0 lea ebx,[edx-0x30] - 104498: b8 00 00 00 00 mov eax,0x0 - 10449d: 80 fb 09 cmp bl,0x9 - 1044a0: 77 16 ja 1044b8 - 1044a2: 8d 04 80 lea eax,[eax+eax*4] - 1044a5: 0f be d2 movsx edx,dl - 1044a8: 8d 44 42 d0 lea eax,[edx+eax*2-0x30] - 1044ac: 8a 51 01 mov dl,BYTE PTR [ecx+0x1] - 1044af: 41 inc ecx - 1044b0: 8d 5a d0 lea ebx,[edx-0x30] - 1044b3: 80 fb 09 cmp bl,0x9 - 1044b6: 76 ea jbe 1044a2 - 1044b8: 5b pop ebx - 1044b9: c3 ret - -001044ba : - 1044ba: 57 push edi - 1044bb: 56 push esi - 1044bc: 53 push ebx - 1044bd: 83 ec 04 sub esp,0x4 - 1044c0: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 1044c4: 8a 50 01 mov dl,BYTE PTR [eax+0x1] - 1044c7: 80 fa 78 cmp dl,0x78 - 1044ca: 74 0a je 1044d6 - 1044cc: b9 00 00 00 00 mov ecx,0x0 - 1044d1: 80 fa 58 cmp dl,0x58 - 1044d4: 75 05 jne 1044db - 1044d6: b9 02 00 00 00 mov ecx,0x2 - 1044db: 8d 3c 08 lea edi,[eax+ecx*1] - 1044de: b8 00 00 00 00 mov eax,0x0 - 1044e3: eb 30 jmp 104515 - 1044e5: c1 e0 04 shl eax,0x4 - 1044e8: 84 db test bl,bl - 1044ea: 74 09 je 1044f5 - 1044ec: 0f be d2 movsx edx,dl - 1044ef: 8d 44 10 d0 lea eax,[eax+edx*1-0x30] - 1044f3: eb 1f jmp 104514 - 1044f5: 80 7c 24 03 00 cmp BYTE PTR [esp+0x3],0x0 - 1044fa: 74 09 je 104505 - 1044fc: 0f be d2 movsx edx,dl - 1044ff: 8d 44 10 a9 lea eax,[eax+edx*1-0x57] - 104503: eb 0f jmp 104514 - 104505: 8d 5a bf lea ebx,[edx-0x41] - 104508: 80 fb 05 cmp bl,0x5 - 10450b: 77 07 ja 104514 - 10450d: 0f be d2 movsx edx,dl - 104510: 8d 44 10 c9 lea eax,[eax+edx*1-0x37] - 104514: 47 inc edi - 104515: 8a 17 mov dl,BYTE PTR [edi] - 104517: 8d 5a d0 lea ebx,[edx-0x30] - 10451a: 80 fb 09 cmp bl,0x9 - 10451d: 0f 96 c3 setbe bl - 104520: 8d 72 9f lea esi,[edx-0x61] - 104523: 89 f1 mov ecx,esi - 104525: 80 f9 05 cmp cl,0x5 - 104528: 0f 96 44 24 03 setbe BYTE PTR [esp+0x3] - 10452d: 84 db test bl,bl - 10452f: 75 b4 jne 1044e5 - 104531: 80 7c 24 03 00 cmp BYTE PTR [esp+0x3],0x0 - 104536: 75 ad jne 1044e5 - 104538: 8d 72 bf lea esi,[edx-0x41] - 10453b: 89 f1 mov ecx,esi - 10453d: 80 f9 05 cmp cl,0x5 - 104540: 76 a3 jbe 1044e5 - 104542: 83 c4 04 add esp,0x4 - 104545: 5b pop ebx - 104546: 5e pop esi - 104547: 5f pop edi - 104548: c3 ret - 104549: 00 00 add BYTE PTR [eax],al - ... - -0010454c : - 10454c: 56 push esi - 10454d: 53 push ebx - 10454e: 83 ec 14 sub esp,0x14 - 104551: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 104555: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc - 10455c: e8 08 e4 ff ff call 102969 - 104561: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53 - 104568: e8 0b ea ff ff call 102f78 - 10456d: bb 50 00 00 00 mov ebx,0x50 - 104572: c7 44 24 04 cd 00 00 mov DWORD PTR [esp+0x4],0xcd - 104579: 00 - 10457a: c7 04 24 36 9c 10 00 mov DWORD PTR [esp],0x109c36 - 104581: e8 f2 e9 ff ff call 102f78 - 104586: 4b dec ebx - 104587: 75 e9 jne 104572 - 104589: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 104590: 00 - 104591: c7 04 24 94 a5 10 00 mov DWORD PTR [esp],0x10a594 - 104598: e8 db e9 ff ff call 102f78 - 10459d: c7 04 24 c0 a5 10 00 mov DWORD PTR [esp],0x10a5c0 - 1045a4: e8 cf e9 ff ff call 102f78 - 1045a9: 8b 46 30 mov eax,DWORD PTR [esi+0x30] - 1045ac: 83 f8 13 cmp eax,0x13 - 1045af: 77 25 ja 1045d6 - 1045b1: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 1045b5: 8b 04 85 80 c0 10 00 mov eax,DWORD PTR [eax*4+0x10c080] - 1045bc: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 1045c0: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 1045c7: 00 - 1045c8: c7 04 24 28 a3 10 00 mov DWORD PTR [esp],0x10a328 - 1045cf: e8 a4 e9 ff ff call 102f78 - 1045d4: eb 18 jmp 1045ee - 1045d6: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 1045da: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 1045e1: 00 - 1045e2: c7 04 24 35 a3 10 00 mov DWORD PTR [esp],0x10a335 - 1045e9: e8 8a e9 ff ff call 102f78 - 1045ee: c7 04 24 e4 a5 10 00 mov DWORD PTR [esp],0x10a5e4 - 1045f5: e8 7e e9 ff ff call 102f78 - 1045fa: c7 04 24 18 a6 10 00 mov DWORD PTR [esp],0x10a618 - 104601: e8 72 e9 ff ff call 102f78 - 104606: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf - 10460d: e8 57 e3 ff ff call 102969 - 104612: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 104619: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104620: ff - 104621: e8 6d e3 ff ff call 102993 - 104626: 8b 46 2c mov eax,DWORD PTR [esi+0x2c] - 104629: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10462d: c7 04 24 3d a3 10 00 mov DWORD PTR [esp],0x10a33d - 104634: e8 3f e9 ff ff call 102f78 - 104639: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 104640: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104647: ff - 104648: e8 46 e3 ff ff call 102993 - 10464d: 8b 46 20 mov eax,DWORD PTR [esi+0x20] - 104650: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104654: c7 04 24 46 a3 10 00 mov DWORD PTR [esp],0x10a346 - 10465b: e8 18 e9 ff ff call 102f78 - 104660: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 104667: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 10466e: ff - 10466f: e8 1f e3 ff ff call 102993 - 104674: 8b 46 28 mov eax,DWORD PTR [esi+0x28] - 104677: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10467b: c7 04 24 4f a3 10 00 mov DWORD PTR [esp],0x10a34f - 104682: e8 f1 e8 ff ff call 102f78 - 104687: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a - 10468e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104695: ff - 104696: e8 f8 e2 ff ff call 102993 - 10469b: 8b 46 24 mov eax,DWORD PTR [esi+0x24] - 10469e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1046a2: c7 04 24 58 a3 10 00 mov DWORD PTR [esp],0x10a358 - 1046a9: e8 ca e8 ff ff call 102f78 - 1046ae: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 1046b5: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1046bc: ff - 1046bd: e8 d1 e2 ff ff call 102993 - 1046c2: 8b 46 10 mov eax,DWORD PTR [esi+0x10] - 1046c5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1046c9: c7 04 24 62 a3 10 00 mov DWORD PTR [esp],0x10a362 - 1046d0: e8 a3 e8 ff ff call 102f78 - 1046d5: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 1046dc: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1046e3: ff - 1046e4: e8 aa e2 ff ff call 102993 - 1046e9: 8b 46 14 mov eax,DWORD PTR [esi+0x14] - 1046ec: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1046f0: c7 04 24 6b a3 10 00 mov DWORD PTR [esp],0x10a36b - 1046f7: e8 7c e8 ff ff call 102f78 - 1046fc: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 104703: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 10470a: ff - 10470b: e8 83 e2 ff ff call 102993 - 104710: 8b 46 18 mov eax,DWORD PTR [esi+0x18] - 104713: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104717: c7 04 24 74 a3 10 00 mov DWORD PTR [esp],0x10a374 - 10471e: e8 55 e8 ff ff call 102f78 - 104723: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a - 10472a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104731: ff - 104732: e8 5c e2 ff ff call 102993 - 104737: 8b 46 1c mov eax,DWORD PTR [esi+0x1c] - 10473a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10473e: c7 04 24 b7 a3 10 00 mov DWORD PTR [esp],0x10a3b7 - 104745: e8 2e e8 ff ff call 102f78 - 10474a: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 104751: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104758: ff - 104759: e8 35 e2 ff ff call 102993 - 10475e: 8b 06 mov eax,DWORD PTR [esi] - 104760: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104764: c7 04 24 ab a3 10 00 mov DWORD PTR [esp],0x10a3ab - 10476b: e8 08 e8 ff ff call 102f78 - 104770: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 104777: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 10477e: ff - 10477f: e8 0f e2 ff ff call 102993 - 104784: 8b 46 04 mov eax,DWORD PTR [esi+0x4] - 104787: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10478b: c7 04 24 7d a3 10 00 mov DWORD PTR [esp],0x10a37d - 104792: e8 e1 e7 ff ff call 102f78 - 104797: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 10479e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1047a5: ff - 1047a6: e8 e8 e1 ff ff call 102993 - 1047ab: 8b 46 08 mov eax,DWORD PTR [esi+0x8] - 1047ae: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1047b2: c7 04 24 85 a3 10 00 mov DWORD PTR [esp],0x10a385 - 1047b9: e8 ba e7 ff ff call 102f78 - 1047be: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a - 1047c5: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1047cc: ff - 1047cd: e8 c1 e1 ff ff call 102993 - 1047d2: 8b 46 0c mov eax,DWORD PTR [esi+0xc] - 1047d5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1047d9: c7 04 24 8d a3 10 00 mov DWORD PTR [esp],0x10a38d - 1047e0: e8 93 e7 ff ff call 102f78 - 1047e5: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 1047ec: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1047f3: ff - 1047f4: e8 9a e1 ff ff call 102993 - 1047f9: 8b 46 38 mov eax,DWORD PTR [esi+0x38] - 1047fc: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104800: c7 04 24 96 a3 10 00 mov DWORD PTR [esp],0x10a396 - 104807: e8 6c e7 ff ff call 102f78 - 10480c: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 104813: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 10481a: ff - 10481b: e8 73 e1 ff ff call 102993 - 104820: 8b 46 3c mov eax,DWORD PTR [esi+0x3c] - 104823: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104827: c7 04 24 9f a3 10 00 mov DWORD PTR [esp],0x10a39f - 10482e: e8 45 e7 ff ff call 102f78 - 104833: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 10483a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104841: ff - 104842: e8 4c e1 ff ff call 102993 - 104847: 8b 46 40 mov eax,DWORD PTR [esi+0x40] - 10484a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10484e: c7 04 24 a7 a3 10 00 mov DWORD PTR [esp],0x10a3a7 - 104855: e8 1e e7 ff ff call 102f78 - 10485a: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a - 104861: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104868: ff - 104869: e8 25 e1 ff ff call 102993 - 10486e: 8b 46 44 mov eax,DWORD PTR [esi+0x44] - 104871: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104875: c7 04 24 b3 a3 10 00 mov DWORD PTR [esp],0x10a3b3 - 10487c: e8 f7 e6 ff ff call 102f78 - 104881: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 104888: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 10488f: ff - 104890: e8 fe e0 ff ff call 102993 - 104895: 8b 46 48 mov eax,DWORD PTR [esi+0x48] - 104898: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10489c: c7 04 24 c1 a3 10 00 mov DWORD PTR [esp],0x10a3c1 - 1048a3: e8 d0 e6 ff ff call 102f78 - 1048a8: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 1048af: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1048b6: ff - 1048b7: e8 d7 e0 ff ff call 102993 - 1048bc: 8b 46 30 mov eax,DWORD PTR [esi+0x30] - 1048bf: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1048c3: c7 04 24 c9 a3 10 00 mov DWORD PTR [esp],0x10a3c9 - 1048ca: e8 a9 e6 ff ff call 102f78 - 1048cf: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 1048d6: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 1048dd: ff - 1048de: e8 b0 e0 ff ff call 102993 - 1048e3: 8b 46 34 mov eax,DWORD PTR [esi+0x34] - 1048e6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1048ea: c7 04 24 d5 a3 10 00 mov DWORD PTR [esp],0x10a3d5 - 1048f1: e8 82 e6 ff ff call 102f78 - 1048f6: 83 7e 30 0e cmp DWORD PTR [esi+0x30],0xe - 1048fa: 0f 85 c9 00 00 00 jne 1049c9 - 104900: 0f 20 d3 mov ebx,cr2 - 104903: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a - 10490a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104911: ff - 104912: e8 7c e0 ff ff call 102993 - 104917: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 10491b: c7 04 24 e3 a3 10 00 mov DWORD PTR [esp],0x10a3e3 - 104922: e8 51 e6 ff ff call 102f78 - 104927: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10492e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff - 104935: ff - 104936: e8 58 e0 ff ff call 102993 - 10493b: c7 04 24 f1 a3 10 00 mov DWORD PTR [esp],0x10a3f1 - 104942: e8 31 e6 ff ff call 102f78 - 104947: f6 46 34 01 test BYTE PTR [esi+0x34],0x1 - 10494b: 75 14 jne 104961 - 10494d: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 104954: 00 - 104955: c7 04 24 fa a3 10 00 mov DWORD PTR [esp],0x10a3fa - 10495c: e8 17 e6 ff ff call 102f78 - 104961: f6 46 34 02 test BYTE PTR [esi+0x34],0x2 - 104965: 74 14 je 10497b - 104967: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 10496e: 00 - 10496f: c7 04 24 0f a4 10 00 mov DWORD PTR [esp],0x10a40f - 104976: e8 fd e5 ff ff call 102f78 - 10497b: f6 46 34 04 test BYTE PTR [esi+0x34],0x4 - 10497f: 74 14 je 104995 - 104981: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 104988: 00 - 104989: c7 04 24 23 a4 10 00 mov DWORD PTR [esp],0x10a423 - 104990: e8 e3 e5 ff ff call 102f78 - 104995: f6 46 34 08 test BYTE PTR [esi+0x34],0x8 - 104999: 74 14 je 1049af - 10499b: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 1049a2: 00 - 1049a3: c7 04 24 44 a6 10 00 mov DWORD PTR [esp],0x10a644 - 1049aa: e8 c9 e5 ff ff call 102f78 - 1049af: f6 46 34 10 test BYTE PTR [esi+0x34],0x10 - 1049b3: 74 14 je 1049c9 - 1049b5: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7 - 1049bc: 00 - 1049bd: c7 04 24 38 a4 10 00 mov DWORD PTR [esp],0x10a438 - 1049c4: e8 af e5 ff ff call 102f78 - 1049c9: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc - 1049d0: e8 94 df ff ff call 102969 - 1049d5: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53 - 1049dc: e8 97 e5 ff ff call 102f78 - 1049e1: bb 50 00 00 00 mov ebx,0x50 - 1049e6: c7 44 24 04 cd 00 00 mov DWORD PTR [esp+0x4],0xcd - 1049ed: 00 - 1049ee: c7 04 24 36 9c 10 00 mov DWORD PTR [esp],0x109c36 - 1049f5: e8 7e e5 ff ff call 102f78 - 1049fa: 4b dec ebx - 1049fb: 75 e9 jne 1049e6 - 1049fd: 83 c4 14 add esp,0x14 - 104a00: 5b pop ebx - 104a01: 5e pop esi - 104a02: c3 ret - ... - -00104a04 : - 104a04: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 104a08: 80 b8 e1 c0 10 00 00 cmp BYTE PTR [eax+0x10c0e1],0x0 - 104a0f: 79 03 jns 104a14 - 104a11: 83 e8 20 sub eax,0x20 - 104a14: c3 ret - -00104a15 : - 104a15: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 104a19: f6 80 e1 c0 10 00 40 test BYTE PTR [eax+0x10c0e1],0x40 - 104a20: 74 03 je 104a25 - 104a22: 83 c0 20 add eax,0x20 - 104a25: c3 ret - ... - -00104a28 : - 104a28: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4] - 104a2c: 8a 44 24 08 mov al,BYTE PTR [esp+0x8] - 104a30: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc] - 104a34: 80 fa 07 cmp dl,0x7 - 104a37: 77 49 ja 104a82 - 104a39: 81 e2 ff 00 00 00 and edx,0xff - 104a3f: ff 24 95 6c a6 10 00 jmp DWORD PTR [edx*4+0x10a66c] - 104a46: ba 00 00 00 00 mov edx,0x0 - 104a4b: eb 2f jmp 104a7c - 104a4d: ba 04 00 00 00 mov edx,0x4 - 104a52: eb 28 jmp 104a7c - 104a54: ba 06 00 00 00 mov edx,0x6 - 104a59: eb 21 jmp 104a7c - 104a5b: ba c0 00 00 00 mov edx,0xc0 - 104a60: eb 1a jmp 104a7c - 104a62: ba c4 00 00 00 mov edx,0xc4 - 104a67: eb 13 jmp 104a7c - 104a69: ba c8 00 00 00 mov edx,0xc8 - 104a6e: eb 0c jmp 104a7c - 104a70: ba cc 00 00 00 mov edx,0xcc - 104a75: eb 05 jmp 104a7c - 104a77: ba 02 00 00 00 mov edx,0x2 - 104a7c: ee out dx,al - 104a7d: e6 80 out 0x80,al - 104a7f: 88 c8 mov al,cl - 104a81: ee out dx,al - 104a82: c3 ret - -00104a83 : - 104a83: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4] - 104a87: 8a 44 24 08 mov al,BYTE PTR [esp+0x8] - 104a8b: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc] - 104a8f: 80 fa 07 cmp dl,0x7 - 104a92: 77 49 ja 104add - 104a94: 81 e2 ff 00 00 00 and edx,0xff - 104a9a: ff 24 95 8c a6 10 00 jmp DWORD PTR [edx*4+0x10a68c] - 104aa1: ba 01 00 00 00 mov edx,0x1 - 104aa6: eb 2f jmp 104ad7 - 104aa8: ba 05 00 00 00 mov edx,0x5 - 104aad: eb 28 jmp 104ad7 - 104aaf: ba 07 00 00 00 mov edx,0x7 - 104ab4: eb 21 jmp 104ad7 - 104ab6: ba c2 00 00 00 mov edx,0xc2 - 104abb: eb 1a jmp 104ad7 - 104abd: ba c6 00 00 00 mov edx,0xc6 - 104ac2: eb 13 jmp 104ad7 - 104ac4: ba ca 00 00 00 mov edx,0xca - 104ac9: eb 0c jmp 104ad7 - 104acb: ba ce 00 00 00 mov edx,0xce - 104ad0: eb 05 jmp 104ad7 - 104ad2: ba 03 00 00 00 mov edx,0x3 - 104ad7: ee out dx,al - 104ad8: e6 80 out 0x80,al - 104ada: 88 c8 mov al,cl - 104adc: ee out dx,al - 104add: c3 ret - -00104ade : - 104ade: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4] - 104ae2: 8a 44 24 08 mov al,BYTE PTR [esp+0x8] - 104ae6: 80 fa 07 cmp dl,0x7 - 104ae9: 77 36 ja 104b21 - 104aeb: 81 e2 ff 00 00 00 and edx,0xff - 104af1: ff 24 95 ac a6 10 00 jmp DWORD PTR [edx*4+0x10a6ac] - 104af8: ba 83 00 00 00 mov edx,0x83 - 104afd: eb 21 jmp 104b20 - 104aff: ba 82 00 00 00 mov edx,0x82 - 104b04: eb 1a jmp 104b20 - 104b06: ba 8b 00 00 00 mov edx,0x8b - 104b0b: eb 13 jmp 104b20 - 104b0d: ba 89 00 00 00 mov edx,0x89 - 104b12: eb 0c jmp 104b20 - 104b14: ba 8a 00 00 00 mov edx,0x8a - 104b19: eb 05 jmp 104b20 - 104b1b: ba 81 00 00 00 mov edx,0x81 - 104b20: ee out dx,al - 104b21: c3 ret - -00104b22 : - 104b22: ba d8 00 00 00 mov edx,0xd8 - 104b27: 80 7c 24 04 03 cmp BYTE PTR [esp+0x4],0x3 - 104b2c: 77 02 ja 104b30 - 104b2e: b2 0c mov dl,0xc - 104b30: b0 00 mov al,0x0 - 104b32: ee out dx,al - 104b33: c3 ret - -00104b34 : - 104b34: b0 00 mov al,0x0 - 104b36: e6 0d out 0xd,al - 104b38: c3 ret - -00104b39 : - 104b39: b0 00 mov al,0x0 - 104b3b: e6 0e out 0xe,al - 104b3d: c3 ret - -00104b3e : - 104b3e: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 104b42: 3c 07 cmp al,0x7 - 104b44: 77 12 ja 104b58 - 104b46: ba d4 00 00 00 mov edx,0xd4 - 104b4b: 3c 03 cmp al,0x3 - 104b4d: 77 02 ja 104b51 - 104b4f: b2 0a mov dl,0xa - 104b51: 83 e0 03 and eax,0x3 - 104b54: 83 c8 04 or eax,0x4 - 104b57: ee out dx,al - 104b58: c3 ret - -00104b59 : - 104b59: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 104b5d: 3c 07 cmp al,0x7 - 104b5f: 77 0f ja 104b70 - 104b61: ba d4 00 00 00 mov edx,0xd4 - 104b66: 3c 03 cmp al,0x3 - 104b68: 77 02 ja 104b6c - 104b6a: b2 0a mov dl,0xa - 104b6c: 83 e0 03 and eax,0x3 - 104b6f: ee out dx,al - 104b70: c3 ret - -00104b71 : - 104b71: 56 push esi - 104b72: 53 push ebx - 104b73: 83 ec 08 sub esp,0x8 - 104b76: 8a 44 24 14 mov al,BYTE PTR [esp+0x14] - 104b7a: 88 44 24 07 mov BYTE PTR [esp+0x7],al - 104b7e: 0f b6 74 24 18 movzx esi,BYTE PTR [esp+0x18] - 104b83: 3c 07 cmp al,0x7 - 104b85: 77 2c ja 104bb3 - 104b87: bb d6 00 00 00 mov ebx,0xd6 - 104b8c: 3c 03 cmp al,0x3 - 104b8e: 77 02 ja 104b92 - 104b90: b3 0b mov bl,0xb - 104b92: 31 c0 xor eax,eax - 104b94: 8a 44 24 07 mov al,BYTE PTR [esp+0x7] - 104b98: 89 04 24 mov DWORD PTR [esp],eax - 104b9b: e8 9e ff ff ff call 104b3e - 104ba0: 8a 44 24 07 mov al,BYTE PTR [esp+0x7] - 104ba4: 83 e0 03 and eax,0x3 - 104ba7: 09 c6 or esi,eax - 104ba9: 89 da mov edx,ebx - 104bab: 89 f0 mov eax,esi - 104bad: ee out dx,al - 104bae: e8 86 ff ff ff call 104b39 - 104bb3: 83 c4 08 add esp,0x8 - 104bb6: 5b pop ebx - 104bb7: 5e pop esi - 104bb8: c3 ret - 104bb9: 00 00 add BYTE PTR [eax],al - ... - -00104bbc : - 104bbc: 83 ec 5c sub esp,0x5c - 104bbf: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64 - 104bc6: e8 d9 3f 00 00 call 108ba4 - 104bcb: 8d 44 24 44 lea eax,[esp+0x44] - 104bcf: 89 04 24 mov DWORD PTR [esp],eax - 104bd2: e8 61 d8 ff ff call 102438 - 104bd7: 8d 44 24 38 lea eax,[esp+0x38] - 104bdb: 8b 54 24 44 mov edx,DWORD PTR [esp+0x44] - 104bdf: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 104be3: 8b 54 24 48 mov edx,DWORD PTR [esp+0x48] - 104be7: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 104beb: 8b 54 24 4c mov edx,DWORD PTR [esp+0x4c] - 104bef: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 104bf3: 89 04 24 mov DWORD PTR [esp],eax - 104bf6: e8 8d 44 00 00 call 109088 - 104bfb: 83 ec 04 sub esp,0x4 - 104bfe: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38] - 104c02: 8b 54 24 3c mov edx,DWORD PTR [esp+0x3c] - 104c06: 89 04 24 mov DWORD PTR [esp],eax - 104c09: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 104c0d: e8 58 47 00 00 call 10936a - 104c12: 66 8b 44 24 4e mov ax,WORD PTR [esp+0x4e] - 104c17: 25 ff ff 00 00 and eax,0xffff - 104c1c: 89 44 24 28 mov DWORD PTR [esp+0x28],eax - 104c20: 31 c0 xor eax,eax - 104c22: 8a 44 24 4d mov al,BYTE PTR [esp+0x4d] - 104c26: 89 44 24 24 mov DWORD PTR [esp+0x24],eax - 104c2a: 31 c0 xor eax,eax - 104c2c: 8a 44 24 4c mov al,BYTE PTR [esp+0x4c] - 104c30: 89 44 24 20 mov DWORD PTR [esp+0x20],eax - 104c34: 31 c0 xor eax,eax - 104c36: 8a 44 24 4b mov al,BYTE PTR [esp+0x4b] - 104c3a: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 104c3e: 8b 44 24 44 mov eax,DWORD PTR [esp+0x44] - 104c42: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 104c46: 31 c0 xor eax,eax - 104c48: 8a 44 24 4a mov al,BYTE PTR [esp+0x4a] - 104c4c: 89 44 24 14 mov DWORD PTR [esp+0x14],eax - 104c50: 31 c0 xor eax,eax - 104c52: 8a 44 24 48 mov al,BYTE PTR [esp+0x48] - 104c56: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 104c5a: c7 44 24 0c 0b 00 00 mov DWORD PTR [esp+0xc],0xb - 104c61: 00 - 104c62: c7 44 24 08 cc a6 10 mov DWORD PTR [esp+0x8],0x10a6cc - 104c69: 00 - 104c6a: c7 44 24 04 1a a7 10 mov DWORD PTR [esp+0x4],0x10a71a - 104c71: 00 - 104c72: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104c79: e8 2a 26 00 00 call 1072a8 - 104c7e: 83 c4 5c add esp,0x5c - 104c81: c3 ret - -00104c82 : - 104c82: 83 ec 1c sub esp,0x1c - 104c85: e8 32 ff ff ff call 104bbc - 104c8a: c7 44 24 08 f4 a6 10 mov DWORD PTR [esp+0x8],0x10a6f4 - 104c91: 00 - 104c92: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 104c99: 00 - 104c9a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 104ca1: e8 02 26 00 00 call 1072a8 - 104ca6: 83 c4 1c add esp,0x1c - 104ca9: c3 ret - ... - -00104cac : - 104cac: 53 push ebx - 104cad: 83 ec 18 sub esp,0x18 - 104cb0: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 104cb4: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 104cb8: 89 43 04 mov DWORD PTR [ebx+0x4],eax - 104cbb: c7 43 08 00 00 00 00 mov DWORD PTR [ebx+0x8],0x0 - 104cc2: c7 43 0c 10 00 00 00 mov DWORD PTR [ebx+0xc],0x10 - 104cc9: c1 e0 04 shl eax,0x4 - 104ccc: 89 04 24 mov DWORD PTR [esp],eax - 104ccf: e8 2d 35 00 00 call 108201 - 104cd4: 89 03 mov DWORD PTR [ebx],eax - 104cd6: 83 c4 18 add esp,0x18 - 104cd9: 5b pop ebx - 104cda: c3 ret - -00104cdb : - 104cdb: 53 push ebx - 104cdc: 83 ec 18 sub esp,0x18 - 104cdf: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 104ce3: 8b 43 0c mov eax,DWORD PTR [ebx+0xc] - 104ce6: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8] - 104ce9: 77 1a ja 104d05 - 104ceb: 83 c0 10 add eax,0x10 - 104cee: 89 43 0c mov DWORD PTR [ebx+0xc],eax - 104cf1: 0f af 43 04 imul eax,DWORD PTR [ebx+0x4] - 104cf5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104cf9: 8b 03 mov eax,DWORD PTR [ebx] - 104cfb: 89 04 24 mov DWORD PTR [esp],eax - 104cfe: e8 2a 36 00 00 call 10832d - 104d03: 89 03 mov DWORD PTR [ebx],eax - 104d05: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 104d08: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 104d0c: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 104d10: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 104d14: 0f af 43 08 imul eax,DWORD PTR [ebx+0x8] - 104d18: 03 03 add eax,DWORD PTR [ebx] - 104d1a: 89 04 24 mov DWORD PTR [esp],eax - 104d1d: e8 e6 32 00 00 call 108008 - 104d22: ff 43 08 inc DWORD PTR [ebx+0x8] - 104d25: 83 c4 18 add esp,0x18 - 104d28: 5b pop ebx - 104d29: c3 ret - -00104d2a : - 104d2a: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 104d2e: ff 48 08 dec DWORD PTR [eax+0x8] - 104d31: c3 ret - -00104d32 : - 104d32: 57 push edi - 104d33: 56 push esi - 104d34: 53 push ebx - 104d35: 83 ec 10 sub esp,0x10 - 104d38: 8b 5c 24 28 mov ebx,DWORD PTR [esp+0x28] - 104d3c: 8b 43 0c mov eax,DWORD PTR [ebx+0xc] - 104d3f: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8] - 104d42: 77 1a ja 104d5e - 104d44: 83 c0 10 add eax,0x10 - 104d47: 89 43 0c mov DWORD PTR [ebx+0xc],eax - 104d4a: 0f af 43 04 imul eax,DWORD PTR [ebx+0x4] - 104d4e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104d52: 8b 03 mov eax,DWORD PTR [ebx] - 104d54: 89 04 24 mov DWORD PTR [esp],eax - 104d57: e8 d1 35 00 00 call 10832d - 104d5c: 89 03 mov DWORD PTR [ebx],eax - 104d5e: 8b 13 mov edx,DWORD PTR [ebx] - 104d60: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 104d63: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24] - 104d67: 0f af f0 imul esi,eax - 104d6a: 0f af 43 08 imul eax,DWORD PTR [ebx+0x8] - 104d6e: 48 dec eax - 104d6f: 39 c6 cmp esi,eax - 104d71: 77 12 ja 104d85 - 104d73: 8d 0c 02 lea ecx,[edx+eax*1] - 104d76: 89 cf mov edi,ecx - 104d78: 03 7b 04 add edi,DWORD PTR [ebx+0x4] - 104d7b: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1] - 104d7e: 88 0f mov BYTE PTR [edi],cl - 104d80: 48 dec eax - 104d81: 39 c6 cmp esi,eax - 104d83: 76 ee jbe 104d73 - 104d85: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 104d88: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 104d8c: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 104d90: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 104d94: 03 33 add esi,DWORD PTR [ebx] - 104d96: 89 34 24 mov DWORD PTR [esp],esi - 104d99: e8 6a 32 00 00 call 108008 - 104d9e: ff 43 08 inc DWORD PTR [ebx+0x8] - 104da1: 83 c4 10 add esp,0x10 - 104da4: 5b pop ebx - 104da5: 5e pop esi - 104da6: 5f pop edi - 104da7: c3 ret - -00104da8 : - 104da8: 56 push esi - 104da9: 53 push ebx - 104daa: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 104dae: 8b 13 mov edx,DWORD PTR [ebx] - 104db0: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] - 104db3: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 104db7: 0f af c1 imul eax,ecx - 104dba: 8b 73 08 mov esi,DWORD PTR [ebx+0x8] - 104dbd: 4e dec esi - 104dbe: 0f af f1 imul esi,ecx - 104dc1: 39 f0 cmp eax,esi - 104dc3: 73 10 jae 104dd5 - 104dc5: 8d 0c 02 lea ecx,[edx+eax*1] - 104dc8: 03 4b 04 add ecx,DWORD PTR [ebx+0x4] - 104dcb: 8a 09 mov cl,BYTE PTR [ecx] - 104dcd: 88 0c 02 mov BYTE PTR [edx+eax*1],cl - 104dd0: 40 inc eax - 104dd1: 39 c6 cmp esi,eax - 104dd3: 77 f0 ja 104dc5 - 104dd5: ff 4b 08 dec DWORD PTR [ebx+0x8] - 104dd8: 5b pop ebx - 104dd9: 5e pop esi - 104dda: c3 ret - -00104ddb : - 104ddb: 56 push esi - 104ddc: 53 push ebx - 104ddd: 83 ec 04 sub esp,0x4 - 104de0: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 104de4: 8b 16 mov edx,DWORD PTR [esi] - 104de6: 8b 46 04 mov eax,DWORD PTR [esi+0x4] - 104de9: 8b 4c 24 10 mov ecx,DWORD PTR [esp+0x10] - 104ded: 0f af c8 imul ecx,eax - 104df0: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14] - 104df4: 0f af d8 imul ebx,eax - 104df7: 85 c0 test eax,eax - 104df9: 74 23 je 104e1e - 104dfb: b8 00 00 00 00 mov eax,0x0 - 104e00: 01 d1 add ecx,edx - 104e02: 01 da add edx,ebx - 104e04: 8a 1c 01 mov bl,BYTE PTR [ecx+eax*1] - 104e07: 88 5c 24 03 mov BYTE PTR [esp+0x3],bl - 104e0b: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1] - 104e0e: 88 1c 01 mov BYTE PTR [ecx+eax*1],bl - 104e11: 8a 5c 24 03 mov bl,BYTE PTR [esp+0x3] - 104e15: 88 1c 02 mov BYTE PTR [edx+eax*1],bl - 104e18: 40 inc eax - 104e19: 39 46 04 cmp DWORD PTR [esi+0x4],eax - 104e1c: 77 e6 ja 104e04 - 104e1e: 83 c4 04 add esp,0x4 - 104e21: 5b pop ebx - 104e22: 5e pop esi - 104e23: c3 ret - -00104e24 : - 104e24: 53 push ebx - 104e25: 83 ec 18 sub esp,0x18 - 104e28: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20] - 104e2c: 8b 03 mov eax,DWORD PTR [ebx] - 104e2e: 89 04 24 mov DWORD PTR [esp],eax - 104e31: e8 32 35 00 00 call 108368 - 104e36: c7 43 0c 00 00 00 00 mov DWORD PTR [ebx+0xc],0x0 - 104e3d: c7 43 08 00 00 00 00 mov DWORD PTR [ebx+0x8],0x0 - 104e44: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0 - 104e4b: 83 c4 18 add esp,0x18 - 104e4e: 5b pop ebx - 104e4f: c3 ret - -00104e50 : - 104e50: c6 05 0e d0 10 00 01 mov BYTE PTR ds:0x10d00e,0x1 - 104e57: c3 ret - -00104e58 : - 104e58: 83 ec 1c sub esp,0x1c - 104e5b: a1 a0 c2 10 00 mov eax,ds:0x10c2a0 - 104e60: 89 04 24 mov DWORD PTR [esp],eax - 104e63: e8 26 45 00 00 call 10938e - 104e68: a0 0e d0 10 00 mov al,ds:0x10d00e - 104e6d: 84 c0 test al,al - 104e6f: 75 09 jne 104e7a - 104e71: e8 67 45 00 00 call 1093dd - 104e76: 84 c0 test al,al - 104e78: 74 ee je 104e68 - 104e7a: a0 0e d0 10 00 mov al,ds:0x10d00e - 104e7f: 84 c0 test al,al - 104e81: 75 25 jne 104ea8 - 104e83: a1 a0 c2 10 00 mov eax,ds:0x10c2a0 - 104e88: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 104e8c: c7 44 24 08 29 a7 10 mov DWORD PTR [esp+0x8],0x10a729 - 104e93: 00 - 104e94: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 104e9b: 00 - 104e9c: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 104ea3: e8 00 24 00 00 call 1072a8 - 104ea8: 83 c4 1c add esp,0x1c - 104eab: c3 ret - -00104eac : - 104eac: 83 ec 1c sub esp,0x1c - 104eaf: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104eb6: e8 83 fc ff ff call 104b3e - 104ebb: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104ec2: e8 5b fc ff ff call 104b22 - 104ec7: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10 - 104ece: 00 - 104ecf: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 104ed6: 00 - 104ed7: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104ede: e8 45 fb ff ff call 104a28 - 104ee3: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104eea: e8 33 fc ff ff call 104b22 - 104eef: c7 44 24 08 23 00 00 mov DWORD PTR [esp+0x8],0x23 - 104ef6: 00 - 104ef7: c7 44 24 04 ff 00 00 mov DWORD PTR [esp+0x4],0xff - 104efe: 00 - 104eff: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104f06: e8 78 fb ff ff call 104a83 - 104f0b: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 104f12: 00 - 104f13: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104f1a: e8 bf fb ff ff call 104ade - 104f1f: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 104f26: e8 2e fc ff ff call 104b59 - 104f2b: 83 c4 1c add esp,0x1c - 104f2e: c3 ret - -00104f2f : - 104f2f: 53 push ebx - 104f30: 83 ec 28 sub esp,0x28 - 104f33: 8a 44 24 30 mov al,BYTE PTR [esp+0x30] - 104f37: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 104f3b: bb 88 13 00 00 mov ebx,0x1388 - 104f40: eb 03 jmp 104f45 - 104f42: 4b dec ebx - 104f43: 74 10 je 104f55 - 104f45: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4 - 104f4c: e8 87 3c 00 00 call 108bd8 - 104f51: 84 c0 test al,al - 104f53: 79 ed jns 104f42 - 104f55: ba f5 03 00 00 mov edx,0x3f5 - 104f5a: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f] - 104f5e: ee out dx,al - 104f5f: 83 c4 28 add esp,0x28 - 104f62: 5b pop ebx - 104f63: c3 ret - -00104f64 : - 104f64: 83 ec 1c sub esp,0x1c - 104f67: c7 04 24 13 00 00 00 mov DWORD PTR [esp],0x13 - 104f6e: e8 bc ff ff ff call 104f2f - 104f73: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104f7a: e8 b0 ff ff ff call 104f2f - 104f7f: c7 04 24 47 00 00 00 mov DWORD PTR [esp],0x47 - 104f86: e8 a4 ff ff ff call 104f2f - 104f8b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 104f92: e8 98 ff ff ff call 104f2f - 104f97: 83 c4 1c add esp,0x1c - 104f9a: c3 ret - -00104f9b : - 104f9b: 53 push ebx - 104f9c: 83 ec 18 sub esp,0x18 - 104f9f: bb 88 13 00 00 mov ebx,0x1388 - 104fa4: eb 03 jmp 104fa9 - 104fa6: 4b dec ebx - 104fa7: 74 10 je 104fb9 - 104fa9: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4 - 104fb0: e8 23 3c 00 00 call 108bd8 - 104fb5: 84 c0 test al,al - 104fb7: 79 ed jns 104fa6 - 104fb9: c7 04 24 f5 03 00 00 mov DWORD PTR [esp],0x3f5 - 104fc0: e8 13 3c 00 00 call 108bd8 - 104fc5: 83 c4 18 add esp,0x18 - 104fc8: 5b pop ebx - 104fc9: c3 ret - -00104fca : - 104fca: 83 ec 1c sub esp,0x1c - 104fcd: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 104fd4: e8 56 ff ff ff call 104f2f - 104fd9: e8 bd ff ff ff call 104f9b - 104fde: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 104fe2: 88 02 mov BYTE PTR [edx],al - 104fe4: e8 b2 ff ff ff call 104f9b - 104fe9: 8b 54 24 24 mov edx,DWORD PTR [esp+0x24] - 104fed: 88 02 mov BYTE PTR [edx],al - 104fef: 83 c4 1c add esp,0x1c - 104ff2: c3 ret - -00104ff3 : - 104ff3: 53 push ebx - 104ff4: 83 ec 18 sub esp,0x18 - 104ff7: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20] - 104ffb: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3 - 105002: e8 28 ff ff ff call 104f2f - 105007: 81 e3 ff 00 00 00 and ebx,0xff - 10500d: 8d 04 9b lea eax,[ebx+ebx*4] - 105010: 8d 1c c5 f0 c1 10 00 lea ebx,[eax*8+0x10c1f0] - 105017: 31 c0 xor eax,eax - 105019: 8a 43 03 mov al,BYTE PTR [ebx+0x3] - 10501c: c1 e0 04 shl eax,0x4 - 10501f: 0a 43 05 or al,BYTE PTR [ebx+0x5] - 105022: 25 ff 00 00 00 and eax,0xff - 105027: 89 04 24 mov DWORD PTR [esp],eax - 10502a: e8 00 ff ff ff call 104f2f - 10502f: 8a 43 04 mov al,BYTE PTR [ebx+0x4] - 105032: 01 c0 add eax,eax - 105034: 25 ff 00 00 00 and eax,0xff - 105039: 89 04 24 mov DWORD PTR [esp],eax - 10503c: e8 ee fe ff ff call 104f2f - 105041: 83 c4 18 add esp,0x18 - 105044: 5b pop ebx - 105045: c3 ret - -00105046 : - 105046: 56 push esi - 105047: 53 push ebx - 105048: 83 ec 24 sub esp,0x24 - 10504b: 8a 5c 24 30 mov bl,BYTE PTR [esp+0x30] - 10504f: 8a 44 24 34 mov al,BYTE PTR [esp+0x34] - 105053: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 105057: 80 fb 01 cmp bl,0x1 - 10505a: 0f 87 af 00 00 00 ja 10510f - 105060: 0f b6 35 0d d0 10 00 movzx esi,BYTE PTR ds:0x10d00d - 105067: 84 db test bl,bl - 105069: 75 07 jne 105072 - 10506b: 0f b6 35 0c d0 10 00 movzx esi,BYTE PTR ds:0x10d00c - 105072: c7 04 24 f2 03 00 00 mov DWORD PTR [esp],0x3f2 - 105079: e8 5a 3b 00 00 call 108bd8 - 10507e: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 105083: 74 14 je 105099 - 105085: 81 e3 ff 00 00 00 and ebx,0xff - 10508b: 8d 4b 04 lea ecx,[ebx+0x4] - 10508e: ba 01 00 00 00 mov edx,0x1 - 105093: d3 e2 shl edx,cl - 105095: 09 d0 or eax,edx - 105097: eb 12 jmp 1050ab - 105099: 81 e3 ff 00 00 00 and ebx,0xff - 10509f: 8d 4b 04 lea ecx,[ebx+0x4] - 1050a2: ba fe ff ff ff mov edx,0xfffffffe - 1050a7: d3 c2 rol edx,cl - 1050a9: 21 d0 and eax,edx - 1050ab: ba f2 03 00 00 mov edx,0x3f2 - 1050b0: ee out dx,al - 1050b1: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 1050b6: 74 1a je 1050d2 - 1050b8: 81 e6 ff 00 00 00 and esi,0xff - 1050be: 8d 04 b6 lea eax,[esi+esi*4] - 1050c1: 8b 04 c5 f8 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1f8] - 1050c8: 89 04 24 mov DWORD PTR [esp],eax - 1050cb: e8 be 42 00 00 call 10938e - 1050d0: eb 18 jmp 1050ea - 1050d2: 81 e6 ff 00 00 00 and esi,0xff - 1050d8: 8d 04 b6 lea eax,[esi+esi*4] - 1050db: 8b 04 c5 fc c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1fc] - 1050e2: 89 04 24 mov DWORD PTR [esp],eax - 1050e5: e8 a4 42 00 00 call 10938e - 1050ea: c7 44 24 08 3f a7 10 mov DWORD PTR [esp+0x8],0x10a73f - 1050f1: 00 - 1050f2: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 1050f9: 00 - 1050fa: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105101: e8 a2 21 00 00 call 1072a8 - 105106: e8 d2 42 00 00 call 1093dd - 10510b: 84 c0 test al,al - 10510d: 74 f7 je 105106 - 10510f: 83 c4 24 add esp,0x24 - 105112: 5b pop ebx - 105113: 5e pop esi - 105114: c3 ret - -00105115 : - 105115: 83 ec 1c sub esp,0x1c - 105118: 8a 44 24 20 mov al,BYTE PTR [esp+0x20] - 10511c: 3c 01 cmp al,0x1 - 10511e: 77 3a ja 10515a - 105120: 8a 0d 0d d0 10 00 mov cl,BYTE PTR ds:0x10d00d - 105126: 84 c0 test al,al - 105128: 75 06 jne 105130 - 10512a: 8a 0d 0c d0 10 00 mov cl,BYTE PTR ds:0x10d00c - 105130: 81 e1 ff 00 00 00 and ecx,0xff - 105136: 8d 04 89 lea eax,[ecx+ecx*4] - 105139: 8a 04 c5 f1 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1f1] - 105140: ba f7 03 00 00 mov edx,0x3f7 - 105145: ee out dx,al - 105146: 89 0c 24 mov DWORD PTR [esp],ecx - 105149: e8 a5 fe ff ff call 104ff3 - 10514e: c7 04 24 f2 03 00 00 mov DWORD PTR [esp],0x3f2 - 105155: e8 7e 3a 00 00 call 108bd8 - 10515a: 83 c4 1c add esp,0x1c - 10515d: c3 ret - -0010515e : - 10515e: 57 push edi - 10515f: 56 push esi - 105160: 53 push ebx - 105161: 83 ec 20 sub esp,0x20 - 105164: 8a 44 24 30 mov al,BYTE PTR [esp+0x30] - 105168: 3c 01 cmp al,0x1 - 10516a: 77 74 ja 1051e0 - 10516c: b3 0a mov bl,0xa - 10516e: 25 ff 00 00 00 and eax,0xff - 105173: 89 c6 mov esi,eax - 105175: 8d 7c 24 1e lea edi,[esp+0x1e] - 105179: 31 d2 xor edx,edx - 10517b: 88 da mov dl,bl - 10517d: b8 0b 00 00 00 mov eax,0xb - 105182: 29 d0 sub eax,edx - 105184: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 105188: c7 44 24 08 55 a7 10 mov DWORD PTR [esp+0x8],0x10a755 - 10518f: 00 - 105190: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 105197: 00 - 105198: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10519f: e8 04 21 00 00 call 1072a8 - 1051a4: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0 - 1051ab: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 1051b2: e8 78 fd ff ff call 104f2f - 1051b7: 89 34 24 mov DWORD PTR [esp],esi - 1051ba: e8 70 fd ff ff call 104f2f - 1051bf: e8 94 fc ff ff call 104e58 - 1051c4: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi - 1051c8: 8d 44 24 1f lea eax,[esp+0x1f] - 1051cc: 89 04 24 mov DWORD PTR [esp],eax - 1051cf: e8 f6 fd ff ff call 104fca - 1051d4: 4b dec ebx - 1051d5: f6 44 24 1f 20 test BYTE PTR [esp+0x1f],0x20 - 1051da: 75 04 jne 1051e0 - 1051dc: 84 db test bl,bl - 1051de: 75 99 jne 105179 - 1051e0: 83 c4 20 add esp,0x20 - 1051e3: 5b pop ebx - 1051e4: 5e pop esi - 1051e5: 5f pop edi - 1051e6: c3 ret - -001051e7 : - 1051e7: 83 ec 1c sub esp,0x1c - 1051ea: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0 - 1051f1: c7 44 24 08 73 a7 10 mov DWORD PTR [esp+0x8],0x10a773 - 1051f8: 00 - 1051f9: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 105200: 00 - 105201: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105208: e8 9b 20 00 00 call 1072a8 - 10520d: b0 00 mov al,0x0 - 10520f: ba f2 03 00 00 mov edx,0x3f2 - 105214: ee out dx,al - 105215: b8 e8 03 00 00 mov eax,0x3e8 - 10521a: 48 dec eax - 10521b: 75 fd jne 10521a - 10521d: b0 0c mov al,0xc - 10521f: ba f2 03 00 00 mov edx,0x3f2 - 105224: ee out dx,al - 105225: 0f be 05 0c d0 10 00 movsx eax,BYTE PTR ds:0x10d00c - 10522c: 89 04 24 mov DWORD PTR [esp],eax - 10522f: e8 24 fc ff ff call 104e58 - 105234: 80 3d 0c d0 10 00 00 cmp BYTE PTR ds:0x10d00c,0x0 - 10523b: 74 40 je 10527d - 10523d: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 105244: 00 - 105245: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10524c: e8 f5 fd ff ff call 105046 - 105251: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105258: e8 b8 fe ff ff call 105115 - 10525d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105264: e8 f5 fe ff ff call 10515e - 105269: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105270: 00 - 105271: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105278: e8 c9 fd ff ff call 105046 - 10527d: 80 3d 0d d0 10 00 00 cmp BYTE PTR ds:0x10d00d,0x0 - 105284: 74 40 je 1052c6 - 105286: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 10528d: 00 - 10528e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 105295: e8 ac fd ff ff call 105046 - 10529a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1052a1: e8 6f fe ff ff call 105115 - 1052a6: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1052ad: e8 ac fe ff ff call 10515e - 1052b2: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 1052b9: 00 - 1052ba: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1052c1: e8 80 fd ff ff call 105046 - 1052c6: 83 c4 1c add esp,0x1c - 1052c9: c3 ret - -001052ca : - 1052ca: 57 push edi - 1052cb: 56 push esi - 1052cc: 53 push ebx - 1052cd: 83 ec 30 sub esp,0x30 - 1052d0: c7 04 24 10 00 00 00 mov DWORD PTR [esp],0x10 - 1052d7: e8 24 ce ff ff call 102100 - 1052dc: 88 c2 mov dl,al - 1052de: c0 ea 04 shr dl,0x4 - 1052e1: 88 15 0c d0 10 00 mov BYTE PTR ds:0x10d00c,dl - 1052e7: 83 e0 0f and eax,0xf - 1052ea: a2 0d d0 10 00 mov ds:0x10d00d,al - 1052ef: 80 fa 06 cmp dl,0x6 - 1052f2: 7e 07 jle 1052fb - 1052f4: c6 05 0c d0 10 00 00 mov BYTE PTR ds:0x10d00c,0x0 - 1052fb: 3c 06 cmp al,0x6 - 1052fd: 7e 07 jle 105306 - 1052ff: c6 05 0d d0 10 00 00 mov BYTE PTR ds:0x10d00d,0x0 - 105306: 80 3d 0c d0 10 00 00 cmp BYTE PTR ds:0x10d00c,0x0 - 10530d: 75 32 jne 105341 - 10530f: 80 3d 0d d0 10 00 00 cmp BYTE PTR ds:0x10d00d,0x0 - 105316: 75 29 jne 105341 - 105318: c7 44 24 08 f0 a7 10 mov DWORD PTR [esp+0x8],0x10a7f0 - 10531f: 00 - 105320: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 105327: 00 - 105328: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 10532f: e8 74 1f 00 00 call 1072a8 - 105334: b0 00 mov al,0x0 - 105336: ba f2 03 00 00 mov edx,0x3f2 - 10533b: ee out dx,al - 10533c: e9 7f 01 00 00 jmp 1054c0 - 105341: 0f be 05 0d d0 10 00 movsx eax,BYTE PTR ds:0x10d00d - 105348: 8d 04 80 lea eax,[eax+eax*4] - 10534b: 8b 34 c5 04 c2 10 00 mov esi,DWORD PTR [eax*8+0x10c204] - 105352: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 105359: 00 - 10535a: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3 - 105361: e8 f5 d5 ff ff call 10295b - 105366: 88 c3 mov bl,al - 105368: 0f be 05 0c d0 10 00 movsx eax,BYTE PTR ds:0x10d00c - 10536f: 8d 04 80 lea eax,[eax+eax*4] - 105372: 8b 3c c5 04 c2 10 00 mov edi,DWORD PTR [eax*8+0x10c204] - 105379: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 105380: 00 - 105381: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3 - 105388: e8 ce d5 ff ff call 10295b - 10538d: 89 74 24 20 mov DWORD PTR [esp+0x20],esi - 105391: 81 e3 ff 00 00 00 and ebx,0xff - 105397: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx - 10539b: c7 44 24 18 0b 00 00 mov DWORD PTR [esp+0x18],0xb - 1053a2: 00 - 1053a3: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi - 1053a7: 25 ff 00 00 00 and eax,0xff - 1053ac: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1053b0: c7 44 24 0c 0b 00 00 mov DWORD PTR [esp+0xc],0xb - 1053b7: 00 - 1053b8: c7 44 24 08 14 a8 10 mov DWORD PTR [esp+0x8],0x10a814 - 1053bf: 00 - 1053c0: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 1053c7: 00 - 1053c8: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1053cf: e8 d4 1e 00 00 call 1072a8 - 1053d4: e8 0e fe ff ff call 1051e7 - 1053d9: e8 86 fb ff ff call 104f64 - 1053de: c7 04 24 94 00 00 00 mov DWORD PTR [esp],0x94 - 1053e5: e8 45 fb ff ff call 104f2f - 1053ea: e8 ac fb ff ff call 104f9b - 1053ef: 80 3d 0c d0 10 00 04 cmp BYTE PTR ds:0x10d00c,0x4 - 1053f6: 7e 18 jle 105410 - 1053f8: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12 - 1053ff: e8 2b fb ff ff call 104f2f - 105404: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 10540b: e8 1f fb ff ff call 104f2f - 105410: 80 3d 0d d0 10 00 04 cmp BYTE PTR ds:0x10d00d,0x4 - 105417: 7e 18 jle 105431 - 105419: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12 - 105420: e8 0a fb ff ff call 104f2f - 105425: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 10542c: e8 fe fa ff ff call 104f2f - 105431: e8 76 fa ff ff call 104eac - 105436: a0 0c d0 10 00 mov al,ds:0x10d00c - 10543b: 84 c0 test al,al - 10543d: 74 3c je 10547b - 10543f: 0f be c0 movsx eax,al - 105442: 8d 04 80 lea eax,[eax+eax*4] - 105445: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4] - 10544c: c1 e0 09 shl eax,0x9 - 10544f: 3d 00 24 00 00 cmp eax,0x2400 - 105454: 76 05 jbe 10545b - 105456: b8 00 24 00 00 mov eax,0x2400 - 10545b: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 10545f: c7 44 24 08 e4 5a 10 mov DWORD PTR [esp+0x8],0x105ae4 - 105466: 00 - 105467: c7 44 24 04 ee 58 10 mov DWORD PTR [esp+0x4],0x1058ee - 10546e: 00 - 10546f: c7 04 24 81 a7 10 00 mov DWORD PTR [esp],0x10a781 - 105476: e8 7a 42 00 00 call 1096f5 - 10547b: a0 0d d0 10 00 mov al,ds:0x10d00d - 105480: 84 c0 test al,al - 105482: 74 3c je 1054c0 - 105484: 0f be c0 movsx eax,al - 105487: 8d 04 80 lea eax,[eax+eax*4] - 10548a: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4] - 105491: c1 e0 09 shl eax,0x9 - 105494: 3d 00 24 00 00 cmp eax,0x2400 - 105499: 76 05 jbe 1054a0 - 10549b: b8 00 24 00 00 mov eax,0x2400 - 1054a0: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 1054a4: c7 44 24 08 ad 5a 10 mov DWORD PTR [esp+0x8],0x105aad - 1054ab: 00 - 1054ac: c7 44 24 04 ac 58 10 mov DWORD PTR [esp+0x4],0x1058ac - 1054b3: 00 - 1054b4: c7 04 24 85 a7 10 00 mov DWORD PTR [esp],0x10a785 - 1054bb: e8 35 42 00 00 call 1096f5 - 1054c0: 83 c4 30 add esp,0x30 - 1054c3: 5b pop ebx - 1054c4: 5e pop esi - 1054c5: 5f pop edi - 1054c6: c3 ret - -001054c7 : - 1054c7: 55 push ebp - 1054c8: 57 push edi - 1054c9: 56 push esi - 1054ca: 53 push ebx - 1054cb: 83 ec 2c sub esp,0x2c - 1054ce: 8a 44 24 40 mov al,BYTE PTR [esp+0x40] - 1054d2: 0f b6 74 24 44 movzx esi,BYTE PTR [esp+0x44] - 1054d7: 8a 54 24 48 mov dl,BYTE PTR [esp+0x48] - 1054db: 3c 01 cmp al,0x1 - 1054dd: 0f 87 8f 00 00 00 ja 105572 - 1054e3: 8d 3c 95 00 00 00 00 lea edi,[edx*4+0x0] - 1054ea: 09 f8 or eax,edi - 1054ec: 25 ff 00 00 00 and eax,0xff - 1054f1: 89 c7 mov edi,eax - 1054f3: b3 0a mov bl,0xa - 1054f5: 89 f0 mov eax,esi - 1054f7: 25 ff 00 00 00 and eax,0xff - 1054fc: 89 c5 mov ebp,eax - 1054fe: 31 d2 xor edx,edx - 105500: 88 da mov dl,bl - 105502: b8 0b 00 00 00 mov eax,0xb - 105507: 29 d0 sub eax,edx - 105509: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 10550d: c7 44 24 08 89 a7 10 mov DWORD PTR [esp+0x8],0x10a789 - 105514: 00 - 105515: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 10551c: 00 - 10551d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105524: e8 7f 1d 00 00 call 1072a8 - 105529: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0 - 105530: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf - 105537: e8 f3 f9 ff ff call 104f2f - 10553c: 89 3c 24 mov DWORD PTR [esp],edi - 10553f: e8 eb f9 ff ff call 104f2f - 105544: 89 2c 24 mov DWORD PTR [esp],ebp - 105547: e8 e3 f9 ff ff call 104f2f - 10554c: e8 07 f9 ff ff call 104e58 - 105551: 8d 44 24 1e lea eax,[esp+0x1e] - 105555: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105559: 8d 44 24 1f lea eax,[esp+0x1f] - 10555d: 89 04 24 mov DWORD PTR [esp],eax - 105560: e8 65 fa ff ff call 104fca - 105565: 4b dec ebx - 105566: 89 f0 mov eax,esi - 105568: 38 44 24 1e cmp BYTE PTR [esp+0x1e],al - 10556c: 74 04 je 105572 - 10556e: 84 db test bl,bl - 105570: 75 8c jne 1054fe - 105572: 83 c4 2c add esp,0x2c - 105575: 5b pop ebx - 105576: 5e pop esi - 105577: 5f pop edi - 105578: 5d pop ebp - 105579: c3 ret - -0010557a : - 10557a: 55 push ebp - 10557b: 57 push edi - 10557c: 56 push esi - 10557d: 53 push ebx - 10557e: 83 ec 3c sub esp,0x3c - 105581: 8a 44 24 50 mov al,BYTE PTR [esp+0x50] - 105585: 88 44 24 15 mov BYTE PTR [esp+0x15],al - 105589: 8a 54 24 54 mov dl,BYTE PTR [esp+0x54] - 10558d: 8a 4c 24 58 mov cl,BYTE PTR [esp+0x58] - 105591: 8a 44 24 5c mov al,BYTE PTR [esp+0x5c] - 105595: 88 44 24 16 mov BYTE PTR [esp+0x16],al - 105599: 8a 44 24 60 mov al,BYTE PTR [esp+0x60] - 10559d: 88 44 24 17 mov BYTE PTR [esp+0x17],al - 1055a1: 80 fa 01 cmp dl,0x1 - 1055a4: 0f 87 7d 01 00 00 ja 105727 - 1055aa: a0 0d d0 10 00 mov al,ds:0x10d00d - 1055af: 84 d2 test dl,dl - 1055b1: 75 05 jne 1055b8 - 1055b3: a0 0c d0 10 00 mov al,ds:0x10d00c - 1055b8: 81 e1 ff 00 00 00 and ecx,0xff - 1055be: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx - 1055c2: c1 e1 02 shl ecx,0x2 - 1055c5: 09 ca or edx,ecx - 1055c7: 81 e2 ff 00 00 00 and edx,0xff - 1055cd: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx - 1055d1: c6 44 24 14 0a mov BYTE PTR [esp+0x14],0xa - 1055d6: 25 ff 00 00 00 and eax,0xff - 1055db: 89 c7 mov edi,eax - 1055dd: 8d 2c 85 00 00 00 00 lea ebp,[eax*4+0x0] - 1055e4: 31 c0 xor eax,eax - 1055e6: 8a 44 24 14 mov al,BYTE PTR [esp+0x14] - 1055ea: ba 0b 00 00 00 mov edx,0xb - 1055ef: 29 c2 sub edx,eax - 1055f1: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 1055f5: c7 44 24 08 44 a8 10 mov DWORD PTR [esp+0x8],0x10a844 - 1055fc: 00 - 1055fd: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 105604: 00 - 105605: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10560c: e8 97 1c 00 00 call 1072a8 - 105611: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0 - 105618: 80 7c 24 15 00 cmp BYTE PTR [esp+0x15],0x0 - 10561d: 74 0e je 10562d - 10561f: c7 04 24 c5 00 00 00 mov DWORD PTR [esp],0xc5 - 105626: e8 04 f9 ff ff call 104f2f - 10562b: eb 0c jmp 105639 - 10562d: c7 04 24 c6 00 00 00 mov DWORD PTR [esp],0xc6 - 105634: e8 f6 f8 ff ff call 104f2f - 105639: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 10563d: 89 04 24 mov DWORD PTR [esp],eax - 105640: e8 ea f8 ff ff call 104f2f - 105645: 31 c0 xor eax,eax - 105647: 8a 44 24 16 mov al,BYTE PTR [esp+0x16] - 10564b: 89 04 24 mov DWORD PTR [esp],eax - 10564e: e8 dc f8 ff ff call 104f2f - 105653: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 105657: 89 04 24 mov DWORD PTR [esp],eax - 10565a: e8 d0 f8 ff ff call 104f2f - 10565f: 31 c0 xor eax,eax - 105661: 8a 44 24 17 mov al,BYTE PTR [esp+0x17] - 105665: 89 04 24 mov DWORD PTR [esp],eax - 105668: e8 c2 f8 ff ff call 104f2f - 10566d: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105674: e8 b6 f8 ff ff call 104f2f - 105679: 8d 44 3d 00 lea eax,[ebp+edi*1+0x0] - 10567d: 8a 04 c5 e4 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1e4] - 105684: 25 ff 00 00 00 and eax,0xff - 105689: 89 04 24 mov DWORD PTR [esp],eax - 10568c: e8 9e f8 ff ff call 104f2f - 105691: 8d 44 3d 00 lea eax,[ebp+edi*1+0x0] - 105695: 8a 04 c5 f0 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1f0] - 10569c: 25 ff 00 00 00 and eax,0xff - 1056a1: 89 04 24 mov DWORD PTR [esp],eax - 1056a4: e8 86 f8 ff ff call 104f2f - 1056a9: c7 04 24 ff 00 00 00 mov DWORD PTR [esp],0xff - 1056b0: e8 7a f8 ff ff call 104f2f - 1056b5: e8 9e f7 ff ff call 104e58 - 1056ba: 8d 5c 24 29 lea ebx,[esp+0x29] - 1056be: 8d 74 24 30 lea esi,[esp+0x30] - 1056c2: e8 d4 f8 ff ff call 104f9b - 1056c7: 88 03 mov BYTE PTR [ebx],al - 1056c9: 43 inc ebx - 1056ca: 39 f3 cmp ebx,esi - 1056cc: 75 f4 jne 1056c2 - 1056ce: 31 c0 xor eax,eax - 1056d0: 8a 44 24 2a mov al,BYTE PTR [esp+0x2a] - 1056d4: a8 02 test al,0x2 - 1056d6: 74 1e je 1056f6 - 1056d8: c7 44 24 08 6c a8 10 mov DWORD PTR [esp+0x8],0x10a86c - 1056df: 00 - 1056e0: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 1056e7: 00 - 1056e8: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1056ef: e8 b4 1b 00 00 call 1072a8 - 1056f4: eb 31 jmp 105727 - 1056f6: 8a 4c 24 29 mov cl,BYTE PTR [esp+0x29] - 1056fa: b2 01 mov dl,0x1 - 1056fc: a8 b5 test al,0xb5 - 1056fe: 75 06 jne 105706 - 105700: f6 c1 c8 test cl,0xc8 - 105703: 0f 95 c2 setne dl - 105706: 31 c0 xor eax,eax - 105708: 8a 44 24 2b mov al,BYTE PTR [esp+0x2b] - 10570c: a8 77 test al,0x77 - 10570e: 74 02 je 105712 - 105710: b2 01 mov dl,0x1 - 105712: f6 44 24 2f 02 test BYTE PTR [esp+0x2f],0x2 - 105717: 75 0e jne 105727 - 105719: fe 4c 24 14 dec BYTE PTR [esp+0x14] - 10571d: 74 08 je 105727 - 10571f: 84 d2 test dl,dl - 105721: 0f 84 bd fe ff ff je 1055e4 - 105727: 83 c4 3c add esp,0x3c - 10572a: 5b pop ebx - 10572b: 5e pop esi - 10572c: 5f pop edi - 10572d: 5d pop ebp - 10572e: c3 ret - -0010572f : - 10572f: 56 push esi - 105730: 53 push ebx - 105731: 83 ec 34 sub esp,0x34 - 105734: 8b 74 24 44 mov esi,DWORD PTR [esp+0x44] - 105738: 8a 5c 24 40 mov bl,BYTE PTR [esp+0x40] - 10573c: b8 00 00 00 00 mov eax,0x0 - 105741: 80 fb 01 cmp bl,0x1 - 105744: 0f 87 5c 01 00 00 ja 1058a6 - 10574a: a0 0d d0 10 00 mov al,ds:0x10d00d - 10574f: 84 db test bl,bl - 105751: 75 05 jne 105758 - 105753: a0 0c d0 10 00 mov al,ds:0x10d00c - 105758: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0 - 10575f: 00 - 105760: c7 44 24 28 00 00 00 mov DWORD PTR [esp+0x28],0x0 - 105767: 00 - 105768: c7 44 24 24 01 00 00 mov DWORD PTR [esp+0x24],0x1 - 10576f: 00 - 105770: 8d 54 24 24 lea edx,[esp+0x24] - 105774: 89 54 24 10 mov DWORD PTR [esp+0x10],edx - 105778: 8d 54 24 28 lea edx,[esp+0x28] - 10577c: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 105780: 8d 54 24 2c lea edx,[esp+0x2c] - 105784: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 105788: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10578c: 25 ff 00 00 00 and eax,0xff - 105791: 8d 04 80 lea eax,[eax+eax*4] - 105794: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4] - 10579b: 89 04 24 mov DWORD PTR [esp],eax - 10579e: e8 29 35 00 00 call 108ccc - 1057a3: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 1057a7: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 1057ab: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 1057af: 89 44 24 14 mov DWORD PTR [esp+0x14],eax - 1057b3: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 1057b7: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1057bb: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 1057bf: c7 44 24 08 90 a8 10 mov DWORD PTR [esp+0x8],0x10a890 - 1057c6: 00 - 1057c7: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 1057ce: 00 - 1057cf: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1057d6: e8 cd 1a 00 00 call 1072a8 - 1057db: e8 cc f6 ff ff call 104eac - 1057e0: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4 - 1057e7: e8 ec 33 00 00 call 108bd8 - 1057ec: 25 c0 00 00 00 and eax,0xc0 - 1057f1: 3d 80 00 00 00 cmp eax,0x80 - 1057f6: 74 05 je 1057fd - 1057f8: e8 ea f9 ff ff call 1051e7 - 1057fd: 81 e3 ff 00 00 00 and ebx,0xff - 105803: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 10580a: 00 - 10580b: 89 1c 24 mov DWORD PTR [esp],ebx - 10580e: e8 33 f8 ff ff call 105046 - 105813: 89 1c 24 mov DWORD PTR [esp],ebx - 105816: e8 fa f8 ff ff call 105115 - 10581b: 31 c0 xor eax,eax - 10581d: 8a 44 24 28 mov al,BYTE PTR [esp+0x28] - 105821: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 105825: 31 c0 xor eax,eax - 105827: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c] - 10582b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10582f: 89 1c 24 mov DWORD PTR [esp],ebx - 105832: e8 90 fc ff ff call 1054c7 - 105837: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 10583e: e8 fb f2 ff ff call 104b3e - 105843: c7 44 24 04 46 00 00 mov DWORD PTR [esp+0x4],0x46 - 10584a: 00 - 10584b: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105852: e8 1a f3 ff ff call 104b71 - 105857: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 10585e: e8 f6 f2 ff ff call 104b59 - 105863: 31 c0 xor eax,eax - 105865: 8a 44 24 24 mov al,BYTE PTR [esp+0x24] - 105869: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 10586d: 31 c0 xor eax,eax - 10586f: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c] - 105873: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 105877: 31 c0 xor eax,eax - 105879: 8a 44 24 28 mov al,BYTE PTR [esp+0x28] - 10587d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 105881: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 105885: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10588c: e8 e9 fc ff ff call 10557a - 105891: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105898: 00 - 105899: 89 1c 24 mov DWORD PTR [esp],ebx - 10589c: e8 a5 f7 ff ff call 105046 - 1058a1: b8 00 10 00 00 mov eax,0x1000 - 1058a6: 83 c4 34 add esp,0x34 - 1058a9: 5b pop ebx - 1058aa: 5e pop esi - 1058ab: c3 ret - -001058ac : - 1058ac: 53 push ebx - 1058ad: 83 ec 18 sub esp,0x18 - 1058b0: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 1058b4: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1058b8: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1058bc: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1058c3: e8 67 fe ff ff call 10572f - 1058c8: ba 00 00 00 00 mov edx,0x0 - 1058cd: 85 c0 test eax,eax - 1058cf: 74 16 je 1058e7 - 1058d1: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400 - 1058d8: 00 - 1058d9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1058dd: 89 1c 24 mov DWORD PTR [esp],ebx - 1058e0: e8 23 27 00 00 call 108008 - 1058e5: 89 da mov edx,ebx - 1058e7: 89 d0 mov eax,edx - 1058e9: 83 c4 18 add esp,0x18 - 1058ec: 5b pop ebx - 1058ed: c3 ret - -001058ee : - 1058ee: 53 push ebx - 1058ef: 83 ec 18 sub esp,0x18 - 1058f2: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 1058f6: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1058fa: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1058fe: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105905: e8 25 fe ff ff call 10572f - 10590a: ba 00 00 00 00 mov edx,0x0 - 10590f: 85 c0 test eax,eax - 105911: 74 16 je 105929 - 105913: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400 - 10591a: 00 - 10591b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10591f: 89 1c 24 mov DWORD PTR [esp],ebx - 105922: e8 e1 26 00 00 call 108008 - 105927: 89 da mov edx,ebx - 105929: 89 d0 mov eax,edx - 10592b: 83 c4 18 add esp,0x18 - 10592e: 5b pop ebx - 10592f: c3 ret - -00105930 : - 105930: 56 push esi - 105931: 53 push ebx - 105932: 83 ec 34 sub esp,0x34 - 105935: 8b 74 24 44 mov esi,DWORD PTR [esp+0x44] - 105939: 8a 5c 24 40 mov bl,BYTE PTR [esp+0x40] - 10593d: b8 00 00 00 00 mov eax,0x0 - 105942: 80 fb 01 cmp bl,0x1 - 105945: 0f 87 5c 01 00 00 ja 105aa7 - 10594b: a0 0d d0 10 00 mov al,ds:0x10d00d - 105950: 84 db test bl,bl - 105952: 75 05 jne 105959 - 105954: a0 0c d0 10 00 mov al,ds:0x10d00c - 105959: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0 - 105960: 00 - 105961: c7 44 24 28 00 00 00 mov DWORD PTR [esp+0x28],0x0 - 105968: 00 - 105969: c7 44 24 24 01 00 00 mov DWORD PTR [esp+0x24],0x1 - 105970: 00 - 105971: 8d 54 24 24 lea edx,[esp+0x24] - 105975: 89 54 24 10 mov DWORD PTR [esp+0x10],edx - 105979: 8d 54 24 28 lea edx,[esp+0x28] - 10597d: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 105981: 8d 54 24 2c lea edx,[esp+0x2c] - 105985: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 105989: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10598d: 25 ff 00 00 00 and eax,0xff - 105992: 8d 04 80 lea eax,[eax+eax*4] - 105995: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4] - 10599c: 89 04 24 mov DWORD PTR [esp],eax - 10599f: e8 28 33 00 00 call 108ccc - 1059a4: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 1059a8: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 1059ac: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 1059b0: 89 44 24 14 mov DWORD PTR [esp+0x14],eax - 1059b4: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 1059b8: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1059bc: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 1059c0: c7 44 24 08 90 a8 10 mov DWORD PTR [esp+0x8],0x10a890 - 1059c7: 00 - 1059c8: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722 - 1059cf: 00 - 1059d0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1059d7: e8 cc 18 00 00 call 1072a8 - 1059dc: e8 cb f4 ff ff call 104eac - 1059e1: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4 - 1059e8: e8 eb 31 00 00 call 108bd8 - 1059ed: 25 c0 00 00 00 and eax,0xc0 - 1059f2: 3d 80 00 00 00 cmp eax,0x80 - 1059f7: 74 05 je 1059fe - 1059f9: e8 e9 f7 ff ff call 1051e7 - 1059fe: 81 e3 ff 00 00 00 and ebx,0xff - 105a04: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 105a0b: 00 - 105a0c: 89 1c 24 mov DWORD PTR [esp],ebx - 105a0f: e8 32 f6 ff ff call 105046 - 105a14: 89 1c 24 mov DWORD PTR [esp],ebx - 105a17: e8 f9 f6 ff ff call 105115 - 105a1c: 31 c0 xor eax,eax - 105a1e: 8a 44 24 28 mov al,BYTE PTR [esp+0x28] - 105a22: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 105a26: 31 c0 xor eax,eax - 105a28: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c] - 105a2c: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105a30: 89 1c 24 mov DWORD PTR [esp],ebx - 105a33: e8 8f fa ff ff call 1054c7 - 105a38: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105a3f: e8 fa f0 ff ff call 104b3e - 105a44: c7 44 24 04 4a 00 00 mov DWORD PTR [esp+0x4],0x4a - 105a4b: 00 - 105a4c: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105a53: e8 19 f1 ff ff call 104b71 - 105a58: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105a5f: e8 f5 f0 ff ff call 104b59 - 105a64: 31 c0 xor eax,eax - 105a66: 8a 44 24 24 mov al,BYTE PTR [esp+0x24] - 105a6a: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 105a6e: 31 c0 xor eax,eax - 105a70: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c] - 105a74: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 105a78: 31 c0 xor eax,eax - 105a7a: 8a 44 24 28 mov al,BYTE PTR [esp+0x28] - 105a7e: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 105a82: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 105a86: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105a8d: e8 e8 fa ff ff call 10557a - 105a92: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105a99: 00 - 105a9a: 89 1c 24 mov DWORD PTR [esp],ebx - 105a9d: e8 a4 f5 ff ff call 105046 - 105aa2: b8 00 10 00 00 mov eax,0x1000 - 105aa7: 83 c4 34 add esp,0x34 - 105aaa: 5b pop ebx - 105aab: 5e pop esi - 105aac: c3 ret - -00105aad : - 105aad: 83 ec 1c sub esp,0x1c - 105ab0: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400 - 105ab7: 00 - 105ab8: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 105abc: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105ac0: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000 - 105ac7: e8 3c 25 00 00 call 108008 - 105acc: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 105ad0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105ad4: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 105adb: e8 50 fe ff ff call 105930 - 105ae0: 83 c4 1c add esp,0x1c - 105ae3: c3 ret - -00105ae4 : - 105ae4: 83 ec 1c sub esp,0x1c - 105ae7: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400 - 105aee: 00 - 105aef: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 105af3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105af7: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000 - 105afe: e8 05 25 00 00 call 108008 - 105b03: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 105b07: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105b0b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105b12: e8 19 fe ff ff call 105930 - 105b17: 83 c4 1c add esp,0x1c - 105b1a: c3 ret - 105b1b: 00 00 add BYTE PTR [eax],al - 105b1d: 00 00 add BYTE PTR [eax],al - ... - -00105b20 : - 105b20: 0f 01 15 20 d0 10 00 lgdtd ds:0x10d020 - 105b27: 66 b8 10 00 mov ax,0x10 - 105b2b: 8e d8 mov ds,eax - 105b2d: 8e c0 mov es,eax - 105b2f: 8e e0 mov fs,eax - 105b31: 8e e8 mov gs,eax - 105b33: 8e d0 mov ss,eax - 105b35: ea 3c 5b 10 00 08 00 jmp 0x8:0x105b3c - -00105b3c : - 105b3c: c3 ret - 105b3d: 00 00 add BYTE PTR [eax],al - ... - -00105b40 : - 105b40: 55 push ebp - 105b41: 57 push edi - 105b42: 56 push esi - 105b43: 53 push ebx - 105b44: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 105b48: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18] - 105b4c: 8b 6c 24 1c mov ebp,DWORD PTR [esp+0x1c] - 105b50: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20] - 105b54: 0f b6 74 24 24 movzx esi,BYTE PTR [esp+0x24] - 105b59: 83 f8 04 cmp eax,0x4 - 105b5c: 7f 43 jg 105ba1 - 105b5e: 66 89 14 c5 42 d0 10 mov WORD PTR [eax*8+0x10d042],dx - 105b65: 00 - 105b66: 89 d7 mov edi,edx - 105b68: c1 ef 10 shr edi,0x10 - 105b6b: 89 f9 mov ecx,edi - 105b6d: 88 0c c5 44 d0 10 00 mov BYTE PTR [eax*8+0x10d044],cl - 105b74: c1 ea 18 shr edx,0x18 - 105b77: 88 14 c5 47 d0 10 00 mov BYTE PTR [eax*8+0x10d047],dl - 105b7e: 66 89 2c c5 40 d0 10 mov WORD PTR [eax*8+0x10d040],bp - 105b85: 00 - 105b86: 83 e6 f0 and esi,0xfffffff0 - 105b89: 89 e9 mov ecx,ebp - 105b8b: c1 e9 10 shr ecx,0x10 - 105b8e: 83 e1 0f and ecx,0xf - 105b91: 09 f1 or ecx,esi - 105b93: 88 0c c5 46 d0 10 00 mov BYTE PTR [eax*8+0x10d046],cl - 105b9a: 88 1c c5 45 d0 10 00 mov BYTE PTR [eax*8+0x10d045],bl - 105ba1: 5b pop ebx - 105ba2: 5e pop esi - 105ba3: 5f pop edi - 105ba4: 5d pop ebp - 105ba5: c3 ret - -00105ba6 : - 105ba6: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 105baa: b8 00 00 00 00 mov eax,0x0 - 105baf: 83 fa 05 cmp edx,0x5 - 105bb2: 7f 07 jg 105bbb - 105bb4: 8d 04 d5 40 d0 10 00 lea eax,[edx*8+0x10d040] - 105bbb: c3 ret - -00105bbc : - 105bbc: 83 ec 2c sub esp,0x2c - 105bbf: 66 c7 05 20 d0 10 00 mov WORD PTR ds:0x10d020,0x17 - 105bc6: 17 00 - 105bc8: c7 05 22 d0 10 00 40 mov DWORD PTR ds:0x10d022,0x10d040 - 105bcf: d0 10 00 - 105bd2: c7 44 24 10 00 00 00 mov DWORD PTR [esp+0x10],0x0 - 105bd9: 00 - 105bda: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0 - 105be1: 00 - 105be2: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0 - 105be9: 00 - 105bea: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105bf1: 00 - 105bf2: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105bf9: e8 42 ff ff ff call 105b40 - 105bfe: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf - 105c05: 00 - 105c06: c7 44 24 0c 9a 00 00 mov DWORD PTR [esp+0xc],0x9a - 105c0d: 00 - 105c0e: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff - 105c15: ff - 105c16: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105c1d: 00 - 105c1e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 105c25: e8 16 ff ff ff call 105b40 - 105c2a: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf - 105c31: 00 - 105c32: c7 44 24 0c 92 00 00 mov DWORD PTR [esp+0xc],0x92 - 105c39: 00 - 105c3a: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff - 105c41: ff - 105c42: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105c49: 00 - 105c4a: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 105c51: e8 ea fe ff ff call 105b40 - 105c56: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf - 105c5d: 00 - 105c5e: c7 44 24 0c fa 00 00 mov DWORD PTR [esp+0xc],0xfa - 105c65: 00 - 105c66: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff - 105c6d: ff - 105c6e: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105c75: 00 - 105c76: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3 - 105c7d: e8 be fe ff ff call 105b40 - 105c82: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf - 105c89: 00 - 105c8a: c7 44 24 0c f2 00 00 mov DWORD PTR [esp+0xc],0xf2 - 105c91: 00 - 105c92: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff - 105c99: ff - 105c9a: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105ca1: 00 - 105ca2: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 105ca9: e8 92 fe ff ff call 105b40 - 105cae: e8 6d fe ff ff call 105b20 - 105cb3: 83 c4 2c add esp,0x2c - 105cb6: c3 ret - ... - -00105cb8 : - 105cb8: 83 ec 1c sub esp,0x1c - 105cbb: e8 fc fe ff ff call 105bbc - 105cc0: c7 44 24 08 bc a8 10 mov DWORD PTR [esp+0x8],0x10a8bc - 105cc7: 00 - 105cc8: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105ccf: 00 - 105cd0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105cd7: e8 cc 15 00 00 call 1072a8 - 105cdc: e8 72 01 00 00 call 105e53 - 105ce1: c7 44 24 08 cf a8 10 mov DWORD PTR [esp+0x8],0x10a8cf - 105ce8: 00 - 105ce9: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105cf0: 00 - 105cf1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105cf8: e8 ab 15 00 00 call 1072a8 - 105cfd: e8 ce 0b 00 00 call 1068d0 - 105d02: c7 44 24 08 de a8 10 mov DWORD PTR [esp+0x8],0x10a8de - 105d09: 00 - 105d0a: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105d11: 00 - 105d12: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105d19: e8 8a 15 00 00 call 1072a8 - 105d1e: e8 09 07 00 00 call 10642c - 105d23: c7 44 24 08 ee a8 10 mov DWORD PTR [esp+0x8],0x10a8ee - 105d2a: 00 - 105d2b: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105d32: 00 - 105d33: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105d3a: e8 69 15 00 00 call 1072a8 - 105d3f: fb sti - 105d40: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd - 105d47: 00 - 105d48: c7 44 24 08 fe a8 10 mov DWORD PTR [esp+0x8],0x10a8fe - 105d4f: 00 - 105d50: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105d57: 00 - 105d58: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105d5f: e8 44 15 00 00 call 1072a8 - 105d64: c7 44 24 04 a0 20 10 mov DWORD PTR [esp+0x4],0x1020a0 - 105d6b: 00 - 105d6c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105d73: e8 94 06 00 00 call 10640c - 105d78: c7 44 24 04 00 71 10 mov DWORD PTR [esp+0x4],0x107100 - 105d7f: 00 - 105d80: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 105d87: e8 80 06 00 00 call 10640c - 105d8c: c7 44 24 04 1c 86 10 mov DWORD PTR [esp+0x4],0x10861c - 105d93: 00 - 105d94: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc - 105d9b: e8 6c 06 00 00 call 10640c - 105da0: e8 cb 13 00 00 call 107170 - 105da5: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa - 105dac: 00 - 105dad: c7 44 24 08 24 a9 10 mov DWORD PTR [esp+0x8],0x10a924 - 105db4: 00 - 105db5: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105dbc: 00 - 105dbd: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105dc4: e8 df 14 00 00 call 1072a8 - 105dc9: e8 d2 13 00 00 call 1071a0 - 105dce: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa - 105dd5: 00 - 105dd6: c7 44 24 08 1b a9 10 mov DWORD PTR [esp+0x8],0x10a91b - 105ddd: 00 - 105dde: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb - 105de5: 00 - 105de6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105ded: e8 b6 14 00 00 call 1072a8 - 105df2: e8 19 36 00 00 call 109410 - 105df7: 83 c4 1c add esp,0x1c - 105dfa: c3 ret - 105dfb: 00 00 add BYTE PTR [eax],al - 105dfd: 00 00 add BYTE PTR [eax],al - ... - -00105e00 : - 105e00: 0f 01 1d 80 d0 10 00 lidtd ds:0x10d080 - 105e07: c3 ret - -00105e08 : - 105e08: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 105e0c: 31 c0 xor eax,eax - 105e0e: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 105e12: 66 89 14 c5 a0 d0 10 mov WORD PTR [eax*8+0x10d0a0],dx - 105e19: 00 - 105e1a: c1 ea 10 shr edx,0x10 - 105e1d: 66 89 14 c5 a6 d0 10 mov WORD PTR [eax*8+0x10d0a6],dx - 105e24: 00 - 105e25: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc] - 105e29: 66 89 14 c5 a2 d0 10 mov WORD PTR [eax*8+0x10d0a2],dx - 105e30: 00 - 105e31: c6 04 c5 a4 d0 10 00 mov BYTE PTR [eax*8+0x10d0a4],0x0 - 105e38: 00 - 105e39: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10] - 105e3d: 88 14 c5 a5 d0 10 00 mov BYTE PTR [eax*8+0x10d0a5],dl - 105e44: c3 ret - -00105e45 : - 105e45: 31 c0 xor eax,eax - 105e47: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 105e4b: 8d 04 c5 a0 d0 10 00 lea eax,[eax*8+0x10d0a0] - 105e52: c3 ret - -00105e53 : - 105e53: 83 ec 1c sub esp,0x1c - 105e56: 66 c7 05 80 d0 10 00 mov WORD PTR ds:0x10d080,0x7ff - 105e5d: ff 07 - 105e5f: c7 05 82 d0 10 00 a0 mov DWORD PTR ds:0x10d082,0x10d0a0 - 105e66: d0 10 00 - 105e69: c7 44 24 08 00 08 00 mov DWORD PTR [esp+0x8],0x800 - 105e70: 00 - 105e71: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 105e78: 00 - 105e79: c7 04 24 a0 d0 10 00 mov DWORD PTR [esp],0x10d0a0 - 105e80: e8 f2 21 00 00 call 108077 - 105e85: e8 76 ff ff ff call 105e00 - 105e8a: 83 c4 1c add esp,0x1c - 105e8d: c3 ret - ... - -00105e90 : - 105e90: b8 90 aa 23 cc mov eax,0xcc23aa90 - 105e95: c3 ret - -00105e96 : - 105e96: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 105e9a: c7 40 24 00 00 00 00 mov DWORD PTR [eax+0x24],0x0 - 105ea1: c7 40 20 00 00 00 00 mov DWORD PTR [eax+0x20],0x0 - 105ea8: c7 40 1c 00 00 00 00 mov DWORD PTR [eax+0x1c],0x0 - 105eaf: c3 ret - -00105eb0 : - 105eb0: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc] - 105eb4: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 105eb8: 8b 48 1c mov ecx,DWORD PTR [eax+0x1c] - 105ebb: b8 00 00 00 00 mov eax,0x0 - 105ec0: 39 11 cmp DWORD PTR [ecx],edx - 105ec2: 76 0e jbe 105ed2 - 105ec4: 8d 04 92 lea eax,[edx+edx*4] - 105ec7: 89 c2 mov edx,eax - 105ec9: c1 e2 04 shl edx,0x4 - 105ecc: 29 c2 sub edx,eax - 105ece: 8d 44 91 04 lea eax,[ecx+edx*4+0x4] - 105ed2: c3 ret - -00105ed3 : - 105ed3: 56 push esi - 105ed4: 53 push ebx - 105ed5: 83 ec 14 sub esp,0x14 - 105ed8: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 105edc: 8b 43 20 mov eax,DWORD PTR [ebx+0x20] - 105edf: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c] - 105ee3: 0f af 54 24 28 imul edx,DWORD PTR [esp+0x28] - 105ee8: 8b 4b 24 mov ecx,DWORD PTR [ebx+0x24] - 105eeb: 29 c1 sub ecx,eax - 105eed: 89 d6 mov esi,edx - 105eef: 39 ca cmp edx,ecx - 105ef1: 76 02 jbe 105ef5 - 105ef3: 89 ce mov esi,ecx - 105ef5: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 105ef9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105efd: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 105f01: 89 04 24 mov DWORD PTR [esp],eax - 105f04: e8 ff 20 00 00 call 108008 - 105f09: 01 73 20 add DWORD PTR [ebx+0x20],esi - 105f0c: 89 f0 mov eax,esi - 105f0e: 83 c4 14 add esp,0x14 - 105f11: 5b pop ebx - 105f12: 5e pop esi - 105f13: c3 ret - -00105f14 : - 105f14: 56 push esi - 105f15: 53 push ebx - 105f16: 83 ec 14 sub esp,0x14 - 105f19: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20] - 105f1d: 8b 43 48 mov eax,DWORD PTR [ebx+0x48] - 105f20: 89 04 24 mov DWORD PTR [esp],eax - 105f23: e8 d9 22 00 00 call 108201 - 105f28: 89 c6 mov esi,eax - 105f2a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 105f2e: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 105f35: ff 53 4c call DWORD PTR [ebx+0x4c] - 105f38: 89 c3 mov ebx,eax - 105f3a: 89 34 24 mov DWORD PTR [esp],esi - 105f3d: e8 26 24 00 00 call 108368 - 105f42: 81 fb 90 aa 23 cc cmp ebx,0xcc23aa90 - 105f48: 0f 94 c0 sete al - 105f4b: 25 ff 00 00 00 and eax,0xff - 105f50: 83 c4 14 add esp,0x14 - 105f53: 5b pop ebx - 105f54: 5e pop esi - 105f55: c3 ret - -00105f56 : - 105f56: 55 push ebp - 105f57: 57 push edi - 105f58: 56 push esi - 105f59: 53 push ebx - 105f5a: 83 ec 3c sub esp,0x3c - 105f5d: 8b 44 24 50 mov eax,DWORD PTR [esp+0x50] - 105f61: 89 04 24 mov DWORD PTR [esp],eax - 105f64: e8 a7 2d 00 00 call 108d10 - 105f69: 89 44 24 28 mov DWORD PTR [esp+0x28],eax - 105f6d: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 105f71: 80 7c 02 ff 2f cmp BYTE PTR [edx+eax*1-0x1],0x2f - 105f76: 0f 94 c0 sete al - 105f79: 25 ff 00 00 00 and eax,0xff - 105f7e: 29 44 24 28 sub DWORD PTR [esp+0x28],eax - 105f82: 75 4f jne 105fd3 - 105f84: c7 05 a0 d9 10 00 68 mov DWORD PTR ds:0x10d9a0,0xb68 - 105f8b: 0b 00 00 - 105f8e: c7 05 a8 d9 10 00 00 mov DWORD PTR ds:0x10d9a8,0x0 - 105f95: 00 00 00 - 105f98: c7 05 a4 d9 10 00 00 mov DWORD PTR ds:0x10d9a4,0x0 - 105f9f: 00 00 00 - 105fa2: 8b 54 24 54 mov edx,DWORD PTR [esp+0x54] - 105fa6: 8b 42 0a mov eax,DWORD PTR [edx+0xa] - 105fa9: 8d 04 80 lea eax,[eax+eax*4] - 105fac: 89 c2 mov edx,eax - 105fae: c1 e2 04 shl edx,0x4 - 105fb1: 29 c2 sub edx,eax - 105fb3: 8d 04 95 04 00 00 00 lea eax,[edx*4+0x4] - 105fba: a3 ac d9 10 00 mov ds:0x10d9ac,eax - 105fbf: c7 05 c8 d9 10 00 0a mov DWORD PTR ds:0x10d9c8,0xa - 105fc6: 00 00 00 - 105fc9: b8 a0 d8 10 00 mov eax,0x10d8a0 - 105fce: e9 31 01 00 00 jmp 106104 - 105fd3: b8 00 00 00 00 mov eax,0x0 - 105fd8: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 105fdc: 80 3a 2f cmp BYTE PTR [edx],0x2f - 105fdf: 0f 85 1f 01 00 00 jne 106104 - 105fe5: 8b 5c 24 54 mov ebx,DWORD PTR [esp+0x54] - 105fe9: 83 c3 0a add ebx,0xa - 105fec: c7 44 24 20 00 00 00 mov DWORD PTR [esp+0x20],0x0 - 105ff3: 00 - 105ff4: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50] - 105ff8: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 105ffc: 8d 7c 02 01 lea edi,[edx+eax*1+0x1] - 106000: c7 44 24 04 2f 00 00 mov DWORD PTR [esp+0x4],0x2f - 106007: 00 - 106008: 89 3c 24 mov DWORD PTR [esp],edi - 10600b: e8 5c 2e 00 00 call 108e6c - 106010: 89 44 24 24 mov DWORD PTR [esp+0x24],eax - 106014: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 106018: 89 44 24 20 mov DWORD PTR [esp+0x20],eax - 10601c: 83 7c 24 24 00 cmp DWORD PTR [esp+0x24],0x0 - 106021: 74 1c je 10603f - 106023: 8b 54 24 24 mov edx,DWORD PTR [esp+0x24] - 106027: 2b 54 24 50 sub edx,DWORD PTR [esp+0x50] - 10602b: 89 54 24 20 mov DWORD PTR [esp+0x20],edx - 10602f: 39 d0 cmp eax,edx - 106031: 77 0c ja 10603f - 106033: 89 44 24 20 mov DWORD PTR [esp+0x20],eax - 106037: c7 44 24 24 00 00 00 mov DWORD PTR [esp+0x24],0x0 - 10603e: 00 - 10603f: 8b 13 mov edx,DWORD PTR [ebx] - 106041: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx - 106045: 83 c3 04 add ebx,0x4 - 106048: 89 5c 24 2c mov DWORD PTR [esp+0x2c],ebx - 10604c: 85 d2 test edx,edx - 10604e: 0f 84 9d 00 00 00 je 1060f1 - 106054: bd ff ff ff ff mov ebp,0xffffffff - 106059: be 00 00 00 00 mov esi,0x0 - 10605e: 89 1c 24 mov DWORD PTR [esp],ebx - 106061: e8 aa 2c 00 00 call 108d10 - 106066: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 10606a: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi - 10606e: 89 1c 24 mov DWORD PTR [esp],ebx - 106071: e8 f0 2c 00 00 call 108d66 - 106076: 85 c0 test eax,eax - 106078: 75 02 jne 10607c - 10607a: 89 f5 mov ebp,esi - 10607c: 46 inc esi - 10607d: 81 c3 2c 01 00 00 add ebx,0x12c - 106083: 39 74 24 1c cmp DWORD PTR [esp+0x1c],esi - 106087: 76 05 jbe 10608e - 106089: 83 fd ff cmp ebp,0xffffffff - 10608c: 74 d0 je 10605e - 10608e: 83 fd ff cmp ebp,0xffffffff - 106091: 74 65 je 1060f8 - 106093: 83 7c 24 24 00 cmp DWORD PTR [esp+0x24],0x0 - 106098: 75 16 jne 1060b0 - 10609a: 8d 44 ad 00 lea eax,[ebp+ebp*4+0x0] - 10609e: 89 c2 mov edx,eax - 1060a0: c1 e2 04 shl edx,0x4 - 1060a3: 29 c2 sub edx,eax - 1060a5: 89 d0 mov eax,edx - 1060a7: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c] - 1060ab: 8d 04 82 lea eax,[edx+eax*4] - 1060ae: eb 54 jmp 106104 - 1060b0: 8d 44 ad 00 lea eax,[ebp+ebp*4+0x0] - 1060b4: 89 c2 mov edx,eax - 1060b6: c1 e2 04 shl edx,0x4 - 1060b9: 29 c2 sub edx,eax - 1060bb: 89 d0 mov eax,edx - 1060bd: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c] - 1060c1: 8d 04 82 lea eax,[edx+eax*4] - 1060c4: 8b 90 00 01 00 00 mov edx,DWORD PTR [eax+0x100] - 1060ca: 83 e2 07 and edx,0x7 - 1060cd: 83 fa 02 cmp edx,0x2 - 1060d0: 75 2d jne 1060ff - 1060d2: 8b 5c 24 54 mov ebx,DWORD PTR [esp+0x54] - 1060d6: 03 98 28 01 00 00 add ebx,DWORD PTR [eax+0x128] - 1060dc: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1060e0: 39 44 24 28 cmp DWORD PTR [esp+0x28],eax - 1060e4: 0f 87 0a ff ff ff ja 105ff4 - 1060ea: b8 00 00 00 00 mov eax,0x0 - 1060ef: eb 13 jmp 106104 - 1060f1: b8 00 00 00 00 mov eax,0x0 - 1060f6: eb 0c jmp 106104 - 1060f8: b8 00 00 00 00 mov eax,0x0 - 1060fd: eb 05 jmp 106104 - 1060ff: b8 00 00 00 00 mov eax,0x0 - 106104: 83 c4 3c add esp,0x3c - 106107: 5b pop ebx - 106108: 5e pop esi - 106109: 5f pop edi - 10610a: 5d pop ebp - 10610b: c3 ret - -0010610c : - 10610c: 56 push esi - 10610d: 53 push ebx - 10610e: 83 ec 14 sub esp,0x14 - 106111: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 106115: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 106119: 8b 46 54 mov eax,DWORD PTR [esi+0x54] - 10611c: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 106120: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 106124: 89 04 24 mov DWORD PTR [esp],eax - 106127: e8 2a fe ff ff call 105f56 - 10612c: 85 c0 test eax,eax - 10612e: 74 41 je 106171 - 106130: 89 43 08 mov DWORD PTR [ebx+0x8],eax - 106133: 8b 90 00 01 00 00 mov edx,DWORD PTR [eax+0x100] - 106139: 89 53 0c mov DWORD PTR [ebx+0xc],edx - 10613c: 8b 90 08 01 00 00 mov edx,DWORD PTR [eax+0x108] - 106142: 89 53 14 mov DWORD PTR [ebx+0x14],edx - 106145: 8b 90 04 01 00 00 mov edx,DWORD PTR [eax+0x104] - 10614b: 89 53 10 mov DWORD PTR [ebx+0x10],edx - 10614e: 8b 90 0c 01 00 00 mov edx,DWORD PTR [eax+0x10c] - 106154: 89 53 18 mov DWORD PTR [ebx+0x18],edx - 106157: 8b 90 28 01 00 00 mov edx,DWORD PTR [eax+0x128] - 10615d: 03 56 54 add edx,DWORD PTR [esi+0x54] - 106160: 89 53 1c mov DWORD PTR [ebx+0x1c],edx - 106163: 89 53 20 mov DWORD PTR [ebx+0x20],edx - 106166: 03 90 0c 01 00 00 add edx,DWORD PTR [eax+0x10c] - 10616c: 89 53 24 mov DWORD PTR [ebx+0x24],edx - 10616f: eb 05 jmp 106176 - 106171: bb 00 00 00 00 mov ebx,0x0 - 106176: 89 d8 mov eax,ebx - 106178: 83 c4 14 add esp,0x14 - 10617b: 5b pop ebx - 10617c: 5e pop esi - 10617d: c3 ret - -0010617e : - 10617e: 83 ec 1c sub esp,0x1c - 106181: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 106185: 8b 40 54 mov eax,DWORD PTR [eax+0x54] - 106188: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10618c: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 106190: 89 04 24 mov DWORD PTR [esp],eax - 106193: e8 be fd ff ff call 105f56 - 106198: 83 c4 1c add esp,0x1c - 10619b: c3 ret - -0010619c : - 10619c: 55 push ebp - 10619d: 57 push edi - 10619e: 56 push esi - 10619f: 53 push ebx - 1061a0: 83 ec 5c sub esp,0x5c - 1061a3: 8b 6c 24 70 mov ebp,DWORD PTR [esp+0x70] - 1061a7: 8d 7c 24 18 lea edi,[esp+0x18] - 1061ab: b9 0e 00 00 00 mov ecx,0xe - 1061b0: b8 00 00 00 00 mov eax,0x0 - 1061b5: f3 ab rep stos DWORD PTR es:[edi],eax - 1061b7: c7 44 24 1c 6c 75 78 mov DWORD PTR [esp+0x1c],0x6978756c - 1061be: 69 - 1061bf: c7 44 24 20 6e 69 74 mov DWORD PTR [esp+0x20],0x7274696e - 1061c6: 72 - 1061c7: c7 44 24 24 64 00 00 mov DWORD PTR [esp+0x24],0x64 - 1061ce: 00 - 1061cf: c7 44 24 2c 14 5f 10 mov DWORD PTR [esp+0x2c],0x105f14 - 1061d6: 00 - 1061d7: c7 44 24 38 0c 61 10 mov DWORD PTR [esp+0x38],0x10610c - 1061de: 00 - 1061df: c7 44 24 3c 96 5e 10 mov DWORD PTR [esp+0x3c],0x105e96 - 1061e6: 00 - 1061e7: c7 44 24 40 d3 5e 10 mov DWORD PTR [esp+0x40],0x105ed3 - 1061ee: 00 - 1061ef: c7 44 24 48 7e 61 10 mov DWORD PTR [esp+0x48],0x10617e - 1061f6: 00 - 1061f7: c7 44 24 4c b0 5e 10 mov DWORD PTR [esp+0x4c],0x105eb0 - 1061fe: 00 - 1061ff: 8d 44 24 18 lea eax,[esp+0x18] - 106203: 89 04 24 mov DWORD PTR [esp],eax - 106206: e8 6c 32 00 00 call 109477 - 10620b: f6 45 00 08 test BYTE PTR [ebp+0x0],0x8 - 10620f: 75 21 jne 106232 - 106211: c7 44 24 08 44 a9 10 mov DWORD PTR [esp+0x8],0x10a944 - 106218: 00 - 106219: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b - 106220: 00 - 106221: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 106228: e8 7b 10 00 00 call 1072a8 - 10622d: e9 9a 00 00 00 jmp 1062cc - 106232: 8b 5d 18 mov ebx,DWORD PTR [ebp+0x18] - 106235: 83 7d 14 00 cmp DWORD PTR [ebp+0x14],0x0 - 106239: 0f 84 8d 00 00 00 je 1062cc - 10623f: be 00 00 00 00 mov esi,0x0 - 106244: 8b 03 mov eax,DWORD PTR [ebx] - 106246: 81 38 90 aa 23 cc cmp DWORD PTR [eax],0xcc23aa90 - 10624c: 75 51 jne 10629f - 10624e: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 106252: c7 44 24 08 62 a9 10 mov DWORD PTR [esp+0x8],0x10a962 - 106259: 00 - 10625a: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b - 106261: 00 - 106262: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 106269: e8 3a 10 00 00 call 1072a8 - 10626e: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0 - 106275: 00 - 106276: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0 - 10627d: 00 - 10627e: c7 44 24 04 90 5e 10 mov DWORD PTR [esp+0x4],0x105e90 - 106285: 00 - 106286: c7 04 24 7f a9 10 00 mov DWORD PTR [esp],0x10a97f - 10628d: e8 63 34 00 00 call 1096f5 - 106292: 8b 13 mov edx,DWORD PTR [ebx] - 106294: 89 50 54 mov DWORD PTR [eax+0x54],edx - 106297: 8b 53 04 mov edx,DWORD PTR [ebx+0x4] - 10629a: 89 50 58 mov DWORD PTR [eax+0x58],edx - 10629d: eb 20 jmp 1062bf - 10629f: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 1062a3: c7 44 24 08 88 a9 10 mov DWORD PTR [esp+0x8],0x10a988 - 1062aa: 00 - 1062ab: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b - 1062b2: 00 - 1062b3: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1062ba: e8 e9 0f 00 00 call 1072a8 - 1062bf: 46 inc esi - 1062c0: 83 c3 10 add ebx,0x10 - 1062c3: 39 75 14 cmp DWORD PTR [ebp+0x14],esi - 1062c6: 0f 87 78 ff ff ff ja 106244 - 1062cc: 83 c4 5c add esp,0x5c - 1062cf: 5b pop ebx - 1062d0: 5e pop esi - 1062d1: 5f pop edi - 1062d2: 5d pop ebp - 1062d3: c3 ret - ... - -001062e0 : - 1062e0: fa cli - 1062e1: 68 00 00 00 00 push 0x0 - 1062e6: 68 20 00 00 00 push 0x20 - 1062eb: e9 f0 00 00 00 jmp 1063e0 - -001062f0 : - 1062f0: fa cli - 1062f1: 68 00 00 00 00 push 0x0 - 1062f6: 68 21 00 00 00 push 0x21 - 1062fb: e9 e0 00 00 00 jmp 1063e0 - -00106300 : - 106300: fa cli - 106301: 68 00 00 00 00 push 0x0 - 106306: 68 22 00 00 00 push 0x22 - 10630b: e9 d0 00 00 00 jmp 1063e0 - -00106310 : - 106310: fa cli - 106311: 68 00 00 00 00 push 0x0 - 106316: 68 23 00 00 00 push 0x23 - 10631b: e9 c0 00 00 00 jmp 1063e0 - -00106320 : - 106320: fa cli - 106321: 68 00 00 00 00 push 0x0 - 106326: 68 24 00 00 00 push 0x24 - 10632b: e9 b0 00 00 00 jmp 1063e0 - -00106330 : - 106330: fa cli - 106331: 68 00 00 00 00 push 0x0 - 106336: 68 25 00 00 00 push 0x25 - 10633b: e9 a0 00 00 00 jmp 1063e0 - -00106340 : - 106340: fa cli - 106341: 68 00 00 00 00 push 0x0 - 106346: 68 26 00 00 00 push 0x26 - 10634b: e9 90 00 00 00 jmp 1063e0 - -00106350 : - 106350: fa cli - 106351: 68 00 00 00 00 push 0x0 - 106356: 68 27 00 00 00 push 0x27 - 10635b: e9 80 00 00 00 jmp 1063e0 - -00106360 : - 106360: fa cli - 106361: 68 00 00 00 00 push 0x0 - 106366: 68 28 00 00 00 push 0x28 - 10636b: e9 70 00 00 00 jmp 1063e0 - -00106370 : - 106370: fa cli - 106371: 68 00 00 00 00 push 0x0 - 106376: 68 29 00 00 00 push 0x29 - 10637b: e9 60 00 00 00 jmp 1063e0 - -00106380 : - 106380: fa cli - 106381: 68 00 00 00 00 push 0x0 - 106386: 68 2a 00 00 00 push 0x2a - 10638b: e9 50 00 00 00 jmp 1063e0 - -00106390 : - 106390: fa cli - 106391: 68 00 00 00 00 push 0x0 - 106396: 68 2b 00 00 00 push 0x2b - 10639b: e9 40 00 00 00 jmp 1063e0 - -001063a0 : - 1063a0: fa cli - 1063a1: 68 00 00 00 00 push 0x0 - 1063a6: 68 2c 00 00 00 push 0x2c - 1063ab: e9 30 00 00 00 jmp 1063e0 - -001063b0 : - 1063b0: fa cli - 1063b1: 68 00 00 00 00 push 0x0 - 1063b6: 68 2d 00 00 00 push 0x2d - 1063bb: e9 20 00 00 00 jmp 1063e0 - -001063c0 : - 1063c0: fa cli - 1063c1: 68 00 00 00 00 push 0x0 - 1063c6: 68 2e 00 00 00 push 0x2e - 1063cb: e9 10 00 00 00 jmp 1063e0 - -001063d0 : - 1063d0: fa cli - 1063d1: 68 00 00 00 00 push 0x0 - 1063d6: 68 2f 00 00 00 push 0x2f - 1063db: e9 00 00 00 00 jmp 1063e0 - -001063e0 : - 1063e0: 60 pusha - 1063e1: 1e push ds - 1063e2: 06 push es - 1063e3: 0f a0 push fs - 1063e5: 0f a8 push gs - 1063e7: 66 b8 10 00 mov ax,0x10 - 1063eb: 8e d8 mov ds,eax - 1063ed: 8e c0 mov es,eax - 1063ef: 8e e0 mov fs,eax - 1063f1: 8e e8 mov gs,eax - 1063f3: 89 e0 mov eax,esp - 1063f5: 50 push eax - 1063f6: b8 87 66 10 00 mov eax,0x106687 - 1063fb: ff d0 call eax - 1063fd: 58 pop eax - 1063fe: 0f a9 pop gs - 106400: 0f a1 pop fs - 106402: 07 pop es - 106403: 1f pop ds - 106404: 61 popa - 106405: 81 c4 08 00 00 00 add esp,0x8 - 10640b: cf iret - -0010640c : - 10640c: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 106410: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 106414: 89 14 85 40 da 10 00 mov DWORD PTR [eax*4+0x10da40],edx - 10641b: c3 ret - -0010641c : - 10641c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 106420: c7 04 85 40 da 10 00 mov DWORD PTR [eax*4+0x10da40],0x0 - 106427: 00 00 00 00 - 10642b: c3 ret - -0010642c : - 10642c: 83 ec 1c sub esp,0x1c - 10642f: c7 44 24 04 28 00 00 mov DWORD PTR [esp+0x4],0x28 - 106436: 00 - 106437: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20 - 10643e: e8 39 27 00 00 call 108b7c - 106443: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10644a: 00 - 10644b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106452: 00 - 106453: c7 44 24 04 e0 62 10 mov DWORD PTR [esp+0x4],0x1062e0 - 10645a: 00 - 10645b: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20 - 106462: e8 a1 f9 ff ff call 105e08 - 106467: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10646e: 00 - 10646f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106476: 00 - 106477: c7 44 24 04 f0 62 10 mov DWORD PTR [esp+0x4],0x1062f0 - 10647e: 00 - 10647f: c7 04 24 21 00 00 00 mov DWORD PTR [esp],0x21 - 106486: e8 7d f9 ff ff call 105e08 - 10648b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106492: 00 - 106493: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10649a: 00 - 10649b: c7 44 24 04 00 63 10 mov DWORD PTR [esp+0x4],0x106300 - 1064a2: 00 - 1064a3: c7 04 24 22 00 00 00 mov DWORD PTR [esp],0x22 - 1064aa: e8 59 f9 ff ff call 105e08 - 1064af: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1064b6: 00 - 1064b7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1064be: 00 - 1064bf: c7 44 24 04 10 63 10 mov DWORD PTR [esp+0x4],0x106310 - 1064c6: 00 - 1064c7: c7 04 24 23 00 00 00 mov DWORD PTR [esp],0x23 - 1064ce: e8 35 f9 ff ff call 105e08 - 1064d3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1064da: 00 - 1064db: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1064e2: 00 - 1064e3: c7 44 24 04 20 63 10 mov DWORD PTR [esp+0x4],0x106320 - 1064ea: 00 - 1064eb: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24 - 1064f2: e8 11 f9 ff ff call 105e08 - 1064f7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1064fe: 00 - 1064ff: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106506: 00 - 106507: c7 44 24 04 30 63 10 mov DWORD PTR [esp+0x4],0x106330 - 10650e: 00 - 10650f: c7 04 24 25 00 00 00 mov DWORD PTR [esp],0x25 - 106516: e8 ed f8 ff ff call 105e08 - 10651b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106522: 00 - 106523: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10652a: 00 - 10652b: c7 44 24 04 40 63 10 mov DWORD PTR [esp+0x4],0x106340 - 106532: 00 - 106533: c7 04 24 26 00 00 00 mov DWORD PTR [esp],0x26 - 10653a: e8 c9 f8 ff ff call 105e08 - 10653f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106546: 00 - 106547: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10654e: 00 - 10654f: c7 44 24 04 50 63 10 mov DWORD PTR [esp+0x4],0x106350 - 106556: 00 - 106557: c7 04 24 27 00 00 00 mov DWORD PTR [esp],0x27 - 10655e: e8 a5 f8 ff ff call 105e08 - 106563: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10656a: 00 - 10656b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106572: 00 - 106573: c7 44 24 04 60 63 10 mov DWORD PTR [esp+0x4],0x106360 - 10657a: 00 - 10657b: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28 - 106582: e8 81 f8 ff ff call 105e08 - 106587: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10658e: 00 - 10658f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106596: 00 - 106597: c7 44 24 04 70 63 10 mov DWORD PTR [esp+0x4],0x106370 - 10659e: 00 - 10659f: c7 04 24 29 00 00 00 mov DWORD PTR [esp],0x29 - 1065a6: e8 5d f8 ff ff call 105e08 - 1065ab: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1065b2: 00 - 1065b3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1065ba: 00 - 1065bb: c7 44 24 04 80 63 10 mov DWORD PTR [esp+0x4],0x106380 - 1065c2: 00 - 1065c3: c7 04 24 2a 00 00 00 mov DWORD PTR [esp],0x2a - 1065ca: e8 39 f8 ff ff call 105e08 - 1065cf: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1065d6: 00 - 1065d7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1065de: 00 - 1065df: c7 44 24 04 90 63 10 mov DWORD PTR [esp+0x4],0x106390 - 1065e6: 00 - 1065e7: c7 04 24 2b 00 00 00 mov DWORD PTR [esp],0x2b - 1065ee: e8 15 f8 ff ff call 105e08 - 1065f3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1065fa: 00 - 1065fb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106602: 00 - 106603: c7 44 24 04 a0 63 10 mov DWORD PTR [esp+0x4],0x1063a0 - 10660a: 00 - 10660b: c7 04 24 2c 00 00 00 mov DWORD PTR [esp],0x2c - 106612: e8 f1 f7 ff ff call 105e08 - 106617: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10661e: 00 - 10661f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106626: 00 - 106627: c7 44 24 04 b0 63 10 mov DWORD PTR [esp+0x4],0x1063b0 - 10662e: 00 - 10662f: c7 04 24 2d 00 00 00 mov DWORD PTR [esp],0x2d - 106636: e8 cd f7 ff ff call 105e08 - 10663b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106642: 00 - 106643: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10664a: 00 - 10664b: c7 44 24 04 c0 63 10 mov DWORD PTR [esp+0x4],0x1063c0 - 106652: 00 - 106653: c7 04 24 2e 00 00 00 mov DWORD PTR [esp],0x2e - 10665a: e8 a9 f7 ff ff call 105e08 - 10665f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106666: 00 - 106667: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10666e: 00 - 10666f: c7 44 24 04 d0 63 10 mov DWORD PTR [esp+0x4],0x1063d0 - 106676: 00 - 106677: c7 04 24 2f 00 00 00 mov DWORD PTR [esp],0x2f - 10667e: e8 85 f7 ff ff call 105e08 - 106683: 83 c4 1c add esp,0x1c - 106686: c3 ret - -00106687 : - 106687: 53 push ebx - 106688: 83 ec 18 sub esp,0x18 - 10668b: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20] - 10668f: 8b 43 30 mov eax,DWORD PTR [ebx+0x30] - 106692: 8b 04 85 c0 d9 10 00 mov eax,DWORD PTR [eax*4+0x10d9c0] - 106699: 85 c0 test eax,eax - 10669b: 74 05 je 1066a2 - 10669d: 89 1c 24 mov DWORD PTR [esp],ebx - 1066a0: ff d0 call eax - 1066a2: 83 7b 30 27 cmp DWORD PTR [ebx+0x30],0x27 - 1066a6: 76 04 jbe 1066ac - 1066a8: b0 20 mov al,0x20 - 1066aa: e6 a0 out 0xa0,al - 1066ac: b0 20 mov al,0x20 - 1066ae: e6 20 out 0x20,al - 1066b0: 83 c4 18 add esp,0x18 - 1066b3: 5b pop ebx - 1066b4: c3 ret - ... - -001066c0 : - 1066c0: fa cli - 1066c1: 68 00 00 00 00 push 0x0 - 1066c6: 68 00 00 00 00 push 0x0 - 1066cb: e9 d2 01 00 00 jmp 1068a2 - -001066d0 : - 1066d0: fa cli - 1066d1: 68 00 00 00 00 push 0x0 - 1066d6: 68 01 00 00 00 push 0x1 - 1066db: e9 c2 01 00 00 jmp 1068a2 - -001066e0 : - 1066e0: fa cli - 1066e1: 68 00 00 00 00 push 0x0 - 1066e6: 68 02 00 00 00 push 0x2 - 1066eb: e9 b2 01 00 00 jmp 1068a2 - -001066f0 : - 1066f0: fa cli - 1066f1: 68 00 00 00 00 push 0x0 - 1066f6: 68 03 00 00 00 push 0x3 - 1066fb: e9 a2 01 00 00 jmp 1068a2 - -00106700 : - 106700: fa cli - 106701: 68 00 00 00 00 push 0x0 - 106706: 68 04 00 00 00 push 0x4 - 10670b: e9 92 01 00 00 jmp 1068a2 - -00106710 : - 106710: fa cli - 106711: 68 00 00 00 00 push 0x0 - 106716: 68 05 00 00 00 push 0x5 - 10671b: e9 82 01 00 00 jmp 1068a2 - -00106720 : - 106720: fa cli - 106721: 68 00 00 00 00 push 0x0 - 106726: 68 06 00 00 00 push 0x6 - 10672b: e9 72 01 00 00 jmp 1068a2 - -00106730 : - 106730: fa cli - 106731: 68 00 00 00 00 push 0x0 - 106736: 68 07 00 00 00 push 0x7 - 10673b: e9 62 01 00 00 jmp 1068a2 - -00106740 : - 106740: fa cli - 106741: 68 08 00 00 00 push 0x8 - 106746: e9 57 01 00 00 jmp 1068a2 - -0010674b : - 10674b: fa cli - 10674c: 68 00 00 00 00 push 0x0 - 106751: 68 09 00 00 00 push 0x9 - 106756: e9 47 01 00 00 jmp 1068a2 - -0010675b : - 10675b: fa cli - 10675c: 68 0a 00 00 00 push 0xa - 106761: e9 3c 01 00 00 jmp 1068a2 - -00106766 : - 106766: fa cli - 106767: 68 0b 00 00 00 push 0xb - 10676c: e9 31 01 00 00 jmp 1068a2 - -00106771 : - 106771: fa cli - 106772: 68 0c 00 00 00 push 0xc - 106777: e9 26 01 00 00 jmp 1068a2 - -0010677c : - 10677c: fa cli - 10677d: 68 0d 00 00 00 push 0xd - 106782: e9 1b 01 00 00 jmp 1068a2 - -00106787 : - 106787: fa cli - 106788: 68 0e 00 00 00 push 0xe - 10678d: e9 10 01 00 00 jmp 1068a2 - -00106792 : - 106792: fa cli - 106793: 68 00 00 00 00 push 0x0 - 106798: 68 0f 00 00 00 push 0xf - 10679d: e9 00 01 00 00 jmp 1068a2 - -001067a2 : - 1067a2: fa cli - 1067a3: 68 00 00 00 00 push 0x0 - 1067a8: 68 10 00 00 00 push 0x10 - 1067ad: e9 f0 00 00 00 jmp 1068a2 - -001067b2 : - 1067b2: fa cli - 1067b3: 68 00 00 00 00 push 0x0 - 1067b8: 68 11 00 00 00 push 0x11 - 1067bd: e9 e0 00 00 00 jmp 1068a2 - -001067c2 : - 1067c2: fa cli - 1067c3: 68 00 00 00 00 push 0x0 - 1067c8: 68 12 00 00 00 push 0x12 - 1067cd: e9 d0 00 00 00 jmp 1068a2 - -001067d2 : - 1067d2: fa cli - 1067d3: 68 00 00 00 00 push 0x0 - 1067d8: 68 13 00 00 00 push 0x13 - 1067dd: e9 c0 00 00 00 jmp 1068a2 - -001067e2 : - 1067e2: fa cli - 1067e3: 68 00 00 00 00 push 0x0 - 1067e8: 68 14 00 00 00 push 0x14 - 1067ed: e9 b0 00 00 00 jmp 1068a2 - -001067f2 : - 1067f2: fa cli - 1067f3: 68 00 00 00 00 push 0x0 - 1067f8: 68 15 00 00 00 push 0x15 - 1067fd: e9 a0 00 00 00 jmp 1068a2 - -00106802 : - 106802: fa cli - 106803: 68 00 00 00 00 push 0x0 - 106808: 68 16 00 00 00 push 0x16 - 10680d: e9 90 00 00 00 jmp 1068a2 - -00106812 : - 106812: fa cli - 106813: 68 00 00 00 00 push 0x0 - 106818: 68 17 00 00 00 push 0x17 - 10681d: e9 80 00 00 00 jmp 1068a2 - -00106822 : - 106822: fa cli - 106823: 68 00 00 00 00 push 0x0 - 106828: 68 18 00 00 00 push 0x18 - 10682d: e9 70 00 00 00 jmp 1068a2 - -00106832 : - 106832: fa cli - 106833: 68 00 00 00 00 push 0x0 - 106838: 68 19 00 00 00 push 0x19 - 10683d: e9 60 00 00 00 jmp 1068a2 - -00106842 : - 106842: fa cli - 106843: 68 00 00 00 00 push 0x0 - 106848: 68 1a 00 00 00 push 0x1a - 10684d: e9 50 00 00 00 jmp 1068a2 - -00106852 : - 106852: fa cli - 106853: 68 00 00 00 00 push 0x0 - 106858: 68 1b 00 00 00 push 0x1b - 10685d: e9 40 00 00 00 jmp 1068a2 - -00106862 : - 106862: fa cli - 106863: 68 00 00 00 00 push 0x0 - 106868: 68 1c 00 00 00 push 0x1c - 10686d: e9 30 00 00 00 jmp 1068a2 - -00106872 : - 106872: fa cli - 106873: 68 00 00 00 00 push 0x0 - 106878: 68 1d 00 00 00 push 0x1d - 10687d: e9 20 00 00 00 jmp 1068a2 - -00106882 : - 106882: fa cli - 106883: 68 00 00 00 00 push 0x0 - 106888: 68 1e 00 00 00 push 0x1e - 10688d: e9 10 00 00 00 jmp 1068a2 - -00106892 : - 106892: fa cli - 106893: 68 00 00 00 00 push 0x0 - 106898: 68 1f 00 00 00 push 0x1f - 10689d: e9 00 00 00 00 jmp 1068a2 - -001068a2 : - 1068a2: 60 pusha - 1068a3: 1e push ds - 1068a4: 06 push es - 1068a5: 0f a0 push fs - 1068a7: 0f a8 push gs - 1068a9: 66 b8 10 00 mov ax,0x10 - 1068ad: 8e d8 mov ds,eax - 1068af: 8e c0 mov es,eax - 1068b1: 8e e0 mov fs,eax - 1068b3: 8e e8 mov gs,eax - 1068b5: 89 e0 mov eax,esp - 1068b7: 50 push eax - 1068b8: b8 81 6d 10 00 mov eax,0x106d81 - 1068bd: ff d0 call eax - 1068bf: 58 pop eax - 1068c0: 0f a9 pop gs - 1068c2: 0f a1 pop fs - 1068c4: 07 pop es - 1068c5: 1f pop ds - 1068c6: 61 popa - 1068c7: 81 c4 08 00 00 00 add esp,0x8 - 1068cd: cf iret - ... - -001068d0 : - 1068d0: 83 ec 1c sub esp,0x1c - 1068d3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1068da: 00 - 1068db: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1068e2: 00 - 1068e3: c7 44 24 04 c0 66 10 mov DWORD PTR [esp+0x4],0x1066c0 - 1068ea: 00 - 1068eb: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1068f2: e8 11 f5 ff ff call 105e08 - 1068f7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1068fe: 00 - 1068ff: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106906: 00 - 106907: c7 44 24 04 d0 66 10 mov DWORD PTR [esp+0x4],0x1066d0 - 10690e: 00 - 10690f: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 106916: e8 ed f4 ff ff call 105e08 - 10691b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106922: 00 - 106923: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10692a: 00 - 10692b: c7 44 24 04 e0 66 10 mov DWORD PTR [esp+0x4],0x1066e0 - 106932: 00 - 106933: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 10693a: e8 c9 f4 ff ff call 105e08 - 10693f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106946: 00 - 106947: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 10694e: 00 - 10694f: c7 44 24 04 f0 66 10 mov DWORD PTR [esp+0x4],0x1066f0 - 106956: 00 - 106957: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3 - 10695e: e8 a5 f4 ff ff call 105e08 - 106963: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10696a: 00 - 10696b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106972: 00 - 106973: c7 44 24 04 00 67 10 mov DWORD PTR [esp+0x4],0x106700 - 10697a: 00 - 10697b: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 106982: e8 81 f4 ff ff call 105e08 - 106987: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 10698e: 00 - 10698f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106996: 00 - 106997: c7 44 24 04 10 67 10 mov DWORD PTR [esp+0x4],0x106710 - 10699e: 00 - 10699f: c7 04 24 05 00 00 00 mov DWORD PTR [esp],0x5 - 1069a6: e8 5d f4 ff ff call 105e08 - 1069ab: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1069b2: 00 - 1069b3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1069ba: 00 - 1069bb: c7 44 24 04 20 67 10 mov DWORD PTR [esp+0x4],0x106720 - 1069c2: 00 - 1069c3: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6 - 1069ca: e8 39 f4 ff ff call 105e08 - 1069cf: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1069d6: 00 - 1069d7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 1069de: 00 - 1069df: c7 44 24 04 30 67 10 mov DWORD PTR [esp+0x4],0x106730 - 1069e6: 00 - 1069e7: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7 - 1069ee: e8 15 f4 ff ff call 105e08 - 1069f3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 1069fa: 00 - 1069fb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106a02: 00 - 106a03: c7 44 24 04 40 67 10 mov DWORD PTR [esp+0x4],0x106740 - 106a0a: 00 - 106a0b: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8 - 106a12: e8 f1 f3 ff ff call 105e08 - 106a17: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106a1e: 00 - 106a1f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106a26: 00 - 106a27: c7 44 24 04 4b 67 10 mov DWORD PTR [esp+0x4],0x10674b - 106a2e: 00 - 106a2f: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9 - 106a36: e8 cd f3 ff ff call 105e08 - 106a3b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106a42: 00 - 106a43: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106a4a: 00 - 106a4b: c7 44 24 04 5b 67 10 mov DWORD PTR [esp+0x4],0x10675b - 106a52: 00 - 106a53: c7 04 24 0a 00 00 00 mov DWORD PTR [esp],0xa - 106a5a: e8 a9 f3 ff ff call 105e08 - 106a5f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106a66: 00 - 106a67: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106a6e: 00 - 106a6f: c7 44 24 04 66 67 10 mov DWORD PTR [esp+0x4],0x106766 - 106a76: 00 - 106a77: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb - 106a7e: e8 85 f3 ff ff call 105e08 - 106a83: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106a8a: 00 - 106a8b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106a92: 00 - 106a93: c7 44 24 04 71 67 10 mov DWORD PTR [esp+0x4],0x106771 - 106a9a: 00 - 106a9b: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc - 106aa2: e8 61 f3 ff ff call 105e08 - 106aa7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106aae: 00 - 106aaf: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106ab6: 00 - 106ab7: c7 44 24 04 7c 67 10 mov DWORD PTR [esp+0x4],0x10677c - 106abe: 00 - 106abf: c7 04 24 0d 00 00 00 mov DWORD PTR [esp],0xd - 106ac6: e8 3d f3 ff ff call 105e08 - 106acb: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106ad2: 00 - 106ad3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106ada: 00 - 106adb: c7 44 24 04 87 67 10 mov DWORD PTR [esp+0x4],0x106787 - 106ae2: 00 - 106ae3: c7 04 24 0e 00 00 00 mov DWORD PTR [esp],0xe - 106aea: e8 19 f3 ff ff call 105e08 - 106aef: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106af6: 00 - 106af7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106afe: 00 - 106aff: c7 44 24 04 92 67 10 mov DWORD PTR [esp+0x4],0x106792 - 106b06: 00 - 106b07: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf - 106b0e: e8 f5 f2 ff ff call 105e08 - 106b13: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106b1a: 00 - 106b1b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106b22: 00 - 106b23: c7 44 24 04 a2 67 10 mov DWORD PTR [esp+0x4],0x1067a2 - 106b2a: 00 - 106b2b: c7 04 24 10 00 00 00 mov DWORD PTR [esp],0x10 - 106b32: e8 d1 f2 ff ff call 105e08 - 106b37: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106b3e: 00 - 106b3f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106b46: 00 - 106b47: c7 44 24 04 b2 67 10 mov DWORD PTR [esp+0x4],0x1067b2 - 106b4e: 00 - 106b4f: c7 04 24 11 00 00 00 mov DWORD PTR [esp],0x11 - 106b56: e8 ad f2 ff ff call 105e08 - 106b5b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106b62: 00 - 106b63: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106b6a: 00 - 106b6b: c7 44 24 04 c2 67 10 mov DWORD PTR [esp+0x4],0x1067c2 - 106b72: 00 - 106b73: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12 - 106b7a: e8 89 f2 ff ff call 105e08 - 106b7f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106b86: 00 - 106b87: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106b8e: 00 - 106b8f: c7 44 24 04 d2 67 10 mov DWORD PTR [esp+0x4],0x1067d2 - 106b96: 00 - 106b97: c7 04 24 13 00 00 00 mov DWORD PTR [esp],0x13 - 106b9e: e8 65 f2 ff ff call 105e08 - 106ba3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106baa: 00 - 106bab: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106bb2: 00 - 106bb3: c7 44 24 04 e2 67 10 mov DWORD PTR [esp+0x4],0x1067e2 - 106bba: 00 - 106bbb: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14 - 106bc2: e8 41 f2 ff ff call 105e08 - 106bc7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106bce: 00 - 106bcf: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106bd6: 00 - 106bd7: c7 44 24 04 f2 67 10 mov DWORD PTR [esp+0x4],0x1067f2 - 106bde: 00 - 106bdf: c7 04 24 15 00 00 00 mov DWORD PTR [esp],0x15 - 106be6: e8 1d f2 ff ff call 105e08 - 106beb: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106bf2: 00 - 106bf3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106bfa: 00 - 106bfb: c7 44 24 04 02 68 10 mov DWORD PTR [esp+0x4],0x106802 - 106c02: 00 - 106c03: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16 - 106c0a: e8 f9 f1 ff ff call 105e08 - 106c0f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106c16: 00 - 106c17: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106c1e: 00 - 106c1f: c7 44 24 04 12 68 10 mov DWORD PTR [esp+0x4],0x106812 - 106c26: 00 - 106c27: c7 04 24 17 00 00 00 mov DWORD PTR [esp],0x17 - 106c2e: e8 d5 f1 ff ff call 105e08 - 106c33: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106c3a: 00 - 106c3b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106c42: 00 - 106c43: c7 44 24 04 22 68 10 mov DWORD PTR [esp+0x4],0x106822 - 106c4a: 00 - 106c4b: c7 04 24 18 00 00 00 mov DWORD PTR [esp],0x18 - 106c52: e8 b1 f1 ff ff call 105e08 - 106c57: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106c5e: 00 - 106c5f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106c66: 00 - 106c67: c7 44 24 04 32 68 10 mov DWORD PTR [esp+0x4],0x106832 - 106c6e: 00 - 106c6f: c7 04 24 19 00 00 00 mov DWORD PTR [esp],0x19 - 106c76: e8 8d f1 ff ff call 105e08 - 106c7b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106c82: 00 - 106c83: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106c8a: 00 - 106c8b: c7 44 24 04 42 68 10 mov DWORD PTR [esp+0x4],0x106842 - 106c92: 00 - 106c93: c7 04 24 1a 00 00 00 mov DWORD PTR [esp],0x1a - 106c9a: e8 69 f1 ff ff call 105e08 - 106c9f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106ca6: 00 - 106ca7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106cae: 00 - 106caf: c7 44 24 04 52 68 10 mov DWORD PTR [esp+0x4],0x106852 - 106cb6: 00 - 106cb7: c7 04 24 1b 00 00 00 mov DWORD PTR [esp],0x1b - 106cbe: e8 45 f1 ff ff call 105e08 - 106cc3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106cca: 00 - 106ccb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106cd2: 00 - 106cd3: c7 44 24 04 62 68 10 mov DWORD PTR [esp+0x4],0x106862 - 106cda: 00 - 106cdb: c7 04 24 1c 00 00 00 mov DWORD PTR [esp],0x1c - 106ce2: e8 21 f1 ff ff call 105e08 - 106ce7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106cee: 00 - 106cef: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106cf6: 00 - 106cf7: c7 44 24 04 72 68 10 mov DWORD PTR [esp+0x4],0x106872 - 106cfe: 00 - 106cff: c7 04 24 1d 00 00 00 mov DWORD PTR [esp],0x1d - 106d06: e8 fd f0 ff ff call 105e08 - 106d0b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106d12: 00 - 106d13: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106d1a: 00 - 106d1b: c7 44 24 04 82 68 10 mov DWORD PTR [esp+0x4],0x106882 - 106d22: 00 - 106d23: c7 04 24 1e 00 00 00 mov DWORD PTR [esp],0x1e - 106d2a: e8 d9 f0 ff ff call 105e08 - 106d2f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e - 106d36: 00 - 106d37: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8 - 106d3e: 00 - 106d3f: c7 44 24 04 92 68 10 mov DWORD PTR [esp+0x4],0x106892 - 106d46: 00 - 106d47: c7 04 24 1f 00 00 00 mov DWORD PTR [esp],0x1f - 106d4e: e8 b5 f0 ff ff call 105e08 - 106d53: 83 c4 1c add esp,0x1c - 106d56: c3 ret - -00106d57 : - 106d57: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 106d5b: 83 f8 1f cmp eax,0x1f - 106d5e: 7f 0b jg 106d6b - 106d60: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 106d64: 89 14 85 80 da 10 00 mov DWORD PTR [eax*4+0x10da80],edx - 106d6b: c3 ret - -00106d6c : - 106d6c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 106d70: 83 f8 1f cmp eax,0x1f - 106d73: 7f 0b jg 106d80 - 106d75: c7 04 85 80 da 10 00 mov DWORD PTR [eax*4+0x10da80],0x0 - 106d7c: 00 00 00 00 - 106d80: c3 ret - -00106d81 : - 106d81: 83 ec 1c sub esp,0x1c - 106d84: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 106d88: 8b 42 30 mov eax,DWORD PTR [edx+0x30] - 106d8b: 83 f8 1f cmp eax,0x1f - 106d8e: 77 1c ja 106dac - 106d90: 8b 04 85 80 da 10 00 mov eax,DWORD PTR [eax*4+0x10da80] - 106d97: 85 c0 test eax,eax - 106d99: 75 0c jne 106da7 - 106d9b: 89 14 24 mov DWORD PTR [esp],edx - 106d9e: e8 a9 d7 ff ff call 10454c - 106da3: fa cli - 106da4: f4 hlt - 106da5: eb 05 jmp 106dac - 106da7: 89 14 24 mov DWORD PTR [esp],edx - 106daa: ff d0 call eax - 106dac: 83 c4 1c add esp,0x1c - 106daf: c3 ret - -00106db0 : - 106db0: 56 push esi - 106db1: 53 push ebx - 106db2: 8a 44 24 0c mov al,BYTE PTR [esp+0xc] - 106db6: c0 e8 03 shr al,0x3 - 106db9: 25 ff 00 00 00 and eax,0xff - 106dbe: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc] - 106dc2: 83 e1 07 and ecx,0x7 - 106dc5: 80 7c 24 10 00 cmp BYTE PTR [esp+0x10],0x0 - 106dca: 74 17 je 106de3 - 106dcc: 8a 90 cc d9 10 00 mov dl,BYTE PTR [eax+0x10d9cc] - 106dd2: be 01 00 00 00 mov esi,0x1 - 106dd7: d3 e6 shl esi,cl - 106dd9: 09 f2 or edx,esi - 106ddb: 88 90 cc d9 10 00 mov BYTE PTR [eax+0x10d9cc],dl - 106de1: eb 17 jmp 106dfa - 106de3: 8a 90 cc d9 10 00 mov dl,BYTE PTR [eax+0x10d9cc] - 106de9: bb 01 00 00 00 mov ebx,0x1 - 106dee: d3 e3 shl ebx,cl - 106df0: f7 d3 not ebx - 106df2: 21 da and edx,ebx - 106df4: 88 90 cc d9 10 00 mov BYTE PTR [eax+0x10d9cc],dl - 106dfa: 5b pop ebx - 106dfb: 5e pop esi - 106dfc: c3 ret - -00106dfd : - 106dfd: 8a 44 24 04 mov al,BYTE PTR [esp+0x4] - 106e01: c0 e8 03 shr al,0x3 - 106e04: 25 ff 00 00 00 and eax,0xff - 106e09: 8a 80 cc d9 10 00 mov al,BYTE PTR [eax+0x10d9cc] - 106e0f: 8a 4c 24 04 mov cl,BYTE PTR [esp+0x4] - 106e13: 83 e1 07 and ecx,0x7 - 106e16: ba 01 00 00 00 mov edx,0x1 - 106e1b: d3 e2 shl edx,cl - 106e1d: 21 d0 and eax,edx - 106e1f: c3 ret - -00106e20 : - 106e20: 53 push ebx - 106e21: 83 ec 18 sub esp,0x18 - 106e24: bb 41 0d 03 00 mov ebx,0x30d41 - 106e29: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64 - 106e30: e8 a3 1d 00 00 call 108bd8 - 106e35: a8 02 test al,0x2 - 106e37: 74 03 je 106e3c - 106e39: 4b dec ebx - 106e3a: 75 ed jne 106e29 - 106e3c: 83 c4 18 add esp,0x18 - 106e3f: 5b pop ebx - 106e40: c3 ret - -00106e41 : - 106e41: 53 push ebx - 106e42: 83 ec 08 sub esp,0x8 - 106e45: 8a 5c 24 10 mov bl,BYTE PTR [esp+0x10] - 106e49: 8d 43 ff lea eax,[ebx-0x1] - 106e4c: 3c 02 cmp al,0x2 - 106e4e: 77 18 ja 106e68 - 106e50: e8 cb ff ff ff call 106e20 - 106e55: b0 f0 mov al,0xf0 - 106e57: e6 60 out 0x60,al - 106e59: e8 c2 ff ff ff call 106e20 - 106e5e: 88 d8 mov al,bl - 106e60: e6 60 out 0x60,al - 106e62: 88 1d f8 c2 10 00 mov BYTE PTR ds:0x10c2f8,bl - 106e68: 83 c4 08 add esp,0x8 - 106e6b: 5b pop ebx - 106e6c: c3 ret - -00106e6d : - 106e6d: 53 push ebx - 106e6e: 83 ec 18 sub esp,0x18 - 106e71: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20] - 106e75: 8a 44 24 24 mov al,BYTE PTR [esp+0x24] - 106e79: 88 44 24 0f mov BYTE PTR [esp+0xf],al - 106e7d: 80 fb 03 cmp bl,0x3 - 106e80: 77 1d ja 106e9f - 106e82: 3c 1f cmp al,0x1f - 106e84: 77 19 ja 106e9f - 106e86: e8 95 ff ff ff call 106e20 - 106e8b: b0 f3 mov al,0xf3 - 106e8d: e6 60 out 0x60,al - 106e8f: e8 8c ff ff ff call 106e20 - 106e94: 88 d8 mov al,bl - 106e96: c1 e0 05 shl eax,0x5 - 106e99: 0a 44 24 0f or al,BYTE PTR [esp+0xf] - 106e9d: e6 60 out 0x60,al - 106e9f: 83 c4 18 add esp,0x18 - 106ea2: 5b pop ebx - 106ea3: c3 ret - -00106ea4 : - 106ea4: 56 push esi - 106ea5: 53 push ebx - 106ea6: 83 ec 04 sub esp,0x4 - 106ea9: 80 7c 24 14 01 cmp BYTE PTR [esp+0x14],0x1 - 106eae: 19 c0 sbb eax,eax - 106eb0: f7 d0 not eax - 106eb2: 83 e0 02 and eax,0x2 - 106eb5: 80 7c 24 10 00 cmp BYTE PTR [esp+0x10],0x0 - 106eba: 0f 95 c3 setne bl - 106ebd: 09 d8 or eax,ebx - 106ebf: 89 c6 mov esi,eax - 106ec1: 80 7c 24 18 01 cmp BYTE PTR [esp+0x18],0x1 - 106ec6: 19 db sbb ebx,ebx - 106ec8: f7 d3 not ebx - 106eca: 83 e3 04 and ebx,0x4 - 106ecd: e8 4e ff ff ff call 106e20 - 106ed2: b0 ed mov al,0xed - 106ed4: e6 60 out 0x60,al - 106ed6: e8 45 ff ff ff call 106e20 - 106edb: 09 f3 or ebx,esi - 106edd: 88 d8 mov al,bl - 106edf: e6 60 out 0x60,al - 106ee1: 83 c4 04 add esp,0x4 - 106ee4: 5b pop ebx - 106ee5: 5e pop esi - 106ee6: c3 ret - -00106ee7 <_process_scancode>: - 106ee7: 53 push ebx - 106ee8: 83 ec 18 sub esp,0x18 - 106eeb: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20] - 106eef: 80 fb e1 cmp bl,0xe1 - 106ef2: 0f 84 a4 00 00 00 je 106f9c <_process_scancode+0xb5> - 106ef8: 80 fb e1 cmp bl,0xe1 - 106efb: 77 45 ja 106f42 <_process_scancode+0x5b> - 106efd: 80 fb 7e cmp bl,0x7e - 106f00: 0f 84 a2 00 00 00 je 106fa8 <_process_scancode+0xc1> - 106f06: 80 fb 7e cmp bl,0x7e - 106f09: 77 1b ja 106f26 <_process_scancode+0x3f> - 106f0b: 80 fb 58 cmp bl,0x58 - 106f0e: 0f 84 c0 00 00 00 je 106fd4 <_process_scancode+0xed> - 106f14: 80 fb 77 cmp bl,0x77 - 106f17: 0f 84 a1 00 00 00 je 106fbe <_process_scancode+0xd7> - 106f1d: 84 db test bl,bl - 106f1f: 74 55 je 106f76 <_process_scancode+0x8f> - 106f21: e9 c6 00 00 00 jmp 106fec <_process_scancode+0x105> - 106f26: 80 fb aa cmp bl,0xaa - 106f29: 0f 84 cc 01 00 00 je 1070fb <_process_scancode+0x214> - 106f2f: 80 fb e0 cmp bl,0xe0 - 106f32: 74 5c je 106f90 <_process_scancode+0xa9> - 106f34: 80 fb 83 cmp bl,0x83 - 106f37: 0f 85 af 00 00 00 jne 106fec <_process_scancode+0x105> - 106f3d: e9 a8 00 00 00 jmp 106fea <_process_scancode+0x103> - 106f42: 80 fb fd cmp bl,0xfd - 106f45: 77 21 ja 106f68 <_process_scancode+0x81> - 106f47: 80 fb fc cmp bl,0xfc - 106f4a: 73 2a jae 106f76 <_process_scancode+0x8f> - 106f4c: 80 fb f0 cmp bl,0xf0 - 106f4f: 74 33 je 106f84 <_process_scancode+0x9d> - 106f51: 80 fb fa cmp bl,0xfa - 106f54: 0f 84 a1 01 00 00 je 1070fb <_process_scancode+0x214> - 106f5a: 80 fb ee cmp bl,0xee - 106f5d: 0f 85 89 00 00 00 jne 106fec <_process_scancode+0x105> - 106f63: e9 93 01 00 00 jmp 1070fb <_process_scancode+0x214> - 106f68: 80 fb fe cmp bl,0xfe - 106f6b: 0f 84 8a 01 00 00 je 1070fb <_process_scancode+0x214> - 106f71: 80 fb ff cmp bl,0xff - 106f74: 75 76 jne 106fec <_process_scancode+0x105> - 106f76: e8 a5 fe ff ff call 106e20 - 106f7b: b0 f4 mov al,0xf4 - 106f7d: e6 60 out 0x60,al - 106f7f: e9 77 01 00 00 jmp 1070fb <_process_scancode+0x214> - 106f84: 80 0d de d9 10 00 01 or BYTE PTR ds:0x10d9de,0x1 - 106f8b: e9 6b 01 00 00 jmp 1070fb <_process_scancode+0x214> - 106f90: 80 0d de d9 10 00 02 or BYTE PTR ds:0x10d9de,0x2 - 106f97: e9 5f 01 00 00 jmp 1070fb <_process_scancode+0x214> - 106f9c: 80 0d de d9 10 00 04 or BYTE PTR ds:0x10d9de,0x4 - 106fa3: e9 53 01 00 00 jmp 1070fb <_process_scancode+0x214> - 106fa8: a0 de d9 10 00 mov al,ds:0x10d9de - 106fad: a8 01 test al,0x1 - 106faf: 75 3b jne 106fec <_process_scancode+0x105> - 106fb1: 83 f0 08 xor eax,0x8 - 106fb4: 83 c8 40 or eax,0x40 - 106fb7: a2 de d9 10 00 mov ds:0x10d9de,al - 106fbc: eb 2e jmp 106fec <_process_scancode+0x105> - 106fbe: a0 de d9 10 00 mov al,ds:0x10d9de - 106fc3: a8 01 test al,0x1 - 106fc5: 75 25 jne 106fec <_process_scancode+0x105> - 106fc7: 83 f0 10 xor eax,0x10 - 106fca: 83 c8 40 or eax,0x40 - 106fcd: a2 de d9 10 00 mov ds:0x10d9de,al - 106fd2: eb 18 jmp 106fec <_process_scancode+0x105> - 106fd4: a0 de d9 10 00 mov al,ds:0x10d9de - 106fd9: a8 01 test al,0x1 - 106fdb: 75 0f jne 106fec <_process_scancode+0x105> - 106fdd: 83 f0 20 xor eax,0x20 - 106fe0: 83 c8 40 or eax,0x40 - 106fe3: a2 de d9 10 00 mov ds:0x10d9de,al - 106fe8: eb 02 jmp 106fec <_process_scancode+0x105> - 106fea: b3 02 mov bl,0x2 - 106fec: 31 c0 xor eax,eax - 106fee: a0 de d9 10 00 mov al,ds:0x10d9de - 106ff3: a8 02 test al,0x2 - 106ff5: 0f 84 a2 00 00 00 je 10709d <_process_scancode+0x1b6> - 106ffb: 8d 53 f0 lea edx,[ebx-0x10] - 106ffe: 80 fa 6d cmp dl,0x6d - 107001: 0f 87 96 00 00 00 ja 10709d <_process_scancode+0x1b6> - 107007: 81 e2 ff 00 00 00 and edx,0xff - 10700d: ff 24 95 c0 a9 10 00 jmp DWORD PTR [edx*4+0x10a9c0] - 107014: b3 53 mov bl,0x53 - 107016: e9 82 00 00 00 jmp 10709d <_process_scancode+0x1b6> - 10701b: b3 5c mov bl,0x5c - 10701d: eb 7e jmp 10709d <_process_scancode+0x1b6> - 10701f: b3 0f mov bl,0xf - 107021: eb 7a jmp 10709d <_process_scancode+0x1b6> - 107023: b3 51 mov bl,0x51 - 107025: eb 76 jmp 10709d <_process_scancode+0x1b6> - 107027: b3 50 mov bl,0x50 - 107029: eb 72 jmp 10709d <_process_scancode+0x1b6> - 10702b: b3 18 mov bl,0x18 - 10702d: eb 6e jmp 10709d <_process_scancode+0x1b6> - 10702f: b3 6e mov bl,0x6e - 107031: eb 6a jmp 10709d <_process_scancode+0x1b6> - 107033: b3 4f mov bl,0x4f - 107035: eb 66 jmp 10709d <_process_scancode+0x1b6> - 107037: b3 28 mov bl,0x28 - 107039: eb 62 jmp 10709d <_process_scancode+0x1b6> - 10703b: b3 48 mov bl,0x48 - 10703d: eb 5e jmp 10709d <_process_scancode+0x1b6> - 10703f: b3 17 mov bl,0x17 - 107041: eb 5a jmp 10709d <_process_scancode+0x1b6> - 107043: b3 13 mov bl,0x13 - 107045: eb 56 jmp 10709d <_process_scancode+0x1b6> - 107047: b3 47 mov bl,0x47 - 107049: eb 52 jmp 10709d <_process_scancode+0x1b6> - 10704b: b3 39 mov bl,0x39 - 10704d: eb 4e jmp 10709d <_process_scancode+0x1b6> - 10704f: b3 10 mov bl,0x10 - 107051: eb 4a jmp 10709d <_process_scancode+0x1b6> - 107053: b3 30 mov bl,0x30 - 107055: eb 46 jmp 10709d <_process_scancode+0x1b6> - 107057: b3 20 mov bl,0x20 - 107059: eb 42 jmp 10709d <_process_scancode+0x1b6> - 10705b: b3 6a mov bl,0x6a - 10705d: eb 3e jmp 10709d <_process_scancode+0x1b6> - 10705f: b3 08 mov bl,0x8 - 107061: eb 3a jmp 10709d <_process_scancode+0x1b6> - 107063: b3 19 mov bl,0x19 - 107065: eb 36 jmp 10709d <_process_scancode+0x1b6> - 107067: b3 6d mov bl,0x6d - 107069: eb 32 jmp 10709d <_process_scancode+0x1b6> - 10706b: b3 40 mov bl,0x40 - 10706d: eb 2e jmp 10709d <_process_scancode+0x1b6> - 10706f: b3 61 mov bl,0x61 - 107071: eb 2a jmp 10709d <_process_scancode+0x1b6> - 107073: b3 64 mov bl,0x64 - 107075: eb 26 jmp 10709d <_process_scancode+0x1b6> - 107077: b3 60 mov bl,0x60 - 107079: eb 22 jmp 10709d <_process_scancode+0x1b6> - 10707b: b3 5e mov bl,0x5e - 10707d: eb 1e jmp 10709d <_process_scancode+0x1b6> - 10707f: b3 5f mov bl,0x5f - 107081: eb 1a jmp 10709d <_process_scancode+0x1b6> - 107083: b3 65 mov bl,0x65 - 107085: eb 16 jmp 10709d <_process_scancode+0x1b6> - 107087: b3 67 mov bl,0x67 - 107089: eb 12 jmp 10709d <_process_scancode+0x1b6> - 10708b: b3 68 mov bl,0x68 - 10708d: eb 0e jmp 10709d <_process_scancode+0x1b6> - 10708f: b3 63 mov bl,0x63 - 107091: eb 0a jmp 10709d <_process_scancode+0x1b6> - 107093: b3 56 mov bl,0x56 - 107095: eb 06 jmp 10709d <_process_scancode+0x1b6> - 107097: b3 62 mov bl,0x62 - 107099: eb 02 jmp 10709d <_process_scancode+0x1b6> - 10709b: b3 38 mov bl,0x38 - 10709d: a8 04 test al,0x4 - 10709f: 74 28 je 1070c9 <_process_scancode+0x1e2> - 1070a1: a8 01 test al,0x1 - 1070a3: 0f 94 c0 sete al - 1070a6: 25 ff 00 00 00 and eax,0xff - 1070ab: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1070af: c7 04 24 57 00 00 00 mov DWORD PTR [esp],0x57 - 1070b6: e8 f5 fc ff ff call 106db0 - 1070bb: 80 fb 77 cmp bl,0x77 - 1070be: 75 3b jne 1070fb <_process_scancode+0x214> - 1070c0: c6 05 de d9 10 00 00 mov BYTE PTR ds:0x10d9de,0x0 - 1070c7: eb 32 jmp 1070fb <_process_scancode+0x214> - 1070c9: a8 01 test al,0x1 - 1070cb: 0f 94 c0 sete al - 1070ce: 25 ff 00 00 00 and eax,0xff - 1070d3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1070d7: 31 c0 xor eax,eax - 1070d9: 88 d8 mov al,bl - 1070db: 89 04 24 mov DWORD PTR [esp],eax - 1070de: e8 cd fc ff ff call 106db0 - 1070e3: 88 1d dd d9 10 00 mov BYTE PTR ds:0x10d9dd,bl - 1070e9: a0 de d9 10 00 mov al,ds:0x10d9de - 1070ee: a2 dc d9 10 00 mov ds:0x10d9dc,al - 1070f3: 83 e0 f8 and eax,0xfffffff8 - 1070f6: a2 de d9 10 00 mov ds:0x10d9de,al - 1070fb: 83 c4 18 add esp,0x18 - 1070fe: 5b pop ebx - 1070ff: c3 ret - -00107100 : - 107100: 83 ec 1c sub esp,0x1c - 107103: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 10710a: e8 c9 1a 00 00 call 108bd8 - 10710f: 25 ff 00 00 00 and eax,0xff - 107114: 89 04 24 mov DWORD PTR [esp],eax - 107117: e8 cb fd ff ff call 106ee7 <_process_scancode> - 10711c: 31 c0 xor eax,eax - 10711e: a0 de d9 10 00 mov al,ds:0x10d9de - 107123: a8 40 test al,0x40 - 107125: 74 24 je 10714b - 107127: 89 c2 mov edx,eax - 107129: 83 e2 20 and edx,0x20 - 10712c: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 107130: 89 c2 mov edx,eax - 107132: 83 e2 10 and edx,0x10 - 107135: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 107139: 83 e0 08 and eax,0x8 - 10713c: 89 04 24 mov DWORD PTR [esp],eax - 10713f: e8 60 fd ff ff call 106ea4 - 107144: 80 25 de d9 10 00 bf and BYTE PTR ds:0x10d9de,0xbf - 10714b: 83 c4 1c add esp,0x1c - 10714e: c3 ret - -0010714f : - 10714f: 53 push ebx - 107150: 83 ec 18 sub esp,0x18 - 107153: bb 41 0d 03 00 mov ebx,0x30d41 - 107158: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64 - 10715f: e8 74 1a 00 00 call 108bd8 - 107164: a8 01 test al,0x1 - 107166: 75 03 jne 10716b - 107168: 4b dec ebx - 107169: 75 ed jne 107158 - 10716b: 83 c4 18 add esp,0x18 - 10716e: 5b pop ebx - 10716f: c3 ret - -00107170 : - 107170: 83 ec 0c sub esp,0xc - 107173: e8 a8 fc ff ff call 106e20 - 107178: b0 ff mov al,0xff - 10717a: e6 60 out 0x60,al - 10717c: c6 05 dc d9 10 00 00 mov BYTE PTR ds:0x10d9dc,0x0 - 107183: c6 05 de d9 10 00 00 mov BYTE PTR ds:0x10d9de,0x0 - 10718a: b8 00 00 00 00 mov eax,0x0 - 10718f: c6 80 cc d9 10 00 00 mov BYTE PTR [eax+0x10d9cc],0x0 - 107196: 40 inc eax - 107197: 83 f8 10 cmp eax,0x10 - 10719a: 75 f3 jne 10718f - 10719c: 83 c4 0c add esp,0xc - 10719f: c3 ret - -001071a0 : - 1071a0: 53 push ebx - 1071a1: 83 ec 18 sub esp,0x18 - 1071a4: e8 a6 ff ff ff call 10714f - 1071a9: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 1071b0: e8 23 1a 00 00 call 108bd8 - 1071b5: 3c aa cmp al,0xaa - 1071b7: 74 04 je 1071bd - 1071b9: 3c fc cmp al,0xfc - 1071bb: 75 ec jne 1071a9 - 1071bd: 3c fc cmp al,0xfc - 1071bf: 74 54 je 107215 - 1071c1: c7 44 24 04 0b 00 00 mov DWORD PTR [esp+0x4],0xb - 1071c8: 00 - 1071c9: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1071d0: e8 98 fc ff ff call 106e6d - 1071d5: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2 - 1071dc: e8 60 fc ff ff call 106e41 - 1071e1: e8 3a fc ff ff call 106e20 - 1071e6: b0 20 mov al,0x20 - 1071e8: e6 64 out 0x64,al - 1071ea: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 1071f1: e8 e2 19 00 00 call 108bd8 - 1071f6: 88 c3 mov bl,al - 1071f8: 3c fa cmp al,0xfa - 1071fa: 74 ee je 1071ea - 1071fc: 3c aa cmp al,0xaa - 1071fe: 74 ea je 1071ea - 107200: e8 1b fc ff ff call 106e20 - 107205: b0 60 mov al,0x60 - 107207: e6 64 out 0x64,al - 107209: e8 12 fc ff ff call 106e20 - 10720e: 88 d8 mov al,bl - 107210: 83 e0 bf and eax,0xffffffbf - 107213: e6 60 out 0x60,al - 107215: 83 c4 18 add esp,0x18 - 107218: 5b pop ebx - 107219: c3 ret - 10721a: 00 00 add BYTE PTR [eax],al - 10721c: 00 00 add BYTE PTR [eax],al - ... - -00107220 : - 107220: 66 87 db xchg bx,bx - 107223: 89 c1 mov ecx,eax - 107225: bc 00 1b 11 00 mov esp,0x111b00 - 10722a: 81 f9 02 b0 ad 2b cmp ecx,0x2badb002 - 107230: 75 09 jne 10723b - 107232: 54 push esp - 107233: 53 push ebx - 107234: e8 0b 03 00 00 call 107544 - 107239: fa cli - 10723a: f4 hlt - -0010723b : - 10723b: e8 b7 b6 ff ff call 1028f7 - 107240: e8 74 bf ff ff call 1031b9 - 107245: a1 a5 72 10 00 mov eax,ds:0x1072a5 - 10724a: 50 push eax - 10724b: 68 57 72 10 00 push 0x107257 - 107250: e8 23 bd ff ff call 102f78 - 107255: fa cli - 107256: f4 hlt - -00107257 : - 107257: 0a 25 23 21 20 46 or ah,BYTE PTR ds:0x46202123 - 10725d: 61 popa - 10725e: 74 61 je 1072c1 - 107260: 6c ins BYTE PTR es:[edi],dx - 107261: 20 65 72 and BYTE PTR [ebp+0x72],ah - 107264: 72 6f jb 1072d5 - 107266: 72 3a jb 1072a2 - 107268: 20 4e 6f and BYTE PTR [esi+0x6f],cl - 10726b: 74 20 je 10728d - 10726d: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f] - 107270: 74 65 je 1072d7 - 107272: 64 20 77 69 and BYTE PTR fs:[edi+0x69],dh - 107276: 74 68 je 1072e0 - 107278: 20 6d 75 and BYTE PTR [ebp+0x75],ch - 10727b: 6c ins BYTE PTR es:[edi],dx - 10727c: 74 69 je 1072e7 - 10727e: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f] - 107281: 74 20 je 1072a3 - 107283: 63 6f 6d arpl WORD PTR [edi+0x6d],bp - 107286: 70 6c jo 1072f4 - 107288: 69 61 6e 74 20 62 6f imul esp,DWORD PTR [ecx+0x6e],0x6f622074 - 10728f: 6f outs dx,DWORD PTR ds:[esi] - 107290: 74 6c je 1072fe - 107292: 6f outs dx,DWORD PTR ds:[esi] - 107293: 61 popa - 107294: 64 fs - 107295: 65 gs - 107296: 72 20 jb 1072b8 - 107298: 28 65 2e sub BYTE PTR [ebp+0x2e],ah - 10729b: 67 2e 20 47 52 and BYTE PTR cs:[bx+0x52],al - 1072a0: 55 push ebp - 1072a1: 42 inc edx - 1072a2: 29 2e sub DWORD PTR [esi],ebp - ... - -001072a5 : - 1072a5: 0c 00 or al,0x0 - ... - -001072a8 : - 1072a8: 55 push ebp - 1072a9: 57 push edi - 1072aa: 56 push esi - 1072ab: 53 push ebx - 1072ac: 83 ec 4c sub esp,0x4c - 1072af: 8b 74 24 64 mov esi,DWORD PTR [esp+0x64] - 1072b3: 8a 5c 24 60 mov bl,BYTE PTR [esp+0x60] - 1072b7: 8b 54 24 68 mov edx,DWORD PTR [esp+0x68] - 1072bb: b8 00 00 00 00 mov eax,0x0 - 1072c0: 85 d2 test edx,edx - 1072c2: 0f 84 2e 02 00 00 je 1074f6 - 1072c8: 80 3a 00 cmp BYTE PTR [edx],0x0 - 1072cb: 0f 84 20 02 00 00 je 1074f1 - 1072d1: 85 f6 test esi,esi - 1072d3: 0f 84 18 02 00 00 je 1074f1 - 1072d9: 80 3e 00 cmp BYTE PTR [esi],0x0 - 1072dc: 0f 84 14 02 00 00 je 1074f6 - 1072e2: 89 14 24 mov DWORD PTR [esp],edx - 1072e5: e8 26 1a 00 00 call 108d10 - 1072ea: 89 c5 mov ebp,eax - 1072ec: a0 00 c0 10 00 mov al,ds:0x10c000 - 1072f1: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 1072f5: a1 00 c3 10 00 mov eax,ds:0x10c300 - 1072fa: 84 db test bl,bl - 1072fc: 0f 94 44 24 18 sete BYTE PTR [esp+0x18] - 107301: 85 c0 test eax,eax - 107303: 74 35 je 10733a - 107305: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0 - 10730a: 74 2e je 10733a - 10730c: bf 00 00 00 00 mov edi,0x0 - 107311: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 107315: 89 34 24 mov DWORD PTR [esp],esi - 107318: e8 ba 1a 00 00 call 108dd7 - 10731d: 85 c0 test eax,eax - 10731f: 0f 84 d9 01 00 00 je 1074fe - 107325: 47 inc edi - 107326: 8b 04 bd 00 c3 10 00 mov eax,DWORD PTR [edi*4+0x10c300] - 10732d: 85 c0 test eax,eax - 10732f: 74 0e je 10733f - 107331: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0 - 107336: 75 d9 jne 107311 - 107338: eb 05 jmp 10733f - 10733a: bf 00 00 00 00 mov edi,0x0 - 10733f: b8 00 00 00 00 mov eax,0x0 - 107344: 84 db test bl,bl - 107346: 0f 84 aa 01 00 00 je 1074f6 - 10734c: 84 db test bl,bl - 10734e: 74 16 je 107366 - 107350: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf - 107357: 00 - 107358: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4 - 10735f: e8 f7 b5 ff ff call 10295b - 107364: eb 1b jmp 107381 - 107366: b8 89 88 88 88 mov eax,0x88888889 - 10736b: f7 e7 mul edi - 10736d: 89 d0 mov eax,edx - 10736f: c1 e8 03 shr eax,0x3 - 107372: 89 c2 mov edx,eax - 107374: c1 e2 04 shl edx,0x4 - 107377: 89 f9 mov ecx,edi - 107379: 28 d1 sub cl,dl - 10737b: 88 ca mov dl,cl - 10737d: 8d 44 02 01 lea eax,[edx+eax*1+0x1] - 107381: a2 00 c0 10 00 mov ds:0x10c000,al - 107386: c7 04 24 5b 00 00 00 mov DWORD PTR [esp],0x5b - 10738d: e8 aa ba ff ff call 102e3c <_write_char> - 107392: 89 34 24 mov DWORD PTR [esp],esi - 107395: e8 78 bb ff ff call 102f12 <_write_string> - 10739a: c7 04 24 5d 00 00 00 mov DWORD PTR [esp],0x5d - 1073a1: e8 96 ba ff ff call 102e3c <_write_char> - 1073a6: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f] - 1073aa: a2 00 c0 10 00 mov ds:0x10c000,al - 1073af: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20 - 1073b6: e8 81 ba ff ff call 102e3c <_write_char> - 1073bb: bb 00 00 00 00 mov ebx,0x0 - 1073c0: 85 ed test ebp,ebp - 1073c2: 0f 84 16 01 00 00 je 1074de - 1073c8: 8d 74 24 6c lea esi,[esp+0x6c] - 1073cc: 8d 7c 24 20 lea edi,[esp+0x20] - 1073d0: 8b 44 24 68 mov eax,DWORD PTR [esp+0x68] - 1073d4: 8a 14 18 mov dl,BYTE PTR [eax+ebx*1] - 1073d7: 80 fa 25 cmp dl,0x25 - 1073da: 74 10 je 1073ec - 1073dc: 0f be d2 movsx edx,dl - 1073df: 89 14 24 mov DWORD PTR [esp],edx - 1073e2: e8 55 ba ff ff call 102e3c <_write_char> - 1073e7: e9 e9 00 00 00 jmp 1074d5 - 1073ec: 43 inc ebx - 1073ed: 8a 04 18 mov al,BYTE PTR [eax+ebx*1] - 1073f0: 83 e8 23 sub eax,0x23 - 1073f3: 3c 55 cmp al,0x55 - 1073f5: 0f 87 da 00 00 00 ja 1074d5 - 1073fb: 25 ff 00 00 00 and eax,0xff - 107400: ff 24 85 80 ac 10 00 jmp DWORD PTR [eax*4+0x10ac80] - 107407: 8d 4e 04 lea ecx,[esi+0x4] - 10740a: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx - 10740e: 0f be 06 movsx eax,BYTE PTR [esi] - 107411: 89 04 24 mov DWORD PTR [esp],eax - 107414: e8 23 ba ff ff call 102e3c <_write_char> - 107419: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 10741d: e9 b3 00 00 00 jmp 1074d5 - 107422: 8d 46 04 lea eax,[esi+0x4] - 107425: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 107429: 8b 06 mov eax,DWORD PTR [esi] - 10742b: 89 04 24 mov DWORD PTR [esp],eax - 10742e: e8 df ba ff ff call 102f12 <_write_string> - 107433: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 107437: e9 99 00 00 00 jmp 1074d5 - 10743c: 8d 4e 04 lea ecx,[esi+0x4] - 10743f: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx - 107443: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa - 10744a: 00 - 10744b: 8b 06 mov eax,DWORD PTR [esi] - 10744d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 107451: 89 3c 24 mov DWORD PTR [esp],edi - 107454: e8 07 cf ff ff call 104360 - 107459: 89 3c 24 mov DWORD PTR [esp],edi - 10745c: e8 b1 ba ff ff call 102f12 <_write_string> - 107461: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 107465: eb 6e jmp 1074d5 - 107467: 8d 46 04 lea eax,[esi+0x4] - 10746a: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 10746e: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10 - 107475: 00 - 107476: 8b 06 mov eax,DWORD PTR [esi] - 107478: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10747c: 89 3c 24 mov DWORD PTR [esp],edi - 10747f: e8 5c cf ff ff call 1043e0 - 107484: 89 3c 24 mov DWORD PTR [esp],edi - 107487: e8 86 ba ff ff call 102f12 <_write_string> - 10748c: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 107490: eb 43 jmp 1074d5 - 107492: 8d 4e 04 lea ecx,[esi+0x4] - 107495: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx - 107499: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa - 1074a0: 00 - 1074a1: 8b 06 mov eax,DWORD PTR [esi] - 1074a3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1074a7: 89 3c 24 mov DWORD PTR [esp],edi - 1074aa: e8 31 cf ff ff call 1043e0 - 1074af: 89 3c 24 mov DWORD PTR [esp],edi - 1074b2: e8 5b ba ff ff call 102f12 <_write_string> - 1074b7: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18] - 1074bb: eb 18 jmp 1074d5 - 1074bd: 8a 06 mov al,BYTE PTR [esi] - 1074bf: a2 00 c0 10 00 mov ds:0x10c000,al - 1074c4: 8d 76 04 lea esi,[esi+0x4] - 1074c7: eb 0c jmp 1074d5 - 1074c9: c7 04 24 25 00 00 00 mov DWORD PTR [esp],0x25 - 1074d0: e8 67 b9 ff ff call 102e3c <_write_char> - 1074d5: 43 inc ebx - 1074d6: 39 dd cmp ebp,ebx - 1074d8: 0f 87 f2 fe ff ff ja 1073d0 - 1074de: 8a 4c 24 1f mov cl,BYTE PTR [esp+0x1f] - 1074e2: 88 0d 00 c0 10 00 mov BYTE PTR ds:0x10c000,cl - 1074e8: e8 d0 b3 ff ff call 1028bd - 1074ed: 89 d8 mov eax,ebx - 1074ef: eb 05 jmp 1074f6 - 1074f1: b8 00 00 00 00 mov eax,0x0 - 1074f6: 83 c4 4c add esp,0x4c - 1074f9: 5b pop ebx - 1074fa: 5e pop esi - 1074fb: 5f pop edi - 1074fc: 5d pop ebp - 1074fd: c3 ret - 1074fe: 47 inc edi - 1074ff: e9 48 fe ff ff jmp 10734c - -00107504 : - 107504: 83 ec 2c sub esp,0x2c - 107507: 83 7c 24 30 00 cmp DWORD PTR [esp+0x30],0x0 - 10750c: 75 31 jne 10753f - 10750e: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38] - 107512: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 107516: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] - 10751a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 10751e: c7 44 24 08 d8 ad 10 mov DWORD PTR [esp+0x8],0x10add8 - 107525: 00 - 107526: c7 44 24 04 fe ad 10 mov DWORD PTR [esp+0x4],0x10adfe - 10752d: 00 - 10752e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 107535: e8 6e fd ff ff call 1072a8 - 10753a: e8 a5 19 00 00 call 108ee4 - 10753f: 83 c4 2c add esp,0x2c - 107542: c3 ret - ... - -00107544 : - 107544: 57 push edi - 107545: 56 push esi - 107546: 53 push ebx - 107547: 83 ec 10 sub esp,0x10 - 10754a: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 10754e: bb 00 20 11 00 mov ebx,0x112000 - 107553: f6 06 08 test BYTE PTR [esi],0x8 - 107556: 74 20 je 107578 - 107558: 8b 46 18 mov eax,DWORD PTR [esi+0x18] - 10755b: 8b 7e 14 mov edi,DWORD PTR [esi+0x14] - 10755e: 85 ff test edi,edi - 107560: 74 16 je 107578 - 107562: ba 00 00 00 00 mov edx,0x0 - 107567: 8b 48 04 mov ecx,DWORD PTR [eax+0x4] - 10756a: 39 cb cmp ebx,ecx - 10756c: 73 02 jae 107570 - 10756e: 89 cb mov ebx,ecx - 107570: 42 inc edx - 107571: 83 c0 10 add eax,0x10 - 107574: 39 fa cmp edx,edi - 107576: 75 ef jne 107567 - 107578: e8 7a b3 ff ff call 1028f7 - 10757d: 89 1c 24 mov DWORD PTR [esp],ebx - 107580: e8 55 10 00 00 call 1085da - 107585: 89 34 24 mov DWORD PTR [esp],esi - 107588: e8 88 0f 00 00 call 108515 - 10758d: e8 b7 1a 00 00 call 109049 - 107592: e8 21 e7 ff ff call 105cb8 - 107597: 89 34 24 mov DWORD PTR [esp],esi - 10759a: e8 fd eb ff ff call 10619c - 10759f: e8 de d6 ff ff call 104c82 - 1075a4: c7 44 24 08 28 ae 10 mov DWORD PTR [esp+0x8],0x10ae28 - 1075ab: 00 - 1075ac: c7 44 24 04 49 ae 10 mov DWORD PTR [esp+0x4],0x10ae49 - 1075b3: 00 - 1075b4: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1075bb: e8 e8 fc ff ff call 1072a8 - 1075c0: e8 ac cc ff ff call 104271 - 1075c5: 83 c4 10 add esp,0x10 - 1075c8: 5b pop ebx - 1075c9: 5e pop esi - 1075ca: 5f pop edi - 1075cb: c3 ret - -001075cc : - 1075cc: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 1075d0: 8b 48 08 mov ecx,DWORD PTR [eax+0x8] - 1075d3: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 1075d7: 8b 50 08 mov edx,DWORD PTR [eax+0x8] - 1075da: b8 01 00 00 00 mov eax,0x1 - 1075df: 39 d1 cmp ecx,edx - 1075e1: 77 0b ja 1075ee - 1075e3: 39 d1 cmp ecx,edx - 1075e5: 0f 94 c0 sete al - 1075e8: 25 ff 00 00 00 and eax,0xff - 1075ed: 48 dec eax - 1075ee: c3 ret - -001075ef : - 1075ef: 57 push edi - 1075f0: 56 push esi - 1075f1: 53 push ebx - 1075f2: 83 ec 20 sub esp,0x20 - 1075f5: 8b 7c 24 30 mov edi,DWORD PTR [esp+0x30] - 1075f9: 8b 74 24 38 mov esi,DWORD PTR [esp+0x38] - 1075fd: 8a 44 24 34 mov al,BYTE PTR [esp+0x34] - 107601: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 107605: bb ff ff ff ff mov ebx,0xffffffff - 10760a: 83 7e 04 00 cmp DWORD PTR [esi+0x4],0x0 - 10760e: 74 3e je 10764e - 107610: bb 00 00 00 00 mov ebx,0x0 - 107615: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 107619: 89 1c 24 mov DWORD PTR [esp],ebx - 10761c: e8 0c 15 00 00 call 108b2d - 107621: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0 - 107626: 74 16 je 10763e - 107628: 8d 50 0c lea edx,[eax+0xc] - 10762b: f7 da neg edx - 10762d: 81 e2 ff 0f 00 00 and edx,0xfff - 107633: 8b 40 08 mov eax,DWORD PTR [eax+0x8] - 107636: 29 d0 sub eax,edx - 107638: 39 f8 cmp eax,edi - 10763a: 72 07 jb 107643 - 10763c: eb 10 jmp 10764e - 10763e: 3b 78 08 cmp edi,DWORD PTR [eax+0x8] - 107641: 76 0b jbe 10764e - 107643: 43 inc ebx - 107644: 39 5e 04 cmp DWORD PTR [esi+0x4],ebx - 107647: 77 cc ja 107615 - 107649: bb ff ff ff ff mov ebx,0xffffffff - 10764e: 89 d8 mov eax,ebx - 107650: 83 c4 20 add esp,0x20 - 107653: 5b pop ebx - 107654: 5e pop esi - 107655: 5f pop edi - 107656: c3 ret - -00107657 : - 107657: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 10765b: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514 - 107661: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 107665: 88 50 04 mov BYTE PTR [eax+0x4],dl - 107668: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 10766c: 89 50 08 mov DWORD PTR [eax+0x8],edx - 10766f: c3 ret - -00107670 : - 107670: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 107674: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514 - 10767a: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 10767e: 89 50 04 mov DWORD PTR [eax+0x4],edx - 107681: c3 ret - -00107682 : - 107682: 57 push edi - 107683: 56 push esi - 107684: 53 push ebx - 107685: 83 ec 30 sub esp,0x30 - 107688: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40] - 10768c: 8b 7c 24 44 mov edi,DWORD PTR [esp+0x44] - 107690: 8a 44 24 4c mov al,BYTE PTR [esp+0x4c] - 107694: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 107698: 89 f8 mov eax,edi - 10769a: 09 f0 or eax,esi - 10769c: bb 00 00 00 00 mov ebx,0x0 - 1076a1: a9 ff 0f 00 00 test eax,0xfff - 1076a6: 0f 85 95 00 00 00 jne 107741 - 1076ac: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20 - 1076b3: e8 49 0b 00 00 call 108201 - 1076b8: 89 c3 mov ebx,eax - 1076ba: 8d 44 24 20 lea eax,[esp+0x20] - 1076be: c7 44 24 0c cc 75 10 mov DWORD PTR [esp+0xc],0x1075cc - 1076c5: 00 - 1076c6: c7 44 24 08 00 00 02 mov DWORD PTR [esp+0x8],0x20000 - 1076cd: 00 - 1076ce: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 1076d2: 89 04 24 mov DWORD PTR [esp],eax - 1076d5: e8 e0 12 00 00 call 1089ba - 1076da: 83 ec 04 sub esp,0x4 - 1076dd: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1076e1: 89 03 mov DWORD PTR [ebx],eax - 1076e3: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 1076e7: 89 43 04 mov DWORD PTR [ebx+0x4],eax - 1076ea: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 1076ee: 89 43 08 mov DWORD PTR [ebx+0x8],eax - 1076f1: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 1076f5: 89 43 0c mov DWORD PTR [ebx+0xc],eax - 1076f8: 81 c6 00 00 08 00 add esi,0x80000 - 1076fe: f7 c6 ff 0f 00 00 test esi,0xfff - 107704: 74 0c je 107712 - 107706: 81 e6 00 f0 ff ff and esi,0xfffff000 - 10770c: 81 c6 00 10 00 00 add esi,0x1000 - 107712: 89 73 10 mov DWORD PTR [ebx+0x10],esi - 107715: 89 7b 14 mov DWORD PTR [ebx+0x14],edi - 107718: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f] - 10771c: 88 43 1c mov BYTE PTR [ebx+0x1c],al - 10771f: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48] - 107723: 89 43 18 mov DWORD PTR [ebx+0x18],eax - 107726: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514 - 10772c: c6 46 04 00 mov BYTE PTR [esi+0x4],0x0 - 107730: 29 f7 sub edi,esi - 107732: 89 7e 08 mov DWORD PTR [esi+0x8],edi - 107735: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107739: 89 34 24 mov DWORD PTR [esp],esi - 10773c: e8 83 13 00 00 call 108ac4 - 107741: 89 d8 mov eax,ebx - 107743: 83 c4 30 add esp,0x30 - 107746: 5b pop ebx - 107747: 5e pop esi - 107748: 5f pop edi - 107749: c3 ret - -0010774a : - 10774a: 55 push ebp - 10774b: 57 push edi - 10774c: 56 push esi - 10774d: 53 push ebx - 10774e: 83 ec 1c sub esp,0x1c - 107751: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 107755: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38] - 107759: 8b 77 14 mov esi,DWORD PTR [edi+0x14] - 10775c: 8b 57 10 mov edx,DWORD PTR [edi+0x10] - 10775f: 89 f0 mov eax,esi - 107761: 29 d0 sub eax,edx - 107763: 3b 44 24 30 cmp eax,DWORD PTR [esp+0x30] - 107767: 73 61 jae 1077ca - 107769: f7 44 24 30 ff 0f 00 test DWORD PTR [esp+0x30],0xfff - 107770: 00 - 107771: 74 14 je 107787 - 107773: 8b 4c 24 30 mov ecx,DWORD PTR [esp+0x30] - 107777: 81 e1 00 f0 ff ff and ecx,0xfffff000 - 10777d: 81 c1 00 10 00 00 add ecx,0x1000 - 107783: 89 4c 24 30 mov DWORD PTR [esp+0x30],ecx - 107787: 03 54 24 30 add edx,DWORD PTR [esp+0x30] - 10778b: 3b 57 18 cmp edx,DWORD PTR [edi+0x18] - 10778e: 73 3a jae 1077ca - 107790: 39 d6 cmp esi,edx - 107792: 73 2f jae 1077c3 - 107794: 31 db xor ebx,ebx - 107796: 8a 5f 1c mov bl,BYTE PTR [edi+0x1c] - 107799: e8 05 07 00 00 call 107ea3 - 10779e: 89 6c 24 0c mov DWORD PTR [esp+0xc],ebp - 1077a2: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 1077a6: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 1077aa: 89 04 24 mov DWORD PTR [esp],eax - 1077ad: e8 94 04 00 00 call 107c46 - 1077b2: 81 c6 00 10 00 00 add esi,0x1000 - 1077b8: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30] - 1077bc: 03 57 10 add edx,DWORD PTR [edi+0x10] - 1077bf: 39 f2 cmp edx,esi - 1077c1: 77 d1 ja 107794 - 1077c3: 89 57 14 mov DWORD PTR [edi+0x14],edx - 1077c6: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 1077ca: 83 c4 1c add esp,0x1c - 1077cd: 5b pop ebx - 1077ce: 5e pop esi - 1077cf: 5f pop edi - 1077d0: 5d pop ebp - 1077d1: c3 ret - -001077d2 : - 1077d2: 55 push ebp - 1077d3: 57 push edi - 1077d4: 56 push esi - 1077d5: 53 push ebx - 1077d6: 83 ec 1c sub esp,0x1c - 1077d9: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30] - 1077dd: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 1077e1: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38] - 1077e5: 8b 5f 14 mov ebx,DWORD PTR [edi+0x14] - 1077e8: 8b 47 10 mov eax,DWORD PTR [edi+0x10] - 1077eb: 89 de mov esi,ebx - 1077ed: 29 c6 sub esi,eax - 1077ef: 39 d6 cmp esi,edx - 1077f1: 76 4d jbe 107840 - 1077f3: f7 c2 ff 0f 00 00 test edx,0xfff - 1077f9: 74 0c je 107807 - 1077fb: 81 e2 00 f0 ff ff and edx,0xfffff000 - 107801: 81 c2 00 10 00 00 add edx,0x1000 - 107807: 89 d6 mov esi,edx - 107809: 81 fa 00 00 07 00 cmp edx,0x70000 - 10780f: 73 05 jae 107816 - 107811: be 00 00 07 00 mov esi,0x70000 - 107816: 81 eb 00 10 00 00 sub ebx,0x1000 - 10781c: 01 f0 add eax,esi - 10781e: 39 d8 cmp eax,ebx - 107820: 73 1b jae 10783d - 107822: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp - 107826: 89 1c 24 mov DWORD PTR [esp],ebx - 107829: e8 4e 05 00 00 call 107d7c - 10782e: 81 eb 00 10 00 00 sub ebx,0x1000 - 107834: 89 f0 mov eax,esi - 107836: 03 47 10 add eax,DWORD PTR [edi+0x10] - 107839: 39 d8 cmp eax,ebx - 10783b: 72 e5 jb 107822 - 10783d: 89 47 14 mov DWORD PTR [edi+0x14],eax - 107840: 89 f0 mov eax,esi - 107842: 83 c4 1c add esp,0x1c - 107845: 5b pop ebx - 107846: 5e pop esi - 107847: 5f pop edi - 107848: 5d pop ebp - 107849: c3 ret - -0010784a : - 10784a: 55 push ebp - 10784b: 57 push edi - 10784c: 56 push esi - 10784d: 53 push ebx - 10784e: 83 ec 3c sub esp,0x3c - 107851: 8b 6c 24 50 mov ebp,DWORD PTR [esp+0x50] - 107855: 8b 5c 24 58 mov ebx,DWORD PTR [esp+0x58] - 107859: 8a 44 24 54 mov al,BYTE PTR [esp+0x54] - 10785d: 88 44 24 18 mov BYTE PTR [esp+0x18],al - 107861: 85 ed test ebp,ebp - 107863: 0f 84 f6 01 00 00 je 107a5f - 107869: 85 db test ebx,ebx - 10786b: 0f 84 ee 01 00 00 je 107a5f - 107871: 8d 7d 14 lea edi,[ebp+0x14] - 107874: 88 c2 mov dl,al - 107876: 81 e2 ff 00 00 00 and edx,0xff - 10787c: 89 54 24 20 mov DWORD PTR [esp+0x20],edx - 107880: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 107884: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 107888: 89 3c 24 mov DWORD PTR [esp],edi - 10788b: e8 5f fd ff ff call 1075ef - 107890: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 107894: 83 f8 ff cmp eax,0xffffffff - 107897: 0f 85 e9 00 00 00 jne 107986 - 10789d: 8b 4b 14 mov ecx,DWORD PTR [ebx+0x14] - 1078a0: 89 4c 24 1c mov DWORD PTR [esp+0x1c],ecx - 1078a4: 2b 4b 10 sub ecx,DWORD PTR [ebx+0x10] - 1078a7: 89 4c 24 24 mov DWORD PTR [esp+0x24],ecx - 1078ab: 8b 44 24 5c mov eax,DWORD PTR [esp+0x5c] - 1078af: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 1078b3: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 1078b7: 01 cf add edi,ecx - 1078b9: 89 3c 24 mov DWORD PTR [esp],edi - 1078bc: e8 89 fe ff ff call 10774a - 1078c1: 8b 43 14 mov eax,DWORD PTR [ebx+0x14] - 1078c4: 2b 43 10 sub eax,DWORD PTR [ebx+0x10] - 1078c7: 89 44 24 28 mov DWORD PTR [esp+0x28],eax - 1078cb: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0 - 1078cf: 74 40 je 107911 - 1078d1: bf 00 00 00 00 mov edi,0x0 - 1078d6: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0 - 1078dd: 00 - 1078de: be 00 00 00 00 mov esi,0x0 - 1078e3: 89 6c 24 2c mov DWORD PTR [esp+0x2c],ebp - 1078e7: 89 dd mov ebp,ebx - 1078e9: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 1078ed: 89 34 24 mov DWORD PTR [esp],esi - 1078f0: e8 38 12 00 00 call 108b2d - 1078f5: 39 f8 cmp eax,edi - 1078f7: 76 06 jbe 1078ff - 1078f9: 89 c7 mov edi,eax - 1078fb: 89 74 24 18 mov DWORD PTR [esp+0x18],esi - 1078ff: 46 inc esi - 107900: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 107903: 39 f0 cmp eax,esi - 107905: 77 e0 ja 1078e7 - 107907: 89 ee mov esi,ebp - 107909: 8b 6c 24 2c mov ebp,DWORD PTR [esp+0x2c] - 10790d: 85 c0 test eax,eax - 10790f: 75 27 jne 107938 - 107911: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c] - 107915: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514 - 10791b: c6 46 04 00 mov BYTE PTR [esi+0x4],0x0 - 10791f: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 107923: 2b 44 24 24 sub eax,DWORD PTR [esp+0x24] - 107927: 89 46 08 mov DWORD PTR [esi+0x8],eax - 10792a: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 10792e: 89 34 24 mov DWORD PTR [esp],esi - 107931: e8 8e 11 00 00 call 108ac4 - 107936: eb 1d jmp 107955 - 107938: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 10793c: 8b 4c 24 18 mov ecx,DWORD PTR [esp+0x18] - 107940: 89 0c 24 mov DWORD PTR [esp],ecx - 107943: e8 e5 11 00 00 call 108b2d - 107948: 89 c6 mov esi,eax - 10794a: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 10794e: 2b 44 24 24 sub eax,DWORD PTR [esp+0x24] - 107952: 89 46 08 mov DWORD PTR [esi+0x8],eax - 107955: 8b 46 08 mov eax,DWORD PTR [esi+0x8] - 107958: 8d 44 06 f8 lea eax,[esi+eax*1-0x8] - 10795c: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514 - 107962: 89 70 04 mov DWORD PTR [eax+0x4],esi - 107965: 8b 44 24 5c mov eax,DWORD PTR [esp+0x5c] - 107969: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 10796d: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 107971: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 107975: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 107979: 89 2c 24 mov DWORD PTR [esp],ebp - 10797c: e8 c9 fe ff ff call 10784a - 107981: e9 de 00 00 00 jmp 107a64 - 107986: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 10798a: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 10798e: 89 04 24 mov DWORD PTR [esp],eax - 107991: e8 97 11 00 00 call 108b2d - 107996: 89 c6 mov esi,eax - 107998: 8b 56 08 mov edx,DWORD PTR [esi+0x8] - 10799b: 89 54 24 14 mov DWORD PTR [esp+0x14],edx - 10799f: 29 fa sub edx,edi - 1079a1: 83 fa 14 cmp edx,0x14 - 1079a4: 77 06 ja 1079ac - 1079a6: 01 d5 add ebp,edx - 1079a8: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14] - 1079ac: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0 - 1079b1: 74 43 je 1079f6 - 1079b3: 89 f2 mov edx,esi - 1079b5: 81 e2 00 f0 ff ff and edx,0xfffff000 - 1079bb: 74 39 je 1079f6 - 1079bd: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514 - 1079c3: c6 40 04 00 mov BYTE PTR [eax+0x4],0x0 - 1079c7: 81 e6 ff 0f 00 00 and esi,0xfff - 1079cd: b9 f4 0f 00 00 mov ecx,0xff4 - 1079d2: 29 f1 sub ecx,esi - 1079d4: 89 48 08 mov DWORD PTR [eax+0x8],ecx - 1079d7: c7 82 ec 0f 00 00 14 mov DWORD PTR [edx+0xfec],0x50dbe514 - 1079de: e5 db 50 - 1079e1: 89 82 f0 0f 00 00 mov DWORD PTR [edx+0xff0],eax - 1079e7: 8b 48 08 mov ecx,DWORD PTR [eax+0x8] - 1079ea: 29 4c 24 14 sub DWORD PTR [esp+0x14],ecx - 1079ee: 8d b2 f4 0f 00 00 lea esi,[edx+0xff4] - 1079f4: eb 10 jmp 107a06 - 1079f6: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 1079fa: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 1079fe: 89 04 24 mov DWORD PTR [esp],eax - 107a01: e8 3f 11 00 00 call 108b45 - 107a06: 01 f5 add ebp,esi - 107a08: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514 - 107a0e: c6 46 04 01 mov BYTE PTR [esi+0x4],0x1 - 107a12: 89 7e 08 mov DWORD PTR [esi+0x8],edi - 107a15: c7 45 0c 14 e5 db 50 mov DWORD PTR [ebp+0xc],0x50dbe514 - 107a1c: 89 75 10 mov DWORD PTR [ebp+0x10],esi - 107a1f: 39 7c 24 14 cmp DWORD PTR [esp+0x14],edi - 107a23: 74 35 je 107a5a - 107a25: 8d 45 14 lea eax,[ebp+0x14] - 107a28: 8b 54 24 14 mov edx,DWORD PTR [esp+0x14] - 107a2c: 29 fa sub edx,edi - 107a2e: c7 45 14 14 e5 db 50 mov DWORD PTR [ebp+0x14],0x50dbe514 - 107a35: c6 40 04 00 mov BYTE PTR [eax+0x4],0x0 - 107a39: 89 50 08 mov DWORD PTR [eax+0x8],edx - 107a3c: 8d 54 10 f8 lea edx,[eax+edx*1-0x8] - 107a40: 3b 53 14 cmp edx,DWORD PTR [ebx+0x14] - 107a43: 73 09 jae 107a4e - 107a45: c7 02 14 e5 db 50 mov DWORD PTR [edx],0x50dbe514 - 107a4b: 89 42 04 mov DWORD PTR [edx+0x4],eax - 107a4e: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107a52: 89 04 24 mov DWORD PTR [esp],eax - 107a55: e8 6a 10 00 00 call 108ac4 - 107a5a: 8d 46 0c lea eax,[esi+0xc] - 107a5d: eb 05 jmp 107a64 - 107a5f: b8 00 00 00 00 mov eax,0x0 - 107a64: 83 c4 3c add esp,0x3c - 107a67: 5b pop ebx - 107a68: 5e pop esi - 107a69: 5f pop edi - 107a6a: 5d pop ebp - 107a6b: c3 ret - -00107a6c : - 107a6c: 55 push ebp - 107a6d: 57 push edi - 107a6e: 56 push esi - 107a6f: 53 push ebx - 107a70: 83 ec 2c sub esp,0x2c - 107a73: 8b 44 24 40 mov eax,DWORD PTR [esp+0x40] - 107a77: 8b 5c 24 44 mov ebx,DWORD PTR [esp+0x44] - 107a7b: 85 c0 test eax,eax - 107a7d: 0f 84 86 01 00 00 je 107c09 - 107a83: 85 db test ebx,ebx - 107a85: 0f 84 7e 01 00 00 je 107c09 - 107a8b: 8d 68 f4 lea ebp,[eax-0xc] - 107a8e: 89 ef mov edi,ebp - 107a90: 8b 50 fc mov edx,DWORD PTR [eax-0x4] - 107a93: 81 78 f4 14 e5 db 50 cmp DWORD PTR [eax-0xc],0x50dbe514 - 107a9a: 0f 85 69 01 00 00 jne 107c09 - 107aa0: 8d 74 15 00 lea esi,[ebp+edx*1+0x0] - 107aa4: 8d 4e f8 lea ecx,[esi-0x8] - 107aa7: 81 7e f8 14 e5 db 50 cmp DWORD PTR [esi-0x8],0x50dbe514 - 107aae: 0f 85 55 01 00 00 jne 107c09 - 107ab4: c6 40 f8 00 mov BYTE PTR [eax-0x8],0x0 - 107ab8: c6 44 24 13 01 mov BYTE PTR [esp+0x13],0x1 - 107abd: 81 78 ec 14 e5 db 50 cmp DWORD PTR [eax-0x14],0x50dbe514 - 107ac4: 75 16 jne 107adc - 107ac6: 8b 40 f0 mov eax,DWORD PTR [eax-0x10] - 107ac9: 80 78 04 00 cmp BYTE PTR [eax+0x4],0x0 - 107acd: 75 0d jne 107adc - 107acf: 89 41 04 mov DWORD PTR [ecx+0x4],eax - 107ad2: 01 50 08 add DWORD PTR [eax+0x8],edx - 107ad5: 89 c7 mov edi,eax - 107ad7: c6 44 24 13 00 mov BYTE PTR [esp+0x13],0x0 - 107adc: 3b 73 14 cmp esi,DWORD PTR [ebx+0x14] - 107adf: 73 73 jae 107b54 - 107ae1: 81 3e 14 e5 db 50 cmp DWORD PTR [esi],0x50dbe514 - 107ae7: 75 6b jne 107b54 - 107ae9: 80 7e 04 00 cmp BYTE PTR [esi+0x4],0x0 - 107aed: 75 65 jne 107b54 - 107aef: 8b 46 08 mov eax,DWORD PTR [esi+0x8] - 107af2: 01 47 08 add DWORD PTR [edi+0x8],eax - 107af5: 8b 46 08 mov eax,DWORD PTR [esi+0x8] - 107af8: 8d 44 06 f8 lea eax,[esi+eax*1-0x8] - 107afc: 89 44 24 14 mov DWORD PTR [esp+0x14],eax - 107b00: bd 00 00 00 00 mov ebp,0x0 - 107b05: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0 - 107b09: 75 10 jne 107b1b - 107b0b: e9 f0 00 00 00 jmp 107c00 - 107b10: 45 inc ebp - 107b11: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp - 107b14: 77 0b ja 107b21 - 107b16: e9 df 00 00 00 jmp 107bfa - 107b1b: 89 7c 24 18 mov DWORD PTR [esp+0x18],edi - 107b1f: 89 f7 mov edi,esi - 107b21: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107b25: 89 2c 24 mov DWORD PTR [esp],ebp - 107b28: e8 00 10 00 00 call 108b2d - 107b2d: 39 c7 cmp edi,eax - 107b2f: 75 df jne 107b10 - 107b31: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx - 107b35: 89 fe mov esi,edi - 107b37: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18] - 107b3b: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14] - 107b3f: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp - 107b42: 76 10 jbe 107b54 - 107b44: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107b48: 89 2c 24 mov DWORD PTR [esp],ebp - 107b4b: e8 f5 0f 00 00 call 108b45 - 107b50: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14] - 107b54: 8d 69 08 lea ebp,[ecx+0x8] - 107b57: 3b 6b 14 cmp ebp,DWORD PTR [ebx+0x14] - 107b5a: 0f 85 85 00 00 00 jne 107be5 - 107b60: 2b 6b 10 sub ebp,DWORD PTR [ebx+0x10] - 107b63: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48] - 107b67: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 107b6b: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107b6f: 8b 47 08 mov eax,DWORD PTR [edi+0x8] - 107b72: 8d 44 07 f8 lea eax,[edi+eax*1-0x8] - 107b76: 89 04 24 mov DWORD PTR [esp],eax - 107b79: e8 54 fc ff ff call 1077d2 - 107b7e: 8b 57 08 mov edx,DWORD PTR [edi+0x8] - 107b81: 89 e9 mov ecx,ebp - 107b83: 29 c1 sub ecx,eax - 107b85: 39 ca cmp edx,ecx - 107b87: 77 0d ja 107b96 - 107b89: bd 00 00 00 00 mov ebp,0x0 - 107b8e: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0 - 107b92: 75 20 jne 107bb4 - 107b94: eb 4f jmp 107be5 - 107b96: 29 ea sub edx,ebp - 107b98: 01 d0 add eax,edx - 107b9a: 89 47 08 mov DWORD PTR [edi+0x8],eax - 107b9d: 8d 44 07 f8 lea eax,[edi+eax*1-0x8] - 107ba1: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514 - 107ba7: 89 78 04 mov DWORD PTR [eax+0x4],edi - 107baa: eb 39 jmp 107be5 - 107bac: 45 inc ebp - 107bad: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp - 107bb0: 77 08 ja 107bba - 107bb2: eb 2d jmp 107be1 - 107bb4: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi - 107bb8: 89 f7 mov edi,esi - 107bba: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107bbe: 89 2c 24 mov DWORD PTR [esp],ebp - 107bc1: e8 67 0f 00 00 call 108b2d - 107bc6: 39 c7 cmp edi,eax - 107bc8: 75 e2 jne 107bac - 107bca: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14] - 107bce: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp - 107bd1: 76 12 jbe 107be5 - 107bd3: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107bd7: 89 2c 24 mov DWORD PTR [esp],ebp - 107bda: e8 66 0f 00 00 call 108b45 - 107bdf: eb 04 jmp 107be5 - 107be1: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14] - 107be5: 80 7c 24 13 00 cmp BYTE PTR [esp+0x13],0x0 - 107bea: 74 1d je 107c09 - 107bec: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107bf0: 89 3c 24 mov DWORD PTR [esp],edi - 107bf3: e8 cc 0e 00 00 call 108ac4 - 107bf8: eb 0f jmp 107c09 - 107bfa: 89 fe mov esi,edi - 107bfc: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18] - 107c00: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14] - 107c04: e9 4b ff ff ff jmp 107b54 - 107c09: 83 c4 2c add esp,0x2c - 107c0c: 5b pop ebx - 107c0d: 5e pop esi - 107c0e: 5f pop edi - 107c0f: 5d pop ebp - 107c10: c3 ret - 107c11: 00 00 add BYTE PTR [eax],al - ... - -00107c14 : - 107c14: 0f 20 c0 mov eax,cr0 - 107c17: 0d 00 00 00 80 or eax,0x80000000 - 107c1c: 0f 22 c0 mov cr0,eax - 107c1f: c3 ret - -00107c20 : - 107c20: 0f 20 c0 mov eax,cr0 - 107c23: 25 ff ff ff 7f and eax,0x7fffffff - 107c28: 0f 22 c0 mov cr0,eax - 107c2b: c3 ret - -00107c2c : - 107c2c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 107c30: a3 e8 d9 10 00 mov ds:0x10d9e8,eax - 107c35: 8b 80 00 20 00 00 mov eax,DWORD PTR [eax+0x2000] - 107c3b: 0f 22 d8 mov cr3,eax - 107c3e: c3 ret - -00107c3f : - 107c3f: 0f 20 d8 mov eax,cr3 - 107c42: 0f 22 d8 mov cr3,eax - 107c45: c3 ret - -00107c46 : - 107c46: 55 push ebp - 107c47: 57 push edi - 107c48: 56 push esi - 107c49: 53 push ebx - 107c4a: 83 ec 3c sub esp,0x3c - 107c4d: 8b 7c 24 54 mov edi,DWORD PTR [esp+0x54] - 107c51: 8b 5c 24 5c mov ebx,DWORD PTR [esp+0x5c] - 107c55: 89 fe mov esi,edi - 107c57: c1 ee 16 shr esi,0x16 - 107c5a: c1 ef 0c shr edi,0xc - 107c5d: 81 e7 ff 03 00 00 and edi,0x3ff - 107c63: 8b 6c 24 50 mov ebp,DWORD PTR [esp+0x50] - 107c67: 81 e5 00 f0 ff ff and ebp,0xfffff000 - 107c6d: 8b 44 24 58 mov eax,DWORD PTR [esp+0x58] - 107c71: 25 ff 0f 00 00 and eax,0xfff - 107c76: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 107c7a: 83 3c b3 00 cmp DWORD PTR [ebx+esi*4],0x0 - 107c7e: 75 45 jne 107cc5 - 107c80: 8d 44 24 2c lea eax,[esp+0x2c] - 107c84: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 107c88: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000 - 107c8f: e8 4c 06 00 00 call 1082e0 - 107c94: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 107c98: c7 44 24 08 00 10 00 mov DWORD PTR [esp+0x8],0x1000 - 107c9f: 00 - 107ca0: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 107ca7: 00 - 107ca8: 89 04 24 mov DWORD PTR [esp],eax - 107cab: e8 c7 03 00 00 call 108077 - 107cb0: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c] - 107cb4: 89 04 b3 mov DWORD PTR [ebx+esi*4],eax - 107cb7: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c] - 107cbb: 83 c8 07 or eax,0x7 - 107cbe: 89 84 b3 00 10 00 00 mov DWORD PTR [ebx+esi*4+0x1000],eax - 107cc5: 8b 04 b3 mov eax,DWORD PTR [ebx+esi*4] - 107cc8: 83 cd 01 or ebp,0x1 - 107ccb: 0b 6c 24 18 or ebp,DWORD PTR [esp+0x18] - 107ccf: 89 2c b8 mov DWORD PTR [eax+edi*4],ebp - 107cd2: 3b 1d e8 d9 10 00 cmp ebx,DWORD PTR ds:0x10d9e8 - 107cd8: 75 05 jne 107cdf - 107cda: e8 60 ff ff ff call 107c3f - 107cdf: 83 c4 3c add esp,0x3c - 107ce2: 5b pop ebx - 107ce3: 5e pop esi - 107ce4: 5f pop edi - 107ce5: 5d pop ebp - 107ce6: c3 ret - -00107ce7 : - 107ce7: 57 push edi - 107ce8: 56 push esi - 107ce9: 53 push ebx - 107cea: 83 ec 10 sub esp,0x10 - 107ced: 8b 7c 24 20 mov edi,DWORD PTR [esp+0x20] - 107cf1: c7 04 24 04 20 00 00 mov DWORD PTR [esp],0x2004 - 107cf8: e8 4d 05 00 00 call 10824a - 107cfd: 89 c6 mov esi,eax - 107cff: c7 44 24 08 04 20 00 mov DWORD PTR [esp+0x8],0x2004 - 107d06: 00 - 107d07: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 107d0e: 00 - 107d0f: 89 04 24 mov DWORD PTR [esp],eax - 107d12: e8 60 03 00 00 call 108077 - 107d17: 89 35 e4 d9 10 00 mov DWORD PTR ds:0x10d9e4,esi - 107d1d: 8d 86 00 10 00 00 lea eax,[esi+0x1000] - 107d23: 89 86 00 20 00 00 mov DWORD PTR [esi+0x2000],eax - 107d29: bb 00 00 00 00 mov ebx,0x0 - 107d2e: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 107d32: c7 44 24 08 02 00 00 mov DWORD PTR [esp+0x8],0x2 - 107d39: 00 - 107d3a: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 107d3e: 89 1c 24 mov DWORD PTR [esp],ebx - 107d41: e8 00 ff ff ff call 107c46 - 107d46: 81 c3 00 10 00 00 add ebx,0x1000 - 107d4c: 8b 07 mov eax,DWORD PTR [edi] - 107d4e: 8d 90 00 04 00 00 lea edx,[eax+0x400] - 107d54: 39 da cmp edx,ebx - 107d56: 73 d6 jae 107d2e - 107d58: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 107d5c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 107d63: e8 5b 02 00 00 call 107fc3 - 107d68: 89 34 24 mov DWORD PTR [esp],esi - 107d6b: e8 bc fe ff ff call 107c2c - 107d70: e8 9f fe ff ff call 107c14 - 107d75: 83 c4 10 add esp,0x10 - 107d78: 5b pop ebx - 107d79: 5e pop esi - 107d7a: 5f pop edi - 107d7b: c3 ret - -00107d7c : - 107d7c: 53 push ebx - 107d7d: 83 ec 18 sub esp,0x18 - 107d80: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 107d84: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 107d88: 89 d0 mov eax,edx - 107d8a: c1 e8 16 shr eax,0x16 - 107d8d: 8b 04 83 mov eax,DWORD PTR [ebx+eax*4] - 107d90: 85 c0 test eax,eax - 107d92: 74 32 je 107dc6 - 107d94: c1 ea 0c shr edx,0xc - 107d97: 81 e2 ff 03 00 00 and edx,0x3ff - 107d9d: 8b 0c 90 mov ecx,DWORD PTR [eax+edx*4] - 107da0: 85 c9 test ecx,ecx - 107da2: 74 22 je 107dc6 - 107da4: c7 04 90 00 00 00 00 mov DWORD PTR [eax+edx*4],0x0 - 107dab: 81 e1 00 f0 ff ff and ecx,0xfffff000 - 107db1: 89 0c 24 mov DWORD PTR [esp],ecx - 107db4: e8 68 01 00 00 call 107f21 - 107db9: 3b 1d e8 d9 10 00 cmp ebx,DWORD PTR ds:0x10d9e8 - 107dbf: 75 05 jne 107dc6 - 107dc1: e8 79 fe ff ff call 107c3f - 107dc6: 83 c4 18 add esp,0x18 - 107dc9: 5b pop ebx - 107dca: c3 ret - -00107dcb : - 107dcb: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4] - 107dcf: 89 ca mov edx,ecx - 107dd1: c1 ea 16 shr edx,0x16 - 107dd4: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 107dd8: 8b 14 90 mov edx,DWORD PTR [eax+edx*4] - 107ddb: b8 00 00 00 00 mov eax,0x0 - 107de0: 85 d2 test edx,edx - 107de2: 74 17 je 107dfb - 107de4: c1 e9 0c shr ecx,0xc - 107de7: 81 e1 ff 03 00 00 and ecx,0x3ff - 107ded: 8b 14 8a mov edx,DWORD PTR [edx+ecx*4] - 107df0: 85 d2 test edx,edx - 107df2: 74 07 je 107dfb - 107df4: 89 d0 mov eax,edx - 107df6: 25 00 f0 ff ff and eax,0xfffff000 - 107dfb: c3 ret - -00107dfc : - 107dfc: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 107e00: 89 c1 mov ecx,eax - 107e02: c1 e9 05 shr ecx,0x5 - 107e05: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 107e09: 89 0a mov DWORD PTR [edx],ecx - 107e0b: 83 e0 1f and eax,0x1f - 107e0e: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc] - 107e12: 89 02 mov DWORD PTR [edx],eax - 107e14: c3 ret - -00107e15 : - 107e15: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 107e19: c1 e0 05 shl eax,0x5 - 107e1c: 0b 44 24 08 or eax,DWORD PTR [esp+0x8] - 107e20: c3 ret - -00107e21 : - 107e21: 53 push ebx - 107e22: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8] - 107e26: 89 c8 mov eax,ecx - 107e28: c1 e8 05 shr eax,0x5 - 107e2b: 83 e1 1f and ecx,0x1f - 107e2e: 80 7c 24 0c 00 cmp BYTE PTR [esp+0xc],0x0 - 107e33: 74 2a je 107e5f - 107e35: c1 e0 02 shl eax,0x2 - 107e38: 03 05 f4 d9 10 00 add eax,DWORD PTR ds:0x10d9f4 - 107e3e: bb 01 00 00 00 mov ebx,0x1 - 107e43: d3 e3 shl ebx,cl - 107e45: 89 da mov edx,ebx - 107e47: 23 10 and edx,DWORD PTR [eax] - 107e49: 83 fa 01 cmp edx,0x1 - 107e4c: 0f 92 c2 setb dl - 107e4f: 81 e2 ff 00 00 00 and edx,0xff - 107e55: 01 15 f0 d9 10 00 add DWORD PTR ds:0x10d9f0,edx - 107e5b: 09 18 or DWORD PTR [eax],ebx - 107e5d: eb 2a jmp 107e89 - 107e5f: c1 e0 02 shl eax,0x2 - 107e62: 03 05 f4 d9 10 00 add eax,DWORD PTR ds:0x10d9f4 - 107e68: ba 01 00 00 00 mov edx,0x1 - 107e6d: d3 e2 shl edx,cl - 107e6f: 89 d1 mov ecx,edx - 107e71: 23 08 and ecx,DWORD PTR [eax] - 107e73: 83 f9 01 cmp ecx,0x1 - 107e76: 8b 0d f0 d9 10 00 mov ecx,DWORD PTR ds:0x10d9f0 - 107e7c: 83 d1 ff adc ecx,0xffffffff - 107e7f: 89 0d f0 d9 10 00 mov DWORD PTR ds:0x10d9f0,ecx - 107e85: f7 d2 not edx - 107e87: 21 10 and DWORD PTR [eax],edx - 107e89: 5b pop ebx - 107e8a: c3 ret - -00107e8b : - 107e8b: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4] - 107e8f: b8 01 00 00 00 mov eax,0x1 - 107e94: d3 e0 shl eax,cl - 107e96: c1 e9 05 shr ecx,0x5 - 107e99: 8b 15 f4 d9 10 00 mov edx,DWORD PTR ds:0x10d9f4 - 107e9f: 23 04 8a and eax,DWORD PTR [edx+ecx*4] - 107ea2: c3 ret - -00107ea3 : - 107ea3: 56 push esi - 107ea4: 53 push ebx - 107ea5: 83 ec 08 sub esp,0x8 - 107ea8: 8b 35 f8 d9 10 00 mov esi,DWORD PTR ds:0x10d9f8 - 107eae: b8 ff ff ff ff mov eax,0xffffffff - 107eb3: c1 ee 05 shr esi,0x5 - 107eb6: 74 63 je 107f1b - 107eb8: 8b 0d f4 d9 10 00 mov ecx,DWORD PTR ds:0x10d9f4 - 107ebe: 8b 11 mov edx,DWORD PTR [ecx] - 107ec0: b8 00 00 00 00 mov eax,0x0 - 107ec5: 83 fa ff cmp edx,0xffffffff - 107ec8: 74 47 je 107f11 - 107eca: eb 0a jmp 107ed6 - 107ecc: 8b 14 81 mov edx,DWORD PTR [ecx+eax*4] - 107ecf: 83 fa ff cmp edx,0xffffffff - 107ed2: 74 3d je 107f11 - 107ed4: eb 05 jmp 107edb - 107ed6: b8 00 00 00 00 mov eax,0x0 - 107edb: b9 00 00 00 00 mov ecx,0x0 - 107ee0: f6 c2 01 test dl,0x1 - 107ee3: 74 0e je 107ef3 - 107ee5: be 01 00 00 00 mov esi,0x1 - 107eea: 41 inc ecx - 107eeb: 89 f3 mov ebx,esi - 107eed: d3 e3 shl ebx,cl - 107eef: 85 d3 test ebx,edx - 107ef1: 75 f7 jne 107eea - 107ef3: 89 c3 mov ebx,eax - 107ef5: c1 e3 05 shl ebx,0x5 - 107ef8: 09 cb or ebx,ecx - 107efa: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 107f01: 00 - 107f02: 89 1c 24 mov DWORD PTR [esp],ebx - 107f05: e8 17 ff ff ff call 107e21 - 107f0a: 89 d8 mov eax,ebx - 107f0c: c1 e0 0c shl eax,0xc - 107f0f: eb 0a jmp 107f1b - 107f11: 40 inc eax - 107f12: 39 f0 cmp eax,esi - 107f14: 75 b6 jne 107ecc - 107f16: b8 ff ff ff ff mov eax,0xffffffff - 107f1b: 83 c4 08 add esp,0x8 - 107f1e: 5b pop ebx - 107f1f: 5e pop esi - 107f20: c3 ret - -00107f21 : - 107f21: 83 ec 08 sub esp,0x8 - 107f24: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 107f28: c1 e8 0c shr eax,0xc - 107f2b: 74 10 je 107f3d - 107f2d: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 107f34: 00 - 107f35: 89 04 24 mov DWORD PTR [esp],eax - 107f38: e8 e4 fe ff ff call 107e21 - 107f3d: 83 c4 08 add esp,0x8 - 107f40: c3 ret - -00107f41 : - 107f41: 53 push ebx - 107f42: 83 ec 28 sub esp,0x28 - 107f45: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 107f49: 89 d8 mov eax,ebx - 107f4b: c1 e8 02 shr eax,0x2 - 107f4e: a3 f8 d9 10 00 mov ds:0x10d9f8,eax - 107f53: 89 1d ec d9 10 00 mov DWORD PTR ds:0x10d9ec,ebx - 107f59: 89 d8 mov eax,ebx - 107f5b: c1 e8 07 shr eax,0x7 - 107f5e: 8d 04 85 04 00 00 00 lea eax,[eax*4+0x4] - 107f65: 89 04 24 mov DWORD PTR [esp],eax - 107f68: e8 94 02 00 00 call 108201 - 107f6d: a3 f4 d9 10 00 mov ds:0x10d9f4,eax - 107f72: 8b 15 f8 d9 10 00 mov edx,DWORD PTR ds:0x10d9f8 - 107f78: c1 ea 05 shr edx,0x5 - 107f7b: 8d 14 95 04 00 00 00 lea edx,[edx*4+0x4] - 107f82: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 107f86: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 107f8d: 00 - 107f8e: 89 04 24 mov DWORD PTR [esp],eax - 107f91: e8 e1 00 00 00 call 108077 - 107f96: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx - 107f9a: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa - 107fa1: 00 - 107fa2: c7 44 24 08 54 ae 10 mov DWORD PTR [esp+0x8],0x10ae54 - 107fa9: 00 - 107faa: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 107fb1: 00 - 107fb2: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 107fb9: e8 ea f2 ff ff call 1072a8 - 107fbe: 83 c4 28 add esp,0x28 - 107fc1: 5b pop ebx - 107fc2: c3 ret - -00107fc3 : - 107fc3: 56 push esi - 107fc4: 53 push ebx - 107fc5: 83 ec 08 sub esp,0x8 - 107fc8: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 107fcc: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14] - 107fd0: c1 eb 0c shr ebx,0xc - 107fd3: 89 c6 mov esi,eax - 107fd5: c1 ee 0c shr esi,0xc - 107fd8: 01 de add esi,ebx - 107fda: a9 ff 0f 00 00 test eax,0xfff - 107fdf: 0f 95 c0 setne al - 107fe2: 25 ff 00 00 00 and eax,0xff - 107fe7: 01 c6 add esi,eax - 107fe9: 39 f3 cmp ebx,esi - 107feb: 73 15 jae 108002 - 107fed: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 107ff4: 00 - 107ff5: 89 1c 24 mov DWORD PTR [esp],ebx - 107ff8: e8 24 fe ff ff call 107e21 - 107ffd: 43 inc ebx - 107ffe: 39 de cmp esi,ebx - 108000: 77 eb ja 107fed - 108002: 83 c4 08 add esp,0x8 - 108005: 5b pop ebx - 108006: 5e pop esi - 108007: c3 ret - -00108008 : - 108008: 56 push esi - 108009: 53 push ebx - 10800a: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 10800e: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 108012: 8b 74 24 14 mov esi,DWORD PTR [esp+0x14] - 108016: 85 f6 test esi,esi - 108018: 74 10 je 10802a - 10801a: ba 00 00 00 00 mov edx,0x0 - 10801f: 8a 0c 13 mov cl,BYTE PTR [ebx+edx*1] - 108022: 88 0c 10 mov BYTE PTR [eax+edx*1],cl - 108025: 42 inc edx - 108026: 39 f2 cmp edx,esi - 108028: 75 f5 jne 10801f - 10802a: 5b pop ebx - 10802b: 5e pop esi - 10802c: c3 ret - -0010802d : - 10802d: 57 push edi - 10802e: 56 push esi - 10802f: 53 push ebx - 108030: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 108034: 8b 74 24 14 mov esi,DWORD PTR [esp+0x14] - 108038: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18] - 10803c: b8 00 00 00 00 mov eax,0x0 - 108041: 85 ff test edi,edi - 108043: 74 2e je 108073 - 108045: 8a 0b mov cl,BYTE PTR [ebx] - 108047: 8a 16 mov dl,BYTE PTR [esi] - 108049: 38 d1 cmp cl,dl - 10804b: 74 17 je 108064 - 10804d: eb 0c jmp 10805b - 10804f: 8a 4c 03 01 mov cl,BYTE PTR [ebx+eax*1+0x1] - 108053: 40 inc eax - 108054: 8a 14 06 mov dl,BYTE PTR [esi+eax*1] - 108057: 38 d1 cmp cl,dl - 108059: 74 0f je 10806a - 10805b: 38 d1 cmp cl,dl - 10805d: 19 c0 sbb eax,eax - 10805f: 83 c8 01 or eax,0x1 - 108062: eb 0f jmp 108073 - 108064: 4f dec edi - 108065: b8 00 00 00 00 mov eax,0x0 - 10806a: 39 f8 cmp eax,edi - 10806c: 75 e1 jne 10804f - 10806e: b8 00 00 00 00 mov eax,0x0 - 108073: 5b pop ebx - 108074: 5e pop esi - 108075: 5f pop edi - 108076: c3 ret - -00108077 : - 108077: 53 push ebx - 108078: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 10807c: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10] - 108080: 8a 5c 24 0c mov bl,BYTE PTR [esp+0xc] - 108084: 85 d2 test edx,edx - 108086: 74 08 je 108090 - 108088: 89 c1 mov ecx,eax - 10808a: 88 19 mov BYTE PTR [ecx],bl - 10808c: 41 inc ecx - 10808d: 4a dec edx - 10808e: 75 fa jne 10808a - 108090: 5b pop ebx - 108091: c3 ret - ... - -00108094 <_malloc_init1>: - 108094: 53 push ebx - 108095: 83 ec 28 sub esp,0x28 - 108098: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 10809c: 8b 1d 04 1b 11 00 mov ebx,DWORD PTR ds:0x111b04 - 1080a2: 80 7c 24 34 00 cmp BYTE PTR [esp+0x34],0x0 - 1080a7: 74 16 je 1080bf <_malloc_init1+0x2b> - 1080a9: f7 c3 ff 0f 00 00 test ebx,0xfff - 1080af: 74 53 je 108104 <_malloc_init1+0x70> - 1080b1: 81 e3 00 f0 ff ff and ebx,0xfffff000 - 1080b7: 81 c3 00 10 00 00 add ebx,0x1000 - 1080bd: eb 45 jmp 108104 <_malloc_init1+0x70> - 1080bf: 8d 14 18 lea edx,[eax+ebx*1] - 1080c2: 89 15 04 1b 11 00 mov DWORD PTR ds:0x111b04,edx - 1080c8: ba 8b ae 10 00 mov edx,0x10ae8b - 1080cd: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx - 1080d1: 89 54 24 14 mov DWORD PTR [esp+0x14],edx - 1080d5: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1080d9: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd - 1080e0: 00 - 1080e1: c7 44 24 08 90 ae 10 mov DWORD PTR [esp+0x8],0x10ae90 - 1080e8: 00 - 1080e9: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 1080f0: 00 - 1080f1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1080f8: e8 ab f1 ff ff call 1072a8 - 1080fd: 89 d8 mov eax,ebx - 1080ff: 83 c4 28 add esp,0x28 - 108102: 5b pop ebx - 108103: c3 ret - 108104: 8d 14 03 lea edx,[ebx+eax*1] - 108107: 89 15 04 1b 11 00 mov DWORD PTR ds:0x111b04,edx - 10810d: ba 54 9e 10 00 mov edx,0x109e54 - 108112: eb b9 jmp 1080cd <_malloc_init1+0x39> - -00108114 <_malloc_init2>: - 108114: 55 push ebp - 108115: 57 push edi - 108116: 56 push esi - 108117: 53 push ebx - 108118: 83 ec 2c sub esp,0x2c - 10811b: 8b 7c 24 40 mov edi,DWORD PTR [esp+0x40] - 10811f: 8b 6c 24 48 mov ebp,DWORD PTR [esp+0x48] - 108123: 0f b6 74 24 44 movzx esi,BYTE PTR [esp+0x44] - 108128: a1 e4 d9 10 00 mov eax,ds:0x10d9e4 - 10812d: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 108131: a1 e0 d9 10 00 mov eax,ds:0x10d9e0 - 108136: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 10813a: 89 f0 mov eax,esi - 10813c: 25 ff 00 00 00 and eax,0xff - 108141: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 108145: 89 3c 24 mov DWORD PTR [esp],edi - 108148: e8 fd f6 ff ff call 10784a - 10814d: 89 c3 mov ebx,eax - 10814f: 85 ed test ebp,ebp - 108151: 74 64 je 1081b7 <_malloc_init2+0xa3> - 108153: a1 e4 d9 10 00 mov eax,ds:0x10d9e4 - 108158: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10815c: 89 1c 24 mov DWORD PTR [esp],ebx - 10815f: e8 67 fc ff ff call 107dcb - 108164: 89 da mov edx,ebx - 108166: 81 e2 ff 0f 00 00 and edx,0xfff - 10816c: 01 d0 add eax,edx - 10816e: 89 45 00 mov DWORD PTR [ebp+0x0],eax - 108171: ba 8b ae 10 00 mov edx,0x10ae8b - 108176: 89 f1 mov ecx,esi - 108178: 84 c9 test cl,cl - 10817a: 74 05 je 108181 <_malloc_init2+0x6d> - 10817c: ba 54 9e 10 00 mov edx,0x109e54 - 108181: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 108185: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx - 108189: 89 54 24 14 mov DWORD PTR [esp+0x14],edx - 10818d: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi - 108191: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd - 108198: 00 - 108199: c7 44 24 08 d0 ae 10 mov DWORD PTR [esp+0x8],0x10aed0 - 1081a0: 00 - 1081a1: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 1081a8: 00 - 1081a9: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1081b0: e8 f3 f0 ff ff call 1072a8 - 1081b5: eb 40 jmp 1081f7 <_malloc_init2+0xe3> - 1081b7: b8 8b ae 10 00 mov eax,0x10ae8b - 1081bc: 89 f2 mov edx,esi - 1081be: 84 d2 test dl,dl - 1081c0: 74 05 je 1081c7 <_malloc_init2+0xb3> - 1081c2: b8 54 9e 10 00 mov eax,0x109e54 - 1081c7: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx - 1081cb: 89 44 24 14 mov DWORD PTR [esp+0x14],eax - 1081cf: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi - 1081d3: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd - 1081da: 00 - 1081db: c7 44 24 08 14 af 10 mov DWORD PTR [esp+0x8],0x10af14 - 1081e2: 00 - 1081e3: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 1081ea: 00 - 1081eb: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1081f2: e8 b1 f0 ff ff call 1072a8 - 1081f7: 89 d8 mov eax,ebx - 1081f9: 83 c4 2c add esp,0x2c - 1081fc: 5b pop ebx - 1081fd: 5e pop esi - 1081fe: 5f pop edi - 1081ff: 5d pop ebp - 108200: c3 ret - -00108201 : - 108201: 83 ec 1c sub esp,0x1c - 108204: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 108208: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00 - 10820e: b8 00 00 00 00 mov eax,0x0 - 108213: 84 d2 test dl,dl - 108215: 74 2f je 108246 - 108217: 80 fa 01 cmp dl,0x1 - 10821a: 75 12 jne 10822e - 10821c: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 108223: 00 - 108224: 89 0c 24 mov DWORD PTR [esp],ecx - 108227: e8 68 fe ff ff call 108094 <_malloc_init1> - 10822c: eb 18 jmp 108246 - 10822e: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0 - 108235: 00 - 108236: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 10823d: 00 - 10823e: 89 0c 24 mov DWORD PTR [esp],ecx - 108241: e8 ce fe ff ff call 108114 <_malloc_init2> - 108246: 83 c4 1c add esp,0x1c - 108249: c3 ret - -0010824a : - 10824a: 83 ec 1c sub esp,0x1c - 10824d: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 108251: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00 - 108257: b8 00 00 00 00 mov eax,0x0 - 10825c: 84 d2 test dl,dl - 10825e: 74 2f je 10828f - 108260: 80 fa 01 cmp dl,0x1 - 108263: 75 12 jne 108277 - 108265: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 10826c: 00 - 10826d: 89 0c 24 mov DWORD PTR [esp],ecx - 108270: e8 1f fe ff ff call 108094 <_malloc_init1> - 108275: eb 18 jmp 10828f - 108277: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0 - 10827e: 00 - 10827f: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 108286: 00 - 108287: 89 0c 24 mov DWORD PTR [esp],ecx - 10828a: e8 85 fe ff ff call 108114 <_malloc_init2> - 10828f: 83 c4 1c add esp,0x1c - 108292: c3 ret - -00108293 : - 108293: 53 push ebx - 108294: 83 ec 18 sub esp,0x18 - 108297: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 10829b: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 10829f: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00 - 1082a5: b8 00 00 00 00 mov eax,0x0 - 1082aa: 84 d2 test dl,dl - 1082ac: 74 2d je 1082db - 1082ae: 80 fa 01 cmp dl,0x1 - 1082b1: 75 14 jne 1082c7 - 1082b3: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 1082ba: 00 - 1082bb: 89 0c 24 mov DWORD PTR [esp],ecx - 1082be: e8 d1 fd ff ff call 108094 <_malloc_init1> - 1082c3: 89 03 mov DWORD PTR [ebx],eax - 1082c5: eb 14 jmp 1082db - 1082c7: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 1082cb: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 1082d2: 00 - 1082d3: 89 0c 24 mov DWORD PTR [esp],ecx - 1082d6: e8 39 fe ff ff call 108114 <_malloc_init2> - 1082db: 83 c4 18 add esp,0x18 - 1082de: 5b pop ebx - 1082df: c3 ret - -001082e0 : - 1082e0: 53 push ebx - 1082e1: 83 ec 18 sub esp,0x18 - 1082e4: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 1082e8: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 1082ec: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00 - 1082f2: b8 00 00 00 00 mov eax,0x0 - 1082f7: 84 d2 test dl,dl - 1082f9: 74 2d je 108328 - 1082fb: 80 fa 01 cmp dl,0x1 - 1082fe: 75 14 jne 108314 - 108300: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 108307: 00 - 108308: 89 0c 24 mov DWORD PTR [esp],ecx - 10830b: e8 84 fd ff ff call 108094 <_malloc_init1> - 108310: 89 03 mov DWORD PTR [ebx],eax - 108312: eb 14 jmp 108328 - 108314: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx - 108318: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1 - 10831f: 00 - 108320: 89 0c 24 mov DWORD PTR [esp],ecx - 108323: e8 ec fd ff ff call 108114 <_malloc_init2> - 108328: 83 c4 18 add esp,0x18 - 10832b: 5b pop ebx - 10832c: c3 ret - -0010832d : - 10832d: 57 push edi - 10832e: 56 push esi - 10832f: 53 push ebx - 108330: 83 ec 10 sub esp,0x10 - 108333: 8b 7c 24 20 mov edi,DWORD PTR [esp+0x20] - 108337: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24] - 10833b: 89 34 24 mov DWORD PTR [esp],esi - 10833e: e8 be fe ff ff call 108201 - 108343: 89 c3 mov ebx,eax - 108345: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 108349: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi - 10834d: 89 04 24 mov DWORD PTR [esp],eax - 108350: e8 b3 fc ff ff call 108008 - 108355: 89 3c 24 mov DWORD PTR [esp],edi - 108358: e8 0b 00 00 00 call 108368 - 10835d: 89 d8 mov eax,ebx - 10835f: 83 c4 10 add esp,0x10 - 108362: 5b pop ebx - 108363: 5e pop esi - 108364: 5f pop edi - 108365: c3 ret - ... - -00108368 : - 108368: 83 ec 2c sub esp,0x2c - 10836b: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 10836f: 80 3d 00 1b 11 00 01 cmp BYTE PTR ds:0x111b00,0x1 - 108376: 77 2a ja 1083a2 - 108378: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 10837c: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc - 108383: 00 - 108384: c7 44 24 08 4c af 10 mov DWORD PTR [esp+0x8],0x10af4c - 10838b: 00 - 10838c: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 108393: 00 - 108394: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 10839b: e8 08 ef ff ff call 1072a8 - 1083a0: eb 1c jmp 1083be - 1083a2: 8b 15 e4 d9 10 00 mov edx,DWORD PTR ds:0x10d9e4 - 1083a8: 89 54 24 08 mov DWORD PTR [esp+0x8],edx - 1083ac: 8b 15 e0 d9 10 00 mov edx,DWORD PTR ds:0x10d9e0 - 1083b2: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 1083b6: 89 04 24 mov DWORD PTR [esp],eax - 1083b9: e8 ae f6 ff ff call 107a6c - 1083be: 83 c4 2c add esp,0x2c - 1083c1: c3 ret - ... - -001083c4 : - 1083c4: a1 ec d9 10 00 mov eax,ds:0x10d9ec - 1083c9: c3 ret - -001083ca : - 1083ca: a1 f8 d9 10 00 mov eax,ds:0x10d9f8 - 1083cf: 2b 05 f0 d9 10 00 sub eax,DWORD PTR ds:0x10d9f0 - 1083d5: c1 e0 02 shl eax,0x2 - 1083d8: c3 ret - -001083d9 : - 1083d9: a1 f0 d9 10 00 mov eax,ds:0x10d9f0 - 1083de: c1 e0 02 shl eax,0x2 - 1083e1: c3 ret - -001083e2 : - 1083e2: b8 04 00 00 00 mov eax,0x4 - 1083e7: c3 ret - -001083e8 : - 1083e8: a1 f8 d9 10 00 mov eax,ds:0x10d9f8 - 1083ed: c3 ret - -001083ee : - 1083ee: a1 f0 d9 10 00 mov eax,ds:0x10d9f0 - 1083f3: c3 ret - -001083f4 : - 1083f4: a1 f8 d9 10 00 mov eax,ds:0x10d9f8 - 1083f9: 2b 05 f0 d9 10 00 sub eax,DWORD PTR ds:0x10d9f0 - 1083ff: c3 ret - -00108400 <_memory_get_total_mem>: - 108400: 56 push esi - 108401: 53 push ebx - 108402: 83 ec 24 sub esp,0x24 - 108405: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 108409: f6 00 01 test BYTE PTR [eax],0x1 - 10840c: 74 0b je 108419 <_memory_get_total_mem+0x19> - 10840e: 8b 58 08 mov ebx,DWORD PTR [eax+0x8] - 108411: 81 c3 00 04 00 00 add ebx,0x400 - 108417: eb 57 jmp 108470 <_memory_get_total_mem+0x70> - 108419: c7 04 24 30 00 00 00 mov DWORD PTR [esp],0x30 - 108420: e8 db 9c ff ff call 102100 - 108425: 89 c6 mov esi,eax - 108427: c7 04 24 31 00 00 00 mov DWORD PTR [esp],0x31 - 10842e: e8 cd 9c ff ff call 102100 - 108433: 31 db xor ebx,ebx - 108435: 88 c3 mov bl,al - 108437: c1 e3 08 shl ebx,0x8 - 10843a: 81 e6 ff 00 00 00 and esi,0xff - 108440: 09 f3 or ebx,esi - 108442: 81 c3 00 04 00 00 add ebx,0x400 - 108448: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx - 10844c: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc - 108453: 00 - 108454: c7 44 24 08 94 af 10 mov DWORD PTR [esp+0x8],0x10af94 - 10845b: 00 - 10845c: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 108463: 00 - 108464: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 10846b: e8 38 ee ff ff call 1072a8 - 108470: 89 d8 mov eax,ebx - 108472: 83 c4 24 add esp,0x24 - 108475: 5b pop ebx - 108476: 5e pop esi - 108477: c3 ret - -00108478 <_memory_reserve_system>: - 108478: 57 push edi - 108479: 56 push esi - 10847a: 53 push ebx - 10847b: 83 ec 20 sub esp,0x20 - 10847e: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30] - 108482: 66 87 db xchg bx,bx - 108485: f6 06 40 test BYTE PTR [esi],0x40 - 108488: 74 3c je 1084c6 <_memory_reserve_system+0x4e> - 10848a: 8b 5e 30 mov ebx,DWORD PTR [esi+0x30] - 10848d: 89 df mov edi,ebx - 10848f: 89 d8 mov eax,ebx - 108491: 03 46 2c add eax,DWORD PTR [esi+0x2c] - 108494: 39 c3 cmp ebx,eax - 108496: 73 76 jae 10850e <_memory_reserve_system+0x96> - 108498: 83 7b 14 01 cmp DWORD PTR [ebx+0x14],0x1 - 10849c: 76 12 jbe 1084b0 <_memory_reserve_system+0x38> - 10849e: 8b 43 0c mov eax,DWORD PTR [ebx+0xc] - 1084a1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1084a5: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 1084a8: 89 04 24 mov DWORD PTR [esp],eax - 1084ab: e8 13 fb ff ff call 107fc3 - 1084b0: 8b 03 mov eax,DWORD PTR [ebx] - 1084b2: 8d 44 07 04 lea eax,[edi+eax*1+0x4] - 1084b6: 89 c3 mov ebx,eax - 1084b8: 89 c7 mov edi,eax - 1084ba: 8b 56 2c mov edx,DWORD PTR [esi+0x2c] - 1084bd: 03 56 30 add edx,DWORD PTR [esi+0x30] - 1084c0: 39 d0 cmp eax,edx - 1084c2: 72 d4 jb 108498 <_memory_reserve_system+0x20> - 1084c4: eb 48 jmp 10850e <_memory_reserve_system+0x96> - 1084c6: c7 44 24 14 0c 00 00 mov DWORD PTR [esp+0x14],0xc - 1084cd: 00 - 1084ce: c7 44 24 10 0f 00 00 mov DWORD PTR [esp+0x10],0xf - 1084d5: 00 - 1084d6: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc - 1084dd: 00 - 1084de: c7 44 24 08 d4 af 10 mov DWORD PTR [esp+0x8],0x10afd4 - 1084e5: 00 - 1084e6: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 1084ed: 00 - 1084ee: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1084f5: e8 ae ed ff ff call 1072a8 - 1084fa: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0x100000 - 108501: 00 - 108502: c7 04 24 00 00 f0 00 mov DWORD PTR [esp],0xf00000 - 108509: e8 b5 fa ff ff call 107fc3 - 10850e: 83 c4 20 add esp,0x20 - 108511: 5b pop ebx - 108512: 5e pop esi - 108513: 5f pop edi - 108514: c3 ret - -00108515 : - 108515: 56 push esi - 108516: 53 push ebx - 108517: 83 ec 24 sub esp,0x24 - 10851a: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 10851e: 89 1c 24 mov DWORD PTR [esp],ebx - 108521: e8 da fe ff ff call 108400 <_memory_get_total_mem> - 108526: 8b 15 04 1b 11 00 mov edx,DWORD PTR ds:0x111b04 - 10852c: 81 c2 00 00 08 00 add edx,0x80000 - 108532: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx - 108536: 89 04 24 mov DWORD PTR [esp],eax - 108539: e8 03 fa ff ff call 107f41 - 10853e: 8d 44 24 1c lea eax,[esp+0x1c] - 108542: 89 04 24 mov DWORD PTR [esp],eax - 108545: e8 9d f7 ff ff call 107ce7 - 10854a: 89 1c 24 mov DWORD PTR [esp],ebx - 10854d: e8 26 ff ff ff call 108478 <_memory_reserve_system> - 108552: bb 00 00 00 c0 mov ebx,0xc0000000 - 108557: 8b 35 e4 d9 10 00 mov esi,DWORD PTR ds:0x10d9e4 - 10855d: e8 41 f9 ff ff call 107ea3 - 108562: 89 74 24 0c mov DWORD PTR [esp+0xc],esi - 108566: c7 44 24 08 02 00 00 mov DWORD PTR [esp+0x8],0x2 - 10856d: 00 - 10856e: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 108572: 89 04 24 mov DWORD PTR [esp],eax - 108575: e8 cc f6 ff ff call 107c46 - 10857a: 81 c3 00 10 00 00 add ebx,0x1000 - 108580: 81 fb 00 10 10 c0 cmp ebx,0xc0101000 - 108586: 75 cf jne 108557 - 108588: c7 44 24 0c 03 00 00 mov DWORD PTR [esp+0xc],0x3 - 10858f: 00 - 108590: c7 44 24 08 00 f0 ff mov DWORD PTR [esp+0x8],0xcffff000 - 108597: cf - 108598: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0xc0100000 - 10859f: c0 - 1085a0: c7 04 24 00 00 00 c0 mov DWORD PTR [esp],0xc0000000 - 1085a7: e8 d6 f0 ff ff call 107682 - 1085ac: a3 e0 d9 10 00 mov ds:0x10d9e0,eax - 1085b1: c7 44 24 08 43 b0 10 mov DWORD PTR [esp+0x8],0x10b043 - 1085b8: 00 - 1085b9: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 1085c0: 00 - 1085c1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1085c8: e8 db ec ff ff call 1072a8 - 1085cd: c6 05 00 1b 11 00 02 mov BYTE PTR ds:0x111b00,0x2 - 1085d4: 83 c4 24 add esp,0x24 - 1085d7: 5b pop ebx - 1085d8: 5e pop esi - 1085d9: c3 ret - -001085da : - 1085da: 83 ec 2c sub esp,0x2c - 1085dd: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 1085e1: c6 05 00 1b 11 00 01 mov BYTE PTR ds:0x111b00,0x1 - 1085e8: a3 04 1b 11 00 mov ds:0x111b04,eax - 1085ed: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1085f1: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf - 1085f8: 00 - 1085f9: c7 44 24 08 04 b0 10 mov DWORD PTR [esp+0x8],0x10b004 - 108600: 00 - 108601: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87 - 108608: 00 - 108609: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 108610: e8 93 ec ff ff call 1072a8 - 108615: 83 c4 2c add esp,0x2c - 108618: c3 ret - 108619: 00 00 add BYTE PTR [eax],al - ... - -0010861c : - 10861c: 83 ec 1c sub esp,0x1c - 10861f: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 108626: e8 ad 05 00 00 call 108bd8 - 10862b: 8a 15 20 1b 11 00 mov dl,BYTE PTR ds:0x111b20 - 108631: 84 d2 test dl,dl - 108633: 75 20 jne 108655 - 108635: 84 c0 test al,al - 108637: 0f 84 99 01 00 00 je 1087d6 - 10863d: 3c fa cmp al,0xfa - 10863f: 0f 84 91 01 00 00 je 1087d6 - 108645: 3c ff cmp al,0xff - 108647: 0f 84 89 01 00 00 je 1087d6 - 10864d: 3c aa cmp al,0xaa - 10864f: 0f 84 81 01 00 00 je 1087d6 - 108655: 31 c9 xor ecx,ecx - 108657: 88 d1 mov cl,dl - 108659: 88 81 fc d9 10 00 mov BYTE PTR [ecx+0x10d9fc],al - 10865f: 42 inc edx - 108660: 88 15 20 1b 11 00 mov BYTE PTR ds:0x111b20,dl - 108666: 3a 15 2c c3 10 00 cmp dl,BYTE PTR ds:0x10c32c - 10866c: 0f 82 64 01 00 00 jb 1087d6 - 108672: c6 05 20 1b 11 00 00 mov BYTE PTR ds:0x111b20,0x0 - 108679: 31 c0 xor eax,eax - 10867b: a0 fc d9 10 00 mov al,ds:0x10d9fc - 108680: a8 c0 test al,0xc0 - 108682: 0f 85 4e 01 00 00 jne 1087d6 - 108688: a8 10 test al,0x10 - 10868a: 74 10 je 10869c - 10868c: 31 d2 xor edx,edx - 10868e: 8a 15 fd d9 10 00 mov dl,BYTE PTR ds:0x10d9fd - 108694: 81 ca 00 ff ff ff or edx,0xffffff00 - 10869a: eb 08 jmp 1086a4 - 10869c: 31 d2 xor edx,edx - 10869e: 8a 15 fd d9 10 00 mov dl,BYTE PTR ds:0x10d9fd - 1086a4: a8 20 test al,0x20 - 1086a6: 74 10 je 1086b8 - 1086a8: 31 c0 xor eax,eax - 1086aa: a0 fe d9 10 00 mov al,ds:0x10d9fe - 1086af: 0d 00 ff ff ff or eax,0xffffff00 - 1086b4: f7 d8 neg eax - 1086b6: eb 09 jmp 1086c1 - 1086b8: 31 c0 xor eax,eax - 1086ba: a0 fe d9 10 00 mov al,ds:0x10d9fe - 1086bf: f7 d8 neg eax - 1086c1: 83 fa 07 cmp edx,0x7 - 1086c4: 7f 07 jg 1086cd - 1086c6: 83 fa f9 cmp edx,0xfffffff9 - 1086c9: 7c 09 jl 1086d4 - 1086cb: eb 0c jmp 1086d9 - 1086cd: ba 08 00 00 00 mov edx,0x8 - 1086d2: eb 05 jmp 1086d9 - 1086d4: ba f8 ff ff ff mov edx,0xfffffff8 - 1086d9: 83 f8 07 cmp eax,0x7 - 1086dc: 7f 07 jg 1086e5 - 1086de: 83 f8 f9 cmp eax,0xfffffff9 - 1086e1: 7c 09 jl 1086ec - 1086e3: eb 0c jmp 1086f1 - 1086e5: b8 08 00 00 00 mov eax,0x8 - 1086ea: eb 05 jmp 1086f1 - 1086ec: b8 f8 ff ff ff mov eax,0xfffffff8 - 1086f1: 03 15 18 1b 11 00 add edx,DWORD PTR ds:0x111b18 - 1086f7: 89 15 18 1b 11 00 mov DWORD PTR ds:0x111b18,edx - 1086fd: 03 05 1c 1b 11 00 add eax,DWORD PTR ds:0x111b1c - 108703: a3 1c 1b 11 00 mov ds:0x111b1c,eax - 108708: 8b 0d 10 1b 11 00 mov ecx,DWORD PTR ds:0x111b10 - 10870e: 39 ca cmp edx,ecx - 108710: 7d 06 jge 108718 - 108712: 89 0d 18 1b 11 00 mov DWORD PTR ds:0x111b18,ecx - 108718: 8b 15 14 1b 11 00 mov edx,DWORD PTR ds:0x111b14 - 10871e: 39 d0 cmp eax,edx - 108720: 7d 06 jge 108728 - 108722: 89 15 1c 1b 11 00 mov DWORD PTR ds:0x111b1c,edx - 108728: a1 24 c3 10 00 mov eax,ds:0x10c324 - 10872d: 39 05 18 1b 11 00 cmp DWORD PTR ds:0x111b18,eax - 108733: 7c 06 jl 10873b - 108735: 48 dec eax - 108736: a3 18 1b 11 00 mov ds:0x111b18,eax - 10873b: a1 28 c3 10 00 mov eax,ds:0x10c328 - 108740: 39 05 1c 1b 11 00 cmp DWORD PTR ds:0x111b1c,eax - 108746: 7c 06 jl 10874e - 108748: 48 dec eax - 108749: a3 1c 1b 11 00 mov ds:0x111b1c,eax - 10874e: a1 08 1b 11 00 mov eax,ds:0x111b08 - 108753: 8b 15 0c 1b 11 00 mov edx,DWORD PTR ds:0x111b0c - 108759: 89 04 24 mov DWORD PTR [esp],eax - 10875c: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 108760: e8 00 aa ff ff call 103165 - 108765: f7 d0 not eax - 108767: 25 ff 00 00 00 and eax,0xff - 10876c: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 108770: a1 08 1b 11 00 mov eax,ds:0x111b08 - 108775: 8b 15 0c 1b 11 00 mov edx,DWORD PTR ds:0x111b0c - 10877b: 89 04 24 mov DWORD PTR [esp],eax - 10877e: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 108782: e8 a9 a9 ff ff call 103130 - 108787: a1 18 1b 11 00 mov eax,ds:0x111b18 - 10878c: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c - 108792: 89 04 24 mov DWORD PTR [esp],eax - 108795: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 108799: e8 c7 a9 ff ff call 103165 - 10879e: f7 d0 not eax - 1087a0: 25 ff 00 00 00 and eax,0xff - 1087a5: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 1087a9: a1 18 1b 11 00 mov eax,ds:0x111b18 - 1087ae: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c - 1087b4: 89 04 24 mov DWORD PTR [esp],eax - 1087b7: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 1087bb: e8 70 a9 ff ff call 103130 - 1087c0: a1 18 1b 11 00 mov eax,ds:0x111b18 - 1087c5: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c - 1087cb: a3 08 1b 11 00 mov ds:0x111b08,eax - 1087d0: 89 15 0c 1b 11 00 mov DWORD PTR ds:0x111b0c,edx - 1087d6: 83 c4 1c add esp,0x1c - 1087d9: c3 ret - -001087da : - 1087da: 53 push ebx - 1087db: 83 ec 08 sub esp,0x8 - 1087de: 8a 5c 24 10 mov bl,BYTE PTR [esp+0x10] - 1087e2: e8 39 e6 ff ff call 106e20 - 1087e7: b0 d4 mov al,0xd4 - 1087e9: e6 64 out 0x64,al - 1087eb: e8 30 e6 ff ff call 106e20 - 1087f0: 88 d8 mov al,bl - 1087f2: e6 60 out 0x60,al - 1087f4: 83 c4 08 add esp,0x8 - 1087f7: 5b pop ebx - 1087f8: c3 ret - -001087f9 : - 1087f9: 83 ec 1c sub esp,0x1c - 1087fc: e8 4e e9 ff ff call 10714f - 108801: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 108808: e8 cb 03 00 00 call 108bd8 - 10880d: 83 c4 1c add esp,0x1c - 108810: c3 ret - -00108811 : - 108811: 53 push ebx - 108812: 83 ec 18 sub esp,0x18 - 108815: e8 06 e6 ff ff call 106e20 - 10881a: b0 a8 mov al,0xa8 - 10881c: e6 64 out 0x64,al - 10881e: e8 fd e5 ff ff call 106e20 - 108823: b0 20 mov al,0x20 - 108825: e6 64 out 0x64,al - 108827: e8 23 e9 ff ff call 10714f - 10882c: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60 - 108833: e8 a0 03 00 00 call 108bd8 - 108838: 88 c3 mov bl,al - 10883a: 83 cb 02 or ebx,0x2 - 10883d: e8 de e5 ff ff call 106e20 - 108842: b0 60 mov al,0x60 - 108844: e6 64 out 0x64,al - 108846: e8 d5 e5 ff ff call 106e20 - 10884b: 88 d8 mov al,bl - 10884d: 83 e0 df and eax,0xffffffdf - 108850: e6 60 out 0x60,al - 108852: c7 04 24 ff 00 00 00 mov DWORD PTR [esp],0xff - 108859: e8 7c ff ff ff call 1087da - 10885e: e8 96 ff ff ff call 1087f9 - 108863: e8 91 ff ff ff call 1087f9 - 108868: c7 04 24 f6 00 00 00 mov DWORD PTR [esp],0xf6 - 10886f: e8 66 ff ff ff call 1087da - 108874: e8 80 ff ff ff call 1087f9 - 108879: c7 04 24 f4 00 00 00 mov DWORD PTR [esp],0xf4 - 108880: e8 55 ff ff ff call 1087da - 108885: e8 6f ff ff ff call 1087f9 - 10888a: 83 c4 18 add esp,0x18 - 10888d: 5b pop ebx - 10888e: c3 ret - -0010888f : - 10888f: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 108893: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 108897: a3 10 1b 11 00 mov ds:0x111b10,eax - 10889c: 89 15 14 1b 11 00 mov DWORD PTR ds:0x111b14,edx - 1088a2: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 1088a6: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10] - 1088aa: a3 24 c3 10 00 mov ds:0x10c324,eax - 1088af: 89 15 28 c3 10 00 mov DWORD PTR ds:0x10c328,edx - 1088b5: c3 ret - -001088b6 : - 1088b6: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 1088ba: 8a 15 fc d9 10 00 mov dl,BYTE PTR ds:0x10d9fc - 1088c0: 83 e2 07 and edx,0x7 - 1088c3: 88 10 mov BYTE PTR [eax],dl - 1088c5: 8b 15 18 1b 11 00 mov edx,DWORD PTR ds:0x111b18 - 1088cb: 89 50 04 mov DWORD PTR [eax+0x4],edx - 1088ce: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c - 1088d4: 89 50 08 mov DWORD PTR [eax+0x8],edx - 1088d7: c2 04 00 ret 0x4 - ... - -001088dc : - 1088dc: 56 push esi - 1088dd: 53 push ebx - 1088de: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 1088e2: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 1088e6: b9 00 00 00 00 mov ecx,0x0 - 1088eb: 83 fb 01 cmp ebx,0x1 - 1088ee: 7e 25 jle 108915 - 1088f0: b1 01 mov cl,0x1 - 1088f2: 85 c0 test eax,eax - 1088f4: 74 1f je 108915 - 1088f6: 89 c1 mov ecx,eax - 1088f8: c1 e9 1f shr ecx,0x1f - 1088fb: 83 fb 0a cmp ebx,0xa - 1088fe: 0f 94 c2 sete dl - 108901: 81 e2 ff 00 00 00 and edx,0xff - 108907: 21 d1 and ecx,edx - 108909: 89 c2 mov edx,eax - 10890b: c1 fa 1f sar edx,0x1f - 10890e: f7 fb idiv ebx - 108910: 41 inc ecx - 108911: 85 c0 test eax,eax - 108913: 75 f4 jne 108909 - 108915: 89 c8 mov eax,ecx - 108917: 5b pop ebx - 108918: 5e pop esi - 108919: c3 ret - -0010891a : - 10891a: 56 push esi - 10891b: 53 push ebx - 10891c: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 108920: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 108924: b9 00 00 00 00 mov ecx,0x0 - 108929: 83 fb 01 cmp ebx,0x1 - 10892c: 7e 14 jle 108942 - 10892e: b1 01 mov cl,0x1 - 108930: 85 c0 test eax,eax - 108932: 74 0e je 108942 - 108934: b1 00 mov cl,0x0 - 108936: ba 00 00 00 00 mov edx,0x0 - 10893b: f7 f3 div ebx - 10893d: 41 inc ecx - 10893e: 85 c0 test eax,eax - 108940: 75 f4 jne 108936 - 108942: 89 c8 mov eax,ecx - 108944: 5b pop ebx - 108945: 5e pop esi - 108946: c3 ret - ... - -00108948 : - 108948: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4] - 10894c: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 108950: b8 01 00 00 00 mov eax,0x1 - 108955: 39 d1 cmp ecx,edx - 108957: 77 0b ja 108964 - 108959: 39 d1 cmp ecx,edx - 10895b: 0f 94 c0 sete al - 10895e: 25 ff 00 00 00 and eax,0xff - 108963: 48 dec eax - 108964: c3 ret - -00108965 : - 108965: 55 push ebp - 108966: 57 push edi - 108967: 56 push esi - 108968: 53 push ebx - 108969: 83 ec 1c sub esp,0x1c - 10896c: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 108970: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 108974: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38] - 108978: 89 3c 24 mov DWORD PTR [esp],edi - 10897b: e8 81 f8 ff ff call 108201 - 108980: 89 c6 mov esi,eax - 108982: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi - 108986: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 10898d: 00 - 10898e: 89 04 24 mov DWORD PTR [esp],eax - 108991: e8 e1 f6 ff ff call 108077 - 108996: 85 ed test ebp,ebp - 108998: 75 05 jne 10899f - 10899a: bd 48 89 10 00 mov ebp,0x108948 - 10899f: 89 33 mov DWORD PTR [ebx],esi - 1089a1: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0 - 1089a8: 89 7b 08 mov DWORD PTR [ebx+0x8],edi - 1089ab: 89 6b 0c mov DWORD PTR [ebx+0xc],ebp - 1089ae: 89 d8 mov eax,ebx - 1089b0: 83 c4 1c add esp,0x1c - 1089b3: 5b pop ebx - 1089b4: 5e pop esi - 1089b5: 5f pop edi - 1089b6: 5d pop ebp - 1089b7: c2 04 00 ret 0x4 - -001089ba : - 1089ba: 55 push ebp - 1089bb: 57 push edi - 1089bc: 56 push esi - 1089bd: 53 push ebx - 1089be: 83 ec 1c sub esp,0x1c - 1089c1: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 1089c5: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 1089c9: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38] - 1089cd: 8b 74 24 3c mov esi,DWORD PTR [esp+0x3c] - 1089d1: 89 6c 24 08 mov DWORD PTR [esp+0x8],ebp - 1089d5: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 1089dc: 00 - 1089dd: 89 3c 24 mov DWORD PTR [esp],edi - 1089e0: e8 92 f6 ff ff call 108077 - 1089e5: 85 f6 test esi,esi - 1089e7: 75 05 jne 1089ee - 1089e9: be 48 89 10 00 mov esi,0x108948 - 1089ee: 89 3b mov DWORD PTR [ebx],edi - 1089f0: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0 - 1089f7: 89 6b 08 mov DWORD PTR [ebx+0x8],ebp - 1089fa: 89 73 0c mov DWORD PTR [ebx+0xc],esi - 1089fd: 89 d8 mov eax,ebx - 1089ff: 83 c4 1c add esp,0x1c - 108a02: 5b pop ebx - 108a03: 5e pop esi - 108a04: 5f pop edi - 108a05: 5d pop ebp - 108a06: c2 04 00 ret 0x4 - -00108a09 : - 108a09: 83 ec 1c sub esp,0x1c - 108a0c: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 108a10: 8b 00 mov eax,DWORD PTR [eax] - 108a12: 89 04 24 mov DWORD PTR [esp],eax - 108a15: e8 4e f9 ff ff call 108368 - 108a1a: 83 c4 1c add esp,0x1c - 108a1d: c3 ret - -00108a1e : - 108a1e: 55 push ebp - 108a1f: 57 push edi - 108a20: 56 push esi - 108a21: 53 push ebx - 108a22: 83 ec 1c sub esp,0x1c - 108a25: 8b 74 24 34 mov esi,DWORD PTR [esp+0x34] - 108a29: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38] - 108a2d: bb 00 00 00 00 mov ebx,0x0 - 108a32: 83 7c 24 3c 00 cmp DWORD PTR [esp+0x3c],0x0 - 108a37: 74 45 je 108a7e - 108a39: 85 ed test ebp,ebp - 108a3b: 74 34 je 108a71 - 108a3d: bf 00 00 00 00 mov edi,0x0 - 108a42: 89 eb mov ebx,ebp - 108a44: 29 fb sub ebx,edi - 108a46: d1 eb shr ebx,1 - 108a48: 01 fb add ebx,edi - 108a4a: 8b 04 9e mov eax,DWORD PTR [esi+ebx*4] - 108a4d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 108a51: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 108a55: 89 04 24 mov DWORD PTR [esp],eax - 108a58: ff 54 24 3c call DWORD PTR [esp+0x3c] - 108a5c: 85 c0 test eax,eax - 108a5e: 7e 05 jle 108a65 - 108a60: 8d 7b 01 lea edi,[ebx+0x1] - 108a63: eb 06 jmp 108a6b - 108a65: 85 c0 test eax,eax - 108a67: 79 15 jns 108a7e - 108a69: 89 dd mov ebp,ebx - 108a6b: 39 ef cmp edi,ebp - 108a6d: 72 d3 jb 108a42 - 108a6f: eb 05 jmp 108a76 - 108a71: bf 00 00 00 00 mov edi,0x0 - 108a76: 29 fd sub ebp,edi - 108a78: d1 ed shr ebp,1 - 108a7a: 8d 5c 3d 00 lea ebx,[ebp+edi*1+0x0] - 108a7e: 89 d8 mov eax,ebx - 108a80: 83 c4 1c add esp,0x1c - 108a83: 5b pop ebx - 108a84: 5e pop esi - 108a85: 5f pop edi - 108a86: 5d pop ebp - 108a87: c3 ret - -00108a88 : - 108a88: 56 push esi - 108a89: 53 push ebx - 108a8a: 83 ec 14 sub esp,0x14 - 108a8d: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 108a91: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 108a95: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28] - 108a99: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 108a9d: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 108aa0: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 108aa4: 8b 03 mov eax,DWORD PTR [ebx] - 108aa6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 108aaa: 89 34 24 mov DWORD PTR [esp],esi - 108aad: e8 6c ff ff ff call 108a1e - 108ab2: 8b 13 mov edx,DWORD PTR [ebx] - 108ab4: 39 34 82 cmp DWORD PTR [edx+eax*4],esi - 108ab7: 74 05 je 108abe - 108ab9: b8 ff ff ff ff mov eax,0xffffffff - 108abe: 83 c4 14 add esp,0x14 - 108ac1: 5b pop ebx - 108ac2: 5e pop esi - 108ac3: c3 ret - -00108ac4 : - 108ac4: 55 push ebp - 108ac5: 57 push edi - 108ac6: 56 push esi - 108ac7: 53 push ebx - 108ac8: 83 ec 1c sub esp,0x1c - 108acb: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30] - 108acf: 8b 5c 24 34 mov ebx,DWORD PTR [esp+0x34] - 108ad3: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 108ad6: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8] - 108ad9: 73 4a jae 108b25 - 108adb: 8b 53 0c mov edx,DWORD PTR [ebx+0xc] - 108ade: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 108ae2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 108ae6: 8b 03 mov eax,DWORD PTR [ebx] - 108ae8: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 108aec: 89 34 24 mov DWORD PTR [esp],esi - 108aef: e8 2a ff ff ff call 108a1e - 108af4: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] - 108af7: 39 c8 cmp eax,ecx - 108af9: 73 22 jae 108b1d - 108afb: 85 c9 test ecx,ecx - 108afd: 74 1e je 108b1d - 108aff: 8d 14 8d 00 00 00 00 lea edx,[ecx*4+0x0] - 108b06: 8b 3b mov edi,DWORD PTR [ebx] - 108b08: 8b 6c 17 fc mov ebp,DWORD PTR [edi+edx*1-0x4] - 108b0c: 89 2c 17 mov DWORD PTR [edi+edx*1],ebp - 108b0f: 49 dec ecx - 108b10: 39 c8 cmp eax,ecx - 108b12: 73 09 jae 108b1d - 108b14: 83 ea 04 sub edx,0x4 - 108b17: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0 - 108b1b: 75 e9 jne 108b06 - 108b1d: 8b 13 mov edx,DWORD PTR [ebx] - 108b1f: 89 34 82 mov DWORD PTR [edx+eax*4],esi - 108b22: ff 43 04 inc DWORD PTR [ebx+0x4] - 108b25: 83 c4 1c add esp,0x1c - 108b28: 5b pop ebx - 108b29: 5e pop esi - 108b2a: 5f pop edi - 108b2b: 5d pop ebp - 108b2c: c3 ret - -00108b2d : - 108b2d: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 108b31: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8] - 108b35: b8 00 00 00 00 mov eax,0x0 - 108b3a: 39 51 04 cmp DWORD PTR [ecx+0x4],edx - 108b3d: 76 05 jbe 108b44 - 108b3f: 8b 01 mov eax,DWORD PTR [ecx] - 108b41: 8b 04 90 mov eax,DWORD PTR [eax+edx*4] - 108b44: c3 ret - -00108b45 : - 108b45: 56 push esi - 108b46: 53 push ebx - 108b47: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 108b4b: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 108b4f: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] - 108b52: 39 c1 cmp ecx,eax - 108b54: 76 23 jbe 108b79 - 108b56: 8d 50 01 lea edx,[eax+0x1] - 108b59: 39 d1 cmp ecx,edx - 108b5b: 76 18 jbe 108b75 - 108b5d: c1 e0 02 shl eax,0x2 - 108b60: 8b 0b mov ecx,DWORD PTR [ebx] - 108b62: 8d 34 01 lea esi,[ecx+eax*1] - 108b65: 83 c0 04 add eax,0x4 - 108b68: 8b 0c 01 mov ecx,DWORD PTR [ecx+eax*1] - 108b6b: 89 0e mov DWORD PTR [esi],ecx - 108b6d: 42 inc edx - 108b6e: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] - 108b71: 39 d1 cmp ecx,edx - 108b73: 77 eb ja 108b60 - 108b75: 49 dec ecx - 108b76: 89 4b 04 mov DWORD PTR [ebx+0x4],ecx - 108b79: 5b pop ebx - 108b7a: 5e pop esi - 108b7b: c3 ret - -00108b7c : - 108b7c: b0 11 mov al,0x11 - 108b7e: e6 20 out 0x20,al - 108b80: e6 a0 out 0xa0,al - 108b82: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 108b86: e6 21 out 0x21,al - 108b88: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 108b8c: e6 a1 out 0xa1,al - 108b8e: b0 04 mov al,0x4 - 108b90: e6 21 out 0x21,al - 108b92: b0 02 mov al,0x2 - 108b94: e6 a1 out 0xa1,al - 108b96: b0 01 mov al,0x1 - 108b98: e6 21 out 0x21,al - 108b9a: e6 a1 out 0xa1,al - 108b9c: b0 00 mov al,0x0 - 108b9e: e6 21 out 0x21,al - 108ba0: c3 ret - 108ba1: 00 00 add BYTE PTR [eax],al - ... - -00108ba4 : - 108ba4: 53 push ebx - 108ba5: 83 ec 18 sub esp,0x18 - 108ba8: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20] - 108bac: bb dc 34 12 00 mov ebx,0x1234dc - 108bb1: 89 d8 mov eax,ebx - 108bb3: ba 00 00 00 00 mov edx,0x0 - 108bb8: f7 f1 div ecx - 108bba: 89 c3 mov ebx,eax - 108bbc: b0 36 mov al,0x36 - 108bbe: e6 43 out 0x43,al - 108bc0: 88 d8 mov al,bl - 108bc2: e6 40 out 0x40,al - 108bc4: 89 d8 mov eax,ebx - 108bc6: c1 e8 08 shr eax,0x8 - 108bc9: e6 40 out 0x40,al - 108bcb: 89 0c 24 mov DWORD PTR [esp],ecx - 108bce: e8 b1 07 00 00 call 109384 - 108bd3: 83 c4 18 add esp,0x18 - 108bd6: 5b pop ebx - 108bd7: c3 ret - -00108bd8 : - 108bd8: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 108bdc: ec in al,dx - 108bdd: c3 ret - -00108bde : - 108bde: 56 push esi - 108bdf: 53 push ebx - 108be0: 83 ec 14 sub esp,0x14 - 108be3: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 108be7: c6 05 dd d9 10 00 ff mov BYTE PTR ds:0x10d9dd,0xff - 108bee: a0 dd d9 10 00 mov al,ds:0x10d9dd - 108bf3: 3c ff cmp al,0xff - 108bf5: 74 f7 je 108bee - 108bf7: 8a 1d dd d9 10 00 mov bl,BYTE PTR ds:0x10d9dd - 108bfd: a0 dc d9 10 00 mov al,ds:0x10d9dc - 108c02: a8 01 test al,0x1 - 108c04: 75 e1 jne 108be7 - 108c06: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12 - 108c0d: e8 eb e1 ff ff call 106dfd - 108c12: 84 c0 test al,al - 108c14: 75 10 jne 108c26 - 108c16: c7 04 24 59 00 00 00 mov DWORD PTR [esp],0x59 - 108c1d: e8 db e1 ff ff call 106dfd - 108c22: 84 c0 test al,al - 108c24: 74 0c je 108c32 - 108c26: 31 c0 xor eax,eax - 108c28: 88 d8 mov al,bl - 108c2a: 8a 80 80 ab 10 00 mov al,BYTE PTR [eax+0x10ab80] - 108c30: eb 0a jmp 108c3c - 108c32: 31 c0 xor eax,eax - 108c34: 88 d8 mov al,bl - 108c36: 8a 80 00 ac 10 00 mov al,BYTE PTR [eax+0x10ac00] - 108c3c: 88 06 mov BYTE PTR [esi],al - 108c3e: 88 5e 01 mov BYTE PTR [esi+0x1],bl - 108c41: 89 f0 mov eax,esi - 108c43: 83 c4 14 add esp,0x14 - 108c46: 5b pop ebx - 108c47: 5e pop esi - 108c48: c2 04 00 ret 0x4 - -00108c4b : - 108c4b: 56 push esi - 108c4c: 53 push ebx - 108c4d: 83 ec 24 sub esp,0x24 - 108c50: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 108c54: c6 05 dd d9 10 00 ff mov BYTE PTR ds:0x10d9dd,0xff - 108c5b: a0 dd d9 10 00 mov al,ds:0x10d9dd - 108c60: 3c ff cmp al,0xff - 108c62: 74 f7 je 108c5b - 108c64: 0f b6 35 dd d9 10 00 movzx esi,BYTE PTR ds:0x10d9dd - 108c6b: a0 dc d9 10 00 mov al,ds:0x10d9dc - 108c70: a8 01 test al,0x1 - 108c72: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f] - 108c77: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12 - 108c7e: e8 7a e1 ff ff call 106dfd - 108c83: 84 c0 test al,al - 108c85: 75 10 jne 108c97 - 108c87: c7 04 24 59 00 00 00 mov DWORD PTR [esp],0x59 - 108c8e: e8 6a e1 ff ff call 106dfd - 108c93: 84 c0 test al,al - 108c95: 74 0f je 108ca6 - 108c97: 89 f0 mov eax,esi - 108c99: 25 ff 00 00 00 and eax,0xff - 108c9e: 8a 80 80 ab 10 00 mov al,BYTE PTR [eax+0x10ab80] - 108ca4: eb 0d jmp 108cb3 - 108ca6: 89 f0 mov eax,esi - 108ca8: 25 ff 00 00 00 and eax,0xff - 108cad: 8a 80 00 ac 10 00 mov al,BYTE PTR [eax+0x10ac00] - 108cb3: 8a 54 24 1f mov dl,BYTE PTR [esp+0x1f] - 108cb7: 88 13 mov BYTE PTR [ebx],dl - 108cb9: 88 43 01 mov BYTE PTR [ebx+0x1],al - 108cbc: 89 f0 mov eax,esi - 108cbe: 88 43 02 mov BYTE PTR [ebx+0x2],al - 108cc1: 89 d8 mov eax,ebx - 108cc3: 83 c4 24 add esp,0x24 - 108cc6: 5b pop ebx - 108cc7: 5e pop esi - 108cc8: c2 04 00 ret 0x4 - ... - -00108ccc : - 108ccc: 53 push ebx - 108ccd: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8] - 108cd1: 85 c9 test ecx,ecx - 108cd3: 74 37 je 108d0c - 108cd5: 8d 1c 09 lea ebx,[ecx+ecx*1] - 108cd8: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 108cdc: ba 00 00 00 00 mov edx,0x0 - 108ce1: f7 f3 div ebx - 108ce3: 89 c3 mov ebx,eax - 108ce5: 89 d0 mov eax,edx - 108ce7: ba 00 00 00 00 mov edx,0x0 - 108cec: f7 f1 div ecx - 108cee: 8b 54 24 14 mov edx,DWORD PTR [esp+0x14] - 108cf2: 89 02 mov DWORD PTR [edx],eax - 108cf4: 8b 44 24 10 mov eax,DWORD PTR [esp+0x10] - 108cf8: 89 18 mov DWORD PTR [eax],ebx - 108cfa: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc] - 108cfe: ba 00 00 00 00 mov edx,0x0 - 108d03: f7 f1 div ecx - 108d05: 42 inc edx - 108d06: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18] - 108d0a: 89 10 mov DWORD PTR [eax],edx - 108d0c: 5b pop ebx - 108d0d: c3 ret - ... - -00108d10 : - 108d10: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 108d14: 89 d0 mov eax,edx - 108d16: 80 3a 00 cmp BYTE PTR [edx],0x0 - 108d19: 74 06 je 108d21 - 108d1b: 40 inc eax - 108d1c: 80 38 00 cmp BYTE PTR [eax],0x0 - 108d1f: 75 fa jne 108d1b - 108d21: 29 d0 sub eax,edx - 108d23: c3 ret - -00108d24 : - 108d24: 53 push ebx - 108d25: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 108d29: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc] - 108d2d: 8a 08 mov cl,BYTE PTR [eax] - 108d2f: 84 c9 test cl,cl - 108d31: 74 1c je 108d4f - 108d33: 8a 1a mov bl,BYTE PTR [edx] - 108d35: 84 db test bl,bl - 108d37: 74 16 je 108d4f - 108d39: 38 d9 cmp cl,bl - 108d3b: 75 12 jne 108d4f - 108d3d: 40 inc eax - 108d3e: 42 inc edx - 108d3f: 8a 08 mov cl,BYTE PTR [eax] - 108d41: 84 c9 test cl,cl - 108d43: 74 0a je 108d4f - 108d45: 8a 1a mov bl,BYTE PTR [edx] - 108d47: 84 db test bl,bl - 108d49: 74 04 je 108d4f - 108d4b: 38 d9 cmp cl,bl - 108d4d: 74 ee je 108d3d - 108d4f: 8a 08 mov cl,BYTE PTR [eax] - 108d51: 8a 12 mov dl,BYTE PTR [edx] - 108d53: b8 ff ff ff ff mov eax,0xffffffff - 108d58: 38 d1 cmp cl,dl - 108d5a: 72 08 jb 108d64 - 108d5c: 0f 97 c0 seta al - 108d5f: 25 ff 00 00 00 and eax,0xff - 108d64: 5b pop ebx - 108d65: c3 ret - -00108d66 : - 108d66: 57 push edi - 108d67: 56 push esi - 108d68: 53 push ebx - 108d69: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10] - 108d6d: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14] - 108d71: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18] - 108d75: b8 00 00 00 00 mov eax,0x0 - 108d7a: 85 d2 test edx,edx - 108d7c: 74 55 je 108dd3 - 108d7e: 0f b6 33 movzx esi,BYTE PTR [ebx] - 108d81: 89 f0 mov eax,esi - 108d83: 3a 01 cmp al,BYTE PTR [ecx] - 108d85: 75 29 jne 108db0 - 108d87: b8 00 00 00 00 mov eax,0x0 - 108d8c: 89 d7 mov edi,edx - 108d8e: 4f dec edi - 108d8f: 74 42 je 108dd3 - 108d91: 89 f0 mov eax,esi - 108d93: eb 05 jmp 108d9a - 108d95: 4f dec edi - 108d96: 74 2f je 108dc7 - 108d98: 89 c6 mov esi,eax - 108d9a: 89 f2 mov edx,esi - 108d9c: 38 d0 cmp al,dl - 108d9e: 75 04 jne 108da4 - 108da0: 84 c0 test al,al - 108da2: 74 2a je 108dce - 108da4: 43 inc ebx - 108da5: 41 inc ecx - 108da6: 85 ff test edi,edi - 108da8: 74 06 je 108db0 - 108daa: 8a 03 mov al,BYTE PTR [ebx] - 108dac: 3a 01 cmp al,BYTE PTR [ecx] - 108dae: 74 e5 je 108d95 - 108db0: 8a 1b mov bl,BYTE PTR [ebx] - 108db2: 8a 11 mov dl,BYTE PTR [ecx] - 108db4: b8 ff ff ff ff mov eax,0xffffffff - 108db9: 38 d3 cmp bl,dl - 108dbb: 72 16 jb 108dd3 - 108dbd: 0f 97 c0 seta al - 108dc0: 25 ff 00 00 00 and eax,0xff - 108dc5: eb 0c jmp 108dd3 - 108dc7: b8 00 00 00 00 mov eax,0x0 - 108dcc: eb 05 jmp 108dd3 - 108dce: b8 00 00 00 00 mov eax,0x0 - 108dd3: 5b pop ebx - 108dd4: 5e pop esi - 108dd5: 5f pop edi - 108dd6: c3 ret - -00108dd7 : - 108dd7: 57 push edi - 108dd8: 56 push esi - 108dd9: 53 push ebx - 108dda: 83 ec 10 sub esp,0x10 - 108ddd: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 108de1: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24] - 108de5: 8a 06 mov al,BYTE PTR [esi] - 108de7: 84 c0 test al,al - 108de9: 74 30 je 108e1b - 108deb: 80 3b 00 cmp BYTE PTR [ebx],0x0 - 108dee: 75 0f jne 108dff - 108df0: eb 29 jmp 108e1b - 108df2: 46 inc esi - 108df3: 43 inc ebx - 108df4: 8a 06 mov al,BYTE PTR [esi] - 108df6: 84 c0 test al,al - 108df8: 74 21 je 108e1b - 108dfa: 80 3b 00 cmp BYTE PTR [ebx],0x0 - 108dfd: 74 1c je 108e1b - 108dff: 0f be c0 movsx eax,al - 108e02: 89 04 24 mov DWORD PTR [esp],eax - 108e05: e8 0b bc ff ff call 104a15 - 108e0a: 89 c7 mov edi,eax - 108e0c: 0f be 03 movsx eax,BYTE PTR [ebx] - 108e0f: 89 04 24 mov DWORD PTR [esp],eax - 108e12: e8 fe bb ff ff call 104a15 - 108e17: 39 c7 cmp edi,eax - 108e19: 74 d7 je 108df2 - 108e1b: 31 c0 xor eax,eax - 108e1d: 8a 06 mov al,BYTE PTR [esi] - 108e1f: 89 04 24 mov DWORD PTR [esp],eax - 108e22: e8 ee bb ff ff call 104a15 - 108e27: 89 c6 mov esi,eax - 108e29: 31 c0 xor eax,eax - 108e2b: 8a 03 mov al,BYTE PTR [ebx] - 108e2d: 89 04 24 mov DWORD PTR [esp],eax - 108e30: e8 e0 bb ff ff call 104a15 - 108e35: 88 c2 mov dl,al - 108e37: b8 ff ff ff ff mov eax,0xffffffff - 108e3c: 89 f1 mov ecx,esi - 108e3e: 38 d1 cmp cl,dl - 108e40: 72 08 jb 108e4a - 108e42: 0f 97 c0 seta al - 108e45: 25 ff 00 00 00 and eax,0xff - 108e4a: 83 c4 10 add esp,0x10 - 108e4d: 5b pop ebx - 108e4e: 5e pop esi - 108e4f: 5f pop edi - 108e50: c3 ret - -00108e51 : - 108e51: 53 push ebx - 108e52: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 108e56: 8b 5c 24 0c mov ebx,DWORD PTR [esp+0xc] - 108e5a: ba 00 00 00 00 mov edx,0x0 - 108e5f: 8a 0c 13 mov cl,BYTE PTR [ebx+edx*1] - 108e62: 88 0c 10 mov BYTE PTR [eax+edx*1],cl - 108e65: 42 inc edx - 108e66: 84 c9 test cl,cl - 108e68: 75 f5 jne 108e5f - 108e6a: 5b pop ebx - 108e6b: c3 ret - -00108e6c : - 108e6c: 53 push ebx - 108e6d: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 108e71: 8b 5c 24 0c mov ebx,DWORD PTR [esp+0xc] - 108e75: 8a 10 mov dl,BYTE PTR [eax] - 108e77: 84 d2 test dl,dl - 108e79: 74 13 je 108e8e - 108e7b: 88 d9 mov cl,bl - 108e7d: 38 da cmp dl,bl - 108e7f: 74 1c je 108e9d - 108e81: 40 inc eax - 108e82: 8a 10 mov dl,BYTE PTR [eax] - 108e84: 84 d2 test dl,dl - 108e86: 74 06 je 108e8e - 108e88: 38 ca cmp dl,cl - 108e8a: 75 f5 jne 108e81 - 108e8c: eb 0f jmp 108e9d - 108e8e: 38 da cmp dl,bl - 108e90: 0f 94 c2 sete dl - 108e93: 81 e2 ff 00 00 00 and edx,0xff - 108e99: f7 da neg edx - 108e9b: 21 d0 and eax,edx - 108e9d: 5b pop ebx - 108e9e: c3 ret - -00108e9f : - 108e9f: 56 push esi - 108ea0: 53 push ebx - 108ea1: 83 ec 08 sub esp,0x8 - 108ea4: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 108ea8: 8b 5c 24 18 mov ebx,DWORD PTR [esp+0x18] - 108eac: be 00 00 00 00 mov esi,0x0 - 108eb1: 85 db test ebx,ebx - 108eb3: 75 16 jne 108ecb - 108eb5: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 108ebc: 00 - 108ebd: 89 04 24 mov DWORD PTR [esp],eax - 108ec0: e8 a7 ff ff ff call 108e6c - 108ec5: 89 c6 mov esi,eax - 108ec7: eb 12 jmp 108edb - 108ec9: 89 c6 mov esi,eax - 108ecb: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 108ecf: 89 04 24 mov DWORD PTR [esp],eax - 108ed2: e8 95 ff ff ff call 108e6c - 108ed7: 85 c0 test eax,eax - 108ed9: 75 ee jne 108ec9 - 108edb: 89 f0 mov eax,esi - 108edd: 83 c4 08 add esp,0x8 - 108ee0: 5b pop ebx - 108ee1: 5e pop esi - 108ee2: c3 ret - ... - -00108ee4 : - 108ee4: fa cli - 108ee5: f4 hlt - 108ee6: c3 ret - -00108ee7 : - 108ee7: 83 ec 1c sub esp,0x1c - 108eea: c7 44 24 08 5e b0 10 mov DWORD PTR [esp+0x8],0x10b05e - 108ef1: 00 - 108ef2: c7 44 24 04 73 b0 10 mov DWORD PTR [esp+0x4],0x10b073 - 108ef9: 00 - 108efa: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 108f01: e8 a2 e3 ff ff call 1072a8 - 108f06: e8 15 df ff ff call 106e20 - 108f0b: b0 fe mov al,0xfe - 108f0d: e6 64 out 0x64,al - 108f0f: e8 d0 ff ff ff call 108ee4 - 108f14: 83 c4 1c add esp,0x1c - 108f17: c3 ret - ... - -00108f20 : - 108f20: 58 pop eax - 108f21: 50 push eax - 108f22: c3 ret - ... - -00108f24 : - 108f24: 56 push esi - 108f25: 53 push ebx - 108f26: 83 ec 14 sub esp,0x14 - 108f29: 66 87 db xchg bx,bx - 108f2c: 83 3d 00 da 10 00 00 cmp DWORD PTR ds:0x10da00,0x0 - 108f33: 74 56 je 108f8b - 108f35: e8 e6 ff ff ff call 108f20 - 108f3a: 3d ef cd ab 00 cmp eax,0xabcdef - 108f3f: 74 4a je 108f8b - 108f41: 89 e1 mov ecx,esp - 108f43: 8b 15 04 da 10 00 mov edx,DWORD PTR ds:0x10da04 - 108f49: 89 4a 08 mov DWORD PTR [edx+0x8],ecx - 108f4c: 89 e9 mov ecx,ebp - 108f4e: 89 4a 0c mov DWORD PTR [edx+0xc],ecx - 108f51: 89 42 04 mov DWORD PTR [edx+0x4],eax - 108f54: 8b 42 20 mov eax,DWORD PTR [edx+0x20] - 108f57: 85 c0 test eax,eax - 108f59: 75 05 jne 108f60 - 108f5b: a1 00 da 10 00 mov eax,ds:0x10da00 - 108f60: a3 04 da 10 00 mov ds:0x10da04,eax - 108f65: 8b 40 10 mov eax,DWORD PTR [eax+0x10] - 108f68: 89 04 24 mov DWORD PTR [esp],eax - 108f6b: e8 bc ec ff ff call 107c2c - 108f70: a1 04 da 10 00 mov eax,ds:0x10da04 - 108f75: 8b 50 0c mov edx,DWORD PTR [eax+0xc] - 108f78: 8b 58 08 mov ebx,DWORD PTR [eax+0x8] - 108f7b: 8b 70 04 mov esi,DWORD PTR [eax+0x4] - 108f7e: 89 d5 mov ebp,edx - 108f80: 89 dc mov esp,ebx - 108f82: 89 f1 mov ecx,esi - 108f84: b8 ef cd ab 00 mov eax,0xabcdef - 108f89: ff e1 jmp ecx - 108f8b: 83 c4 14 add esp,0x14 - 108f8e: 5b pop ebx - 108f8f: 5e pop esi - 108f90: c3 ret - -00108f91 : - 108f91: 53 push ebx - 108f92: 83 ec 18 sub esp,0x18 - 108f95: 8b 15 04 da 10 00 mov edx,DWORD PTR ds:0x10da04 - 108f9b: 8b 1a mov ebx,DWORD PTR [edx] - 108f9d: a1 00 da 10 00 mov eax,ds:0x10da00 - 108fa2: 3b 18 cmp ebx,DWORD PTR [eax] - 108fa4: 75 0c jne 108fb2 - 108fa6: 8b 40 20 mov eax,DWORD PTR [eax+0x20] - 108fa9: a3 00 da 10 00 mov ds:0x10da00,eax - 108fae: eb 13 jmp 108fc3 - 108fb0: 89 c8 mov eax,ecx - 108fb2: 8b 48 20 mov ecx,DWORD PTR [eax+0x20] - 108fb5: 85 c9 test ecx,ecx - 108fb7: 74 04 je 108fbd - 108fb9: 3b 19 cmp ebx,DWORD PTR [ecx] - 108fbb: 75 f3 jne 108fb0 - 108fbd: 8b 4a 20 mov ecx,DWORD PTR [edx+0x20] - 108fc0: 89 48 20 mov DWORD PTR [eax+0x20],ecx - 108fc3: 8b 42 14 mov eax,DWORD PTR [edx+0x14] - 108fc6: 89 04 24 mov DWORD PTR [esp],eax - 108fc9: e8 9a f3 ff ff call 108368 - 108fce: a1 04 da 10 00 mov eax,ds:0x10da04 - 108fd3: 89 04 24 mov DWORD PTR [esp],eax - 108fd6: e8 8d f3 ff ff call 108368 - 108fdb: eb fe jmp 108fdb - -00108fdd : - 108fdd: 53 push ebx - 108fde: 83 ec 18 sub esp,0x18 - 108fe1: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24 - 108fe8: e8 14 f2 ff ff call 108201 - 108fed: 89 c3 mov ebx,eax - 108fef: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000 - 108ff6: e8 06 f2 ff ff call 108201 - 108ffb: 89 43 14 mov DWORD PTR [ebx+0x14],eax - 108ffe: 05 00 10 00 00 add eax,0x1000 - 109003: 89 43 18 mov DWORD PTR [ebx+0x18],eax - 109006: c7 43 20 00 00 00 00 mov DWORD PTR [ebx+0x20],0x0 - 10900d: a1 e4 d9 10 00 mov eax,ds:0x10d9e4 - 109012: 89 43 10 mov DWORD PTR [ebx+0x10],eax - 109015: a1 30 c3 10 00 mov eax,ds:0x10c330 - 10901a: 89 03 mov DWORD PTR [ebx],eax - 10901c: 40 inc eax - 10901d: a3 30 c3 10 00 mov ds:0x10c330,eax - 109022: a1 00 da 10 00 mov eax,ds:0x10da00 - 109027: 85 c0 test eax,eax - 109029: 74 19 je 109044 - 10902b: 8b 50 20 mov edx,DWORD PTR [eax+0x20] - 10902e: 85 d2 test edx,edx - 109030: 75 04 jne 109036 - 109032: eb 0b jmp 10903f - 109034: 89 c2 mov edx,eax - 109036: 8b 42 20 mov eax,DWORD PTR [edx+0x20] - 109039: 85 c0 test eax,eax - 10903b: 75 f7 jne 109034 - 10903d: eb 02 jmp 109041 - 10903f: 89 c2 mov edx,eax - 109041: 89 5a 20 mov DWORD PTR [edx+0x20],ebx - 109044: 83 c4 18 add esp,0x18 - 109047: 5b pop ebx - 109048: c3 ret - -00109049 : - 109049: 83 ec 1c sub esp,0x1c - 10904c: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24 - 109053: e8 a9 f1 ff ff call 108201 - 109058: 8b 15 30 c3 10 00 mov edx,DWORD PTR ds:0x10c330 - 10905e: 89 10 mov DWORD PTR [eax],edx - 109060: 42 inc edx - 109061: 89 15 30 c3 10 00 mov DWORD PTR ds:0x10c330,edx - 109067: 8b 15 e4 d9 10 00 mov edx,DWORD PTR ds:0x10d9e4 - 10906d: 89 50 10 mov DWORD PTR [eax+0x10],edx - 109070: c7 40 20 00 00 00 00 mov DWORD PTR [eax+0x20],0x0 - 109077: a3 04 da 10 00 mov ds:0x10da04,eax - 10907c: a3 00 da 10 00 mov ds:0x10da00,eax - 109081: 83 c4 1c add esp,0x1c - 109084: c3 ret - 109085: 00 00 add BYTE PTR [eax],al - ... - -00109088 : - 109088: 55 push ebp - 109089: 57 push edi - 10908a: 56 push esi - 10908b: 53 push ebx - 10908c: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 109090: 0f b6 7c 24 1c movzx edi,BYTE PTR [esp+0x1c] - 109095: 0f b6 74 24 1e movzx esi,BYTE PTR [esp+0x1e] - 10909a: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18] - 10909e: 31 c9 xor ecx,ecx - 1090a0: 8a 4c 24 1f mov cl,BYTE PTR [esp+0x1f] - 1090a4: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090a7: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090aa: 8d 1c 89 lea ebx,[ecx+ecx*4] - 1090ad: 89 d9 mov ecx,ebx - 1090af: c1 e1 04 shl ecx,0x4 - 1090b2: 29 d9 sub ecx,ebx - 1090b4: 89 cd mov ebp,ecx - 1090b6: c1 e5 04 shl ebp,0x4 - 1090b9: 29 cd sub ebp,ecx - 1090bb: c1 e5 07 shl ebp,0x7 - 1090be: 31 c9 xor ecx,ecx - 1090c0: 8a 4c 24 20 mov cl,BYTE PTR [esp+0x20] - 1090c4: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090c7: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090ca: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090cd: 89 cb mov ebx,ecx - 1090cf: c1 e3 04 shl ebx,0x4 - 1090d2: 29 cb sub ebx,ecx - 1090d4: c1 e3 05 shl ebx,0x5 - 1090d7: 01 dd add ebp,ebx - 1090d9: 66 8b 5c 24 22 mov bx,WORD PTR [esp+0x22] - 1090de: 81 e3 ff ff 00 00 and ebx,0xffff - 1090e4: 01 eb add ebx,ebp - 1090e6: 31 c9 xor ecx,ecx - 1090e8: 8a 4c 24 21 mov cl,BYTE PTR [esp+0x21] - 1090ec: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090ef: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090f2: 8d 0c 89 lea ecx,[ecx+ecx*4] - 1090f5: 8d 1c cb lea ebx,[ebx+ecx*8] - 1090f8: 4a dec edx - 1090f9: 79 0b jns 109106 - 1090fb: c7 00 00 00 00 00 mov DWORD PTR [eax],0x0 - 109101: 89 58 04 mov DWORD PTR [eax+0x4],ebx - 109104: eb 4a jmp 109150 - 109106: 4f dec edi - 109107: 81 e7 ff 00 00 00 and edi,0xff - 10910d: 0f bf bc 3f 7a b0 10 movsx edi,WORD PTR [edi+edi*1+0x10b07a] - 109114: 00 - 109115: 89 d5 mov ebp,edx - 109117: c1 fd 1f sar ebp,0x1f - 10911a: c1 ed 1e shr ebp,0x1e - 10911d: 01 ea add edx,ebp - 10911f: 89 d1 mov ecx,edx - 109121: 83 e1 03 and ecx,0x3 - 109124: 29 e9 sub ecx,ebp - 109126: 8d 2c c9 lea ebp,[ecx+ecx*8] - 109129: 8d 0c e9 lea ecx,[ecx+ebp*8] - 10912c: 8d 0c 89 lea ecx,[ecx+ecx*4] - 10912f: 01 cf add edi,ecx - 109131: 4e dec esi - 109132: 81 e6 ff 00 00 00 and esi,0xff - 109138: 01 f7 add edi,esi - 10913a: c1 fa 02 sar edx,0x2 - 10913d: 8d 0c d2 lea ecx,[edx+edx*8] - 109140: 8d 0c ca lea ecx,[edx+ecx*8] - 109143: 8d 0c 89 lea ecx,[ecx+ecx*4] - 109146: 8d 14 8a lea edx,[edx+ecx*4] - 109149: 01 d7 add edi,edx - 10914b: 89 38 mov DWORD PTR [eax],edi - 10914d: 89 58 04 mov DWORD PTR [eax+0x4],ebx - 109150: 5b pop ebx - 109151: 5e pop esi - 109152: 5f pop edi - 109153: 5d pop ebp - 109154: c2 04 00 ret 0x4 - -00109157 : - 109157: 55 push ebp - 109158: 57 push edi - 109159: 56 push esi - 10915a: 53 push ebx - 10915b: 83 ec 34 sub esp,0x34 - 10915e: 8b 7c 24 4c mov edi,DWORD PTR [esp+0x4c] - 109162: 8b 74 24 50 mov esi,DWORD PTR [esp+0x50] - 109166: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi - 10916a: b8 d3 4d 62 10 mov eax,0x10624dd3 - 10916f: f7 e6 mul esi - 109171: 89 d1 mov ecx,edx - 109173: c1 e9 06 shr ecx,0x6 - 109176: 8d 04 89 lea eax,[ecx+ecx*4] - 109179: 8d 04 80 lea eax,[eax+eax*4] - 10917c: 8d 04 80 lea eax,[eax+eax*4] - 10917f: c1 e0 03 shl eax,0x3 - 109182: 89 f2 mov edx,esi - 109184: 66 29 c2 sub dx,ax - 109187: 66 89 54 24 1c mov WORD PTR [esp+0x1c],dx - 10918c: bb 89 88 88 88 mov ebx,0x88888889 - 109191: 89 c8 mov eax,ecx - 109193: f7 e3 mul ebx - 109195: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 109199: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 10919d: c1 e8 05 shr eax,0x5 - 1091a0: 89 c2 mov edx,eax - 1091a2: c1 e2 06 shl edx,0x6 - 1091a5: 8d 04 81 lea eax,[ecx+eax*4] - 1091a8: 28 d0 sub al,dl - 1091aa: 88 44 24 1e mov BYTE PTR [esp+0x1e],al - 1091ae: b9 73 b2 e7 45 mov ecx,0x45e7b273 - 1091b3: 89 f0 mov eax,esi - 1091b5: f7 e1 mul ecx - 1091b7: 89 d1 mov ecx,edx - 1091b9: c1 e9 0e shr ecx,0xe - 1091bc: 89 c8 mov eax,ecx - 1091be: f7 e3 mul ebx - 1091c0: 89 04 24 mov DWORD PTR [esp],eax - 1091c3: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 1091c7: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 1091cb: c1 e8 05 shr eax,0x5 - 1091ce: 89 c2 mov edx,eax - 1091d0: c1 e2 06 shl edx,0x6 - 1091d3: 8d 04 81 lea eax,[ecx+eax*4] - 1091d6: 28 d0 sub al,dl - 1091d8: 88 44 24 1f mov BYTE PTR [esp+0x1f],al - 1091dc: ba b1 7c 21 95 mov edx,0x95217cb1 - 1091e1: 89 f0 mov eax,esi - 1091e3: f7 e2 mul edx - 1091e5: c1 ea 15 shr edx,0x15 - 1091e8: 88 54 24 20 mov BYTE PTR [esp+0x20],dl - 1091ec: b8 73 b0 6d 16 mov eax,0x166db073 - 1091f1: f7 e7 mul edi - 1091f3: 89 d1 mov ecx,edx - 1091f5: c1 e9 07 shr ecx,0x7 - 1091f8: 89 cb mov ebx,ecx - 1091fa: 8d 04 c9 lea eax,[ecx+ecx*8] - 1091fd: 8d 04 c1 lea eax,[ecx+eax*8] - 109200: 8d 04 80 lea eax,[eax+eax*4] - 109203: 8d 04 81 lea eax,[ecx+eax*4] - 109206: 89 f9 mov ecx,edi - 109208: 29 c1 sub ecx,eax - 10920a: be 6d 01 00 00 mov esi,0x16d - 10920f: 89 c8 mov eax,ecx - 109211: ba 00 00 00 00 mov edx,0x0 - 109216: f7 f6 div esi - 109218: 89 54 24 18 mov DWORD PTR [esp+0x18],edx - 10921c: 89 54 24 0c mov DWORD PTR [esp+0xc],edx - 109220: ba 61 f3 19 67 mov edx,0x6719f361 - 109225: 89 c8 mov eax,ecx - 109227: f7 e2 mul edx - 109229: 29 d1 sub ecx,edx - 10922b: d1 e9 shr ecx,1 - 10922d: 01 d1 add ecx,edx - 10922f: c1 e9 08 shr ecx,0x8 - 109232: 8d 4c 99 01 lea ecx,[ecx+ebx*4+0x1] - 109236: 89 4c 24 10 mov DWORD PTR [esp+0x10],ecx - 10923a: b1 0b mov cl,0xb - 10923c: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10] - 109240: 83 e2 03 and edx,0x3 - 109243: eb 02 jmp 109247 - 109245: 89 e9 mov ecx,ebp - 109247: 31 c0 xor eax,eax - 109249: 88 c8 mov al,cl - 10924b: 66 8b 9c 00 7a b0 10 mov bx,WORD PTR [eax+eax*1+0x10b07a] - 109252: 00 - 109253: 0f bf fb movsx edi,bx - 109256: 89 d6 mov esi,edx - 109258: b8 00 00 00 00 mov eax,0x0 - 10925d: 85 d2 test edx,edx - 10925f: 75 0b jne 10926c - 109261: 80 f9 01 cmp cl,0x1 - 109264: 0f 97 c0 seta al - 109267: 25 ff 00 00 00 and eax,0xff - 10926c: 8d 69 ff lea ebp,[ecx-0x1] - 10926f: 01 f8 add eax,edi - 109271: 39 44 24 0c cmp DWORD PTR [esp+0xc],eax - 109275: 7c ce jl 109245 - 109277: bd 07 00 00 00 mov ebp,0x7 - 10927c: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 109280: ba 00 00 00 00 mov edx,0x0 - 109285: f7 f5 div ebp - 109287: 89 d7 mov edi,edx - 109289: 0f b6 6c 24 18 movzx ebp,BYTE PTR [esp+0x18] - 10928e: ba 00 00 00 00 mov edx,0x0 - 109293: 85 f6 test esi,esi - 109295: 75 0c jne 1092a3 - 109297: 80 f9 01 cmp cl,0x1 - 10929a: 0f 97 c2 seta dl - 10929d: 81 e2 ff 00 00 00 and edx,0xff - 1092a3: 8b 74 24 10 mov esi,DWORD PTR [esp+0x10] - 1092a7: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48] - 1092ab: 89 30 mov DWORD PTR [eax],esi - 1092ad: 41 inc ecx - 1092ae: 88 48 04 mov BYTE PTR [eax+0x4],cl - 1092b1: 8d 47 01 lea eax,[edi+0x1] - 1092b4: 8b 4c 24 48 mov ecx,DWORD PTR [esp+0x48] - 1092b8: 88 41 05 mov BYTE PTR [ecx+0x5],al - 1092bb: 8d 45 01 lea eax,[ebp+0x1] - 1092be: 28 d8 sub al,bl - 1092c0: 28 d0 sub al,dl - 1092c2: 88 41 06 mov BYTE PTR [ecx+0x6],al - 1092c5: 8a 44 24 20 mov al,BYTE PTR [esp+0x20] - 1092c9: 88 41 07 mov BYTE PTR [ecx+0x7],al - 1092cc: 8a 54 24 1f mov dl,BYTE PTR [esp+0x1f] - 1092d0: 88 51 08 mov BYTE PTR [ecx+0x8],dl - 1092d3: 8a 44 24 1e mov al,BYTE PTR [esp+0x1e] - 1092d7: 88 41 09 mov BYTE PTR [ecx+0x9],al - 1092da: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c] - 1092de: 66 89 71 0a mov WORD PTR [ecx+0xa],si - 1092e2: 89 c8 mov eax,ecx - 1092e4: 83 c4 34 add esp,0x34 - 1092e7: 5b pop ebx - 1092e8: 5e pop esi - 1092e9: 5f pop edi - 1092ea: 5d pop ebp - 1092eb: c2 04 00 ret 0x4 - -001092ee : - 1092ee: 57 push edi - 1092ef: 56 push esi - 1092f0: 53 push ebx - 1092f1: 8b 74 24 10 mov esi,DWORD PTR [esp+0x10] - 1092f5: 4e dec esi - 1092f6: 31 d2 xor edx,edx - 1092f8: 8a 54 24 16 mov dl,BYTE PTR [esp+0x16] - 1092fc: 31 c0 xor eax,eax - 1092fe: 8a 44 24 14 mov al,BYTE PTR [esp+0x14] - 109302: 0f bf 84 00 78 b0 10 movsx eax,WORD PTR [eax+eax*1+0x10b078] - 109309: 00 - 10930a: 8d 54 02 ff lea edx,[edx+eax*1-0x1] - 10930e: 89 f3 mov ebx,esi - 109310: c1 fb 1f sar ebx,0x1f - 109313: c1 eb 1e shr ebx,0x1e - 109316: 01 de add esi,ebx - 109318: 89 f1 mov ecx,esi - 10931a: c1 f9 02 sar ecx,0x2 - 10931d: 8d 04 c9 lea eax,[ecx+ecx*8] - 109320: 8d 3c c1 lea edi,[ecx+eax*8] - 109323: 8d 04 bf lea eax,[edi+edi*4] - 109326: 8d 04 81 lea eax,[ecx+eax*4] - 109329: 01 d0 add eax,edx - 10932b: 89 f1 mov ecx,esi - 10932d: 83 e1 03 and ecx,0x3 - 109330: 29 d9 sub ecx,ebx - 109332: 8d 14 c9 lea edx,[ecx+ecx*8] - 109335: 8d 0c d1 lea ecx,[ecx+edx*8] - 109338: 8d 0c 89 lea ecx,[ecx+ecx*4] - 10933b: 01 c8 add eax,ecx - 10933d: b9 07 00 00 00 mov ecx,0x7 - 109342: ba 00 00 00 00 mov edx,0x0 - 109347: f7 f1 div ecx - 109349: 8d 42 01 lea eax,[edx+0x1] - 10934c: 5b pop ebx - 10934d: 5e pop esi - 10934e: 5f pop edi - 10934f: c3 ret - -00109350 : - 109350: 53 push ebx - 109351: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8] - 109355: 8b 0d 00 d0 10 00 mov ecx,DWORD PTR ds:0x10d000 - 10935b: 8b 1d 04 d0 10 00 mov ebx,DWORD PTR ds:0x10d004 - 109361: 89 08 mov DWORD PTR [eax],ecx - 109363: 89 58 04 mov DWORD PTR [eax+0x4],ebx - 109366: 5b pop ebx - 109367: c2 04 00 ret 0x4 - -0010936a : - 10936a: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 10936e: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 109372: a3 00 d0 10 00 mov ds:0x10d000,eax - 109377: 89 15 04 d0 10 00 mov DWORD PTR ds:0x10d004,edx - 10937d: c3 ret - -0010937e : - 10937e: a1 08 d0 10 00 mov eax,ds:0x10d008 - 109383: c3 ret - -00109384 : - 109384: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 109388: a3 08 d0 10 00 mov ds:0x10d008,eax - 10938d: c3 ret - -0010938e : - 10938e: 83 ec 10 sub esp,0x10 - 109391: 8d 44 24 04 lea eax,[esp+0x4] - 109395: 89 04 24 mov DWORD PTR [esp],eax - 109398: e8 b3 ff ff ff call 109350 - 10939d: 83 ec 04 sub esp,0x4 - 1093a0: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4] - 1093a4: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 1093a8: a3 08 da 10 00 mov ds:0x10da08,eax - 1093ad: 89 15 0c da 10 00 mov DWORD PTR ds:0x10da0c,edx - 1093b3: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14] - 1093b7: 03 05 0c da 10 00 add eax,DWORD PTR ds:0x10da0c - 1093bd: a3 0c da 10 00 mov ds:0x10da0c,eax - 1093c2: 3d ff 5b 26 05 cmp eax,0x5265bff - 1093c7: 76 10 jbe 1093d9 - 1093c9: ff 05 08 da 10 00 inc DWORD PTR ds:0x10da08 - 1093cf: 2d 00 5c 26 05 sub eax,0x5265c00 - 1093d4: a3 0c da 10 00 mov ds:0x10da0c,eax - 1093d9: 83 c4 10 add esp,0x10 - 1093dc: c3 ret - -001093dd : - 1093dd: 83 ec 10 sub esp,0x10 - 1093e0: 8d 44 24 04 lea eax,[esp+0x4] - 1093e4: 89 04 24 mov DWORD PTR [esp],eax - 1093e7: e8 64 ff ff ff call 109350 - 1093ec: 83 ec 04 sub esp,0x4 - 1093ef: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8] - 1093f3: b0 01 mov al,0x1 - 1093f5: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4] - 1093f9: 39 0d 08 da 10 00 cmp DWORD PTR ds:0x10da08,ecx - 1093ff: 72 09 jb 10940a - 109401: 39 15 0c da 10 00 cmp DWORD PTR ds:0x10da0c,edx - 109407: 0f 96 c0 setbe al - 10940a: 83 c4 10 add esp,0x10 - 10940d: c3 ret - ... - -00109410 : - 109410: 83 ec 1c sub esp,0x1c - 109413: c7 44 24 04 14 da 10 mov DWORD PTR [esp+0x4],0x10da14 - 10941a: 00 - 10941b: c7 04 24 38 00 00 00 mov DWORD PTR [esp],0x38 - 109422: e8 85 b8 ff ff call 104cac - 109427: c7 44 24 04 28 da 10 mov DWORD PTR [esp+0x4],0x10da28 - 10942e: 00 - 10942f: c7 04 24 74 00 00 00 mov DWORD PTR [esp],0x74 - 109436: e8 71 b8 ff ff call 104cac - 10943b: a1 14 da 10 00 mov eax,ds:0x10da14 - 109440: a3 24 da 10 00 mov ds:0x10da24,eax - 109445: a1 28 da 10 00 mov eax,ds:0x10da28 - 10944a: a3 10 da 10 00 mov ds:0x10da10,eax - 10944f: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa - 109456: 00 - 109457: c7 44 24 08 94 b0 10 mov DWORD PTR [esp+0x8],0x10b094 - 10945e: 00 - 10945f: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac - 109466: 00 - 109467: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 10946e: e8 35 de ff ff call 1072a8 - 109473: 83 c4 1c add esp,0x1c - 109476: c3 ret - -00109477 : - 109477: 53 push ebx - 109478: 83 ec 28 sub esp,0x28 - 10947b: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 10947f: a1 1c da 10 00 mov eax,ds:0x10da1c - 109484: 89 03 mov DWORD PTR [ebx],eax - 109486: c7 44 24 04 14 da 10 mov DWORD PTR [esp+0x4],0x10da14 - 10948d: 00 - 10948e: 89 1c 24 mov DWORD PTR [esp],ebx - 109491: e8 45 b8 ff ff call 104cdb - 109496: 8b 03 mov eax,DWORD PTR [ebx] - 109498: 89 44 24 18 mov DWORD PTR [esp+0x18],eax - 10949c: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7 - 1094a3: 00 - 1094a4: 83 c3 04 add ebx,0x4 - 1094a7: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx - 1094ab: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf - 1094b2: 00 - 1094b3: c7 44 24 08 b0 b0 10 mov DWORD PTR [esp+0x8],0x10b0b0 - 1094ba: 00 - 1094bb: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac - 1094c2: 00 - 1094c3: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1094ca: e8 d9 dd ff ff call 1072a8 - 1094cf: 83 c4 28 add esp,0x28 - 1094d2: 5b pop ebx - 1094d3: c3 ret - -001094d4 <_VfsFindDevice>: - 1094d4: 56 push esi - 1094d5: 53 push ebx - 1094d6: 83 ec 14 sub esp,0x14 - 1094d9: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 1094dd: bb ff ff ff ff mov ebx,0xffffffff - 1094e2: 83 3d 30 da 10 00 00 cmp DWORD PTR ds:0x10da30,0x0 - 1094e9: 74 47 je 109532 <_VfsFindDevice+0x5e> - 1094eb: b8 00 00 00 00 mov eax,0x0 - 1094f0: bb 00 00 00 00 mov ebx,0x0 - 1094f5: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0] - 1094fc: 29 c2 sub edx,eax - 1094fe: 8d 04 90 lea eax,[eax+edx*4] - 109501: c1 e0 02 shl eax,0x2 - 109504: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 10950a: 83 38 ff cmp DWORD PTR [eax],0xffffffff - 10950d: 74 13 je 109522 <_VfsFindDevice+0x4e> - 10950f: 83 c0 08 add eax,0x8 - 109512: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 109516: 89 34 24 mov DWORD PTR [esp],esi - 109519: e8 06 f8 ff ff call 108d24 - 10951e: 85 c0 test eax,eax - 109520: 74 10 je 109532 <_VfsFindDevice+0x5e> - 109522: 43 inc ebx - 109523: 89 d8 mov eax,ebx - 109525: 3b 1d 30 da 10 00 cmp ebx,DWORD PTR ds:0x10da30 - 10952b: 72 c8 jb 1094f5 <_VfsFindDevice+0x21> - 10952d: bb ff ff ff ff mov ebx,0xffffffff - 109532: 89 d8 mov eax,ebx - 109534: 83 c4 14 add esp,0x14 - 109537: 5b pop ebx - 109538: 5e pop esi - 109539: c3 ret - -0010953a <_VfsGetDevice>: - 10953a: 55 push ebp - 10953b: 57 push edi - 10953c: 56 push esi - 10953d: 53 push ebx - 10953e: 83 ec 1c sub esp,0x1c - 109541: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 109545: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34] - 109549: 85 db test ebx,ebx - 10954b: 74 05 je 109552 <_VfsGetDevice+0x18> - 10954d: 80 3b 2f cmp BYTE PTR [ebx],0x2f - 109550: 74 10 je 109562 <_VfsGetDevice+0x28> - 109552: c7 07 ff ff ff ff mov DWORD PTR [edi],0xffffffff - 109558: b8 00 00 00 00 mov eax,0x0 - 10955d: e9 a4 00 00 00 jmp 109606 <_VfsGetDevice+0xcc> - 109562: b8 00 00 00 00 mov eax,0x0 - 109567: 80 7b 01 00 cmp BYTE PTR [ebx+0x1],0x0 - 10956b: 0f 84 95 00 00 00 je 109606 <_VfsGetDevice+0xcc> - 109571: 8d 6b 01 lea ebp,[ebx+0x1] - 109574: 89 2c 24 mov DWORD PTR [esp],ebp - 109577: e8 94 f7 ff ff call 108d10 - 10957c: 89 c6 mov esi,eax - 10957e: 85 c0 test eax,eax - 109580: 7e 24 jle 1095a6 <_VfsGetDevice+0x6c> - 109582: be ff ff ff ff mov esi,0xffffffff - 109587: ba 00 00 00 00 mov edx,0x0 - 10958c: 80 7c 13 01 2f cmp BYTE PTR [ebx+edx*1+0x1],0x2f - 109591: 75 02 jne 109595 <_VfsGetDevice+0x5b> - 109593: 89 d6 mov esi,edx - 109595: 42 inc edx - 109596: 39 d0 cmp eax,edx - 109598: 7e 05 jle 10959f <_VfsGetDevice+0x65> - 10959a: 83 fe ff cmp esi,0xffffffff - 10959d: 74 ed je 10958c <_VfsGetDevice+0x52> - 10959f: 83 fe ff cmp esi,0xffffffff - 1095a2: 75 02 jne 1095a6 <_VfsGetDevice+0x6c> - 1095a4: 89 c6 mov esi,eax - 1095a6: c7 07 ff ff ff ff mov DWORD PTR [edi],0xffffffff - 1095ac: 83 3d 30 da 10 00 00 cmp DWORD PTR ds:0x10da30,0x0 - 1095b3: 74 4d je 109602 <_VfsGetDevice+0xc8> - 1095b5: b8 00 00 00 00 mov eax,0x0 - 1095ba: bb 00 00 00 00 mov ebx,0x0 - 1095bf: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0] - 1095c6: 29 c2 sub edx,eax - 1095c8: 8d 04 90 lea eax,[eax+edx*4] - 1095cb: c1 e0 02 shl eax,0x2 - 1095ce: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 1095d4: 83 38 ff cmp DWORD PTR [eax],0xffffffff - 1095d7: 74 19 je 1095f2 <_VfsGetDevice+0xb8> - 1095d9: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 1095dd: 83 c0 08 add eax,0x8 - 1095e0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1095e4: 89 2c 24 mov DWORD PTR [esp],ebp - 1095e7: e8 7a f7 ff ff call 108d66 - 1095ec: 85 c0 test eax,eax - 1095ee: 75 02 jne 1095f2 <_VfsGetDevice+0xb8> - 1095f0: 89 1f mov DWORD PTR [edi],ebx - 1095f2: 43 inc ebx - 1095f3: 89 d8 mov eax,ebx - 1095f5: 3b 1d 30 da 10 00 cmp ebx,DWORD PTR ds:0x10da30 - 1095fb: 73 05 jae 109602 <_VfsGetDevice+0xc8> - 1095fd: 83 3f ff cmp DWORD PTR [edi],0xffffffff - 109600: 74 bd je 1095bf <_VfsGetDevice+0x85> - 109602: 8d 44 35 00 lea eax,[ebp+esi*1+0x0] - 109606: 83 c4 1c add esp,0x1c - 109609: 5b pop ebx - 10960a: 5e pop esi - 10960b: 5f pop edi - 10960c: 5d pop ebp - 10960d: c3 ret - -0010960e <_VfsDetectFs>: - 10960e: 56 push esi - 10960f: 53 push ebx - 109610: 83 ec 14 sub esp,0x14 - 109613: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20] - 109617: bb ff ff ff ff mov ebx,0xffffffff - 10961c: 83 3d 1c da 10 00 00 cmp DWORD PTR ds:0x10da1c,0x0 - 109623: 74 3c je 109661 <_VfsDetectFs+0x53> - 109625: b8 00 00 00 00 mov eax,0x0 - 10962a: bb 00 00 00 00 mov ebx,0x0 - 10962f: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0] - 109636: c1 e0 06 shl eax,0x6 - 109639: 29 d0 sub eax,edx - 10963b: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109641: 8b 40 14 mov eax,DWORD PTR [eax+0x14] - 109644: 85 c0 test eax,eax - 109646: 74 09 je 109651 <_VfsDetectFs+0x43> - 109648: 89 34 24 mov DWORD PTR [esp],esi - 10964b: ff d0 call eax - 10964d: 85 c0 test eax,eax - 10964f: 75 10 jne 109661 <_VfsDetectFs+0x53> - 109651: 43 inc ebx - 109652: 89 d8 mov eax,ebx - 109654: 3b 1d 1c da 10 00 cmp ebx,DWORD PTR ds:0x10da1c - 10965a: 72 d3 jb 10962f <_VfsDetectFs+0x21> - 10965c: bb ff ff ff ff mov ebx,0xffffffff - 109661: 89 d8 mov eax,ebx - 109663: 83 c4 14 add esp,0x14 - 109666: 5b pop ebx - 109667: 5e pop esi - 109668: c3 ret - -00109669 : - 109669: 55 push ebp - 10966a: 57 push edi - 10966b: 56 push esi - 10966c: 53 push ebx - 10966d: 83 ec 2c sub esp,0x2c - 109670: 8b 7c 24 40 mov edi,DWORD PTR [esp+0x40] - 109674: 89 3c 24 mov DWORD PTR [esp],edi - 109677: e8 58 fe ff ff call 1094d4 <_VfsFindDevice> - 10967c: 83 f8 ff cmp eax,0xffffffff - 10967f: 0f 94 c3 sete bl - 109682: 89 3c 24 mov DWORD PTR [esp],edi - 109685: e8 86 f6 ff ff call 108d10 - 10968a: c6 44 07 01 00 mov BYTE PTR [edi+eax*1+0x1],0x0 - 10968f: 84 db test bl,bl - 109691: 75 56 jne 1096e9 - 109693: be 30 00 00 00 mov esi,0x30 - 109698: 01 f8 add eax,edi - 10969a: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax - 10969e: 8b 6c 24 1c mov ebp,DWORD PTR [esp+0x1c] - 1096a2: 89 f0 mov eax,esi - 1096a4: 88 45 00 mov BYTE PTR [ebp+0x0],al - 1096a7: 89 3c 24 mov DWORD PTR [esp],edi - 1096aa: e8 25 fe ff ff call 1094d4 <_VfsFindDevice> - 1096af: 83 f8 ff cmp eax,0xffffffff - 1096b2: 0f 94 c3 sete bl - 1096b5: 46 inc esi - 1096b6: 89 f2 mov edx,esi - 1096b8: 80 fa 39 cmp dl,0x39 - 1096bb: 7f 04 jg 1096c1 - 1096bd: 84 db test bl,bl - 1096bf: 74 dd je 10969e - 1096c1: 84 db test bl,bl - 1096c3: 75 24 jne 1096e9 - 1096c5: be 61 00 00 00 mov esi,0x61 - 1096ca: 89 f0 mov eax,esi - 1096cc: 88 45 00 mov BYTE PTR [ebp+0x0],al - 1096cf: 89 3c 24 mov DWORD PTR [esp],edi - 1096d2: e8 fd fd ff ff call 1094d4 <_VfsFindDevice> - 1096d7: 83 f8 ff cmp eax,0xffffffff - 1096da: 0f 94 c3 sete bl - 1096dd: 46 inc esi - 1096de: 89 f2 mov edx,esi - 1096e0: 80 fa 7a cmp dl,0x7a - 1096e3: 7f 04 jg 1096e9 - 1096e5: 84 db test bl,bl - 1096e7: 74 e1 je 1096ca - 1096e9: 31 c0 xor eax,eax - 1096eb: 88 d8 mov al,bl - 1096ed: 83 c4 2c add esp,0x2c - 1096f0: 5b pop ebx - 1096f1: 5e pop esi - 1096f2: 5f pop edi - 1096f3: 5d pop ebp - 1096f4: c3 ret - -001096f5 : - 1096f5: 56 push esi - 1096f6: 53 push ebx - 1096f7: 81 ec b4 00 00 00 sub esp,0xb4 - 1096fd: 8b b4 24 c0 00 00 00 mov esi,DWORD PTR [esp+0xc0] - 109704: 89 74 24 04 mov DWORD PTR [esp+0x4],esi - 109708: 8d 5c 24 3c lea ebx,[esp+0x3c] - 10970c: 8d 44 24 44 lea eax,[esp+0x44] - 109710: 89 04 24 mov DWORD PTR [esp],eax - 109713: e8 39 f7 ff ff call 108e51 - 109718: 8b 84 24 cc 00 00 00 mov eax,DWORD PTR [esp+0xcc] - 10971f: 89 84 24 84 00 00 00 mov DWORD PTR [esp+0x84],eax - 109726: 8b 84 24 c4 00 00 00 mov eax,DWORD PTR [esp+0xc4] - 10972d: 89 84 24 88 00 00 00 mov DWORD PTR [esp+0x88],eax - 109734: 8b 84 24 c8 00 00 00 mov eax,DWORD PTR [esp+0xc8] - 10973b: 89 84 24 8c 00 00 00 mov DWORD PTR [esp+0x8c],eax - 109742: 89 1c 24 mov DWORD PTR [esp],ebx - 109745: e8 c4 fe ff ff call 10960e <_VfsDetectFs> - 10974a: 89 c3 mov ebx,eax - 10974c: 83 f8 ff cmp eax,0xffffffff - 10974f: 75 32 jne 109783 - 109751: 89 74 24 10 mov DWORD PTR [esp+0x10],esi - 109755: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc - 10975c: 00 - 10975d: c7 44 24 08 d8 b0 10 mov DWORD PTR [esp+0x8],0x10b0d8 - 109764: 00 - 109765: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac - 10976c: 00 - 10976d: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 109774: e8 2f db ff ff call 1072a8 - 109779: b8 00 00 00 00 mov eax,0x0 - 10977e: e9 67 01 00 00 jmp 1098ea - 109783: 89 44 24 40 mov DWORD PTR [esp+0x40],eax - 109787: 8d 44 24 44 lea eax,[esp+0x44] - 10978b: 89 04 24 mov DWORD PTR [esp],eax - 10978e: e8 d6 fe ff ff call 109669 - 109793: 85 c0 test eax,eax - 109795: 74 0c je 1097a3 - 109797: 8b 35 30 da 10 00 mov esi,DWORD PTR ds:0x10da30 - 10979d: 85 f6 test esi,esi - 10979f: 75 34 jne 1097d5 - 1097a1: eb 5b jmp 1097fe - 1097a3: 89 74 24 10 mov DWORD PTR [esp+0x10],esi - 1097a7: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc - 1097ae: 00 - 1097af: c7 44 24 08 14 b1 10 mov DWORD PTR [esp+0x8],0x10b114 - 1097b6: 00 - 1097b7: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac - 1097be: 00 - 1097bf: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1 - 1097c6: e8 dd da ff ff call 1072a8 - 1097cb: b8 00 00 00 00 mov eax,0x0 - 1097d0: e9 15 01 00 00 jmp 1098ea - 1097d5: 8b 15 10 da 10 00 mov edx,DWORD PTR ds:0x10da10 - 1097db: b8 00 00 00 00 mov eax,0x0 - 1097e0: b9 ff ff ff ff mov ecx,0xffffffff - 1097e5: 83 3a ff cmp DWORD PTR [edx],0xffffffff - 1097e8: 75 02 jne 1097ec - 1097ea: 89 c1 mov ecx,eax - 1097ec: 40 inc eax - 1097ed: 83 c2 74 add edx,0x74 - 1097f0: 39 f0 cmp eax,esi - 1097f2: 73 05 jae 1097f9 - 1097f4: 83 f9 ff cmp ecx,0xffffffff - 1097f7: 74 ec je 1097e5 - 1097f9: 83 f9 ff cmp ecx,0xffffffff - 1097fc: 75 1a jne 109818 - 1097fe: 89 74 24 3c mov DWORD PTR [esp+0x3c],esi - 109802: c7 44 24 04 28 da 10 mov DWORD PTR [esp+0x4],0x10da28 - 109809: 00 - 10980a: 8d 44 24 3c lea eax,[esp+0x3c] - 10980e: 89 04 24 mov DWORD PTR [esp],eax - 109811: e8 c5 b4 ff ff call 104cdb - 109816: eb 31 jmp 109849 - 109818: 89 4c 24 3c mov DWORD PTR [esp+0x3c],ecx - 10981c: c7 44 24 08 74 00 00 mov DWORD PTR [esp+0x8],0x74 - 109823: 00 - 109824: 8d 44 24 3c lea eax,[esp+0x3c] - 109828: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 10982c: 8d 04 cd 00 00 00 00 lea eax,[ecx*8+0x0] - 109833: 29 c8 sub eax,ecx - 109835: 8d 04 81 lea eax,[ecx+eax*4] - 109838: c1 e0 02 shl eax,0x2 - 10983b: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 109841: 89 04 24 mov DWORD PTR [esp],eax - 109844: e8 bf e7 ff ff call 108008 - 109849: 8d 04 dd 00 00 00 00 lea eax,[ebx*8+0x0] - 109850: c1 e3 06 shl ebx,0x6 - 109853: 29 c3 sub ebx,eax - 109855: a1 24 da 10 00 mov eax,ds:0x10da24 - 10985a: 8b 54 18 18 mov edx,DWORD PTR [eax+ebx*1+0x18] - 10985e: 85 d2 test edx,edx - 109860: 74 1e je 109880 - 109862: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c] - 109866: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 10986d: 29 c1 sub ecx,eax - 10986f: 8d 04 88 lea eax,[eax+ecx*4] - 109872: c1 e0 02 shl eax,0x2 - 109875: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 10987b: 89 04 24 mov DWORD PTR [esp],eax - 10987e: ff d2 call edx - 109880: c7 44 24 20 07 00 00 mov DWORD PTR [esp+0x20],0x7 - 109887: 00 - 109888: 03 1d 24 da 10 00 add ebx,DWORD PTR ds:0x10da24 - 10988e: 83 c3 04 add ebx,0x4 - 109891: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx - 109895: c7 44 24 18 0f 00 00 mov DWORD PTR [esp+0x18],0xf - 10989c: 00 - 10989d: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7 - 1098a4: 00 - 1098a5: 8d 44 24 44 lea eax,[esp+0x44] - 1098a9: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 1098ad: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf - 1098b4: 00 - 1098b5: c7 44 24 08 3c b1 10 mov DWORD PTR [esp+0x8],0x10b13c - 1098bc: 00 - 1098bd: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac - 1098c4: 00 - 1098c5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0 - 1098cc: e8 d7 d9 ff ff call 1072a8 - 1098d1: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c] - 1098d5: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0] - 1098dc: 29 c2 sub edx,eax - 1098de: 8d 04 90 lea eax,[eax+edx*4] - 1098e1: c1 e0 02 shl eax,0x2 - 1098e4: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 1098ea: 81 c4 b4 00 00 00 add esp,0xb4 - 1098f0: 5b pop ebx - 1098f1: 5e pop esi - 1098f2: c3 ret - -001098f3 : - 1098f3: 53 push ebx - 1098f4: 83 ec 18 sub esp,0x18 - 1098f7: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20] - 1098fb: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0] - 109902: 29 c2 sub edx,eax - 109904: 8d 1c 90 lea ebx,[eax+edx*4] - 109907: c1 e3 02 shl ebx,0x2 - 10990a: 8b 15 10 da 10 00 mov edx,DWORD PTR ds:0x10da10 - 109910: 01 da add edx,ebx - 109912: 8b 42 04 mov eax,DWORD PTR [edx+0x4] - 109915: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 10991c: c1 e0 06 shl eax,0x6 - 10991f: 29 c8 sub eax,ecx - 109921: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109927: 8b 40 1c mov eax,DWORD PTR [eax+0x1c] - 10992a: 85 c0 test eax,eax - 10992c: 74 0d je 10993b - 10992e: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0 - 109935: 00 - 109936: 89 14 24 mov DWORD PTR [esp],edx - 109939: ff d0 call eax - 10993b: a1 10 da 10 00 mov eax,ds:0x10da10 - 109940: c7 04 18 ff ff ff ff mov DWORD PTR [eax+ebx*1],0xffffffff - 109947: 83 c4 18 add esp,0x18 - 10994a: 5b pop ebx - 10994b: c3 ret - -0010994c : - 10994c: 56 push esi - 10994d: 53 push ebx - 10994e: 83 ec 24 sub esp,0x24 - 109951: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30] - 109955: b8 00 00 00 00 mov eax,0x0 - 10995a: 85 db test ebx,ebx - 10995c: 74 69 je 1099c7 - 10995e: 8d 44 24 1c lea eax,[esp+0x1c] - 109962: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 109966: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] - 10996a: 89 04 24 mov DWORD PTR [esp],eax - 10996d: e8 c8 fb ff ff call 10953a <_VfsGetDevice> - 109972: 89 c6 mov esi,eax - 109974: 8b 54 24 1c mov edx,DWORD PTR [esp+0x1c] - 109978: 89 13 mov DWORD PTR [ebx],edx - 10997a: b8 00 00 00 00 mov eax,0x0 - 10997f: 83 fa ff cmp edx,0xffffffff - 109982: 74 43 je 1099c7 - 109984: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0] - 10998b: 29 d0 sub eax,edx - 10998d: 8d 0c 82 lea ecx,[edx+eax*4] - 109990: c1 e1 02 shl ecx,0x2 - 109993: 03 0d 10 da 10 00 add ecx,DWORD PTR ds:0x10da10 - 109999: 8b 51 04 mov edx,DWORD PTR [ecx+0x4] - 10999c: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0] - 1099a3: c1 e2 06 shl edx,0x6 - 1099a6: 29 c2 sub edx,eax - 1099a8: 03 15 24 da 10 00 add edx,DWORD PTR ds:0x10da24 - 1099ae: 8b 52 20 mov edx,DWORD PTR [edx+0x20] - 1099b1: b8 00 00 00 00 mov eax,0x0 - 1099b6: 85 d2 test edx,edx - 1099b8: 74 0d je 1099c7 - 1099ba: 89 74 24 08 mov DWORD PTR [esp+0x8],esi - 1099be: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 1099c2: 89 0c 24 mov DWORD PTR [esp],ecx - 1099c5: ff d2 call edx - 1099c7: 83 c4 24 add esp,0x24 - 1099ca: 5b pop ebx - 1099cb: 5e pop esi - 1099cc: c3 ret - -001099cd : - 1099cd: 53 push ebx - 1099ce: 83 ec 28 sub esp,0x28 - 1099d1: 8d 44 24 1c lea eax,[esp+0x1c] - 1099d5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax - 1099d9: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30] - 1099dd: 89 04 24 mov DWORD PTR [esp],eax - 1099e0: e8 55 fb ff ff call 10953a <_VfsGetDevice> - 1099e5: 89 c3 mov ebx,eax - 1099e7: 8b 54 24 1c mov edx,DWORD PTR [esp+0x1c] - 1099eb: b8 00 00 00 00 mov eax,0x0 - 1099f0: 83 fa ff cmp edx,0xffffffff - 1099f3: 74 3f je 109a34 - 1099f5: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0] - 1099fc: 29 d0 sub eax,edx - 1099fe: 8d 0c 82 lea ecx,[edx+eax*4] - 109a01: c1 e1 02 shl ecx,0x2 - 109a04: 03 0d 10 da 10 00 add ecx,DWORD PTR ds:0x10da10 - 109a0a: 8b 51 04 mov edx,DWORD PTR [ecx+0x4] - 109a0d: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0] - 109a14: c1 e2 06 shl edx,0x6 - 109a17: 29 c2 sub edx,eax - 109a19: 03 15 24 da 10 00 add edx,DWORD PTR ds:0x10da24 - 109a1f: 8b 52 30 mov edx,DWORD PTR [edx+0x30] - 109a22: b8 00 00 00 00 mov eax,0x0 - 109a27: 85 d2 test edx,edx - 109a29: 74 09 je 109a34 - 109a2b: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx - 109a2f: 89 0c 24 mov DWORD PTR [esp],ecx - 109a32: ff d2 call edx - 109a34: 83 c4 28 add esp,0x28 - 109a37: 5b pop ebx - 109a38: c3 ret - -00109a39 : - 109a39: 53 push ebx - 109a3a: 83 ec 18 sub esp,0x18 - 109a3d: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 109a41: 85 d2 test edx,edx - 109a43: 74 43 je 109a88 - 109a45: 8b 02 mov eax,DWORD PTR [edx] - 109a47: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109a4e: 29 c1 sub ecx,eax - 109a50: 8d 1c 88 lea ebx,[eax+ecx*4] - 109a53: c1 e3 02 shl ebx,0x2 - 109a56: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10 - 109a5c: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 109a5f: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109a66: c1 e0 06 shl eax,0x6 - 109a69: 29 c8 sub eax,ecx - 109a6b: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109a71: 8b 48 24 mov ecx,DWORD PTR [eax+0x24] - 109a74: b8 00 00 00 00 mov eax,0x0 - 109a79: 85 c9 test ecx,ecx - 109a7b: 74 10 je 109a8d - 109a7d: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 109a81: 89 1c 24 mov DWORD PTR [esp],ebx - 109a84: ff d1 call ecx - 109a86: eb 05 jmp 109a8d - 109a88: b8 00 00 00 00 mov eax,0x0 - 109a8d: 83 c4 18 add esp,0x18 - 109a90: 5b pop ebx - 109a91: c3 ret - -00109a92 : - 109a92: 53 push ebx - 109a93: 83 ec 28 sub esp,0x28 - 109a96: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30] - 109a9a: b8 00 00 00 00 mov eax,0x0 - 109a9f: 85 d2 test edx,edx - 109aa1: 74 59 je 109afc - 109aa3: 8b 02 mov eax,DWORD PTR [edx] - 109aa5: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109aac: 29 c1 sub ecx,eax - 109aae: 8d 1c 88 lea ebx,[eax+ecx*4] - 109ab1: c1 e3 02 shl ebx,0x2 - 109ab4: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10 - 109aba: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 109abd: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109ac4: c1 e0 06 shl eax,0x6 - 109ac7: 29 c8 sub eax,ecx - 109ac9: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109acf: 8b 48 28 mov ecx,DWORD PTR [eax+0x28] - 109ad2: b8 00 00 00 00 mov eax,0x0 - 109ad7: 85 c9 test ecx,ecx - 109ad9: 74 21 je 109afc - 109adb: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c] - 109adf: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 109ae3: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38] - 109ae7: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 109aeb: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] - 109aef: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 109af3: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 109af7: 89 1c 24 mov DWORD PTR [esp],ebx - 109afa: ff d1 call ecx - 109afc: 83 c4 28 add esp,0x28 - 109aff: 5b pop ebx - 109b00: c3 ret - -00109b01 : - 109b01: 53 push ebx - 109b02: 83 ec 28 sub esp,0x28 - 109b05: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30] - 109b09: b8 00 00 00 00 mov eax,0x0 - 109b0e: 85 d2 test edx,edx - 109b10: 74 59 je 109b6b - 109b12: 8b 02 mov eax,DWORD PTR [edx] - 109b14: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109b1b: 29 c1 sub ecx,eax - 109b1d: 8d 1c 88 lea ebx,[eax+ecx*4] - 109b20: c1 e3 02 shl ebx,0x2 - 109b23: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10 - 109b29: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 109b2c: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109b33: c1 e0 06 shl eax,0x6 - 109b36: 29 c8 sub eax,ecx - 109b38: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109b3e: 8b 48 2c mov ecx,DWORD PTR [eax+0x2c] - 109b41: b8 00 00 00 00 mov eax,0x0 - 109b46: 85 c9 test ecx,ecx - 109b48: 74 21 je 109b6b - 109b4a: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c] - 109b4e: 89 44 24 10 mov DWORD PTR [esp+0x10],eax - 109b52: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38] - 109b56: 89 44 24 0c mov DWORD PTR [esp+0xc],eax - 109b5a: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] - 109b5e: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 109b62: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 109b66: 89 1c 24 mov DWORD PTR [esp],ebx - 109b69: ff d1 call ecx - 109b6b: 83 c4 28 add esp,0x28 - 109b6e: 5b pop ebx - 109b6f: c3 ret - -00109b70 : - 109b70: 56 push esi - 109b71: 53 push ebx - 109b72: 83 ec 14 sub esp,0x14 - 109b75: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20] - 109b79: 85 d2 test edx,edx - 109b7b: 74 5b je 109bd8 - 109b7d: 8b 35 10 da 10 00 mov esi,DWORD PTR ds:0x10da10 - 109b83: 8b 0a mov ecx,DWORD PTR [edx] - 109b85: 8b 5a 0c mov ebx,DWORD PTR [edx+0xc] - 109b88: 83 e3 07 and ebx,0x7 - 109b8b: b8 00 00 00 00 mov eax,0x0 - 109b90: 83 fb 01 cmp ebx,0x1 - 109b93: 74 48 je 109bdd - 109b95: 8d 04 cd 00 00 00 00 lea eax,[ecx*8+0x0] - 109b9c: 29 c8 sub eax,ecx - 109b9e: 8d 04 81 lea eax,[ecx+eax*4] - 109ba1: 8d 1c 86 lea ebx,[esi+eax*4] - 109ba4: 8b 43 04 mov eax,DWORD PTR [ebx+0x4] - 109ba7: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0] - 109bae: c1 e0 06 shl eax,0x6 - 109bb1: 29 c8 sub eax,ecx - 109bb3: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24 - 109bb9: 8b 48 34 mov ecx,DWORD PTR [eax+0x34] - 109bbc: b8 00 00 00 00 mov eax,0x0 - 109bc1: 85 c9 test ecx,ecx - 109bc3: 74 18 je 109bdd - 109bc5: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24] - 109bc9: 89 44 24 08 mov DWORD PTR [esp+0x8],eax - 109bcd: 89 54 24 04 mov DWORD PTR [esp+0x4],edx - 109bd1: 89 1c 24 mov DWORD PTR [esp],ebx - 109bd4: ff d1 call ecx - 109bd6: eb 05 jmp 109bdd - 109bd8: b8 00 00 00 00 mov eax,0x0 - 109bdd: 83 c4 14 add esp,0x14 - 109be0: 5b pop ebx - 109be1: 5e pop esi - 109be2: c3 ret - -00109be3 : - 109be3: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4] - 109be7: b8 00 00 00 00 mov eax,0x0 - 109bec: 39 15 30 da 10 00 cmp DWORD PTR ds:0x10da30,edx - 109bf2: 76 15 jbe 109c09 - 109bf4: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0] - 109bfb: 29 d0 sub eax,edx - 109bfd: 8d 04 82 lea eax,[edx+eax*4] - 109c00: c1 e0 02 shl eax,0x2 - 109c03: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10 - 109c09: c3 ret - 109c0a: 00 00 add BYTE PTR [eax],al - 109c0c: 61 popa - 109c0d: 2c 10 sub al,0x10 - 109c0f: 00 a0 2d 10 00 5b add BYTE PTR [eax+0x5b00102d],ah - 109c15: 2d 10 00 65 2d sub eax,0x2d650010 - 109c1a: 10 00 adc BYTE PTR [eax],al - 109c1c: 65 gs - 109c1d: 2d 10 00 9c 2b sub eax,0x2b9c0010 - 109c22: 10 00 adc BYTE PTR [eax],al - 109c24: 65 gs - 109c25: 2d 10 00 df 2c sub eax,0x2cdf0010 - 109c2a: 10 00 adc BYTE PTR [eax],al - 109c2c: fd std - 109c2d: 2b 10 sub edx,DWORD PTR [eax] - 109c2f: 00 6c 75 78 add BYTE PTR [ebp+esi*2+0x78],ch - 109c33: 00 25 23 25 63 00 add BYTE PTR ds:0x632523,ah - 109c39: 30 2e xor BYTE PTR [esi],ch - 109c3b: 31 20 xor DWORD PTR [eax],esp - 109c3d: 5b pop ebx - 109c3e: 70 72 jo 109cb2 - 109c40: 65 gs - 109c41: 2d 41 6c 70 68 sub eax,0x68706c41 - 109c46: 61 popa - 109c47: 5d pop ebp - 109c48: 00 0a add BYTE PTR [edx],cl - 109c4a: 25 23 4f 53 20 and eax,0x20534f23 - 109c4f: 76 65 jbe 109cb6 - 109c51: 72 73 jb 109cc6 - 109c53: 69 6f 6e 3a 20 25 23 imul ebp,DWORD PTR [edi+0x6e],0x2325203a - 109c5a: 25 73 0a 00 30 and eax,0x30000a73 - 109c5f: 2e 31 2e xor DWORD PTR cs:[esi],ebp - 109c62: 31 2e xor DWORD PTR [esi],ebp - 109c64: 34 38 xor al,0x38 - 109c66: 00 25 23 42 75 69 add BYTE PTR ds:0x69754223,ah - 109c6c: 6c ins BYTE PTR es:[edi],dx - 109c6d: 64 3a 20 cmp ah,BYTE PTR fs:[eax] - 109c70: 25 23 25 73 20 and eax,0x20732523 - 109c75: 00 31 add BYTE PTR [ecx],dh - 109c77: 32 3a xor bh,BYTE PTR [edx] - 109c79: 32 32 xor dh,BYTE PTR [edx] - 109c7b: 3a 32 cmp dh,BYTE PTR [edx] - 109c7d: 38 00 cmp BYTE PTR [eax],al - 109c7f: 53 push ebx - 109c80: 65 gs - 109c81: 70 20 jo 109ca3 - 109c83: 32 30 xor dh,BYTE PTR [eax] - 109c85: 20 32 and BYTE PTR [edx],dh - 109c87: 30 31 xor BYTE PTR [ecx],dh - 109c89: 31 00 xor DWORD PTR [eax],eax - 109c8b: 25 23 62 75 69 and eax,0x69756223 - 109c90: 6c ins BYTE PTR es:[edi],dx - 109c91: 74 20 je 109cb3 - 109c93: 6f outs dx,DWORD PTR ds:[esi] - 109c94: 6e outs dx,BYTE PTR ds:[esi] - 109c95: 20 25 23 25 73 20 and BYTE PTR ds:0x20732523,ah - 109c9b: 25 23 61 74 20 and eax,0x20746123 - 109ca0: 25 23 25 73 0a and eax,0xa732523 - 109ca5: 00 43 75 add BYTE PTR [ebx+0x75],al - 109ca8: 72 72 jb 109d1c - 109caa: 65 6e outs dx,BYTE PTR gs:[esi] - 109cac: 74 20 je 109cce - 109cae: 74 69 je 109d19 - 109cb0: 6d ins DWORD PTR es:[edi],dx - 109cb1: 65 3a 20 cmp ah,BYTE PTR gs:[eax] - 109cb4: 00 25 23 25 64 3a add BYTE PTR ds:0x3a642523,ah - 109cba: 25 64 25 64 3a and eax,0x3a642564 - 109cbf: 25 64 25 64 2e and eax,0x2e642564 - 109cc4: 25 64 25 64 25 and eax,0x25642564 - 109cc9: 64 0a 00 or al,BYTE PTR fs:[eax] - 109ccc: 44 inc esp - 109ccd: 61 popa - 109cce: 74 65 je 109d35 - 109cd0: 3a 20 cmp ah,BYTE PTR [eax] - 109cd2: 25 23 25 73 2c and eax,0x2c732523 - 109cd7: 20 25 73 20 25 64 and BYTE PTR ds:0x64252073,ah - 109cdd: 2c 20 sub al,0x20 - 109cdf: 25 64 0a 00 4a and eax,0x4a000a64 - 109ce4: 61 popa - 109ce5: 6e outs dx,BYTE PTR ds:[esi] - 109ce6: 75 61 jne 109d49 - 109ce8: 72 79 jb 109d63 - 109cea: 00 46 65 add BYTE PTR [esi+0x65],al - 109ced: 62 72 75 bound esi,QWORD PTR [edx+0x75] - 109cf0: 61 popa - 109cf1: 72 79 jb 109d6c - 109cf3: 00 4d 61 add BYTE PTR [ebp+0x61],cl - 109cf6: 72 63 jb 109d5b - 109cf8: 68 00 41 70 72 push 0x72704100 - 109cfd: 69 6c 00 4d 61 79 00 imul ebp,DWORD PTR [eax+eax*1+0x4d],0x4a007961 - 109d04: 4a - 109d05: 75 6e jne 109d75 - 109d07: 65 00 4a 75 add BYTE PTR gs:[edx+0x75],cl - 109d0b: 6c ins BYTE PTR es:[edi],dx - 109d0c: 79 00 jns 109d0e - 109d0e: 41 inc ecx - 109d0f: 75 67 jne 109d78 - 109d11: 75 73 jne 109d86 - 109d13: 74 00 je 109d15 - 109d15: 53 push ebx - 109d16: 65 gs - 109d17: 70 74 jo 109d8d - 109d19: 65 gs - 109d1a: 6d ins DWORD PTR es:[edi],dx - 109d1b: 62 65 72 bound esp,QWORD PTR [ebp+0x72] - 109d1e: 00 4f 63 add BYTE PTR [edi+0x63],cl - 109d21: 74 6f je 109d92 - 109d23: 62 65 72 bound esp,QWORD PTR [ebp+0x72] - 109d26: 00 4e 6f add BYTE PTR [esi+0x6f],cl - 109d29: 76 65 jbe 109d90 - 109d2b: 6d ins DWORD PTR es:[edi],dx - 109d2c: 62 65 72 bound esp,QWORD PTR [ebp+0x72] - 109d2f: 00 44 65 63 add BYTE PTR [ebp+eiz*2+0x63],al - 109d33: 65 gs - 109d34: 6d ins DWORD PTR es:[edi],dx - 109d35: 62 65 72 bound esp,QWORD PTR [ebp+0x72] - 109d38: 00 4d 6f add BYTE PTR [ebp+0x6f],cl - 109d3b: 6e outs dx,BYTE PTR ds:[esi] - 109d3c: 64 fs - 109d3d: 61 popa - 109d3e: 79 00 jns 109d40 - 109d40: 54 push esp - 109d41: 75 65 jne 109da8 - 109d43: 73 64 jae 109da9 - 109d45: 61 popa - 109d46: 79 00 jns 109d48 - 109d48: 57 push edi - 109d49: 65 64 6e gs outs dx,BYTE PTR fs:gs:[esi] - 109d4c: 65 gs - 109d4d: 73 64 jae 109db3 - 109d4f: 61 popa - 109d50: 79 00 jns 109d52 - 109d52: 54 push esp - 109d53: 68 75 72 73 64 push 0x64737275 - 109d58: 61 popa - 109d59: 79 00 jns 109d5b - 109d5b: 46 inc esi - 109d5c: 72 69 jb 109dc7 - 109d5e: 64 fs - 109d5f: 61 popa - 109d60: 79 00 jns 109d62 - 109d62: 53 push ebx - 109d63: 61 popa - 109d64: 74 75 je 109ddb - 109d66: 72 64 jb 109dcc - 109d68: 61 popa - 109d69: 79 00 jns 109d6b - 109d6b: 53 push ebx - 109d6c: 75 6e jne 109ddc - 109d6e: 64 fs - 109d6f: 61 popa - 109d70: 79 00 jns 109d72 - 109d72: 41 inc ecx - 109d73: 76 61 jbe 109dd6 - 109d75: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6320656c - 109d7c: 63 - 109d7d: 6f outs dx,DWORD PTR ds:[esi] - 109d7e: 6d ins DWORD PTR es:[edi],dx - 109d7f: 6d ins DWORD PTR es:[edi],dx - 109d80: 61 popa - 109d81: 6e outs dx,BYTE PTR ds:[esi] - 109d82: 64 fs - 109d83: 73 3a jae 109dbf - 109d85: 0a 00 or al,BYTE PTR [eax] - 109d87: 20 3e and BYTE PTR [esi],bh - 109d89: 20 25 23 25 73 0a and BYTE PTR ds:0xa732523,ah - 109d8f: 00 21 add BYTE PTR [ecx],ah - 109d91: 70 00 jo 109d93 - 109d93: 25 23 25 78 25 and eax,0x25782523 - 109d98: 23 3a and edi,DWORD PTR [edx] - 109d9a: 20 20 and BYTE PTR [eax],ah - 109d9c: 00 25 23 30 30 20 add BYTE PTR ds:0x20303023,ah - 109da2: 00 25 23 25 63 25 add BYTE PTR ds:0x25632523,ah - 109da8: 63 20 arpl WORD PTR [eax],sp - 109daa: 00 0a add BYTE PTR [edx],cl - 109dac: 0a 0d 00 50 68 79 or cl,BYTE PTR ds:0x79685000 - 109db2: 73 69 jae 109e1d - 109db4: 63 61 6c arpl WORD PTR [ecx+0x6c],sp - 109db7: 20 6d 65 and BYTE PTR [ebp+0x65],ch - 109dba: 6d ins DWORD PTR es:[edi],dx - 109dbb: 6f outs dx,DWORD PTR ds:[esi] - 109dbc: 72 79 jb 109e37 - 109dbe: 20 6d 61 and BYTE PTR [ebp+0x61],ch - 109dc1: 70 3a jo 109dfd - 109dc3: 0a 00 or al,BYTE PTR [eax] - 109dc5: 61 popa - 109dc6: 6c ins BYTE PTR es:[edi],dx - 109dc7: 6c ins BYTE PTR es:[edi],dx - 109dc8: 6f outs dx,DWORD PTR ds:[esi] - 109dc9: 63 00 arpl WORD PTR [eax],ax - 109dcb: 52 push edx - 109dcc: 65 gs - 109dcd: 74 75 je 109e44 - 109dcf: 72 6e jb 109e3f - 109dd1: 65 64 20 61 64 gs and BYTE PTR fs:gs:[ecx+0x64],ah - 109dd6: 64 fs - 109dd7: 72 65 jb 109e3e - 109dd9: 73 73 jae 109e4e - 109ddb: 3a 20 cmp ah,BYTE PTR [eax] - 109ddd: 25 23 30 78 25 and eax,0x25783023 - 109de2: 78 0a js 109dee - 109de4: 00 66 72 add BYTE PTR [esi+0x72],ah - 109de7: 65 65 00 44 6f 6e gs add BYTE PTR gs:[edi+ebp*2+0x6e],al - 109ded: 65 2e 0a 00 gs or al,BYTE PTR cs:gs:[eax] - 109df1: 25 64 00 58 3d and eax,0x3d580064 - 109df6: 25 64 20 59 3d and eax,0x3d592064 - 109dfb: 25 64 20 42 75 and eax,0x75422064 - 109e00: 74 74 je 109e76 - 109e02: 6f outs dx,DWORD PTR ds:[esi] - 109e03: 6e outs dx,BYTE PTR ds:[esi] - 109e04: 73 3d jae 109e43 - 109e06: 00 3c 6e add BYTE PTR [esi+ebp*2],bh - 109e09: 6f outs dx,DWORD PTR ds:[esi] - 109e0a: 6e outs dx,BYTE PTR ds:[esi] - 109e0b: 65 3e 00 3c 6c gs add BYTE PTR ds:gs:[esp+ebp*2],bh - 109e10: 65 gs - 109e11: 66 data16 - 109e12: 74 3e je 109e52 - 109e14: 00 3c 72 add BYTE PTR [edx+esi*2],bh - 109e17: 69 67 68 74 3e 00 3c imul esp,DWORD PTR [edi+0x68],0x3c003e74 - 109e1e: 6d ins DWORD PTR es:[edi],dx - 109e1f: 69 64 3e 00 52 65 74 imul esp,DWORD PTR [esi+edi*1+0x0],0x75746552 - 109e26: 75 - 109e27: 72 6e jb 109e97 - 109e29: 65 64 20 76 61 gs and BYTE PTR fs:gs:[esi+0x61],dh - 109e2e: 6c ins BYTE PTR es:[edi],dx - 109e2f: 75 65 jne 109e96 - 109e31: 3a 20 cmp ah,BYTE PTR [eax] - 109e33: 30 78 25 xor BYTE PTR [eax+0x25],bh - 109e36: 78 0a js 109e42 - 109e38: 00 46 49 add BYTE PTR [esi+0x49],al - 109e3b: 4c dec esp - 109e3c: 00 44 49 52 add BYTE PTR [ecx+ecx*2+0x52],al - 109e40: 00 43 6f add BYTE PTR [ebx+0x6f],al - 109e43: 6e outs dx,BYTE PTR ds:[esi] - 109e44: 74 65 je 109eab - 109e46: 6e outs dx,BYTE PTR ds:[esi] - 109e47: 74 20 je 109e69 - 109e49: 6f outs dx,DWORD PTR ds:[esi] - 109e4a: 66 data16 - 109e4b: 20 72 6f and BYTE PTR [edx+0x6f],dh - 109e4e: 6f outs dx,DWORD PTR ds:[esi] - 109e4f: 74 3a je 109e8b - 109e51: 20 0a and BYTE PTR [edx],cl - 109e53: 0a 00 or al,BYTE PTR [eax] - 109e55: 09 5b 44 or DWORD PTR [ebx+0x44],ebx - 109e58: 45 inc ebp - 109e59: 56 push esi - 109e5a: 5d pop ebp - 109e5b: 20 25 73 0a 00 25 and BYTE PTR ds:0x25000a73,ah - 109e61: 23 21 and esp,DWORD PTR [ecx] - 109e63: 20 49 6e and BYTE PTR [ecx+0x6e],cl - 109e66: 76 61 jbe 109ec9 - 109e68: 6c ins BYTE PTR es:[edi],dx - 109e69: 69 64 20 70 61 74 68 imul esp,DWORD PTR [eax+eiz*1+0x70],0x21687461 - 109e70: 21 - 109e71: 0a 00 or al,BYTE PTR [eax] - 109e73: 25 23 21 20 4e and eax,0x4e202123 - 109e78: 6f outs dx,DWORD PTR ds:[esi] - 109e79: 74 20 je 109e9b - 109e7b: 61 popa - 109e7c: 20 64 69 72 and BYTE PTR [ecx+ebp*2+0x72],ah - 109e80: 65 63 74 6f 72 arpl WORD PTR gs:[edi+ebp*2+0x72],si - 109e85: 79 21 jns 109ea8 - 109e87: 0a 00 or al,BYTE PTR [eax] - 109e89: 43 inc ebx - 109e8a: 6f outs dx,DWORD PTR ds:[esi] - 109e8b: 6e outs dx,BYTE PTR ds:[esi] - 109e8c: 74 65 je 109ef3 - 109e8e: 6e outs dx,BYTE PTR ds:[esi] - 109e8f: 74 20 je 109eb1 - 109e91: 6f outs dx,DWORD PTR ds:[esi] - 109e92: 66 data16 - 109e93: 20 64 69 72 and BYTE PTR [ecx+ebp*2+0x72],ah - 109e97: 65 63 74 6f 72 arpl WORD PTR gs:[edi+ebp*2+0x72],si - 109e9c: 79 20 jns 109ebe - 109e9e: 25 23 25 73 3a and eax,0x3a732523 - 109ea3: 0a 0a or cl,BYTE PTR [edx] - 109ea5: 00 09 add BYTE PTR [ecx],cl - 109ea7: 5b pop ebx - 109ea8: 25 73 5d 20 00 and eax,0x205d73 - 109ead: 25 73 00 25 75 and eax,0x75250073 - 109eb2: 20 62 79 and BYTE PTR [edx+0x79],ah - 109eb5: 74 65 je 109f1c - 109eb7: 73 0a jae 109ec3 - 109eb9: 00 25 23 21 20 49 add BYTE PTR ds:0x49202123,ah - 109ebf: 6e outs dx,BYTE PTR ds:[esi] - 109ec0: 76 61 jbe 109f23 - 109ec2: 6c ins BYTE PTR es:[edi],dx - 109ec3: 69 64 20 66 69 6c 65 imul esp,DWORD PTR [eax+eiz*1+0x66],0x3a656c69 - 109eca: 3a - 109ecb: 20 25 73 0a 2e 00 and BYTE PTR ds:0x2e0a73,ah - 109ed1: 2d 2d 2d 2d 5b sub eax,0x5b2d2d2d - 109ed6: 25 73 5d 2d 2d and eax,0x2d2d5d73 - 109edb: 2d 2d 2d 2d 0a sub eax,0xa2d2d2d - 109ee0: 00 25 23 48 65 6c add BYTE PTR ds:0x6c654823,ah - 109ee6: 6c ins BYTE PTR es:[edi],dx - 109ee7: 6f outs dx,DWORD PTR ds:[esi] - 109ee8: 20 77 6f and BYTE PTR [edi+0x6f],dh - 109eeb: 72 6c jb 109f59 - 109eed: 64 21 20 and DWORD PTR fs:[eax],esp - 109ef0: 25 75 20 00 25 and eax,0x25002075 - 109ef5: 23 44 69 64 and eax,DWORD PTR [ecx+ebp*2+0x64] - 109ef9: 20 79 6f and BYTE PTR [ecx+0x6f],bh - 109efc: 75 20 jne 109f1e - 109efe: 6d ins DWORD PTR es:[edi],dx - 109eff: 65 gs - 109f00: 61 popa - 109f01: 6e outs dx,BYTE PTR ds:[esi] - 109f02: 20 25 23 25 73 25 and BYTE PTR ds:0x25732523,ah - 109f08: 23 3f and edi,DWORD PTR [edi] - 109f0a: 0a 00 or al,BYTE PTR [eax] - 109f0c: 41 inc ecx - 109f0d: 76 61 jbe 109f70 - 109f0f: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6f20656c - 109f16: 6f - 109f17: 70 74 jo 109f8d - 109f19: 69 6f 6e 73 3a 0a 00 imul ebp,DWORD PTR [edi+0x6e],0xa3a73 - 109f20: 09 3e or DWORD PTR [esi],edi - 109f22: 25 23 20 25 73 and eax,0x73252023 - 109f27: 0a 00 or al,BYTE PTR [eax] - 109f29: 0a 25 23 5d 20 00 or ah,BYTE PTR ds:0x205d23 - 109f2f: 6f outs dx,DWORD PTR ds:[esi] - 109f30: 73 76 jae 109fa8 - 109f32: 65 gs - 109f33: 72 00 jb 109f35 - 109f35: 74 69 je 109fa0 - 109f37: 6d ins DWORD PTR es:[edi],dx - 109f38: 65 00 63 6c add BYTE PTR gs:[ebx+0x6c],ah - 109f3c: 73 00 jae 109f3e - 109f3e: 68 65 6c 70 00 push 0x706c65 - 109f43: 64 fs - 109f44: 75 6d jne 109fb3 - 109f46: 70 00 jo 109f48 - 109f48: 6d ins DWORD PTR es:[edi],dx - 109f49: 65 gs - 109f4a: 6d ins DWORD PTR es:[edi],dx - 109f4b: 00 63 72 add BYTE PTR [ebx+0x72],ah - 109f4e: 61 popa - 109f4f: 73 68 jae 109fb9 - 109f51: 00 6d 6f add BYTE PTR [ebp+0x6f],ch - 109f54: 75 73 jne 109fc9 - 109f56: 65 00 72 65 add BYTE PTR gs:[edx+0x65],dh - 109f5a: 61 popa - 109f5b: 64 00 72 65 add BYTE PTR fs:[edx+0x65],dh - 109f5f: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f] - 109f62: 74 00 je 109f64 - 109f64: 72 65 jb 109fcb - 109f66: 73 74 jae 109fdc - 109f68: 61 popa - 109f69: 72 74 jb 109fdf - 109f6b: 00 64 69 72 add BYTE PTR [ecx+ebp*2+0x72],ah - 109f6f: 00 63 61 add BYTE PTR [ebx+0x61],ah - 109f72: 74 00 je 109f74 - 109f74: 74 61 je 109fd7 - 109f76: 73 6b jae 109fe3 - 109f78: 00 00 add BYTE PTR [eax],al - 109f7a: 00 00 add BYTE PTR [eax],al - 109f7c: 25 23 25 73 25 and eax,0x25732523 - 109f81: 23 20 and esp,DWORD PTR [eax] - 109f83: 33 32 xor esi,DWORD PTR [edx] - 109f85: 62 69 74 bound ebp,QWORD PTR [ecx+0x74] - 109f88: 20 6f 70 and BYTE PTR [edi+0x70],ch - 109f8b: 65 gs - 109f8c: 72 61 jb 109fef - 109f8e: 74 69 je 109ff9 - 109f90: 6e outs dx,BYTE PTR ds:[esi] - 109f91: 67 20 73 79 and BYTE PTR [bp+di+0x79],dh - 109f95: 73 74 jae 10a00b - 109f97: 65 gs - 109f98: 6d ins DWORD PTR es:[edi],dx - 109f99: 0a 00 or al,BYTE PTR [eax] - 109f9b: 00 25 23 28 63 29 add BYTE PTR ds:0x29632823,ah - 109fa1: 20 43 6f and BYTE PTR [ebx+0x6f],al - 109fa4: 70 79 jo 10a01f - 109fa6: 72 69 jb 10a011 - 109fa8: 67 68 74 20 25 23 addr16 push 0x23252074 - 109fae: 43 inc ebx - 109faf: 54 push esp - 109fb0: 41 inc ecx - 109fb1: 20 53 79 and BYTE PTR [ebx+0x79],dl - 109fb4: 73 74 jae 10a02a - 109fb6: 65 gs - 109fb7: 6d ins DWORD PTR es:[edi],dx - 109fb8: 73 20 jae 109fda - 109fba: 49 dec ecx - 109fbb: 6e outs dx,BYTE PTR ds:[esi] - 109fbc: 63 2e arpl WORD PTR [esi],bp - 109fbe: 0a 00 or al,BYTE PTR [eax] - 109fc0: 25 23 21 20 48 and eax,0x48202123 - 109fc5: 65 gs - 109fc6: 6c ins BYTE PTR es:[edi],dx - 109fc7: 70 20 jo 109fe9 - 109fc9: 66 6f outs dx,WORD PTR ds:[esi] - 109fcb: 72 20 jb 109fed - 109fcd: 25 73 20 63 6f and eax,0x6f632073 - 109fd2: 6d ins DWORD PTR es:[edi],dx - 109fd3: 6d ins DWORD PTR es:[edi],dx - 109fd4: 61 popa - 109fd5: 6e outs dx,BYTE PTR ds:[esi] - 109fd6: 64 20 69 73 and BYTE PTR fs:[ecx+0x73],ch - 109fda: 20 6e 6f and BYTE PTR [esi+0x6f],ch - 109fdd: 74 20 je 109fff - 109fdf: 69 6d 70 6c 65 6d 65 imul ebp,DWORD PTR [ebp+0x70],0x656d656c - 109fe6: 6e outs dx,BYTE PTR ds:[esi] - 109fe7: 74 65 je 10a04e - 109fe9: 64 20 79 65 and BYTE PTR fs:[ecx+0x65],bh - 109fed: 74 2e je 10a01d - 109fef: 0a 00 or al,BYTE PTR [eax] - 109ff1: 00 00 add BYTE PTR [eax],al - 109ff3: 00 25 23 21 20 43 add BYTE PTR ds:0x43202123,ah - 109ff9: 6f outs dx,DWORD PTR ds:[esi] - 109ffa: 72 72 jb 10a06e - 109ffc: 65 63 74 20 73 arpl WORD PTR gs:[eax+eiz*1+0x73],si - 10a001: 79 6e jns 10a071 - 10a003: 74 61 je 10a066 - 10a005: 78 3a js 10a041 - 10a007: 20 20 and BYTE PTR [eax],ah - 10a009: 25 23 64 75 6d and eax,0x6d756423 - 10a00e: 70 20 jo 10a030 - 10a010: 25 23 5b 73 74 and eax,0x74735b23 - 10a015: 61 popa - 10a016: 72 74 jb 10a08c - 10a018: 5f pop edi - 10a019: 61 popa - 10a01a: 64 fs - 10a01b: 64 fs - 10a01c: 72 65 jb 10a083 - 10a01e: 73 73 jae 10a093 - 10a020: 5d pop ebp - 10a021: 20 5b 65 and BYTE PTR [ebx+0x65],bl - 10a024: 6e outs dx,BYTE PTR ds:[esi] - 10a025: 64 fs - 10a026: 5f pop edi - 10a027: 61 popa - 10a028: 64 fs - 10a029: 64 fs - 10a02a: 72 65 jb 10a091 - 10a02c: 73 73 jae 10a0a1 - 10a02e: 5d pop ebp - 10a02f: 0a 00 or al,BYTE PTR [eax] - 10a031: 00 00 add BYTE PTR [eax],al - 10a033: 00 25 23 53 74 61 add BYTE PTR ds:0x61745323,ah - 10a039: 72 74 jb 10a0af - 10a03b: 20 25 23 61 6e 64 and BYTE PTR ds:0x646e6123,ah - 10a041: 20 25 23 65 6e 64 and BYTE PTR ds:0x646e6523,ah - 10a047: 20 25 23 61 64 64 and BYTE PTR ds:0x64646123,ah - 10a04d: 72 65 jb 10a0b4 - 10a04f: 73 73 jae 10a0c4 - 10a051: 65 gs - 10a052: 73 20 jae 10a074 - 10a054: 61 popa - 10a055: 72 65 jb 10a0bc - 10a057: 20 69 6e and BYTE PTR [ecx+0x6e],ch - 10a05a: 20 68 65 and BYTE PTR [eax+0x65],ch - 10a05d: 78 2e js 10a08d - 10a05f: 0a 00 or al,BYTE PTR [eax] - 10a061: 00 00 add BYTE PTR [eax],al - 10a063: 00 0a add BYTE PTR [edx],cl - 10a065: 0d 25 23 50 72 or eax,0x72502325 - 10a06a: 65 gs - 10a06b: 73 73 jae 10a0e0 - 10a06d: 20 25 23 61 6e 79 and BYTE PTR ds:0x796e6123,ah - 10a073: 20 6b 65 and BYTE PTR [ebx+0x65],ch - 10a076: 79 20 jns 10a098 - 10a078: 25 23 74 6f 20 and eax,0x206f7423 - 10a07d: 63 6f 6e arpl WORD PTR [edi+0x6e],bp - 10a080: 74 69 je 10a0eb - 10a082: 6e outs dx,BYTE PTR ds:[esi] - 10a083: 75 65 jne 10a0ea - 10a085: 20 73 63 and BYTE PTR [ebx+0x63],dh - 10a088: 72 6f jb 10a0f9 - 10a08a: 6c ins BYTE PTR es:[edi],dx - 10a08b: 6c ins BYTE PTR es:[edi],dx - 10a08c: 69 6e 67 2c 20 25 23 imul ebp,DWORD PTR [esi+0x67],0x2325202c - 10a093: 45 inc ebp - 10a094: 73 63 jae 10a0f9 - 10a096: 20 25 23 74 6f 20 and BYTE PTR ds:0x206f7423,ah - 10a09c: 65 gs - 10a09d: 78 69 js 10a108 - 10a09f: 74 2e je 10a0cf - 10a0a1: 00 00 add BYTE PTR [eax],al - 10a0a3: 00 46 72 add BYTE PTR [esi+0x72],al - 10a0a6: 65 65 20 73 70 gs and BYTE PTR gs:[ebx+0x70],dh - 10a0ab: 61 popa - 10a0ac: 63 65 3a arpl WORD PTR [ebp+0x3a],sp - 10a0af: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah - 10a0b5: 62 20 bound esp,QWORD PTR [eax] - 10a0b7: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah - 10a0bd: 61 popa - 10a0be: 6d ins DWORD PTR es:[edi],dx - 10a0bf: 65 gs - 10a0c0: 73 29 jae 10a0eb - 10a0c2: 0a 00 or al,BYTE PTR [eax] - 10a0c4: 55 push ebp - 10a0c5: 73 65 jae 10a12c - 10a0c7: 64 20 73 70 and BYTE PTR fs:[ebx+0x70],dh - 10a0cb: 61 popa - 10a0cc: 63 65 3a arpl WORD PTR [ebp+0x3a],sp - 10a0cf: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah - 10a0d5: 62 20 bound esp,QWORD PTR [eax] - 10a0d7: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah - 10a0dd: 61 popa - 10a0de: 6d ins DWORD PTR es:[edi],dx - 10a0df: 65 gs - 10a0e0: 73 29 jae 10a10b - 10a0e2: 0a 0a or cl,BYTE PTR [edx] - 10a0e4: 00 00 add BYTE PTR [eax],al - 10a0e6: 00 00 add BYTE PTR [eax],al - 10a0e8: 54 push esp - 10a0e9: 6f outs dx,DWORD PTR ds:[esi] - 10a0ea: 74 61 je 10a14d - 10a0ec: 6c ins BYTE PTR es:[edi],dx - 10a0ed: 20 73 70 and BYTE PTR [ebx+0x70],dh - 10a0f0: 61 popa - 10a0f1: 63 65 3a arpl WORD PTR [ebp+0x3a],sp - 10a0f4: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah - 10a0fa: 62 20 bound esp,QWORD PTR [eax] - 10a0fc: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah - 10a102: 61 popa - 10a103: 6d ins DWORD PTR es:[edi],dx - 10a104: 65 gs - 10a105: 73 29 jae 10a130 - 10a107: 0a 00 or al,BYTE PTR [eax] - 10a109: 00 00 add BYTE PTR [eax],al - 10a10b: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah - 10a111: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69 - 10a118: 70 61 jo 10a17b - 10a11a: 72 61 jb 10a17d - 10a11c: 6d ins DWORD PTR es:[edi],dx - 10a11d: 65 gs - 10a11e: 74 65 je 10a185 - 10a120: 72 3a jb 10a15c - 10a122: 20 61 64 and BYTE PTR [ecx+0x64],ah - 10a125: 64 fs - 10a126: 72 65 jb 10a18d - 10a128: 73 73 jae 10a19d - 10a12a: 20 74 6f 20 and BYTE PTR [edi+ebp*2+0x20],dh - 10a12e: 66 data16 - 10a12f: 72 65 jb 10a196 - 10a131: 65 2e 00 25 23 21 20 gs add BYTE PTR cs:gs:0x49202123,ah - 10a138: 49 - 10a139: 6e outs dx,BYTE PTR ds:[esi] - 10a13a: 76 61 jbe 10a19d - 10a13c: 6c ins BYTE PTR es:[edi],dx - 10a13d: 69 64 20 63 6f 6d 6d imul esp,DWORD PTR [eax+eiz*1+0x63],0x616d6d6f - 10a144: 61 - 10a145: 6e outs dx,BYTE PTR ds:[esi] - 10a146: 64 2e 20 41 76 fs and BYTE PTR cs:fs:[ecx+0x76],al - 10a14b: 61 popa - 10a14c: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6320656c - 10a153: 63 - 10a154: 6f outs dx,DWORD PTR ds:[esi] - 10a155: 6d ins DWORD PTR es:[edi],dx - 10a156: 6d ins DWORD PTR es:[edi],dx - 10a157: 61 popa - 10a158: 6e outs dx,BYTE PTR ds:[esi] - 10a159: 64 fs - 10a15a: 73 20 jae 10a17c - 10a15c: 61 popa - 10a15d: 72 65 jb 10a1c4 - 10a15f: 3a 20 cmp ah,BYTE PTR [eax] - 10a161: 61 popa - 10a162: 6c ins BYTE PTR es:[edi],dx - 10a163: 6c ins BYTE PTR es:[edi],dx - 10a164: 6f outs dx,DWORD PTR ds:[esi] - 10a165: 63 2c 20 arpl WORD PTR [eax+eiz*1],bp - 10a168: 66 data16 - 10a169: 72 65 jb 10a1d0 - 10a16b: 65 2e 00 00 gs add BYTE PTR cs:gs:[eax],al - 10a16f: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah - 10a175: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69 - 10a17c: 70 61 jo 10a1df - 10a17e: 72 61 jb 10a1e1 - 10a180: 6d ins DWORD PTR es:[edi],dx - 10a181: 65 gs - 10a182: 74 65 je 10a1e9 - 10a184: 72 20 jb 10a1a6 - 10a186: 2d 20 73 65 63 sub eax,0x63657320 - 10a18b: 74 6f je 10a1fc - 10a18d: 72 21 jb 10a1b0 - 10a18f: 0a 00 or al,BYTE PTR [eax] - 10a191: 00 00 add BYTE PTR [eax],al - 10a193: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah - 10a199: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69 - 10a1a0: 70 61 jo 10a203 - 10a1a2: 72 61 jb 10a205 - 10a1a4: 6d ins DWORD PTR es:[edi],dx - 10a1a5: 65 gs - 10a1a6: 74 65 je 10a20d - 10a1a8: 72 20 jb 10a1ca - 10a1aa: 2d 20 63 6f 6d sub eax,0x6d6f6320 - 10a1af: 70 6c jo 10a21d - 10a1b1: 65 gs - 10a1b2: 74 65 je 10a219 - 10a1b4: 20 66 69 and BYTE PTR [esi+0x69],ah - 10a1b7: 6c ins BYTE PTR es:[edi],dx - 10a1b8: 65 20 70 61 and BYTE PTR gs:[eax+0x61],dh - 10a1bc: 74 68 je 10a226 - 10a1be: 2e 0a 00 or al,BYTE PTR cs:[eax] - 10a1c1: 00 00 add BYTE PTR [eax],al - 10a1c3: 00 0a add BYTE PTR [edx],cl - 10a1c5: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d - 10a1ca: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d - 10a1cf: 2d 2d 5b 45 4f sub eax,0x4f455b2d - 10a1d4: 46 inc esi - 10a1d5: 5d pop ebp - 10a1d6: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d - 10a1db: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d - 10a1e0: 2d 2d 0a 00 25 sub eax,0x25000a2d - 10a1e5: 23 21 and esp,DWORD PTR [ecx] - 10a1e7: 20 43 6f and BYTE PTR [ebx+0x6f],al - 10a1ea: 6d ins DWORD PTR es:[edi],dx - 10a1eb: 6d ins DWORD PTR es:[edi],dx - 10a1ec: 61 popa - 10a1ed: 6e outs dx,BYTE PTR ds:[esi] - 10a1ee: 64 20 25 23 25 73 25 and BYTE PTR fs:0x25732523,ah - 10a1f5: 23 20 and esp,DWORD PTR [eax] - 10a1f7: 64 6f outs dx,DWORD PTR fs:[esi] - 10a1f9: 65 gs - 10a1fa: 73 20 jae 10a21c - 10a1fc: 6e outs dx,BYTE PTR ds:[esi] - 10a1fd: 6f outs dx,DWORD PTR ds:[esi] - 10a1fe: 74 20 je 10a220 - 10a200: 65 gs - 10a201: 78 69 js 10a26c - 10a203: 73 74 jae 10a279 - 10a205: 21 0a and DWORD PTR [edx],ecx - 10a207: 00 25 23 21 20 59 add BYTE PTR ds:0x59202123,ah - 10a20d: 6f outs dx,DWORD PTR ds:[esi] - 10a20e: 75 20 jne 10a230 - 10a210: 6d ins DWORD PTR es:[edi],dx - 10a211: 75 73 jne 10a286 - 10a213: 74 20 je 10a235 - 10a215: 65 6e outs dx,BYTE PTR gs:[esi] - 10a217: 74 65 je 10a27e - 10a219: 72 20 jb 10a23b - 10a21b: 61 popa - 10a21c: 20 63 6f and BYTE PTR [ebx+0x6f],ah - 10a21f: 6d ins DWORD PTR es:[edi],dx - 10a220: 6d ins DWORD PTR es:[edi],dx - 10a221: 61 popa - 10a222: 6e outs dx,BYTE PTR ds:[esi] - 10a223: 64 21 0a and DWORD PTR fs:[edx],ecx - 10a226: 00 00 add BYTE PTR [eax],al - 10a228: 25 23 21 20 43 and eax,0x43202123 - 10a22d: 6f outs dx,DWORD PTR ds:[esi] - 10a22e: 6d ins DWORD PTR es:[edi],dx - 10a22f: 6d ins DWORD PTR es:[edi],dx - 10a230: 61 popa - 10a231: 6e outs dx,BYTE PTR ds:[esi] - 10a232: 64 20 25 23 25 73 25 and BYTE PTR fs:0x25732523,ah - 10a239: 23 20 and esp,DWORD PTR [eax] - 10a23b: 77 61 ja 10a29e - 10a23d: 73 20 jae 10a25f - 10a23f: 6e outs dx,BYTE PTR ds:[esi] - 10a240: 6f outs dx,DWORD PTR ds:[esi] - 10a241: 74 20 je 10a263 - 10a243: 69 6d 70 6c 65 6d 65 imul ebp,DWORD PTR [ebp+0x70],0x656d656c - 10a24a: 6e outs dx,BYTE PTR ds:[esi] - 10a24b: 74 65 je 10a2b2 - 10a24d: 64 20 28 and BYTE PTR fs:[eax],ch - 10a250: 79 65 jns 10a2b7 - 10a252: 74 29 je 10a27d - 10a254: 21 0a and DWORD PTR [edx],ecx - ... - 10a25e: 00 00 add BYTE PTR [eax],al - 10a260: 54 push esp - 10a261: 9e sahf - 10a262: 10 00 adc BYTE PTR [eax],al - 10a264: e3 9c jecxz 10a202 - 10a266: 10 00 adc BYTE PTR [eax],al - 10a268: eb 9c jmp 10a206 - 10a26a: 10 00 adc BYTE PTR [eax],al - 10a26c: f4 hlt - 10a26d: 9c pushf - 10a26e: 10 00 adc BYTE PTR [eax],al - 10a270: fa cli - 10a271: 9c pushf - 10a272: 10 00 adc BYTE PTR [eax],al - 10a274: 00 9d 10 00 04 9d add BYTE PTR [ebp-0x62fbfff0],bl - 10a27a: 10 00 adc BYTE PTR [eax],al - 10a27c: 09 9d 10 00 0e 9d or DWORD PTR [ebp-0x62f1fff0],ebx - 10a282: 10 00 adc BYTE PTR [eax],al - 10a284: 15 9d 10 00 1f adc eax,0x1f00109d - 10a289: 9d popf - 10a28a: 10 00 adc BYTE PTR [eax],al - 10a28c: 27 daa - 10a28d: 9d popf - 10a28e: 10 00 adc BYTE PTR [eax],al - 10a290: 30 9d 10 00 00 00 xor BYTE PTR [ebp+0x10],bl - ... - 10a29e: 00 00 add BYTE PTR [eax],al - 10a2a0: 54 push esp - 10a2a1: 9e sahf - 10a2a2: 10 00 adc BYTE PTR [eax],al - 10a2a4: 39 9d 10 00 40 9d cmp DWORD PTR [ebp-0x62bffff0],ebx - 10a2aa: 10 00 adc BYTE PTR [eax],al - 10a2ac: 48 dec eax - 10a2ad: 9d popf - 10a2ae: 10 00 adc BYTE PTR [eax],al - 10a2b0: 52 push edx - 10a2b1: 9d popf - 10a2b2: 10 00 adc BYTE PTR [eax],al - 10a2b4: 5b pop ebx - 10a2b5: 9d popf - 10a2b6: 10 00 adc BYTE PTR [eax],al - 10a2b8: 62 9d 10 00 6b 9d bound ebx,QWORD PTR [ebp-0x6294fff0] - 10a2be: 10 00 adc BYTE PTR [eax],al - 10a2c0: 40 inc eax - 10a2c1: 41 inc ecx - 10a2c2: 10 00 adc BYTE PTR [eax],al - 10a2c4: 56 push esi - 10a2c5: 41 inc ecx - 10a2c6: 10 00 adc BYTE PTR [eax],al - 10a2c8: 60 pusha - 10a2c9: 41 inc ecx - 10a2ca: 10 00 adc BYTE PTR [eax],al - 10a2cc: 6a 41 push 0x41 - 10a2ce: 10 00 adc BYTE PTR [eax],al - 10a2d0: 74 41 je 10a313 - 10a2d2: 10 00 adc BYTE PTR [eax],al - 10a2d4: 85 41 10 test DWORD PTR [ecx+0x10],eax - 10a2d7: 00 96 41 10 00 a7 add BYTE PTR [esi-0x58ffefbf],dl - 10a2dd: 41 inc ecx - 10a2de: 10 00 adc BYTE PTR [eax],al - 10a2e0: b1 41 mov cl,0x41 - 10a2e2: 10 00 adc BYTE PTR [eax],al - 10a2e4: bb 41 10 00 cc mov ebx,0xcc001041 - 10a2e9: 41 inc ecx - 10a2ea: 10 00 adc BYTE PTR [eax],al - 10a2ec: cc int3 - 10a2ed: 41 inc ecx - 10a2ee: 10 00 adc BYTE PTR [eax],al - 10a2f0: d6 (bad) - 10a2f1: 41 inc ecx - 10a2f2: 10 00 adc BYTE PTR [eax],al - 10a2f4: e7 41 out 0x41,eax - 10a2f6: 10 00 adc BYTE PTR [eax],al - 10a2f8: f5 cmc - 10a2f9: 41 inc ecx - 10a2fa: 10 00 adc BYTE PTR [eax],al - 10a2fc: 30 31 xor BYTE PTR [ecx],dh - 10a2fe: 32 33 xor dh,BYTE PTR [ebx] - 10a300: 34 35 xor al,0x35 - 10a302: 36 ss - 10a303: 37 aaa - 10a304: 38 39 cmp BYTE PTR [ecx],bh - 10a306: 61 popa - 10a307: 62 63 64 bound esp,QWORD PTR [ebx+0x64] - 10a30a: 65 gs - 10a30b: 66 67 68 69 6a addr16 pushw 0x6a69 - 10a310: 6b 6c 6d 6e 6f imul ebp,DWORD PTR [ebp+ebp*2+0x6e],0x6f - 10a315: 70 71 jo 10a388 <_Numbers+0x64> - 10a317: 72 73 jb 10a38c <_Numbers+0x68> - 10a319: 74 75 je 10a390 <_Numbers+0x6c> - 10a31b: 76 77 jbe 10a394 <_Numbers+0x70> - 10a31d: 78 79 js 10a398 <_Numbers+0x74> - 10a31f: 7a 00 jp 10a321 - 10a321: 00 00 add BYTE PTR [eax],al - ... - -0010a324 <_Numbers>: - 10a324: fc a2 10 00 25 23 25 73 20 28 49 4e 54 25 75 29 ....%#%s (INT%u) - 10a334: 00 25 23 49 4e 54 25 75 00 65 61 78 3d 30 78 25 .%#INT%u.eax=0x% - 10a344: 78 00 65 62 78 3d 30 78 25 78 00 65 63 78 3d 30 x.ebx=0x%x.ecx=0 - 10a354: 78 25 78 00 65 64 78 3d 30 78 25 78 0a 00 65 64 x%x.edx=0x%x..ed - 10a364: 69 3d 30 78 25 78 00 65 73 69 3d 30 78 25 78 00 i=0x%x.esi=0x%x. - 10a374: 65 62 70 3d 30 78 25 78 00 66 73 3d 30 78 25 78 ebp=0x%x.fs=0x%x - 10a384: 00 65 73 3d 30 78 25 78 00 64 73 3d 30 78 25 78 .es=0x%x.ds=0x%x - 10a394: 0a 00 65 69 70 3d 30 78 25 78 00 63 73 3d 30 78 ..eip=0x%x.cs=0x - 10a3a4: 25 78 00 65 66 6c 61 67 73 3d 30 78 25 78 00 75 %x.eflags=0x%x.u - 10a3b4: 73 65 72 65 73 70 3d 30 78 25 78 0a 00 73 73 3d seresp=0x%x..ss= - 10a3c4: 30 78 25 78 00 69 6e 74 5f 6e 6f 3d 30 78 25 78 0x%x.int_no=0x%x - 10a3d4: 00 65 72 72 5f 63 6f 64 65 3d 30 78 25 78 00 61 .err_code=0x%x.a - 10a3e4: 64 64 72 65 73 73 3d 30 78 25 78 0a 00 72 65 61 ddress=0x%x..rea - 10a3f4: 73 6f 6e 3a 20 00 25 23 50 41 47 45 5f 4e 4f 54 son: .%#PAGE_NOT - 10a404: 5f 50 52 45 53 45 4e 54 3b 20 00 25 23 57 52 49 _PRESENT; .%#WRI - 10a414: 54 45 5f 4f 50 45 52 41 54 49 4f 4e 3b 20 00 25 TE_OPERATION; .% - 10a424: 23 43 50 55 5f 49 4e 5f 55 53 45 52 5f 4d 4f 44 #CPU_IN_USER_MOD - 10a434: 45 3b 20 00 25 23 49 4e 53 54 52 55 43 54 49 4f E; .%#INSTRUCTIO - 10a444: 4e 5f 46 45 54 43 48 3b 20 00 44 69 76 69 73 69 N_FETCH; .Divisi - 10a454: 6f 6e 20 62 79 20 7a 65 72 6f 00 44 65 62 75 67 on by zero.Debug - 10a464: 67 65 72 00 4e 6f 6e 20 6d 61 73 6b 61 62 6c 65 ger.Non maskable - 10a474: 20 69 6e 74 65 72 72 75 70 74 00 42 72 65 61 6b interrupt.Break - 10a484: 70 6f 69 6e 74 00 4f 76 65 72 66 6c 6f 77 00 42 point.Overflow.B - 10a494: 6f 75 6e 64 73 00 49 6e 76 61 6c 69 64 20 6f 70 ounds.Invalid op - 10a4a4: 63 6f 64 65 00 43 6f 70 72 6f 63 65 73 73 6f 72 code.Coprocessor - 10a4b4: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 00 44 not available.D - 10a4c4: 6f 75 62 6c 65 20 66 61 75 6c 74 00 43 6f 70 72 ouble fault.Copr - 10a4d4: 6f 63 65 73 73 6f 72 20 73 65 67 6d 65 6e 74 20 ocessor segment - 10a4e4: 6f 76 65 72 72 75 6e 00 49 6e 76 61 6c 69 64 20 overrun.Invalid - 10a4f4: 74 61 73 6b 20 73 74 61 74 65 20 73 65 67 6d 65 task state segme - 10a504: 6e 74 00 53 65 67 6d 65 6e 74 20 6e 6f 74 20 70 nt.Segment not p - 10a514: 72 65 73 65 6e 74 00 53 74 61 63 6b 20 66 61 75 resent.Stack fau - 10a524: 6c 74 00 47 65 6e 65 72 61 6c 20 70 72 6f 74 65 lt.General prote - 10a534: 63 74 69 6f 6e 20 66 61 75 6c 74 00 50 61 67 65 ction fault.Page - 10a544: 20 66 61 75 6c 74 00 4d 61 74 68 20 66 61 75 6c fault.Math faul - 10a554: 74 00 41 6c 69 67 6e 6d 65 6e 74 20 63 68 65 63 t.Alignment chec - 10a564: 6b 00 4d 61 63 68 69 6e 65 20 63 68 65 63 6b 00 k.Machine check. - 10a574: 53 49 4d 44 20 66 6c 6f 61 74 69 6e 67 2d 70 6f SIMD floating-po - 10a584: 69 6e 74 20 65 78 63 65 70 74 69 6f 6e 00 00 00 int exception... - 10a594: 25 23 09 09 09 09 53 6f 6d 65 74 68 69 6e 67 20 %#....Something - 10a5a4: 77 65 6e 74 20 74 65 72 72 69 62 6c 79 20 77 72 went terribly wr - 10a5b4: 6f 6e 67 20 3a 28 0a 0a 00 00 00 00 54 68 65 72 ong :(......Ther - 10a5c4: 65 20 77 61 73 20 61 6e 20 75 6e 68 61 6e 64 6c e was an unhandl - 10a5d4: 65 64 20 65 78 63 65 70 74 69 6f 6e 3a 20 00 00 ed exception: .. - 10a5e4: 0a 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 .To protect your - 10a5f4: 20 63 6f 6d 70 75 74 65 72 2c 20 69 74 20 68 61 computer, it ha - 10a604: 64 20 74 6f 20 62 65 20 68 61 6c 74 65 64 2e 0a d to be halted.. - 10a614: 0a 00 00 00 48 65 72 65 2c 20 74 68 69 73 20 6d ....Here, this m - 10a624: 69 67 68 74 20 68 65 6c 70 20 66 69 6e 64 20 74 ight help find t - 10a634: 68 65 20 70 72 6f 62 6c 65 6d 3a 0a 00 00 00 00 he problem:..... - 10a644: 25 23 43 50 55 5f 52 45 53 45 52 56 45 44 5f 50 %#CPU_RESERVED_P - 10a654: 41 47 45 5f 45 4e 54 52 59 5f 4f 56 45 52 57 52 AGE_ENTRY_OVERWR - 10a664: 49 54 54 45 4e 3b 20 00 46 4a 10 00 77 4a 10 00 ITTEN; .FJ..wJ.. - 10a674: 4d 4a 10 00 54 4a 10 00 5b 4a 10 00 62 4a 10 00 MJ..TJ..[J..bJ.. - 10a684: 69 4a 10 00 70 4a 10 00 a1 4a 10 00 d2 4a 10 00 iJ..pJ...J...J.. - 10a694: a8 4a 10 00 af 4a 10 00 b6 4a 10 00 bd 4a 10 00 .J...J...J...J.. - 10a6a4: c4 4a 10 00 cb 4a 10 00 21 4b 10 00 f8 4a 10 00 .J...J..!K...J.. - 10a6b4: 1b 4b 10 00 ff 4a 10 00 21 4b 10 00 06 4b 10 00 .K...J..!K...K.. - 10a6c4: 0d 4b 10 00 14 4b 10 00 52 65 61 64 20 52 54 43 .K...K..Read RTC - 10a6d4: 20 74 69 6d 65 3a 20 25 23 25 75 2f 25 75 2f 25 time: %#%u/%u/% - 10a6e4: 75 20 25 75 3a 25 75 3a 25 75 2e 25 75 0a 00 00 u %u:%u:%u.%u... - 10a6f4: 46 6c 6f 70 70 79 20 64 72 69 76 65 72 20 69 73 Floppy driver is - 10a704: 20 63 75 72 72 65 6e 74 6c 79 20 64 69 73 61 62 currently disab - 10a714: 6c 65 64 2e 0a 00 44 72 69 76 65 72 73 00 46 6c led...Drivers.Fl - 10a724: 6f 70 70 79 00 49 72 71 20 74 69 6d 65 6f 75 74 oppy.Irq timeout - 10a734: 20 5b 25 75 6d 73 5d 20 21 0a 00 57 61 69 74 69 [%ums] !..Waiti - 10a744: 6e 67 20 66 6f 72 20 6d 6f 74 6f 72 2e 2e 2e 0a ng for motor.... - 10a754: 00 52 65 63 61 6c 69 62 72 61 74 69 6e 67 3a 20 .Recalibrating: - 10a764: 61 74 74 65 6d 70 74 20 25 75 2f 31 30 0a 00 52 attempt %u/10..R - 10a774: 65 73 65 74 74 69 6e 67 2e 2e 2e 0a 00 66 64 30 esetting.....fd0 - 10a784: 00 66 64 31 00 53 65 65 6b 69 6e 67 3a 20 61 74 .fd1.Seeking: at - 10a794: 74 65 6d 70 74 20 25 75 2f 31 30 0a 00 6e 6f 6e tempt %u/10..non - 10a7a4: 65 00 35 2e 32 35 22 20 33 36 30 6b 00 35 2e 32 e.5.25" 360k.5.2 - 10a7b4: 35 22 20 31 2e 32 4d 00 33 2e 35 22 20 37 32 30 5" 1.2M.3.5" 720 - 10a7c4: 6b 00 33 2e 35 22 20 31 2e 34 34 4d 00 33 2e 35 k.3.5" 1.44M.3.5 - 10a7d4: 22 20 32 2e 38 38 4d 20 41 4d 49 20 42 49 4f 53 " 2.88M AMI BIOS - 10a7e4: 00 33 2e 35 22 20 32 2e 38 38 4d 00 4e 6f 20 73 .3.5" 2.88M.No s - 10a7f4: 75 70 70 6f 72 74 65 64 20 66 6c 6f 70 70 79 20 upported floppy - 10a804: 64 72 69 76 65 73 20 66 6f 75 6e 64 2e 00 00 00 drives found.... - 10a814: 44 65 74 65 63 74 65 64 20 66 6c 6f 70 70 79 20 Detected floppy - 10a824: 64 72 69 76 65 73 3a 20 25 23 66 64 30 3d 25 23 drives: %#fd0=%# - 10a834: 25 73 20 25 23 66 64 31 3d 25 23 25 73 0a 00 00 %s %#fd1=%#%s... - 10a844: 52 65 61 64 2f 77 72 69 74 65 20 6f 70 65 72 61 Read/write opera - 10a854: 74 69 6f 6e 3a 20 61 74 74 65 6d 70 74 20 25 75 tion: attempt %u - 10a864: 2f 31 30 0a 00 00 00 00 45 72 72 6f 72 3a 20 64 /10.....Error: d - 10a874: 69 73 6b 20 69 73 20 77 72 69 74 65 20 70 72 6f isk is write pro - 10a884: 74 65 63 74 65 64 21 0a 00 00 00 00 43 6f 6e 76 tected!.....Conv - 10a894: 65 72 74 65 64 20 4c 42 41 3d 25 75 20 74 6f 20 erted LBA=%u to - 10a8a4: 43 79 6c 3d 25 75 20 48 65 61 64 3d 25 75 20 53 Cyl=%u Head=%u S - 10a8b4: 65 63 74 3d 25 75 0a 00 49 6e 73 74 61 6c 6c 65 ect=%u..Installe - 10a8c4: 64 20 47 44 54 0a 00 48 41 4c 00 49 6e 73 74 61 d GDT..HAL.Insta - 10a8d4: 6c 6c 65 64 20 49 44 54 0a 00 49 6e 73 74 61 6c lled IDT..Instal - 10a8e4: 6c 65 64 20 49 53 52 73 0a 00 49 6e 73 74 61 6c led ISRs..Instal - 10a8f4: 6c 65 64 20 49 52 51 73 0a 00 25 23 49 6e 74 65 led IRQs..%#Inte - 10a904: 72 72 75 70 74 73 20 61 72 65 20 73 74 61 72 74 rrupts are start - 10a914: 65 64 2e 2e 2e 0a 00 25 23 5b 32 2f 32 5d 0a 00 ed.....%#[2/2].. - 10a924: 49 6e 73 74 61 6c 6c 69 6e 67 20 6b 65 79 62 6f Installing keybo - 10a934: 61 72 64 2e 2e 2e 20 25 23 5b 31 2f 32 5d 20 00 ard... %#[1/2] . - 10a944: 4e 6f 20 62 6f 6f 74 20 6d 6f 64 75 6c 65 73 20 No boot modules - 10a954: 66 6f 75 6e 64 21 00 49 6e 69 74 72 64 00 46 6f found!.Initrd.Fo - 10a964: 75 6e 64 20 69 6e 69 74 72 64 20 69 6d 61 67 65 und initrd image - 10a974: 20 61 74 20 30 78 25 78 2e 0a 00 69 6e 69 74 72 at 0x%x...initr - 10a984: 64 00 00 00 46 6f 75 6e 64 20 6d 6f 64 75 6c 65 d...Found module - 10a994: 20 40 20 30 78 25 78 2c 20 62 75 74 20 6e 6f 74 @ 0x%x, but not - 10a9a4: 20 69 6e 69 74 72 64 20 69 6d 61 67 65 2e 0a 00 initrd image... - ... - 10a9c0: 9b 70 10 00 14 70 10 00 fb 70 10 00 9d 70 10 00 .p...p...p...p.. - 10a9d0: 1b 70 10 00 1f 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10a9e0: 23 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 #p...p...p...p.. - 10a9f0: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aa00: 27 70 10 00 2b 70 10 00 9d 70 10 00 2f 70 10 00 'p..+p...p../p.. - 10aa10: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aa20: 33 70 10 00 9d 70 10 00 9d 70 10 00 37 70 10 00 3p...p...p..7p.. - 10aa30: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aa40: 3b 70 10 00 9d 70 10 00 3f 70 10 00 9d 70 10 00 ;p...p..?p...p.. - 10aa50: 43 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 Cp...p...p...p.. - 10aa60: 47 70 10 00 9d 70 10 00 4b 70 10 00 4f 70 10 00 Gp...p..Kp..Op.. - 10aa70: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aa80: 53 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 Sp...p...p...p.. - 10aa90: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aaa0: 57 70 10 00 9d 70 10 00 5b 70 10 00 9d 70 10 00 Wp...p..[p...p.. - 10aab0: 9d 70 10 00 5f 70 10 00 9d 70 10 00 9d 70 10 00 .p.._p...p...p.. - 10aac0: 63 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 cp...p...p...p.. - 10aad0: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10aae0: 9d 70 10 00 9d 70 10 00 67 70 10 00 9d 70 10 00 .p...p..gp...p.. - 10aaf0: 9d 70 10 00 9d 70 10 00 6b 70 10 00 9d 70 10 00 .p...p..kp...p.. - 10ab00: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10ab10: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10ab20: 9d 70 10 00 6f 70 10 00 9d 70 10 00 73 70 10 00 .p..op...p..sp.. - 10ab30: 77 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 wp...p...p...p.. - 10ab40: 7b 70 10 00 7f 70 10 00 83 70 10 00 9d 70 10 00 {p...p...p...p.. - 10ab50: 87 70 10 00 8b 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p.. - 10ab60: 9d 70 10 00 9d 70 10 00 8f 70 10 00 9d 70 10 00 .p...p...p...p.. - 10ab70: 93 70 10 00 97 70 10 00 00 00 00 00 00 00 00 00 .p...p.......... - -0010ab80 : - ... - 10ab8c: 00 09 7e 00 00 00 00 00 00 51 21 00 00 00 5a 53 ..~......Q!...ZS - 10ab9c: 41 57 40 00 00 43 58 44 45 24 23 00 00 20 56 46 AW@..CXDE$#.. VF - 10abac: 54 52 25 00 00 4e 42 48 47 59 5e 00 00 00 4d 4a TR%..NBHGY^...MJ - 10abbc: 55 26 2a 00 00 3c 4b 49 4f 29 28 00 00 3e 3f 4c U&*..?L - 10abcc: 3a 50 5f 00 00 00 22 00 7b 2b 00 00 00 00 0a 7d :P_...".{+.....} - 10abdc: 00 7c 00 00 00 00 00 00 00 00 08 00 00 31 2f 34 .|...........1/4 - 10abec: 37 0a 00 00 30 2e 32 35 36 38 00 00 00 2b 33 2d 7...0.2568...+3- - 10abfc: 2a 39 00 00 *9.. - -0010ac00 : - ... - 10ac0c: 00 09 60 00 00 00 00 00 00 71 31 00 00 00 7a 73 ..`......q1...zs - 10ac1c: 61 77 32 00 00 63 78 64 65 34 33 00 00 20 76 66 aw2..cxde43.. vf - 10ac2c: 74 72 35 00 00 6e 62 68 67 79 36 00 00 00 6d 6a tr5..nbhgy6...mj - 10ac3c: 75 37 38 00 00 2c 6b 69 6f 30 39 00 00 2e 2f 6c u78..,kio09.../l - 10ac4c: 3b 70 2d 00 00 00 27 00 5b 3d 00 00 00 00 0a 5d ;p-...'.[=.....] - 10ac5c: 00 5c 00 00 00 00 00 00 00 00 08 00 00 31 2f 34 .\...........1/4 - 10ac6c: 37 0a 00 00 30 2e 32 35 36 38 00 00 00 2b 33 2d 7...0.2568...+3- - 10ac7c: 2a 39 00 00 bd 74 10 00 d5 74 10 00 c9 74 10 00 *9...t...t...t.. - 10ac8c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ac9c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10acac: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10acbc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10accc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10acdc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10acec: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10acfc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad0c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad1c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad2c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad3c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad4c: d5 74 10 00 d5 74 10 00 67 74 10 00 d5 74 10 00 .t...t..gt...t.. - 10ad5c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad6c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t.. - 10ad7c: d5 74 10 00 07 74 10 00 3c 74 10 00 d5 74 10 00 .t...t..: - 10b07a: 00 00 1f 00 3b 00 5a 00 78 00 97 00 b5 00 d4 00 ....;.Z.x....... - 10b08a: f3 00 11 01 30 01 4e 01 6d 01 25 23 56 66 73 20 ....0.N.m.%#Vfs - 10b09a: 6e 6f 77 20 69 6e 20 62 75 73 69 6e 65 73 73 2e now in business. - 10b0aa: 0a 00 56 46 53 00 49 6e 73 74 61 6c 6c 65 64 20 ..VFS.Installed - 10b0ba: 66 69 6c 65 20 73 79 73 74 65 6d 20 25 23 25 73 file system %#%s - 10b0ca: 25 23 20 28 69 64 3d 25 75 29 2e 0a 00 00 25 23 %# (id=%u)....%# - 10b0da: 46 61 69 6c 65 64 20 74 6f 20 6d 6f 75 6e 74 20 Failed to mount - 10b0ea: 64 65 76 69 63 65 20 25 73 3a 20 63 6f 75 6c 64 device %s: could - 10b0fa: 20 6e 6f 74 20 66 69 6e 64 20 61 20 66 69 6c 65 not find a file - 10b10a: 20 73 79 73 74 65 6d 2e 0a 00 25 23 46 61 69 6c system...%#Fail - 10b11a: 65 64 20 74 6f 20 6d 6f 75 6e 74 20 64 65 76 69 ed to mount devi - 10b12a: 63 65 20 25 73 3a 20 62 61 64 20 6e 61 6d 65 2e ce %s: bad name. - 10b13a: 0a 00 4d 6f 75 6e 74 65 64 20 64 65 76 69 63 65 ..Mounted device - 10b14a: 20 25 23 25 73 25 23 20 75 73 69 6e 67 20 74 68 %#%s%# using th - 10b15a: 65 20 25 23 25 73 25 23 20 66 69 6c 65 20 73 79 e %#%s%# file sy - 10b16a: 73 74 65 6d 2e 0a 00 00 00 00 stem...... diff --git a/build/clock.o b/build/clock.o index e1d78c7cf2eb8e7631f08c5f853e15b727a33617..601e1f932c8d70b6ee7e469d69a0aa7c97024f43 100644 GIT binary patch delta 171 zcmZ3(v4UfQ0;9@AMKNxUZdnE(XuVzHI?>62>&2h{|Nl21;fOvwaf$_h1W3w}kE5B% znNNTzXyWZ&#)!!e8HFd;FbXi#&e${gE~EJ5GeACw1>&Od?gEKr*Ul2*rXTrC1OPQwtQ(ik+k}?P!Vxl78QE*5dv%XTSS>=bU@b zz5l)U-;MK5Jh{=^>w2mLpMv0Te~FV=*;F;!l1+Pa;~fycxZBm$HKFdt>2X;xk*0^0 z=t>Hyl!j31H{t=QZz%{|y}I4UxbF8cri`K1Ec29QtQE~2)&R>|XT0`V);3db&#+3& z4*SE_OmoA2*_v;TI9{<9n2F9(Ynd_5*;cJ-clJrDx3r*U>2a{Y)7U=Rv(k0ikrgoB zh=QKqmRqvsPF&rup*NU?5ieM4Oj~+^$gnEekON$8q!H$P(+M`7m;f^#|jMDx7;R6tMQMbv-e_^$5A5?x>wo0ZZ1 ztjT73vrH0N0P7_)DQ3O3#axQ< zS^Lc0m~6~FE4Dmv+=*&`hhF3u^6n=FXR_`@ZMT+@N9k!S$ZD+5ay;1SJE1`u?zDGx z1y)`zX}Hsg#)^wAoxvOw!k!x|znga^EHCC_DDh7%o#tHZD(jLdb?vd*%$Ke*%ho)m zN3zX|Hc!OAZM+HI5%G4BKCo1n7v_Tvgbjfez(&Ewz)E40VN+q#?PAs^3{Nj85?|&c zb&D$(jPm+2eKlUm8#ZcK-l)7>nO3pf>n&=&max#4G^>1$_pyq~O25}vC$pB%@vih& zS1tfCGkP~Te(0}W+I+3|O$k9XVDG`s!Y;u64EqH3H`wQ}cGzv0#Z`Ua zVSW^}cvuoF6P5$Zhv6W~AA5-0gtfvtU^t`wBtA|g1C|ea2sR!zQ|&2W4XnXDo-{Pl zi;UnQH%F2@&aq%==4w*0^EtFKj5|3yc^_KuVy%!8d`9E<1nh#{%uOEUJcK{jh2lC+!7B6;L3-pQvq)3I$z|bpV!mHpH(7_EI za2I&!;Q()h2$1~UFn$KSDMDnaPVjn||LY*vZO#tt2z28nU!(~xVCbPgBaG*U@o`~% zY8am%#ut;D{przx)nT4B;GwO@rPv6*A6t=2ME+V>{2Sn*jY$8YF#qqtH)Eqd1Eil< zeCWZ<0&?xUf_xsvd8vmUE=5-ukHe*OlXGpZNYR+wL9UUZgL&#$U54O#c%)m2hgUE{AF@2~Zn)xNC6 zQe3m4tdh!#`PD+j9P=&ZhU^8iMdRjIb%MscUAE#V1U9m8W4x&{`5SgIElJTgmX5}yr=qL8Ur~&S ze5dj=MD%~2i2u9o>JNOa0b}rPA0okYlTZpJ^8__G$d_O=AtN%T66mp&%uk7!{bdi4( zGerKYJQg=6;}U=zI8}KzIr7Gkqp)#7Ki>ZoHt_BrCuWMwV*om+2nL9(AVgXU2!aK)CVMi_?{kh7AEC0UoA1Gf$%)#*_ z4n_g$->SGhhv_+zP#&or=|hz{+DvEeUH9*`?gNDiA!%)urD zvfwIm*t10JjSZ?B)ekB^s{Bd}&wrlCKj=WmZR+SCVlUY6)#AX3#C)7{Vgde;6H)LK zAP1gKj+|#zZ&ZDQ>P_UhuuhW~ihM+l3+`Hg0{&dJY5=cSI^0BboB?FV1whRdaGL@Ou;V_bkVr&g3XmOTkRx%5;u7j8 z;2ClZ7$8U77INhOk{rkE06FqLAmT3hi288cphWDme-dNy{{O=UmbN>-!!}qF5ue0? z#1zb&m?iQ(qEDoZn2qB~94WGdH~`0!m@D!;ahS+Yi750<#Z!u{Kogga=M--OZAHx;gST3%#_`LFuisk51B#~< i9sFX#&p(sI<%;~WlJ8SIrFdJh2tNAfDZZ|FUGaa{eSjSR delta 4353 zcmZ`+3vg7`89w)BH)QjEkU%!s>?WHf4;~32paF~ni3Ep73c*l?YA7ravt&z>Mam3a zJ3LHmMc`l+rM7emGA&3uNQ+VsD@Z#nD32&;rHK!8Tt-0@1;zCHcK@}`c6w+2{m%FO z=l{=t&pr2?yGQQZ*s{?zE5V_{S9SQeRHdsFb=TbHrZt!HU$jCyWZ>r@ojntadwj)~ z55FE57Ja&UIkJ1x+EyuLWu4z5QV zSsCR~2i4m}Et~osb?96Wcn1%PV0uCXlUsnyVfb{Jp^b<39Wu%c;}`k^bDptB*ToeX zbM)f4Nk*&Q759eGp&zttHUc`!I>iX;d#v+w*Wr%B71yo#Dm`u8Qru3@C%BVG^sCk( z#zy^twL0tDy4feN7v9Z!RQ!6!W6{{3)fZRR)E8H$tr@sEFc8WJ$DfLCGP1R2(0lkz zOc;aT+Jq6tR^67c!Pu*BBs8S&kH&|V;MOd!>RGlrbDbz8r#k^z77K#+Ul5 z)J7wD-?TKli7^&uypY5J>`vJCVBd$$hqb__ zdVM~>>j8g(N*KCtH+P6R!!a?xvDDn zoyc5bW_sNJ6FnpQr}142I@^@mcRKqWGk6p=9)q2Ly$<^q>>b!eSO|6*_65wqoZDcT zuvYV@XDXW~+{=3*F&soV30=u^2)>n=$1^yj%H1!vK^fhk0` z@HG*?AHotXO7$}!S2x)mwo=50;+1OC%ku16+a1=WP@46Adx>=mT8DMNJ^IlwNx@S^b>k)UWGLu%cMcK=1s88XDdai*{I!VT?@8VpURtH zJ&M+FosmDmYC(Zl^sM}U82{D|huc~@OsUuO9gb;ORGS=4hF8DuaATR-3L1^2`tE`z z(-o(mEhw^fS18r3dkfsy1g;m9Si7B=W$kggtxMgQcRj;-Fj#}KGV!`ZXMh#6UBrf5 zk0V4&gfJ}HNIR>05d@(t` zR8|PCr;aJzLCjF(duO870pA18-x6TXX>tJL$<5qDVhUg2*FHwR&xrvTY+8aW2OOL$9=0s>c3KxM0? z!^1>8`^`iTHX-_v;A!#iB}f0~gr67x1>v6(OR+Cve`Q=YkORAfdxQsTMW_>@QTQC; zEyBIReZrRuf0P`BY!SYLh&$g;EXQFEWC6#>Q9!@&ixD1FpRzGRsT6EN?3f8;M>`RE z1#u*vx%eBz-zvOac#rT6!nYGg;q@fqBjK3%&j?-!BcA`e?0^A37ROcLgP?I|913J% z4suu-5eX*}EAjdQIRk!j*h54Nyq!AYc8dOIBG$%n(f>&v#Lp)pd`1D5jRVK5!j}$^ ziA%_#R}ek;V-`t^__{&8}=Rlg-i++T>;OJ1Qq z4qG%4H`$-Y_a7ugp<1c0iJ4f8I8e+Syw61ZZ!aYd!_G%6!KX8^45uVx2|CBfH$X3f55M?Pr;r}C)9spk{iEqG4wlHdrQlw`W3 diff --git a/build/crash.o b/build/crash.o new file mode 100644 index 0000000000000000000000000000000000000000..0502a21726f60cba0fa9f5d2828c8b102d9db8e2 GIT binary patch literal 4212 zcma)8U1%It6uz6Rnx--R3nI4ag=RIyxTYo65-T>{-TcrdS$8+BZKccX?#=Gd$;>h{ z+a#q}F|8;SQADvXMTIJAL4C0giWFNcLKU(2^CY5zR((*xA4HAcnLRh1n8kYG?m6Fg zzI*PubMM@pL#gcpkw`@777@+j5)$IRCG|*eV7f%RSSog8XMgB8>UYX>(atvT-~Kr_ zHwT|2f&XS2-nnFF^nJ3?&L$n$R=Y^_vO105`LW&FKRVDe`}?Y?*dxi#wxiJ_q=DNK z8g_-2et+%1A}e(Sb5aSqu)`sr=GJ@^J|#x^a{+gBpc^Tp7=B$ycFkg$WZBw~tZT8X zi)HhxL*~B4vQC!W9?I6Bw&g6lJ0xpRTL;UALb3+6(Zi#a-V>5FsBI0)c86q(YrB$F zrI4yYX;GG0Az6dcT3F_XWDQDdW7)xwY;kD=n^;C?N$-4v+BUQ7v5>4mZChCObV$~q zwj|4*56K$THpH^aJhvW}UFNyFoVI?aPk52e?dLXms`-xi2^aZ|ecjEUFUR zc^&_Cpf^(Mpm*jfP>6gSiZuD*$akSgbV20rP^4u+WWI3BvwT5h6)q*cd2M<;=7(G7 z|Le|~J=?Ko?-`OVYU_}<4?Tgt8(pE>=r#1i=*Q7tK|hE7CHk-EO}Niiqu+#nGx`Sf zt>|g=RuL^J4Nl3>Q1XrC6h&-b_!L^)SXsQ z_Ug<8TgA3ix5#4hn4(rpScV=|^OUPRolCiHzUY)xJ)==7A*R!~%J3Y!Phtt_{=rm! zbS#%oXHwbJXzorTcV>ojsr*u_9YJH9mb8>U6sMAE5I(g~wx`3q#8 zDo-lgmku(!HG4jzk2<918@`e(5m}Z}<|>{RhKa0i6!&r3L1in~un=>6RrG0z_4(39 zSx+rS48Ov3zh#!~VDe%`755=jteCcvb(9?*NlL8M@J+jXYp{H&ri-ddiE)}^YnPy9 zok`_mR9Q~ZD(I1!1#3o5xemC#uGUsM__+#pUQQXFG;CS3D~4UNROwPW?6hdjIl6K= z2RgOL zfsBY8Y>BLHi$)*D`$)I+njj*?DZ0M;+gl!L>ThqGZBDey=2xTbZD7vyw@2RjMyy963t+E^;|bCB)kmpHe!?{-6_@kB z%#BcC8RAM-)3;Wz4#u=3YOB%tb1cATaS^sO3qkiGjVE0T`Z~r4)f>K;=yOOn$xaM5 zobNoojh+QZ`Dm=pcN=`ltMjFiFWhu}R5#VJfrF&8aVP3VG3p7nT6Y@%C7)>#Eaf9z zhHVclwP#QSed6h+^W{O1uctZ*T~do+b$xr_hu3Q@udj>NOFZdloh#7wTH%TxL7L=n zqq(Ss=Op~-QX#&8y&7HT!xVuZ&Szo5o#1uT`83ux%tysfbDAf+@GG5gcm~1?H>r94 zbk(yo3;F}U)S4GO85-X*&(K+1iPh3alWw%GTQz_s+{ZW#y8;jf{r~<0TtmoMXI;u|*hrbBHX)9cKO*4aV<~ zMLnO8#bNlG;>dTA<9{)~6dO$Za#*UjlPvTbn7@PhZOrdtelPPb^A9k8g!yC4zsUSa z=1(*K0rMA_|AzTrnE!+McDztj4}I%Uosux>>}8(5d59lmeh>2|^YreM{z2v+XZ|VX zUt<0g^KUW#A@iRz{}uDUF@FV)I?dY(OZjggi#ofRU(bAs`7HDIGH)?|fcZnrKgs-a z%)h|=Ip#lN{!`|^XZ~mAe`CH4?+ewp0+#B#iSaFrw=hmI-c18+6+lOV}pt;Xfck;EMnN literal 0 HcmV?d00001 diff --git a/build/hal.o b/build/hal.o index b86d4f9471675af1691267d6e8cd2c974f8d54c9..024b8e1e8616e1b2b6c66d23c67cf903caa78e8b 100644 GIT binary patch delta 245 zcmaFDe?wq`0^^H~ib0I5$6Zu7GA268urwc$IXt<7F`qv*MIkr8v^Z5Er6{v3wP^A^ z#we~7Mg|53XFdhygvm}!s~A%zzhzQpRbXdeFqkaLtjsuLaw4<%cAi$#sGVR9ggI_n1(28M#kwJgf432Y1u z2PW@j5udz=WeU)SK-S}oTPJg}Z5Q_ixyCcExFj(rhaoJj7|PsynoW>V!x?B5BP#=g aHDjDbM`=x`<`1_l7gNGJ1E@V~*lj4&%Fbl9&0F`GWm_jEm_o= z?yyfzVo_uCnB2*t&botzfgxe?Ru*Me37~14C*NgR4K%%z_4wojwiVoAX~mv-#U+V3 UISiZS*##Ln6oAfPVq#zb0D7q`VE_OC diff --git a/build/initrd.o b/build/initrd.o index d613feeb0565a73f69815049ecbff2779ad29443..7a3cfdd6a108952db3de9b43d09595c8b3f05086 100644 GIT binary patch delta 671 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 literal 0 HcmV?d00001 diff --git a/build/logger.o b/build/logger.o index f7ad4da21c597121d8bd2a9916755bf6ed49a799..8db654d5a8b38ca1b173796851628913fd6d5393 100644 GIT binary patch delta 779 zcmYk4+e;L26vxlZ&dlz(u9LRlZfQHYgUm`;8xmdCF07XxO0m!ieTgEm8$?Dg3mPdk zO3?D_50KuKY7-(tw3n4A(l_m?dJv-v^jK8W_e{T{17|<;J>T=Y?(b#Y<4t$%dPk=q zT7qAfEUKj56Me^TemXK)D7J1jeQPYC5{(`x4raH{ahKQTXkN})|Ka=o_`Ef?st|Qd zYP0N(&kt9P7MuiKTm7id70X$7&0AVn4|&fQ-fP}hclq{pmc)60T zoL7vF4~KvGzIdp|lM#58$PLI^jC~8X1p_Mza9#0Xk#iosr7e8qrR4{tXp{$SQ^haTcRb%5Mf_ z5M0C7{>8Q!5g#9*3NanttUp8RIq@o-jupb#E0(N+XNsTfp>;;oM~cVFY}|2ncq zafNAK7gOfU2+@A{D%#pXB}&xA#4TUpI+nX3^%K@u;tgx`t+BRm6Uggi5-E z^=~m{Q6|-$IbEArt{I7s?JKnXat(Q8qW+4p*3hnLj!H%}B^lP1{-)FE;ThM^f<#n3 zqD--GcqZ=b@6|liz3^R~9-9vpe@(udT{0zK%zjpqE5+|`z8;Op(nF4&SG0P7UMCq& z`J{_dU-h?xtLb!NIgsepg47)viD+fmFAEq3X3R%4tDcK97&Wl_S`EEWVlMEK9sh|1 z%msBr^Pt1K7ON zPHR!ZtLzXbl^kS?CgrSW6Y4dv!myufA8-b*I~5Yol_OGE{83Jb!)mT{S2U{IZOwL~ zpNMgaQPrz1B1IFAVL#;{D%0(sRIjX<#H#9N@SFX%TkuUF(kbf9-qHqi!Ozv;wVPz2vVsiGE8@;l^4-CcmErH zRo1K7kKkEvWDf2%DaNf+eKnn}YrUu1Yq5As`|-w(XcJW+Rz|TZpp-#$lrfX>U+3 z0fSF6$KgIQN8A_YxX=&AY@*)=H{lNKcLCYI*TDKdcHqkGhT#Sy62}>Hh@Kk!10yDG z(cmWZmbrrw@%&fu1|`g~LAk*znPZH4n45_P88N}P*^Ys!5WLuoV?x-Wzd4Y94Cbh* YBfk=J9!W-zj;S8|Gue6`YZ-O^0oTW{(*OVf diff --git a/build/mem-heap.o b/build/mem-heap.o index 7766cd0bf01256245595f8c3443f112c33722037..412ae35c2452bbef54130bf7a13ccc9504ff52da 100644 GIT binary patch delta 762 zcmZXSPiWI{6vtoM#HQ_<#VuOF9Hz}IqDTijv~)$QThzmJ;B<)Vq>Qi$T{qgeU1X*7 z;?E!qeme9j6V!tsLzoCEc3a%RlNZ_i1KUM#2mc)GVG!RhZ7&*l@AG@V@B6*qHz7CG z1$C~2TX=ThK36ieZY!t7EnT)|mBV)Oh88PM{prbk%K{=q#fg$;hv9G9;?gLyuiwflg*ga2?qx z03Q?uZ1F+)JKIZqEgm9f-4i=V)P|>~helUnJwR&SKAH3>q_+6P^OWcA(#t-zgGfqR zlB;Q{Wi>5{c3R?B;y7mqqum2gVNL4H|4lvE5XY}DPv85Fb4xTNzT`4=O^gU?2;dF< zDMq+EH02M|qkh?4MKK%xDEElo#{7vs$2?3wyIBZCh3z1~vBj>yeh#hm2gBJaUeSE; zRpA4M>j~Kg9Beg3B-4Lk%%kUn7)*Em(ZgtWi3fOyWO{_I1ecQo*|BT+vD1c$3j_L% ziGlHSE;l)<7qSy>ea6U6otn&>h3u$V*Y$#7Fqyt<882<%G|z5;-;8YldAyy~(~Jth zM@A9A??s}`6r&$tmJ$EFxkkOlxCh`%qdtdDJ$nHjFk;_z0g31CG2;FzV>`Zxw5u*e M8BsVvUxd#81*BBK?f?J) delta 755 zcmXw%O=uHA7>2*u%_h5PO4oM%YgVv!CH5dj5i#~4+DH@(7PRJ|ZCFZd#cf)fV0);> zrI$=sq%bEBLJ#&@C`Is8YLy~_Qb9vO5n53MJwy){L|DJs-3-h;^L{@w?=1U7uj;e= z$%Dm?N2D@k9Cs|^q%)y8IhEGC*1OY2vSe=K>b3xsHRqy{v^Sydy7qHW0VrzmijnNj z?J1o~)k;T>ew@kc-~YL;OD!WtuNyKg8zCApyqLYln;dKqb871M#5x6OA4e zkqW>KPW<5}1HH((6JRaSC(xX*3t)y5>-r@m_TA^i_yT7ezT1ySp(X4m4zUl-m;M9A CZ@%9E diff --git a/build/mem-paging.o b/build/mem-paging.o index 470c39a1c29cbd1dd7765d3ca434376dd1427539..ec2a8457ee9c446a1df952031348defaded7eb82 100644 GIT binary patch literal 2764 zcma)8U1%It6h5;%X=9siwzZ1V1&1=hsC7vtYHBMc?xw+7YiQEuq1rl0rpem<39}Py zO2Ed=Psb&%A_WtndGM`1X~73mk|yGl_#om#tsq!P@eiy*h4uSp=O)wCh!^gD=iKvu z?%b2S-G2C>rfH&>2-`B$dQ()_+ z(;uv+aa*6&+-NDLfryZZfY3?kAPf=)h*lD<y9hH4Lbz~p$q(0Mql6IC3@fZbxmi@Muf*b zJX?N%Cj0e^!`r=0l$Ez9Lyc!}!gFt)&~(LssN4__Z!Cg<+= z>-{(NaBlRg3az@?cgOj1!$|*a8f38KHCOXm#o(Sxi*bINBJFvrH*5DBL)JhhKakua zuh=!&cVF*|~x|E3%W$v9xnXMH{WvcGckxAUP9Su_v*mEmk`fX^YiOM%!ZXlAek+MMh(B94tVx)E3j1r3Gq(*h|Ps(XCssUy&i!kQ{NO=u=l+fX=?e88_X{3`_v(D5zGzXR&3f+kHfhk z;FXK_6@hau=7`r( zx1&n>ztrJA5g@MCU$t-$ryy9WjvnygzRckjG~$eXVSUsiauTUpLCQllBH@ctu8Arp z^)74{c>{-apc#k$;sG7@cN0Or!?{|@pW+pU&vp5&qRxqT|Ai(WjzC^jUA2k|iU_Uf z>Q|)XtbA=nWwXQrwiUPooo)ouEBAK!y|NFe7VCTwyA_+Wfcl+4wJ7I3sYSjQTg?IL z7nKl5d1)Pg5xjc))aMKc=kqyu^}Z?pYMs4cU_KcP(?03+r)t+*8Mki`w4Kg4cAtxZ zDyd<|!9!g;I9wR$aWbwQ*mT$~4dhJD%4Q3Fr>r4*F4}G&Ph|^vyPLC{6T5S;jamo& z*Io^pDh!R#L+9W~G1F&d!***?U-k#~8eg@2Nlp1seALO?)9^i;L|pZr068-w_`oNK z_~-0HA};oafWH&)kK$vCpy>r79>5$C`twBSuK>0CMYiFCkJO7C0%{mUM~R4clIMu? zCJ~Q*oCv%3D2Lr;@^~261H4T{yod4G@_a85daE3XmIIY;)v~{>?*jg>Dv!?O6guSFC?^V}P z=t69_=cAA>1M!o?56Td~^n(Kt8lsB|gP|Zp{NRLP9WwuX7US>t@~(~jvI{4_`#a~{ zbM8I&o|l!eBjce^NYn^Pn`|?Y3vErypbvYcQzFt8-@G66Tvz{Q4fBCUqp`xdmo&5w z=;xi2xJXz34VZ5bre1mZc=@*>Z`qjiW{es4pX!~S>hICgFAaqEEF)FAC4V#;2rxa+ z=n`?0MsIm&Ll(!@lg559t*#jo6WRJ3$-w*SNh3l9P-9A0GkhCD^tsvwV1N0m4)^U1 zI(gbg`C6#cGJ4(pSDt=|{)_Ftd-;o@6R*ymtoi$kVSjNX(&8%7Ri+``nZ|vbLDtt8 z-Cg5pKcm8Rj3}3cIiE2!x39UYQqA8+$9hGu+e1It->Wmhv3aJ!rf0CL7 zBaV_8?)BjNG(oNRTjWz@AIA-sOns)>n`lfoj z2gQka-IXg`wEC^{VD;B%>82mA`yKEO_xb=M)nsCH^r`sXi5I8##Rn5lBp!o*Hy2@q z&K{G{awN1Ts%aPSU{D9?^DQFL0I53wA#c?s!FwSOKse|(4S5980pWNOVnGfqXmjb~(`^|l9`ABKFa?&*1F7g_b_hHVr$9TMF z=4_4kK9b#mP7M`LafPjVP5x{sJ@NlvR`S*ivf}NcH>Z9-?M5Ye&#J%3 z_kpY4B7YW~Q7OCRuSN=}`i%BjaMfevd2lsY2fi6K$X6h$ujpST;WtABPo9}R!GlTW_ObIh{{i)_i6*y}-1#=>+z}g`AU1Te-6>F7kp| zEST1Ia2dk$F`5?aUGF~*B_P{)0I;rfEoy(;8z2l!#2#;|Y z7{MC&cFioC$Ctz>fp`DL{?u;r}mM{(Hdy diff --git a/build/mem-phys.o b/build/mem-phys.o index 2d1f7d7404f060b5b3fd521bea0e1e1bf3555328..3d7efca1ebdae50d1ee8e9cccd2968b60df5d02a 100644 GIT binary patch delta 1140 zcmYjQYe*DP6h3oj#%5Kf(cWaXxRXW5CV|+4z*RAg1k2LGGBzD+!**qz6@y~4A#>Y5 z#wC!5CiY+L6!FJBHT9~CwR-JPt?ovwN8A)GUWh?BnM#Gu zeE5UqBXR3TDpVOcq%V!v>Kb)~m@i=sM1`s%k_mB1r_%N|`;*v4A@W5e-S$L_&z{!Z z!m8KSyoA~&Vb$oulr_h!Ng?uc?0tS@*73^m%TX~E$+5=E+uD!Buumm=NY|p`I>4^X z<=JZ4lmo8RVmy>_rH%IsT|yb36*@N7d41hRr_`Fk`Lf` z^*kiI*pS4pVCY83hcaljb0wITU+40l-KAc@wb;N_`NGYy(r)6V)90|VgM(^dmdmJCboGGyTwGO(!=jzTowaLfY-4$Boa!1m0e;EB~Son#WG5>EdU?I zj?y9O$`5Hqd}}#)wK-WENH9ke;iPvEi9bf9>mX}|?Z$J&=JKJl&?Jb&m;d8<0d%hW z?qKe8JT-O$!l`7|NShWJNev~(jcJG&iF4P64Lb;y6p7u0XvP?~NXE_>Y-U*bdK~-3 zOv7$Fk}_lQf0NIo4M(!FhmzugC)jy5HF+_8-8Afm=Z%b!&f00B~V3w|z2NlGq4 zJNb7Y%MK#7tC|}{IXF1bd>@{br=I8Y`+T40d7oeJd3~XNHNx|2(TC>g9l}^nIPRN- zWB%4*=lQE#F0W7vz2^+Jjhws6Vg8afGtBRjG8-G_m?)_Z_j)5npVzEIxq+FNv>9Zt zoS02=WV(46RgCxL(Y)s;IdH|eBoD4Qha_qR#b^0`E9FTm&W=oBEy*U<54ptZlNYQZ z@!N4;k`6oW3VDbMlD2~~XJ4bI9(R9c7B5#i3J}u*yfS QRMAg#s~99I%6E154_|dx$^ZZW delta 544 zcmYL_PbfrD6o=1w?wj{sm}aDTji}K~&B8*K7P3I{Zy_r-5(|n_im@@-s3}vUBQ-mg zC>CO6Vu6riWJ^t1u&|a=<9E4}TlakTJLlYY@4MHL(?~AH^Bc{@(9{lLWV#b7)0lYs zE+2*2v5uluapn){P>o!YG1U;AW1>FY*%gdgJwa8EoGX_H{+?8g_frD>%Axr8;6-gI7ifi!IC(b7fuMhL_<(p!Pj*(E9gdcplzv>SthO z=QQzoA?`F+hWQ9;uu Jx)iUv^9NmkRbBu9 diff --git a/build/memory_info.o b/build/memory_info.o index e5020796d861cb2f80e81319119ea444ebb57ec9..844fad999d3c1cdf98b6cc1624b862c606237e58 100644 GIT binary patch delta 28 gcmaFB^?++bDT{zxQDSatF+*r^Y6_S+xs~NM0Gj^_-v9sr delta 28 gcmaFB^?++bDT{zpPJVKBF+*r^Y6_S+xs~NM0Gi(l-v9sr diff --git a/build/memory_init.o b/build/memory_init.o index d0fd266286b20adeccf3c1f0e23234f7664cc483..d28bc0cf669857814d14beeffded44d00a51eb89 100644 GIT binary patch delta 792 zcmYk4O=uHA6vy9eW;Yv*YuXfAB!mqO)*f0>#4n08q$Ct-NfA%grVB1@Xc93Mq+)4n zE)Bh??<^D*1WzjB#g9uubMT|RNe=}*2o`(LdnNuS-AD%B{`UR}uC)_`WU9 zy^O`gQhg*YNhhkyIAQ$UZ!{WB4XM&X?V2>2+J4}mu3WPxr?S<{<-MM@t8u#$i8rTL z2}{<=#sYT{6M|?FBsgU)Y1!Is z%S1&LQWs(!@dY(!L4rNcyS`^a=LfP^TQ>QPJSK*CNA~GM8j;E0Wtby+2-<+&r~iT$ zhP$V+w4GfLlKI1(fycj&kd&D?<$+My-&J|}^ zaa6;Ktrk|KO$cC(C%C#9zy=~9^GrZVS&S$lVO4Qp0Oe8*pbP0`T-&I^Ps7d;-|{3+XhA@z0VU_uc01lKpZ62R_L!%RY93Yv_kWfKPl8{T;p{`&pg;#Aw0- zu*7AH&r-JnxEK#wwy|rwwdZWRyG~$`$AcwvxzH+6C+3H@$ZuNvCf>CJh!|^4wy%L7 zhxp%z{JQDmpg?ErAvUMx&#hYVYG!t7=01$-+1dQVkzBfv)-vfwI%M^1YDUlJ^h`?6 z-6cMD?*JXsrqj9U1A*&JZ8V+NrwUl9l@QKgb*-Q`4}n(Bs5Xa&PJ&@w1ConQFBrq^AupnUpAX^fMnSmGvJ^Y9BO>@|NsAbex*aZKn8a+cQQ5}2HDVf5JY;Fz6Gf{1!VFx02R%R zJ{Q11_Nok$*qjq0Rf5WnR)5X`303gR%$>- kWpQS5Vh#g#VZEIE`~rrM#NuqAo}kpk6xYlGB$Gi*00=-m^Z)<= delta 123 zcmaFBa)5b44I}f!T4hFsi3`=e0~i??92giFSb&%rN(%sKNhlvkfx!fzIvp4XNCUYj iAmaan$-#`dtO_8}$xj)z1ws;wvx8C-Q(Q9(z$yXK;Sj|D diff --git a/build/tasking-multi.o b/build/tasking-multi.o index 40bb347db76807d7bdce9b2f60863935be71578a..795ac126fa4dfb6f440b7fe046cd6309092b9015 100644 GIT binary patch literal 2360 zcma)8Uuc_E6hBEmU94I9ZHrjgz%Wy&=t8SSa9B*6{+Za7*w%HnV_TYhZ9|i$eEFhn z89IoryL=+}Ao!r5^Hsq&MSPgHHi8NheGsa$>5I%F>Wi=n@ptZ@HY+}O$o+ojcka3O zocr&P7YBw11Azb;2~dc38POLZ)zdAZgZ5JkO`IC5ZFSzN_a`h$5!I~(I^>otcbL^v5d~od7K3)o*!5J5`L@3l^A~OZbi_Xq_A{1G;zA-W zyu=Z4CebE_6EQKKutk3&f@IW0oD@VQr4p&FcTSx>wXsb-+#oDZZ~e!)~%_tYqhP23{_i?s1^IP zCeQxKg@RYe77Hs*{-JoT>blN?=VdGN$K#8Id{28d?o<|g+Lz+aw1R?!47!%$BhHcs zY@u-sC@jnp4W-k^;~hgI&pZ(CPClCKB9i-t%?YfGQs6>3a5!RFmjgtdupL2T`H(-o z(eP@pHyXJV>W$hpD;-S*-;dfbtf6P4H)_@8n2h#+{XfUVgZ`c|HvC>f8%9k0q;%l> z2HHs&R@j0FmpFDUl#bd#HyVKfVXY07|2kai@Rhd#9w(v}@w`8veG9w1GtennSuT0m zX`tsSoHLs16q6qIi<0@Qm!;%%r9w%!%!IwWlHIq{E=uOgr4mj9c8qoA&ds>llEY#C zuiOVmUh|!L0Ke-^HfWKT9Qt9jyNnUoh6Viryc><(*^k%Qu6YQ^Vh2^9V!Qf-FtESz zi@~p1Ox#WwdH#oWC;JUFIkF%3KcUh1Jqy2`J=cBgH==c(mn93ogG!ZO_Te_A(WK=; z*^(aWWAd8-ZQhqK2+z&?!tu?%9Dr`t3YE@-G#?blWMMQhnP0nu=pu}KuQ(3RXKTHA zzRW(8ew8D6NVv*HGe$nknRst-s(pIj`(4({Ooq!Yz0X4VK+`%4BB|HeD<)IJ+*o z2#-41{6Jxm2CEA@35`8p@N#n|nX%lQldl#Xmxde}?Ov=a*h2EWg1For-~n99V~qQW z9$}2C^J47P_A`vFs+InQzO4M I?!T__U)&yfN&o-= literal 1792 zcma)6L1-Lh6n-;1(bcT$wyvozW2TN{`dZW z=Kb^GTYsE_pez)W2O``S_>)VdacZ{QA#uI6VBvcUL4{ zOm3x5(w!{kli!lXLNe>5v+m}#-qC9d$K>ba&R487 zyw%?-FTXcHuS!-ieM%)Cs`Lu!w5tm3JdxZ;7u?O8v2$oo@6UA6O%~jAw){YKLw5dU zt!-y=5?fHslL45N4D-rkB#Bqq_FV2$^-H``hPi3gQ<2SU@t(BqZhqf$cE*$I*$MyJ zv6Jh`yKaB0vOMVDo)~SVUrK2Qr=RNObcWVCVThF=& zst2ntz*VLnVr?7~>s;R2TX38UNS=akLPbQ{#F=9LyggGa^mAU(wS!^-j=@aP`BtQY z@B);1H7IlYHqu~Ho6xVJE$F?Ny;96$IrqjrT!8LF-&cTwrDuwcNVR*m9s4JNag^bz zv7(?=je|3>RGWV6OZ8;8E7it&yB&1kV>DQOe=c^YYaPY>yI&Ztj^7VJpL zUOXSsHlczAH?)uG%*#XfLCJGa%4Z;^2D!1HgUx)CcX6cWXx@GhhKLmA?aoZ~WQ@vd zMATPJu7X?yH)8s}1jpz(e!)3h?c+Nz=hy|?>80l&(V74#za1c--xMaxWQ4sBX@?zPkit%Lq6Jp+?+aFmAm(q4IdMplfpUPjni=c zxr(|=?hg4qjqn`2Kcn&N_myQZz63RQg7ucOka{xiL(RQlT-^_y!+5N10{KUpXZy*? zC*bDJaJ|HScP;FkdcNIj#bLD}$HA9A2;;`8GHYQsR>rZwZ_b6M#p^{8?hDhT?w`Wa zEc>-E3L5cxbXH~0b(*ra5(R-`UKIFoAZu;E)mm@J8$r|wTK5+m#ht8&O_h426UL$6 z3O8^EIRh4kobzg9=$;{m^F{4fGYh`J__)ZMI^NZ|q4Umb`~qk{CUQl`ztsF2;^QJe zX#AaVyu7!Ht5OF1xd67d|#3LOkEh+?u-419!gjo!7l*&YgL1adbpc6q2G) zl>RWHS0Nel1Ny0xH1Z0%`W(DDHGOrWv6J?Mo*fi=!M@;K*R!i|xdmO@;5ekaNqzfQ ztJPwzfy3^{sDb_AXG#!dzB}t(sm-oqo9>p|bU%5A5aX@r*@1V@(!8Z=^#DByDuH#LuI{0=7SSEcNmF|${C5qwwn2J_oKVR?xefkc%8m>bLK{q{l$F# zY^uL_d1@dvWSlWhv8fk%EXw^Wq^xL4Urbe>@`3qql=MAB2SXfYJjo0EC2YC4_9&8z z$DTxU@x)^_7w>I!^n(TSQAse~4x=x0(TodLjqp$-kOU<^bhOq7lGH#i| zBxBZb$SBooHEV%w@LJ`W+qPM=u<8HFQ4Yg<-xr2smTRF7@Q1r-~7R3K64(}25fe_T|@wMOqAJ+L0BY~M>Y%GU5K<=Aiy}b{u zBbXsC1@U;N8Y!gS^<3v(wNVV35N5={nt!V;GjDxzXmC*YtxB#arWFIj;%zi8Wh=?fLx zDv7$iOylMp7cE+X6^q8K+ITrvt=3B;{?|~mYNb2N#G@vKFI@`AP2sLbI*CSsvEaVI T?}76lW)*Q^e1wPW$20y0o+`7o literal 0 HcmV?d00001 diff --git a/change.log b/change.log index 86eb275..2478d61 100644 --- a/change.log +++ b/change.log @@ -1,16 +1,7 @@ -[????] BUILD 0.1.1.50 DATE 9/20/2011 AT 12:43 PM +[????] BUILD 0.1.1.??? DATE 9/0?/2011 AT ?:?? ?? ==================================================== Mainly changed: Tasking + Implemented multitasking -+ Switching works -? TODO: Fix other not working tasking routines - -[GOOD] BUILD 0.1.0.629 DATE 9/08/2011 AT 5:20 PM -==================================================== -Mainly changed: Memory manager -+ Rewritten virtual memory manager (easier to understand now :D) -+ Updated physical memory manager -+ Other minor bug fixes [GOOD] BUILD 0.1.0.601 DATE 9/06/2011 AT 5:20 PM ==================================================== diff --git a/filelistAsm.txt b/filelistAsm.txt index 6adc88d..cd71ec6 100644 --- a/filelistAsm.txt +++ b/filelistAsm.txt @@ -13,6 +13,5 @@ Kernel/hal/cpu/isrs-asm.asm HAL :: Interrupt Requests assembly module Kernel/hal/cpu/irq-asm.asm -Tasking :: Assembly module -Kernel/tasking/tasking-asm.asm - +Tasking :: Tasking assembly module +Kernel/tasking/tasking-asm.asm \ No newline at end of file diff --git a/filelistC.txt b/filelistC.txt index 0eace77..edc1eab 100644 --- a/filelistC.txt +++ b/filelistC.txt @@ -133,6 +133,9 @@ Kernel/memory/mem-phys.c Memory Manager :: Paging Kernel/memory/mem-paging.c +Tasking :: Stack move +Kernel/tasking/tasking-stack.c + Tasking :: Multitasking Kernel/tasking/tasking-multi.c diff --git a/kernel.bin b/kernel.bin index b5e7f64d8e710e64b65c4847156fbcc83799c580..79f33650b46bfaef7779fe27ac298f500afe5a30 100644 GIT binary patch delta 25525 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 b#aC8`YEj%mNr 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 Pi;MzM%XJ!iMalmGXA?+C diff --git a/luxos.img b/luxos.img index 4c6c5cf4f9bb6f0f850b87f84970f0f7c6cc66f7..40287ccba18bb4280ed46baa53ea546cce042ab8 100644 GIT binary patch delta 56538 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 delta 50180 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�Q2UF*&$&4~q6_o3Pl0=J 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 diff --git a/scripts/build.bat b/scripts/build.bat index 69a4e86..781c088 100644 --- a/scripts/build.bat +++ b/scripts/build.bat @@ -1,7 +1,7 @@ @echo off -E: -chdir E:\Software\OsDev +C: +chdir C:\Dev\lux set CYGWIN=nodosfilewarning -bash /cygdrive/e/Software/OsDev/lux/build.sh +C:\cygwin\bin\bash /cygdrive/c/Dev/lux/build.sh diff --git a/scripts/pack.bat b/scripts/pack.bat index 8a43926..666a8c3 100644 --- a/scripts/pack.bat +++ b/scripts/pack.bat @@ -1,6 +1,6 @@ @echo off -E: -chdir E:\Software\OsDev\lux +C: +chdir C:\Dev\lux -bash /cygdrive/e/Software/OsDev/lux/scripts/pack.sh +C:\cygwin\bin\bash /cygdrive/c/Dev/lux/scripts/pack.sh diff --git a/scripts/pack.sh b/scripts/pack.sh index b5d0e79..931d8f2 100644 --- a/scripts/pack.sh +++ b/scripts/pack.sh @@ -1,6 +1,6 @@ #!/bin/sh -cd /cygdrive/e/Software/OsDev +cd /cygdrive/c/Dev # Get version number read version < ./lux/Kernel/include/version.h diff --git a/scripts/version.txt b/scripts/version.txt index e373ee6..21e72e8 100644 --- a/scripts/version.txt +++ b/scripts/version.txt @@ -1 +1 @@ -50 +48