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 e5acfcb..08b9b72 100644 Binary files a/Build/loader.o and b/Build/loader.o differ diff --git a/Build/main.o b/Build/main.o index d846e91..5c5604c 100644 Binary files a/Build/main.o and b/Build/main.o differ 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 e1d78c7..601e1f9 100644 Binary files a/build/clock.o and b/build/clock.o differ diff --git a/build/console.o b/build/console.o index ddcfbc2..ed1ed8e 100644 Binary files a/build/console.o and b/build/console.o differ diff --git a/build/crash.o b/build/crash.o new file mode 100644 index 0000000..0502a21 Binary files /dev/null and b/build/crash.o differ diff --git a/build/hal.o b/build/hal.o index b86d4f9..024b8e1 100644 Binary files a/build/hal.o and b/build/hal.o differ diff --git a/build/initrd.o b/build/initrd.o index d613fee..7a3cfdd 100644 Binary files a/build/initrd.o and b/build/initrd.o differ diff --git a/build/keyboard.o b/build/keyboard.o new file mode 100644 index 0000000..1d40772 Binary files /dev/null and b/build/keyboard.o differ diff --git a/build/logger.o b/build/logger.o index f7ad4da..8db654d 100644 Binary files a/build/logger.o and b/build/logger.o differ diff --git a/build/mem-heap.o b/build/mem-heap.o index 7766cd0..412ae35 100644 Binary files a/build/mem-heap.o and b/build/mem-heap.o differ diff --git a/build/mem-paging.o b/build/mem-paging.o index 470c39a..ec2a845 100644 Binary files a/build/mem-paging.o and b/build/mem-paging.o differ diff --git a/build/mem-phys.o b/build/mem-phys.o index 2d1f7d7..3d7efca 100644 Binary files a/build/mem-phys.o and b/build/mem-phys.o differ diff --git a/build/memory_alloc.o b/build/memory_alloc.o index 6818588..e031b45 100644 Binary files a/build/memory_alloc.o and b/build/memory_alloc.o differ diff --git a/build/memory_info.o b/build/memory_info.o index e502079..844fad9 100644 Binary files a/build/memory_info.o and b/build/memory_info.o differ diff --git a/build/memory_init.o b/build/memory_init.o index d0fd266..d28bc0c 100644 Binary files a/build/memory_init.o and b/build/memory_init.o differ diff --git a/build/tasking-asm.o b/build/tasking-asm.o index c08f132..b238399 100644 Binary files a/build/tasking-asm.o and b/build/tasking-asm.o differ diff --git a/build/tasking-multi.o b/build/tasking-multi.o index 40bb347..795ac12 100644 Binary files a/build/tasking-multi.o and b/build/tasking-multi.o differ diff --git a/build/tasking-stack.o b/build/tasking-stack.o new file mode 100644 index 0000000..b2ddd44 Binary files /dev/null and b/build/tasking-stack.o differ 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 b5e7f64..79f3365 100644 Binary files a/kernel.bin and b/kernel.bin differ diff --git a/luxos.img b/luxos.img index 4c6c5cf..40287cc 100644 Binary files a/luxos.img and b/luxos.img differ 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