Function at 0x47f284
Capabilities:
Check for software breakpoints
Check http status code
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x47f28d
mov eax, dword [ebp - 4]
add esp, 0xfffffbc4
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
jne 0x47f2b1
or eax, 0xffffffff
jmp 0x48ad05
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xdc], 0
je 0x47f2ed
cmp dword [ebp - 0xe8], 8
jae 0x47f2f4
xor eax, eax
jmp 0x48ad05
mov edx, dword [ebp - 0xe8]
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
jne 0x47f32d
mov ecx, dword [ebp - 0xe8]
push ecx
push 0x4c7924
call sym.ollydbg.exe__Error
add esp, 8
or eax, 0xffffffff
jmp 0x48ad05
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe0]
jae 0x47f47e
mov edx, dword [ebp - 0xd8]
push edx
call sym.ollydbg.exe__Findmemory
pop ecx
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
jne 0x47f3cf
mov dword [ebp - 0xf0], 0x1000
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0xe0]
jbe 0x47f39c
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
push edx
push 0
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
push ecx
call fcn.004a35a0
add esp, 0xc
add dword [ebp - 0xd8], 0x1000
jmp 0x47f46c
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x194]
mov edx, dword [eax]
add edx, dword [ecx + 4]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xec]
jae 0x47f412
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], edx
push 1
mov ecx, dword [ebp - 0xec]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
sub edx, dword [ebp - 0xdc]
push edx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, dword [ebp - 0xec]
je 0x47f459
mov ecx, dword [ebp - 0x180]
push ecx
call sub.KERNEL32.DLL_GlobalFree
or eax, 0xffffffff
jmp 0x48ad05
mov edx, dword [ebp - 0xec]
add dword [ebp - 0xd8], edx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe0]
jb 0x47f350
cmp dword [ebp - 4], 0
jne 0x47f4ae
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push str.Module__.s_has_empty_code_section
call sym.ollydbg.exe__Error
add esp, 0xc
mov edx, dword [ebp - 0x180]
push edx
call sub.KERNEL32.DLL_GlobalFree
or eax, 0xffffffff
jmp 0x48ad05
push 0xc000
push 0
push 0
push 0
push 0
call sym.ollydbg.exe__Setcpu
add esp, 0x14
lea edx, [ebp - 0x5e8]
push 0x400
push 0
push edx
call fcn.004a35a0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x47f51b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
inc dword [ebp + eax*4 - 0x5e8]
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x47f4ef
mov ecx, dword [ebp - 0x3dc]
add ecx, dword [ebp - 0x3c4]
add ecx, dword [ebp - 0x3bc]
add ecx, dword [ebp - 0x248]
add ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x5e8]
sub eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x2000
jb 0x47f60e
mov edx, dword [ebp - 0x148]
push edx
mov ecx, dword [ebp - 0x144]
push ecx
push 0x3e8
call sub.KERNEL32.DLL_MulDiv
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x4b
jae 0x47f60e
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push str.Quick_statistical_test_of_module__.s_reports_that_its_code_section_is_either_compressed__encrypted__or_contains_large_amount_of_embedded_data._Results_of_code_analysis_can_be_very_unreliable_or_simply_wrong._Do_you_want_to_continue_analysis_
lea edx, [ebp - 0x7e8]
push edx
call fcn.004a6c2c
add esp, 0x10
lea ecx, [ebp - 0x7e8]
mov eax, dword [0x4d3b7c]
push 0x2124
push str.Compressed_code_
push ecx
push eax
call sub.USER32.DLL_MessageBoxA
mov ebx, eax
cmp ebx, 6
je 0x47f60e
mov eax, dword [ebp - 0x180]
push eax
call sub.KERNEL32.DLL_GlobalFree
mov edx, dword [ebp + 8]
cmp dword [edx + 0x16c], 0
je 0x47f606
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x16c]
push eax
call sub.KERNEL32.DLL_GlobalFree
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [edx + 0x16c], ecx
or eax, 0xffffffff
jmp 0x48ad05
cmp dword [0x4d916c], 2
jne 0x47f8c6
push 0
lea edx, [ebp - 0xbec]
push edx
lea ecx, [ebp - 0xaec]
push ecx
lea eax, [ebp - 0x177]
push eax
mov edx, dword [ebp + 8]
add edx, 0x50
push edx
call fcn.004a51bc
add esp, 0x14
lea ecx, [ebp - 0xbec]
lea eax, [ebp - 0xaec]
lea edx, [ebp - 0x177]
push str..uds
push ecx
push eax
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.004a5198
add esp, 0x14
push 0x4c7a79
lea eax, [ebp - 0x9ec]
push eax
call fcn.004a5374
add esp, 8
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x47f8c6
push 0x34
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x37
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
mov ecx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x9ec]
push ecx
push 0x104
push eax
call fcn.004a4fe8
add esp, 0xc
test eax, eax
je 0x47f86a
lea edx, [ebp - 0x9ec]
push edx
call fcn.004a36d4
pop ecx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
lea eax, [ebp + ecx - 0x9ed]
mov dword [ebp - 0x1c8], eax
jmp 0x47f73e
dec dword [ebp - 8]
dec dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1c8]
mov byte [edx + 1], 0
cmp dword [ebp - 8], 0
jle 0x47f762
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0xa
je 0x47f72b
mov edx, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0xd
je 0x47f72b
xor ebx, ebx
lea eax, [ebp - 0x9ec]
mov dword [ebp - 0x1c8], eax
cmp ebx, dword [ebp - 8]
jge 0x47f79f
mov edx, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x20
je 0x47f793
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
cmp edx, 9
jne 0x47f79f
inc ebx
inc dword [ebp - 0x1c8]
cmp ebx, dword [ebp - 8]
jl 0x47f775
cmp ebx, dword [ebp - 8]
je 0x47f6e6
lea ecx, [ebp - 0xcec]
lea eax, [ebp - 0xbec]
push ecx
push eax
lea edx, [ebp - 0xaec]
lea eax, [ebp - 0x9ec]
push edx
lea ecx, [ebp - 0x177]
push ecx
add ebx, eax
push ebx
call fcn.004a51bc
add esp, 0x14
cmp byte [ebp - 0x177], 0
jne 0x47f808
cmp byte [ebp - 0xaec], 0
jne 0x47f808
push 0
push 0
lea edx, [ebp - 0xaec]
push edx
lea ecx, [ebp - 0x177]
push ecx
mov eax, dword [ebp + 8]
add eax, 0x50
push eax
call fcn.004a51bc
add esp, 0x14
cmp byte [ebp - 0xcec], 0
jne 0x47f820
mov esi, str..obj
lea edi, [ebp - 0xcec]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edx, [ebp - 0xcec]
push edx
lea ecx, [ebp - 0xbec]
push ecx
lea eax, [ebp - 0xaec]
push eax
lea edx, [ebp - 0x177]
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.004a5198
add esp, 0x14
lea eax, [ebp - 0x7e8]
push eax
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.00469ff0
add esp, 0xc
jmp 0x47f6e6
push 0
push 0
push 0
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x180], 0
je 0x47f89c
push 0
push 0
push 0x477
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x180]
push ecx
call sub.USER32.DLL_SendMessageA
cmp dword [0x4d74e8], 0
je 0x47f8b9
push 0
push 0
push 0x477
mov eax, dword [0x4d74e8]
push eax
call sub.USER32.DLL_SendMessageA
mov edx, dword [ebp - 0x1b8]
push edx
call fcn.004a4ed8
pop ecx
mov dword [ebp - 0x24], 0x18000
mov dword [ebp - 0x28], 0x2000
push 4
push 0x1000
mov ecx, dword [ebp - 0x24]
shl ecx, 2
push ecx
push 0
call sub.KERNEL32.DLL_VirtualAlloc
mov dword [ebp - 0x168], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x24]
shl eax, 2
push eax
push 0
call sub.KERNEL32.DLL_VirtualAlloc
mov dword [ebp - 0x16c], eax
push 4
push 0x1000
mov edx, dword [ebp - 0x28]
shl edx, 2
push edx
push 0
call sub.KERNEL32.DLL_VirtualAlloc
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x168], 0
je 0x47f944
cmp dword [ebp - 0x16c], 0
je 0x47f944
cmp dword [ebp - 0x174], 0
jne 0x47f9c5
mov ecx, dword [ebp - 0x180]
push ecx
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x168], 0
je 0x47f96c
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call sub.KERNEL32.DLL_VirtualFree
cmp dword [ebp - 0x16c], 0
je 0x47f988
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call sub.KERNEL32.DLL_VirtualFree
cmp dword [ebp - 0x174], 0
je 0x47f9a4
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call sub.KERNEL32.DLL_VirtualFree
mov eax, dword [ebp - 0x24]
add eax, eax
add eax, dword [ebp - 0x28]
shl eax, 2
push eax
push 0x4c7924
call sym.ollydbg.exe__Error
add esp, 8
or eax, 0xffffffff
jmp 0x48ad05
mov edx, dword [ebp + 8]
cmp dword [edx + 0x16c], 0
jne 0x47f9e8
mov ecx, dword [ebp - 0xe8]
push ecx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov edx, dword [ebp + 8]
mov dword [edx + 0x16c], eax
mov eax, dword [ebp - 0xe8]
push eax
push 0x40
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xe8]
push ecx
push 0x40
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x16c], 0
je 0x47fa32
cmp dword [ebp - 0x188], 0
je 0x47fa32
cmp dword [ebp - 0x18c], 0
jne 0x47fae5
mov edx, dword [ebp - 0x180]
push edx
call sub.KERNEL32.DLL_GlobalFree
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x16c], 0
je 0x47fa64
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
push edx
call sub.KERNEL32.DLL_GlobalFree
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x16c], eax
cmp dword [ebp - 0x188], 0
je 0x47fa79
mov edx, dword [ebp - 0x188]
push edx
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x18c], 0
je 0x47fa8e
mov ecx, dword [ebp - 0x18c]
push ecx
call sub.KERNEL32.DLL_GlobalFree
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call sub.KERNEL32.DLL_VirtualFree
mov eax, dword [ebp - 0xe8]
add eax, eax
push eax
push 0x4c7924
call sym.ollydbg.exe__Error
add esp, 8
or eax, 0xffffffff
jmp 0x48ad05
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [edx + 0x170], ecx
mov eax, dword [0x4d54d8]
push eax
call sub.USER32.DLL_SetCursor
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0xbc], 5
cmp dword [0x4d91c8], 2
jne 0x47fb55
mov dword [ebp - 0xc0], 0xb4
mov dword [ebp - 0xc4], 0x15e
mov edx, 0x226
cmp dword [0x4d9210], 0
jne 0x47fb39
add edx, 0x64
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], 0x28a
mov dword [ebp - 0xd0], 0x302
jmp 0x47fb94
mov dword [ebp - 0xc0], 0xe6
mov dword [ebp - 0xc4], 0x19a
mov ecx, 0x226
cmp dword [0x4d9210], 0
jne 0x47fb7a
add ecx, 0x64
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], 0x28a
mov dword [ebp - 0xd0], 0x302
mov dword [ebp - 0xd4], 0x3e6
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push str.Analysing__.s_press_SPACE_to_interrupt
lea edx, [ebp - 0x8e8]
push edx
call fcn.004a6c2c
add esp, 0x10
lea ecx, [ebp - 0x8e8]
push ecx
push 1
call sym.ollydbg.exe__Progress
add esp, 8
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
mov dword [ebp - 0x184], edx
mov ecx, dword [ebp - 0xe8]
push ecx
push 0
mov eax, dword [ebp - 0x184]
push eax
call fcn.004a35a0
add esp, 0xc
push 0x3a
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x39
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call sym.ollydbg.exe__Deletenamerange
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add esp, 0xc
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
push 0x4dc8cd
call sym.ollydbg.exe__Deletesorteddatarange
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx]
add eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
push 0x4dca05
call sym.ollydbg.exe__Deletesorteddatarange
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.0049b12c
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.0047f1d0
pop ecx
mov edx, 0x4000
mov dword [0x4ed904], edx
mov ecx, dword [0x4ed904]
lea ecx, [ecx + ecx*8]
push ecx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov edx, dword [ebp + 8]
mov dword [edx + 0x421], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
jne 0x47fd1b
xor ecx, ecx
mov dword [0x4ed904], ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x425], edx
mov ecx, dword [ebp - 0xe0]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
push 0x4d9034
call sym.ollydbg.exe__Findsorteddataindex
add esp, 0xc
mov ebx, eax
test ebx, ebx
jl 0x47ff7f
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*2]
add eax, dword [0x4d9150]
mov dword [ebp - 0x1b4], eax
jmp 0x47ff63
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b4]
mov edi, dword [eax]
mov eax, dword [ebp - 0x1b4]
sub edi, dword [ebp - 0xdc]
mov ecx, dword [edx + 8]
mov edx, dword [eax + 4]
add edx, edi
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jbe 0x47fda6
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x13c], eax
cmp edi, dword [ebp - 0x13c]
jae 0x47ff5b
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [edx + 8]
cmp ecx, 0xc
ja case.0x47fdca.0
mov cl, byte [ecx + 0x47fdd1]
jmp dword [ecx*4 + 0x47fdde]
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0xa1
inc edi
jmp 0x47ff4f
lea edx, [edi + 2]
cmp edx, dword [ebp - 0xe8]
ja 0x47fe26
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0xa2
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 1], 0xa3
add edi, 2
jmp 0x47ff4f
lea edx, [edi + 4]
cmp edx, dword [ebp - 0xe8]
ja 0x47fe64
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0xa4
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 1], 0xa3
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 2], 0xa3
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 3], 0xa3
add edi, 4
jmp 0x47ff4f
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0xab
inc edi
mov edx, dword [ebp - 0x180]
cmp byte [edx + edi - 1], 0
je 0x47ff4f
mov ebx, 1
jmp 0x47feac
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0xa3
inc edi
mov edx, dword [ebp - 0x180]
cmp byte [edx + edi - 1], 0
je 0x47ff4f
inc ebx
cmp ebx, 0x10
jge 0x47ff4f
cmp edi, dword [ebp - 0x13c]
jb 0x47fe8f
jmp 0x47ff4f
lea ecx, [edi + 2]
cmp ecx, dword [ebp - 0x13c]
ja 0x47fee3
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0xac
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0xa3
inc edi
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edi - 2], 0
jne 0x47fefd
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi - 1], 0
je 0x47ff4f
mov ebx, 2
jmp 0x47ff37
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0xa3
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0xa3
inc edi
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edi - 2], 0
jne 0x47ff34
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi - 1], 0
je 0x47ff4f
add ebx, 2
cmp ebx, 0x10
jge 0x47ff4f
lea edx, [edi + 2]
cmp edx, dword [ebp - 0x13c]
jbe 0x47ff04
jmp 0x47ff4f
mov edi, dword [ebp - 0x13c]
cmp edi, dword [ebp - 0x13c]
jb 0x47fdb2
inc ebx
add dword [ebp - 0x1b4], 0xc
cmp ebx, dword [0x4d9138]
jge 0x47ff7f
mov eax, dword [ebp - 0x1b4]
mov edx, dword [eax]
cmp edx, dword [ebp - 0xe0]
jb 0x47fd64
mov ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Findfixup
xor edx, edx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x30], edx
add esp, 8
cmp dword [ebp - 0x19c], 0
je 0x48003f
jmp 0x48001d
mov ecx, dword [ebp - 0x19c]
cmp dword [ecx + 4], 4
jne 0x480016
mov eax, dword [ebp - 0x19c]
mov edx, dword [eax]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x18
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 1], 0x10
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 2], 0x10
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 3], 0x10
mov dword [ebp - 0x30], 1
add dword [ebp - 0x19c], 8
mov edx, dword [ebp - 0x19c]
cmp dword [edx], 0
je 0x48003f
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ecx]
add eax, 4
cmp eax, dword [ebp - 0xe0]
jbe 0x47ffac
lea edx, [ebp - 0x8e8]
push edx
push 2
call sym.ollydbg.exe__Progress
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
push 0
push 0x33
mov eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Findname
add esp, 0xc
test eax, eax
je 0x48007a
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
jmp 0x4800b3
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x4800b3
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xd8]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xdc]
jb 0x4800da
mov eax, dword [ebp - 0xe0]
sub eax, 4
cmp eax, dword [ebp - 0xd8]
jb 0x4800da
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jl 0x48008a
cmp dword [ebp - 0x14], 2
mov ecx, 0x80
jg 0x4800e8
add ecx, 0xffffff80
mov dword [ebp - 0xc], ecx
xor ebx, ebx
jmp 0x480122
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
sub edx, dword [ecx + ebx*4]
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 4
je 0x480121
cmp dword [ebp - 0x140], 8
je 0x480121
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x48012a
inc ebx
mov edx, dword [ebp - 0x14]
dec edx
cmp ebx, edx
jl 0x4800ef
xor ebx, ebx
cmp ebx, dword [ebp - 0x14]
jge 0x48024a
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 4
mov byte [ecx + eax], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 1], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 2], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 3], dl
mov ecx, dword [ebp - 0xe8]
sub ecx, 8
cmp ecx, dword [ebp - 0xd8]
jbe 0x480240
mov eax, dword [ebp - 0x14]
dec eax
cmp ebx, eax
jge 0x4801cd
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
sub ecx, dword [ebp - 0xd8]
cmp ecx, 8
je 0x4801e8
mov eax, dword [ebp - 0x14]
dec eax
cmp ebx, eax
jne 0x480240
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
cmp dword [edx + ecx + 4], 0
jne 0x480240
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 4
mov byte [eax + edx + 4], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 5], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 6], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 7], cl
inc ebx
cmp ebx, dword [ebp - 0x14]
jl 0x480135
lea eax, [ebp - 0x8e8]
push eax
push 3
call sym.ollydbg.exe__Progress
add esp, 8
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0xdc]
jb 0x48058e
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0xe0]
jae 0x48058e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
jmp 0x480579
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0x1bc], edx
push str.Struct_IMAGE_IMPORT_DESCRIPTOR
push 0x3a
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor ebx, ebx
mov eax, dword [ebp - 0xf4]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x84
inc ebx
mov ecx, dword [ebp - 0xf4]
add ecx, ebx
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
inc ebx
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx], 0x83
inc ebx
mov eax, dword [ebp - 0xf4]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x83
inc ebx
cmp ebx, 0x14
jl 0x4802c6
mov ecx, dword [ebp - 0x1bc]
cmp dword [ecx + 0xc], 0
je 0x48058e
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe8]
jae 0x48058e
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4803ae
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x48036a
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x480383
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
jmp 0x480396
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xe4]
add edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edx], 0
je 0x4803c8
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x104
jge 0x4803c8
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xe8]
jb 0x48035a
mov edx, dword [ebp - 0x1bc]
cmp dword [edx], 0
je 0x480572
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [edx]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x48058e
mov ebx, dword [ebp - 8]
cmp ebx, 0xe0
jle 0x480412
mov ebx, 0xe0
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xe4]
push eax
push ebx
push str.Import_lookup_table_for__.s
lea edx, [ebp - 0x7e8]
push edx
call fcn.004a6c2c
add esp, 0x10
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
jmp 0x48055d
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x84
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 1], 0x83
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 2], 0x83
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 3], 0x83
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov edi, dword [eax + edx]
test edi, edi
je 0x480572
test edi, 0x80000000
jne 0x480556
mov eax, dword [ebp + 8]
mov edx, dword [eax]
sub edx, dword [ebp - 0xdc]
add edi, edx
lea ecx, [edi + 4]
cmp ecx, dword [ebp - 0xe8]
jae 0x480572
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x82
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
xor ebx, ebx
jmp 0x48052c
mov eax, ebx
and eax, 0x8000000f
jns 0x480501
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jne 0x480511
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x8b
jmp 0x48051b
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi], 0
jne 0x48052a
inc edi
jmp 0x48053c
inc ebx
inc edi
cmp ebx, 0x100
jge 0x48053c
cmp edi, dword [ebp - 0xe8]
jb 0x4804f3
cmp edi, dword [ebp - 0xe8]
jae 0x480556
test edi, 1
je 0x480556
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x81
add dword [ebp - 0xd8], 4
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
jbe 0x480457
add dword [ebp - 0xf4], 0x14
mov eax, dword [ebp - 0xe8]
sub eax, 0x14
cmp eax, dword [ebp - 0xf4]
jae 0x480296
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [ebp - 0xdc]
jb 0x4809ca
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
add edx, 0x28
cmp edx, dword [ebp - 0xe0]
ja 0x4809ca
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0x1c0], edx
push str.Struct_IMAGE_EXPORT_DIRECTORY
push 0x3a
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor ebx, ebx
cmp ebx, 8
je 0x480601
cmp ebx, 0xa
jne 0x480629
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, ebx
inc ebx
mov byte [edx + eax], 0x82
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
add ecx, ebx
inc ebx
mov byte [eax + ecx], 0x83
jmp 0x480675
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x184]
add edx, ebx
inc ebx
mov byte [ecx + edx], 0x84
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, ebx
inc ebx
mov byte [edx + eax], 0x83
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
add ecx, ebx
inc ebx
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x184]
add edx, ebx
inc ebx
mov byte [ecx + edx], 0x83
cmp ebx, 0x28
jl 0x4805f7
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe8]
jae 0x48071b
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x480701
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x4806bd
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x4806d6
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
jmp 0x4806e9
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xe4]
add edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edx], 0
je 0x48071b
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x104
jge 0x48071b
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xe8]
jb 0x4806ad
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x1c]
add ecx, dword [eax]
sub ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x48075f
push str.Export_Address_Table
push 0x3a
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x4807d8
mov edx, dword [ebp - 0xd8]
add edx, 4
cmp edx, dword [ebp - 0xe8]
ja 0x4807e9
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x84
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [ebp - 0x140]
ja 0x480769
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x20]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x48082d
push str.Export_Name_Pointer_Table
push 0x3a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x140], ecx
jmp 0x480913
mov eax, dword [ebp - 0xd8]
add eax, 4
cmp eax, dword [ebp - 0xe8]
ja 0x480928
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x84
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 1], 0x83
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 2], 0x83
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 3], 0x83
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov edi, dword [eax + edx]
mov eax, dword [ebp + 8]
add edi, dword [eax]
sub edi, dword [ebp - 0xdc]
cmp edi, dword [ebp - 0xe8]
jae 0x480928
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4808f5
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x4808cb
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x4808db
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x8b
jmp 0x4808e5
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edi], 0
je 0x480906
inc dword [ebp - 8]
inc edi
cmp dword [ebp - 8], 0x100
jge 0x480906
cmp edi, dword [ebp - 0xe8]
jb 0x4808bb
inc dword [ebp - 0x140]
add dword [ebp - 0xd8], 4
mov eax, dword [ebp - 0x1c0]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x140]
ja 0x48083a
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
add eax, dword [edx]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x48096c
push str.Export_Ordinal_Table
push 0x3a
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x140], edx
jmp 0x4809b9
mov ecx, dword [ebp - 0xd8]
add ecx, 2
cmp ecx, dword [ebp - 0xe8]
ja 0x4809ca
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x82
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [ebp - 0x140]
ja 0x480976
lea eax, [ebp - 0x8e8]
push eax
push 4
call sym.ollydbg.exe__Progress
add esp, 8
xor esi, esi
test esi, esi
jne 0x4809ea
mov dword [ebp - 0x2c], 0x31
jmp 0x4809ff
cmp esi, 1
jne 0x4809f8
mov dword [ebp - 0x2c], 0x32
jmp 0x4809ff
mov dword [ebp - 0x2c], 0x34
push 0
mov eax, dword [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0xdc]
push edx
call sym.ollydbg.exe__Findname
add esp, 0xc
test eax, eax
je 0x480a26
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
jmp 0x480a5a
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x480a5a
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x18c]
or byte [edx + eax], 0x80
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xdc]
jb 0x480a76
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe0]
jb 0x480a36
inc esi
cmp esi, 3
jl 0x4809dd
mov edx, dword [0x4d7218]
xor ebx, ebx
mov dword [ebp - 0x198], edx
jmp 0x480ab8
push 8
push str.KERNEL32
mov eax, dword [ebp - 0x198]
add eax, 0x48
push eax
call fcn.004a3954
add esp, 0xc
test eax, eax
je 0x480ac0
inc ebx
add dword [ebp - 0x198], 0x465
cmp ebx, dword [0x4d7200]
jl 0x480a90
xor edx, edx
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x160], edx
cmp ebx, dword [0x4d7200]
jge 0x480b4e
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x198]
add ecx, dword [eax + 4]
lea eax, [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx]
push ecx
push eax
push str.ExitThread
call sym.ollydbg.exe__Findlabelbyname
add esp, 0x10
cmp eax, 0x32
je 0x480b12
xor edx, edx
mov dword [ebp - 0x160], edx
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x198]
mov eax, dword [ecx]
add eax, dword [edx + 4]
lea edx, [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx]
push eax
push edx
push str.ExitProcess
call sym.ollydbg.exe__Findlabelbyname
add esp, 0x10
cmp eax, 0x32
je 0x480b4e
xor ecx, ecx
mov dword [ebp - 0x164], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x481410
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x480c09
jmp 0x480b9e
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x480b84
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xbc]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xbc]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x2710
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 0x80
jne 0x4813f8
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x10
jne 0x4813f8
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xd8]
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x4813f8
cmp dword [ebp - 0x1314], 0
jne 0x4813f8
mov dword [ebp - 0x140], 1
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jae 0x480cd5
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
test byte [eax + ecx], 0x80
jne 0x480cd5
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jb 0x480ca9
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [ebp - 0x150]
jb 0x4813f8
cmp dword [ebp - 0x30], 0
je 0x480d91
xor eax, eax
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jae 0x480d7f
mov ecx, dword [ebp - 0x1324]
cmp ecx, dword [ebp - 0x140]
ja 0x480d53
mov eax, dword [ebp - 0x1324]
add eax, dword [ebp - 0x1320]
cmp eax, dword [ebp - 0x140]
jbe 0x480d53
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 8
je 0x480d6b
mov eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x1324]
test al, 3
jne 0x480d7f
jmp 0x480d6b
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x480d7f
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x150]
jb 0x480d07
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jb 0x4813f8
mov ecx, dword [ebp - 0x1348]
and ecx, 0xf0
mov dword [ebp - 0x154], ecx
cmp dword [ebp - 0x1344], 0
je 0x480e07
cmp dword [ebp - 0x133c], 0
jne 0x480e07
mov eax, dword [ebp - 0x1330]
push eax
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
jne 0x480e07
xor ebx, ebx
jmp 0x480de3
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x180]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x64
je 0x480deb
inc ebx
cmp ebx, dword [ebp - 0x1340]
jl 0x480dca
cmp ebx, dword [ebp - 0x1340]
jge 0x4813f8
cmp dword [ebp - 0x1330], 0x1000
jae 0x4813f8
cmp dword [ebp - 0x1344], 0
jne 0x480e65
cmp dword [ebp - 0x154], 0x70
je 0x480e2b
cmp dword [ebp - 0x154], 0x50
je 0x480e2b
cmp dword [ebp - 0x154], 0x60
jne 0x480e65
cmp dword [ebp - 0x1338], 0
je 0x480e65
mov eax, dword [ebp - 0x1338]
cmp eax, dword [ebp - 0xdc]
jb 0x480e50
mov edx, dword [ebp - 0x1338]
cmp edx, dword [ebp - 0xe0]
jb 0x480e65
mov ecx, dword [ebp - 0x1338]
push ecx
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
je 0x4813f8
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x1340]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x480f90
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x1340]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx + 1]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
and edx, 0xc0
cmp edx, 0xc0
je 0x480f90
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1330]
ja 0x480ed2
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x1330]
ja 0x480f90
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x1340]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [ebp - 0xc], eax
test byte [ebp - 0xc], 0xc5
je 0x480f0d
cmp dword [ebp - 0xc], 0x84
je 0x480f0d
cmp dword [ebp - 0xc], 0x86
je 0x480f0d
cmp dword [ebp - 0xc], 0x88
jne 0x480f3b
and dword [ebp - 4], 0x1f
cmp dword [ebp - 4], 0
je 0x480f29
cmp dword [ebp - 4], 9
je 0x480f29
cmp dword [ebp - 4], 0x12
je 0x480f29
cmp dword [ebp - 4], 0x1b
jne 0x480f90
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
jmp 0x480f90
mov eax, dword [ebp - 0xc]
and eax, 0xc7
dec eax
je 0x480f58
cmp dword [ebp - 0xc], 0x85
je 0x480f58
cmp dword [ebp - 0xc], 0x87
jne 0x480f90
and dword [ebp - 4], 0x3f
cmp dword [ebp - 4], 0
je 0x480f80
cmp dword [ebp - 4], 9
je 0x480f80
cmp dword [ebp - 4], 0x12
je 0x480f80
cmp dword [ebp - 4], 0x1b
je 0x480f80
cmp dword [ebp - 4], 0x36
je 0x480f80
cmp dword [ebp - 4], 0x3f
jne 0x480f90
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
xor eax, eax
lea edx, [ebp - 0x12d0]
mov dword [ebp - 4], eax
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp - 0x1cc]
cmp byte [ecx], 0
je 0x48105a
mov eax, dword [ebp - 0x1cc]
test byte [eax], 0x20
jne 0x48105a
mov edx, dword [ebp - 0x1cc]
xor ecx, ecx
mov cl, byte [edx + 0xa]
cmp ecx, 4
je 0x48105a
xor eax, eax
mov ebx, eax
mov esi, eax
mov eax, dword [ebp - 0x1cc]
cmp ebx, 8
lea edx, [eax + ebx + 2]
mov dword [ebp - 0x1d0], edx
jge 0x48101d
mov ecx, dword [ebp - 0x1d0]
xor eax, eax
mov al, byte [ecx]
dec eax
jne 0x480fff
xor esi, esi
jmp 0x48101d
mov eax, dword [ebp - 0x1d0]
xor edx, edx
mov dl, byte [eax]
dec edx
jle 0x481011
mov esi, 1
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 8
jl 0x480fee
test esi, esi
je 0x48105a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x8d
je 0x48105a
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0xb], 0
je 0x48106e
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 0xb]
push ecx
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
je 0x48106e
inc dword [ebp - 4]
add dword [ebp - 0x1cc], 0xf
cmp dword [ebp - 4], 3
jl 0x480fa1
cmp dword [ebp - 4], 3
jl 0x4813f8
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0x150]
or byte [eax + edx], cl
cmp dword [ebp - 0x1344], 0
je 0x4810c2
mov eax, dword [ebp - 0x1330]
cmp eax, dword [ebp - 0xdc]
jb 0x4810c2
mov edx, dword [ebp - 0x1330]
cmp edx, dword [ebp - 0xe0]
jae 0x4810c2
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x10
test byte [ebp - 0x1348], 8
je 0x4810db
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x20
cmp dword [ebp - 0x1344], 0
je 0x48111d
cmp dword [ebp - 0x1330], 0xfffff
jbe 0x48111d
cmp dword [ebp - 0x1330], 0xfff00000
jae 0x48111d
mov eax, dword [ebp - 0x1330]
push eax
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
jne 0x48111d
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
cmp dword [ebp - 0x1310], 0
je 0x4811f2
test byte [ebp - 0x1310], 1
je 0x481140
cmp dword [0x4d91d4], 0
je 0x4811d0
test byte [ebp - 0x1310], 2
je 0x481152
cmp dword [0x4d91d8], 0
je 0x4811d0
test byte [ebp - 0x1310], 4
je 0x481164
cmp dword [0x4d91e0], 0
je 0x4811d0
test byte [ebp - 0x1310], 8
je 0x481176
cmp dword [0x4d91e4], 0
je 0x4811d0
test byte [ebp - 0x1310], 0x10
je 0x481188
cmp dword [0x4d91ec], 0
je 0x4811d0
test byte [ebp - 0x1310], 0x20
je 0x48119a
cmp dword [0x4d91f0], 0
je 0x4811d0
test byte [ebp - 0x1310], 0x40
je 0x4811ac
cmp dword [0x4d91f4], 0
je 0x4811d0
test byte [ebp - 0x1310], 0x80
je 0x4811be
cmp dword [0x4d91f8], 0
je 0x4811d0
test byte [ebp - 0x130f], 1
je 0x4811e2
cmp dword [0x4d91fc], 0
jne 0x4811e2
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 0x40
jmp 0x4811f2
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x20
mov edx, dword [ebp - 0x154]
cmp edx, 0x60
jg 0x481223
je 0x4813d6
sub edx, 0x10
je 0x481380
sub edx, 0x10
je 0x4813b2
sub edx, 0x30
je 0x4813c4
jmp 0x4813f8
sub edx, 0x70
je 0x48123f
sub edx, 0x10
je 0x4813e8
sub edx, 0x10
je 0x4813b2
jmp 0x4813f8
cmp dword [ebp - 0x1310], 0
jne 0x4812d3
mov ecx, dword [ebp - 0x1338]
cmp ecx, dword [ebp - 0xdc]
jb 0x4812d3
mov eax, dword [ebp - 0x1338]
cmp eax, dword [ebp - 0xe0]
jae 0x4812d3
mov edx, dword [ebp - 0x1338]
sub edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x184]
test byte [ecx + edx], 0x80
jne 0x4812d3
mov eax, dword [ebp - 0x1338]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x4812d3
mov ecx, dword [ebp - 0x1338]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xc0
cmp edx, 0xc0
je 0x4812d3
mov ecx, dword [ebp - 0x1338]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x188]
add byte [eax + ecx], 0x40
cmp dword [ebp - 0x131c], 0
jne 0x481318
push 0
push 4
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
cmp dword [ebp - 0x131c], 0
je 0x481334
mov ecx, dword [ebp - 0x131c]
push ecx
call sym.ollydbg.exe__Followcall
pop ecx
mov dword [ebp - 0x131c], eax
cmp dword [ebp - 0x131c], 0
je 0x48136e
mov eax, dword [ebp - 0x131c]
cmp eax, dword [ebp - 0x160]
je 0x481359
mov edx, dword [ebp - 0x131c]
cmp edx, dword [ebp - 0x164]
jne 0x48136e
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 7
jmp 0x4813f8
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 3
jmp 0x4813f8
mov eax, dword [ebp - 0x130c]
and eax, 0x3f
cmp eax, 0x24
jne 0x4813a0
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 5
jmp 0x4813f8
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 4
jmp 0x4813f8
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 6
jmp 0x4813f8
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 1
jmp 0x4813f8
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 2
jmp 0x4813f8
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 7
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x480b70
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x28]
cmp ecx, dword [ebp - 0xdc]
jb 0x48147f
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x28]
cmp edx, dword [ebp - 0xe0]
jae 0x48147f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x20
jne 0x48147f
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx + 0x28]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0x184]
sub ecx, dword [ebp - 0xdc]
mov byte [eax + ecx], 0x1f
xor edx, edx
mov dword [ebp - 0xd8], edx
jmp 0x481574
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xc0
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
and byte [ecx + eax], 0x3f
cmp dword [ebp - 4], 0
je 0x48156e
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0xf
je 0x48156e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x20
jne 0x48156e
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
ja 0x481550
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xec8b55
je 0x48154c
mov edx, dword [ebp - 0x13c]
and edx, 0xffffff
cmp edx, 0xe58955
je 0x48154c
mov ecx, dword [ebp - 0x13c]
and ecx, 0xff0003ff
cmp ecx, 0xc8
jne 0x481550
add dword [ebp - 4], 0x40
cmp dword [ebp - 4], 0x80
jl 0x48156e
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x48158e
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jl 0x48148c
mov ecx, dword [ebp - 0xe0]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
push 0x4d9034
call sym.ollydbg.exe__Findsorteddataindex
add esp, 0xc
mov ebx, eax
test ebx, ebx
jl 0x481680
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*2]
add eax, dword [0x4d9150]
mov dword [ebp - 0x1b4], eax
jmp 0x48165c
mov edx, dword [ebp - 0x1b4]
cmp dword [edx + 8], 0x1d
jne 0x481654
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
mov edi, dword [ecx]
mov edx, dword [eax + 4]
sub edi, dword [ebp - 0xdc]
add edx, edi
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jbe 0x481611
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x13c], eax
cmp edi, dword [ebp - 0x13c]
jae 0x481654
mov edx, dword [ebp - 0x18c]
test byte [edx + edi], 0xf
je 0x481654
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x481654
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18c]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xf
add edi, eax
cmp edi, dword [ebp - 0x13c]
jb 0x481619
inc ebx
add dword [ebp - 0x1b4], 0xc
cmp ebx, dword [0x4d9138]
jge 0x481680
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0xe0]
jae 0x481680
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jl 0x4815cc
xor edx, edx
mov dword [ebp - 0xd8], edx
xor ecx, ecx
mov dword [ebp - 0x118], ecx
xor eax, eax
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x484482
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x118]
jbe 0x481741
jmp 0x4816d8
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov eax, dword [0x4d3b7c]
push eax
lea edx, [ebp - 0x2440]
push edx
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x4816be
lea ecx, [ebp - 0x8e8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xc4]
sub edx, dword [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0xd8]
push ecx
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xc0]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov eax, dword [ebp - 0xd8]
add eax, 0x2710
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x14], 0
jle 0x483192
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jae 0x481698
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x20
jne 0x481698
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x80
je 0x4817cf
cmp dword [ebp - 0x2c], 0x1d
je 0x481698
cmp dword [ebp - 0x2c], 0x1e
je 0x481698
cmp dword [ebp - 0x2c], 0x1f
je 0x481698
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0xf
mov dword [ebp - 0x150], ecx
cmp dword [ebp - 0x150], 0
je 0x481698
cmp dword [ebp - 0x2c], 0
je 0x481966
cmp dword [ebp - 0x2c], 0x1d
je 0x481966
cmp dword [ebp - 0x2c], 0x1e
je 0x481966
cmp dword [ebp - 0x2c], 0x1f
je 0x481966
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x48186c
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x13
je 0x481866
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 3
jne 0x481883
inc dword [ebp - 0x140]
cmp dword [ebp - 0x140], 0x10
jae 0x481883
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0xf4]
jbe 0x481828
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1d
je 0x4818e0
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1e
je 0x4818e0
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1f
jne 0x481922
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf
cmp edx, dword [ebp - 0x140]
ja 0x481922
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf
sub dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0
jbe 0x481966
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0xf8
dec dword [ebp - 0x140]
cmp dword [ebp - 0x140], 0
ja 0x48192b
cmp dword [ebp - 0x2c], 0x1e
je 0x481984
cmp dword [ebp - 0x2c], 0x1f
je 0x481984
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
mov byte [eax + edx], 0x9d
jmp 0x481994
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
mov esi, 1
jmp 0x4819ae
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, esi
inc esi
mov byte [edx + eax], 0x93
cmp esi, dword [ebp - 0x150]
jb 0x48199b
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x10
je 0x481d4b
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x1330]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1344], 4
je 0x481a2b
xor eax, eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x1344], 1
je 0x481a3d
cmp dword [ebp - 0x1344], 0x11
jne 0x481a86
cmp dword [ebp - 0x133c], 0
je 0x481a57
mov edx, dword [ebp - 0x1330]
mov dword [ebp - 0x15c], edx
jmp 0x481d53
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x80
jne 0x481d53
mov eax, dword [ebp - 0x188]
test byte [eax + edi], 0x10
jne 0x481d53
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x81
jmp 0x481d53
cmp dword [ebp - 0x1344], 2
jne 0x481ad5
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x80
jne 0x481d53
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x188]
mov dl, byte [eax + edi]
or dl, byte [ecx + edi + 1]
test dl, 0x10
jne 0x481d53
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x82
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 1], 0x83
jmp 0x481d53
cmp dword [ebp - 0x1344], 4
jne 0x481bc7
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
mov al, byte [ecx + edi]
mov ecx, dword [ebp - 0x184]
or al, byte [edx + edi + 1]
mov edx, dword [ebp - 0x184]
or al, byte [ecx + edi + 2]
or al, byte [edx + edi + 3]
test al, 0x80
jne 0x481d53
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov cl, byte [eax + edi]
and ecx, 0x18
cmp ecx, 0x10
je 0x481d53
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x188]
mov dl, byte [eax + edi + 1]
mov eax, dword [ebp - 0x188]
or dl, byte [ecx + edi + 2]
or dl, byte [eax + edi + 3]
test dl, 8
jne 0x481d53
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x84
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 1], 0x83
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 2], 0x83
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 3], 0x83
cmp dword [ebp - 0x133c], 0
je 0x481d53
cmp dword [ebp - 0x1334], 0
jne 0x481d53
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jge 0x481d53
mov eax, dword [ebp - 0x188]
test byte [eax + edi], 8
jne 0x481d53
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x20]
add edi, 4
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x20]
jmp 0x481d53
mov eax, dword [ebp - 0x1344]
cmp eax, 0x11
ja case.0x481bd6.0
jmp dword [eax*4 + 0x481bdd]
mov esi, 1
jmp 0x481c7b
mov esi, 2
jmp 0x481c7b
mov esi, 4
jmp 0x481c7b
mov esi, 6
jmp 0x481c7b
mov esi, 8
jmp 0x481c7b
mov esi, 0xa
jmp 0x481c7b
mov esi, 4
jmp 0x481c7b
mov esi, 8
jmp 0x481c7b
mov esi, 0xa
jmp 0x481c7b
mov esi, 8
jmp 0x481c7b
mov esi, 0x10
jmp 0x481c7b
mov esi, 1
jmp 0x481c7b
xor esi, esi
test esi, esi
je 0x481d53
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
ja 0x481d53
xor ebx, ebx
cmp esi, ebx
jle 0x481cbe
mov eax, ebx
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
jne 0x481cbe
mov ecx, ebx
add ecx, edi
mov eax, dword [ebp - 0x188]
test byte [eax + ecx], 0x10
jne 0x481cbe
inc ebx
cmp esi, ebx
jg 0x481c99
cmp esi, ebx
jg 0x481d53
mov ebx, 1
cmp esi, ebx
jle 0x481ce2
mov eax, ebx
add eax, edi
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x83
inc ebx
cmp esi, ebx
jg 0x481ccf
cmp dword [ebp - 0x1344], 0xd
jne 0x481d02
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x85
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 4], 0x85
jmp 0x481d53
cmp dword [ebp - 0x1344], 0xe
jne 0x481d38
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x85
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 4], 0x85
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 8], 0x85
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 0xc], 0x85
jmp 0x481d53
mov ecx, dword [ebp - 0x184]
mov al, byte [ebp - 0x1344]
or al, 0x80
mov byte [ecx + edi], al
jmp 0x481d53
xor edx, edx
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
mov dword [ebp - 0x158], edx
cmp dword [ebp - 0x158], 3
jne 0x482677
push 0
push 4
lea ecx, [ebp - 0x194c]
push ecx
push 0
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x131c]
sub edi, dword [ebp - 0xdc]
cmp dword [0x4d9220], 0
je 0x482037
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
add eax, 3
cmp edi, eax
jbe 0x482037
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0x150]
add edx, 0x100
cmp edi, edx
ja 0x482037
lea ecx, [edi + 4]
cmp ecx, dword [ebp - 0xe8]
jae 0x482037
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi - 1], 0
jne 0x482037
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
mov dword [ebp - 0x13c], ecx
and ecx, 0xffffff
cmp ecx, 0xec8b55
je 0x482037
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xe58955
je 0x482037
mov edx, dword [ebp - 0x13c]
and edx, 0xff0003ff
cmp edx, 0xc8
je 0x482037
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x140], eax
jmp 0x481efd
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
mov al, byte [edx + ecx]
push eax
call sym.ollydbg.exe__IstextA
pop ecx
test eax, eax
je 0x481f08
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc2
je 0x481f08
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
je 0x481f08
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x140]
test byte [edx + ecx], 0x10
jne 0x481f08
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x140]
test byte [eax + edx], 0x80
jne 0x481f08
inc dword [ebp - 0x140]
mov ecx, edi
dec ecx
cmp ecx, dword [ebp - 0x140]
ja 0x481e89
mov eax, edi
dec eax
cmp eax, dword [ebp - 0x140]
jne 0x482037
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
mov al, byte [edx + ecx]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x188]
and al, 0xf8
or al, 1
mov byte [edx + ecx], al
lea edx, [ebp - 0x7e8]
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
push eax
push str.PUSH_ASCII___.240s_
push edx
call fcn.004a6c2c
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
mov edx, dword [ebp - 0x150]
add dword [ebp - 0xf4], edx
mov ecx, edi
sub ecx, dword [ebp - 0xf4]
push ecx
push 0x83
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xf4]
push eax
call fcn.004a35a0
add esp, 0xc
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x481fcb
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x8b
add dword [ebp - 4], 0x10
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 4]
cmp edi, edx
ja 0x481fb4
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x20
jne 0x48200d
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi]
and edx, 0x1f
cmp edx, 0x1f
je 0x48200d
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
mov al, byte [ecx + edi]
and al, 0xe0
or al, 0x1e
mov byte [edx + edi], al
push edi
mov ecx, dword [ebp - 0xf4]
push ecx
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0047ae24
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x14]
jmp 0x481698
mov eax, dword [ebp - 0x131c]
push eax
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0049b274
add esp, 8
cmp dword [ebp - 0x131c], 0
je 0x482284
cmp edi, dword [ebp - 0xe8]
jae 0x482284
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 3
je 0x482096
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x13
jne 0x482236
mov eax, dword [ebp - 0x18c]
test byte [eax + edi], 0xf
je 0x482236
mov dword [ebp - 0x13c], edi
jmp 0x4820d4
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x13c]
and byte [eax + edx], 0xf8
dec dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jae 0x482114
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x4820ae
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x4820ae
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
and byte [ecx + eax], 0xf8
xor esi, esi
dec dword [ebp - 0x13c]
jmp 0x482145
dec dword [ebp - 0x13c]
inc esi
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe8]
jae 0x48216c
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x48213e
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x48221c
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x48221c
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x48221c
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x48221c
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
je 0x48221c
xor ebx, ebx
cmp esi, ebx
jl 0x482134
mov eax, dword [ebp - 0x13c]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0x13c]
add ecx, ebx
mov eax, dword [ebp - 0x188]
and byte [eax + ecx], 0xf8
inc ebx
cmp esi, ebx
jge 0x4821ee
jmp 0x482134
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xd8]
jae 0x482236
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xd8], ecx
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 3
mov edx, dword [ebp + 8]
push edx
call fcn.0047ae24
add esp, 0x10
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x20
jne 0x482270
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1f
mov byte [ecx + edi], dl
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
jmp 0x483166
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xdc]
jb 0x483166
mov eax, dword [ebp - 0x1334]
cmp eax, dword [ebp - 0xe0]
jae 0x483166
mov edi, dword [ebp - 0x1334]
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
lea eax, [edi + 4]
cmp eax, dword [ebp - 0xe8]
ja 0x482484
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
sub ecx, dword [ebp - 0xdc]
xor eax, eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1f
je 0x482346
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1e
je 0x482346
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x9d
je 0x482346
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x93
je 0x482346
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x4822df
cmp dword [ebp - 4], 4
jne 0x482484
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x482484
cmp dword [ebp - 0x30], 0
je 0x482378
mov ecx, dword [ebp - 0x188]
test byte [ecx + edi], 8
je 0x482484
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x80
je 0x4823d9
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x4823d9
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x4823d9
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x482484
mov ecx, dword [ebp - 0x188]
or byte [ecx + edi], 0x20
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x84
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
inc edi
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x83
inc edi
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
push 3
mov eax, dword [ebp + 8]
push eax
call fcn.0047ae24
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
add esp, 0x10
test byte [edx + ecx], 0x20
jne 0x482461
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1f
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x48247e
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc ebx
jmp 0x4822b6
cmp ebx, 2
jl 0x48266a
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp + 8]
add eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push str.Call_switch_table_used_at___08X_
push ecx
call fcn.004a6c2c
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0xeec]
push eax
push 0x3a
mov edx, dword [ebp - 0x1334]
push edx
call sym.ollydbg.exe__Findname
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x482536
push 0xc
push str.Call_switch
lea ecx, [ebp - 0xeec]
push ecx
call fcn.004a37d4
add esp, 0xc
test eax, eax
jne 0x482536
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x482519
test cl, cl
je 0x482536
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x482519
add eax, 2
add edx, 2
test cl, cl
jne 0x4824fd
je 0x482536
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, str._and_other_places
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x1334]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
cmp dword [ebp - 0x15c], 0
je 0x48266a
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0xdc]
xor esi, esi
jmp 0x48256c
inc esi
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
jae 0x482617
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp ebx, eax
jle 0x482617
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x482617
mov eax, esi
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
je 0x48256b
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x81
je 0x48256b
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8b
je 0x48256b
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8c
je 0x48256b
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x83
je 0x48256b
cmp ebx, esi
jg 0x48266a
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1334]
lea edx, [ebp - 0x7e8]
sub eax, dword [ecx]
push eax
push str.Index_table_to_switch___08X_
push edx
call fcn.004a6c2c
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0x15c]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
push esi
push 0x91
mov edx, dword [ebp - 0x184]
add edx, edi
push edx
call fcn.004a35a0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x15c], ecx
jmp 0x483166
cmp dword [ebp - 0x158], 1
jne 0x482ea2
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1338], 0
je 0x48273e
cmp edi, dword [ebp - 0xe8]
jae 0x48273e
mov eax, dword [ebp - 0x184]
test byte [eax + edi], 0x20
jne 0x482714
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x482714
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + edi], dl
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.0047ae24
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add esp, 0x10
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x481698
mov edx, dword [ebp - 0x1334]
cmp edx, dword [ebp - 0xdc]
jb 0x481698
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xe0]
jae 0x481698
mov edi, dword [ebp - 0x1334]
xor eax, eax
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0x7c], eax
lea eax, [edi + 4]
cmp eax, dword [ebp - 0xe8]
ja 0x48296c
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
sub ecx, dword [ebp - 0xdc]
xor eax, eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1f
je 0x482805
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1e
je 0x482805
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x9d
je 0x482805
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x93
je 0x482805
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x48279e
cmp dword [ebp - 4], 4
jne 0x482958
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x482958
cmp dword [ebp - 0x30], 0
je 0x482837
mov ecx, dword [ebp - 0x188]
test byte [ecx + edi], 8
je 0x482958
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x80
je 0x482898
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x482898
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x482898
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x482958
mov ecx, dword [ebp - 0x188]
or byte [ecx + edi], 0x20
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x84
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
inc edi
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x83
inc edi
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
test byte [edx + ecx], 0x20
jne 0x48291d
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x48291d
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1e
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x13c]
push ecx
mov eax, dword [ebp - 0xf4]
push eax
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.0047ae24
add esp, 0x10
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x482966
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x482966
test ebx, ebx
jne 0x48296c
mov dword [ebp - 0x7c], 1
add edi, 4
inc ebx
jmp 0x482775
mov eax, dword [ebp - 0x7c]
add eax, 2
cmp ebx, eax
jl 0x482b98
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp + 8]
add edx, dword [ebp - 0xdc]
sub edx, dword [ecx]
push edx
cmp dword [ebp - 0x7c], 0
je 0x482999
mov eax, str._1_based_
jmp 0x48299e
mov eax, 0x4c666c
push eax
push str.Switch_table__sused_at___08X_
lea edx, [ebp - 0x7e8]
push edx
call fcn.004a6c2c
add esp, 0x10
mov dword [ebp - 8], eax
lea ecx, [ebp - 0xeec]
push ecx
push 0x3a
mov eax, dword [ebp - 0x7c]
shl eax, 2
add eax, dword [ebp - 0x1334]
push eax
call sym.ollydbg.exe__Findname
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x482a3c
push 0xc
push str.Switch_table
lea edx, [ebp - 0xeec]
push edx
call fcn.004a37d4
add esp, 0xc
test eax, eax
jne 0x482a3c
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x482a1f
test cl, cl
je 0x482a3c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x482a1f
add eax, 2
add edx, 2
test cl, cl
jne 0x482a03
je 0x482a3c
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, str._and_other_places
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x7c]
shl ecx, 2
add ecx, dword [ebp - 0x1334]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
cmp dword [ebp - 0x15c], 0
je 0x482b98
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0xdc]
xor esi, esi
jmp 0x482a78
inc esi
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
jae 0x482b3f
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, dword [ebp - 0x7c]
jl 0x482b3f
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp ebx, eax
jle 0x482b3f
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x482b3f
mov eax, esi
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
je 0x482a77
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x81
je 0x482a77
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8b
je 0x482a77
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8c
je 0x482a77
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x83
je 0x482a77
cmp ebx, esi
jg 0x482b98
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp + 8]
shl ecx, 2
lea edx, [ebp - 0x7e8]
add ecx, dword [ebp - 0x1334]
sub ecx, dword [eax]
push ecx
push str.Index_table_to_switch___08X_
push edx
call fcn.004a6c2c
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0x15c]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
push esi
push 0x91
mov edx, dword [ebp - 0x184]
add edx, edi
push edx
call fcn.004a35a0
add esp, 0xc
mov ecx, dword [ebp - 0x7c]
add ecx, 2
cmp ebx, ecx
jge 0x482e95
mov edi, dword [ebp - 0x1334]
xor eax, eax
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x180]
mov edx, dword [eax + edi]
sub edx, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x482c3c
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x482c3c
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x9d
je 0x482c3c
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x93
je 0x482c3c
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x482bd3
cmp dword [ebp - 4], 4
jne 0x482d8e
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe8]
jae 0x482d8e
cmp dword [ebp - 0x30], 0
je 0x482c6e
mov edx, dword [ebp - 0x188]
test byte [edx + edi], 8
je 0x482d8e
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
test byte [ecx + eax], 0x80
je 0x482ccf
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x482ccf
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x482ccf
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
jne 0x482d8e
mov edx, dword [ebp - 0x188]
or byte [edx + edi], 0x20
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x84
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 1], 0x83
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 2], 0x83
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 3], 0x83
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x20
jne 0x482d53
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x482d53
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
mov dl, byte [ecx + eax]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x184]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + eax], dl
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.0047ae24
add esp, 0x10
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jge 0x482d99
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x13c]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
jmp 0x482d99
test ebx, ebx
jne 0x482da7
mov dword [ebp - 0x7c], 1
cmp edi, 4
jb 0x482da7
sub edi, 4
inc ebx
jmp 0x482bb9
mov ecx, dword [ebp - 0x7c]
add ecx, 2
cmp ebx, ecx
jl 0x482e95
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp + 8]
add eax, dword [ebp - 0xdc]
sub eax, dword [edx]
push eax
cmp dword [ebp - 0x7c], 0
je 0x482dd4
mov ecx, str.___1_based
jmp 0x482dd9
mov ecx, 0x4c666c
push ecx
push str.Switch_table__reverse_s__used_at___08X_
lea eax, [ebp - 0x7e8]
push eax
call fcn.004a6c2c
add esp, 0x10
mov dword [ebp - 8], eax
lea edx, [ebp - 0xeec]
mov eax, ebx
push edx
push 0x3a
shl eax, 2
mov edx, dword [ebp - 0x1334]
sub edx, eax
push edx
call sym.ollydbg.exe__Findname
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x482e78
push 0xc
push str.Switch_table
lea ecx, [ebp - 0xeec]
push ecx
call fcn.004a37d4
add esp, 0xc
test eax, eax
jne 0x482e78
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x482e5b
test cl, cl
je 0x482e78
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x482e5b
add eax, 2
add edx, 2
test cl, cl
jne 0x482e3f
je 0x482e78
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, str._and_other_places
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
shl ebx, 2
mov ecx, dword [ebp - 0x1334]
sub ecx, ebx
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x15c], eax
jmp 0x481698
cmp dword [ebp - 0x158], 2
jne 0x482f77
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1338], 0
je 0x483166
cmp edi, dword [ebp - 0xe8]
jae 0x483166
mov eax, dword [ebp - 0x184]
test byte [eax + edi], 0x20
jne 0x482f4d
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x482f4d
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + edi], dl
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.0047ae24
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add esp, 0x10
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x483166
cmp dword [ebp - 0x158], 7
je 0x481698
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
cmp edx, 7
jb 0x483166
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp dword [ecx + eax], 0x258964
jne 0x483166
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp dword [edx + ecx + 3], 0
jne 0x483166
cmp dword [ebp - 0xf4], 0xc
jb 0x483166
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
cmp ecx, 0x68
jne 0x483166
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1d
je 0x483043
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x483043
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1f
jne 0x483166
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp dword [eax + edx - 7], 0x35ff64
jne 0x48306c
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp dword [ecx + eax - 4], 0
je 0x4830a0
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp dword [edx + ecx - 7], 0xa164
jne 0x483166
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp dword [eax + edx - 4], 0x50000000
jne 0x483166
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 0xb]
mov dword [ebp - 0x13c], edx
push str.SE_handler_installation
push 0x3a
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xf4]
sub ecx, 0xc
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
push str.Structured_exception_handler
push 0x3a
mov eax, dword [ebp - 0x13c]
push eax
call sym.ollydbg.exe__Insertname
add esp, 0xc
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xdc]
jbe 0x483166
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe0]
jae 0x483166
mov eax, dword [ebp - 0xdc]
sub dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
test byte [edx + ecx], 0x20
jne 0x483149
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1f
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x483166
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jge 0x484470
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x14]
jmp 0x484470
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
cmp byte [edx + ecx], 0
je 0x483231
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x483231
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x483231
inc dword [ebp - 0xd8]
jmp 0x4831e8
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x481698
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x4831e2
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 3
je 0x4831e2
jmp 0x481698
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 8
je 0x4832a0
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x84
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
jmp 0x481698
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 0x10
je 0x4832bd
inc dword [ebp - 0xd8]
jmp 0x481698
cmp dword [ebp - 0x30], 0
jne 0x4833cb
mov edx, dword [ebp - 0xe8]
sub edx, 8
cmp edx, dword [ebp - 0xd8]
jb 0x4833cb
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
cmp dword [ecx + eax], 0
jne 0x4833cb
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
sub eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xe8]
jae 0x4833cb
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx + 4]
sub eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xe8]
jae 0x4833cb
jmp 0x48338f
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 4
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 3
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 3
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 3
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
sub ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xe8]
jae 0x481698
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
cmp dword [eax + edx], 0
je 0x483337
jmp 0x481698
push 0
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0xd8]
push edx
call sym.ollydbg.exe__Isfilling
add esp, 0x10
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x483485
xor ebx, ebx
cmp ebx, dword [ebp - 4]
jge 0x48343b
mov eax, dword [ebp - 0xd8]
add eax, ebx
cmp eax, dword [ebp - 0xe8]
jae 0x48343b
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x184]
cmp byte [ecx + edx], 0
jne 0x48343b
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx + 1], 0x10
jne 0x48343b
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x4833fe
cmp ebx, dword [ebp - 4]
jl 0x483485
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x1d
inc dword [ebp - 0xd8]
mov ebx, 1
cmp ebx, dword [ebp - 4]
jge 0x481698
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x13
inc dword [ebp - 0xd8]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x483464
jmp 0x481698
cmp dword [0x4d91cc], 0
je 0x483764
test byte [ebp - 0xd8], 3
jne 0x483764
mov ecx, dword [ebp - 0xd8]
add ecx, 8
cmp ecx, dword [ebp - 0xe8]
jae 0x483764
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
cmp dword [eax + edx], 0xffffffff
jne 0x483764
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax + 4]
mov dword [ebp - 0x13c], edx
test edx, edx
jbe 0x483764
cmp dword [ebp - 0x13c], 0x400
jae 0x483764
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x13c]
add eax, 8
cmp eax, dword [ebp - 0xe8]
jae 0x483764
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x180]
cmp byte [eax + ecx + 8], 0
jne 0x483764
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx + 8], 0x10
jne 0x483764
mov dword [ebp - 0x140], 8
jmp 0x4835af
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x180]
mov cl, byte [edx + eax]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
test eax, eax
je 0x4835c0
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x4835c0
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
test byte [eax + ecx], 0x80
jne 0x4835c0
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
add edx, 8
cmp edx, dword [ebp - 0x140]
ja 0x483559
mov ecx, dword [ebp - 0x13c]
add ecx, 8
cmp ecx, dword [ebp - 0x140]
ja 0x483764
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x84
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x84
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x13c]
inc edx
push edx
push 0x83
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xd8]
push ecx
call fcn.004a35a0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x4836ce
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx], 0x8b
add dword [ebp - 0x140], 0x10
mov eax, dword [ebp - 0x13c]
inc eax
cmp eax, dword [ebp - 0x140]
ja 0x4836b1
mov edx, dword [ebp - 0x13c]
inc edx
add dword [ebp - 0xd8], edx
jmp 0x483702
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 1
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x481698
test byte [ebp - 0xd8], 3
je 0x481698
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
cmp byte [ecx + eax], 0
jne 0x481698
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x10
jne 0x481698
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x80
je 0x4836ec
jmp 0x481698
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax]
push edx
call sym.ollydbg.exe__IstextA
pop ecx
test eax, eax
je 0x48390a
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], ecx
jmp 0x4837fc
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov cx, word [eax + edx]
push ecx
call sym.ollydbg.exe__IstextW
pop ecx
test eax, eax
je 0x48380b
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
cmp byte [eax + edx], 0
jne 0x48380b
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
cmp byte [ecx + eax + 1], 0
jne 0x48380b
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x10
jne 0x48380b
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx + 1], 0x10
jne 0x48380b
add dword [ebp - 0xf4], 2
mov ecx, dword [ebp - 0xf4]
inc ecx
cmp ecx, dword [ebp - 0xe8]
jb 0x483790
mov eax, dword [ebp - 0xf4]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x48390a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
cmp byte [edx + ecx], 0
jne 0x48390a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
cmp byte [eax + edx + 1], 0
jne 0x48390a
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x10
jne 0x48390a
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx + 1], 0x10
jne 0x48390a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp word [eax + edx], 0
jne 0x48390a
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xd8]
cmp ecx, 8
jb 0x48390a
add dword [ebp - 0xf4], 2
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xd8]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
push edx
call fcn.004a35a0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x4838e8
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8c
add dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xf4]
jb 0x4838d1
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], eax
jmp 0x481698
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0xf4], 3
jne 0x48392b
xor eax, eax
mov dword [ebp - 0x6c], eax
jmp 0x483932
mov dword [ebp - 0x6c], 1
xor edx, edx
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x78], 0
jne 0x483962
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x483962
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x4839ad
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x4839ad
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x4839b9
mov dword [ebp - 0x68], 0x30
jmp 0x483cad
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xf
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0
jne 0x4839e8
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
je 0x483a06
mov dword [ebp - 0x6c], 6
jmp 0x483cad
xor esi, esi
jmp 0x483a1f
mov eax, dword [ebp - 0xf4]
add eax, esi
mov edx, dword [ebp - 0x184]
cmp byte [edx + eax], 0
jne 0x483a27
inc esi
cmp esi, dword [ebp - 0x150]
jb 0x483a0a
cmp esi, dword [ebp - 0x150]
jae 0x483a3b
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0x150]
add ecx, 3
cmp ecx, dword [ebp - 0xe8]
ja 0x483ae8
mov esi, 1
jmp 0x483acc
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
lea ecx, [eax + edx]
mov eax, dword [ecx + esi]
and eax, 0xffffff
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0xec8b55
je 0x483a92
cmp dword [ebp - 0x13c], 0xe58955
jne 0x483acb
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
mov al, byte [ecx + edx]
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
or al, byte [ecx + edx + 1]
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
or al, byte [ecx + edx + 2]
test al, 0x10
je 0x483ad4
inc esi
cmp esi, dword [ebp - 0x150]
jb 0x483a5d
cmp esi, dword [ebp - 0x150]
jae 0x483ae8
mov dword [ebp - 0x6c], 6
jmp 0x483cad
cmp dword [0x4d91e8], 0
jne 0x483b20
push 0
mov eax, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Isfilling
add esp, 0x10
test eax, eax
je 0x483b20
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x60
je 0x483b35
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 6
jge 0x483cad
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 2
je 0x483b78
cmp dword [ebp - 0x158], 1
je 0x483b78
cmp dword [ebp - 0x158], 3
jne 0x483c6c
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
cmp dword [ebp - 0x1338], 0
je 0x483c6c
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp edi, dword [ebp - 0xe8]
jb 0x483bee
cmp dword [ebp - 0x158], 2
jne 0x483c6c
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov eax, dword [ebp - 0x18c]
test byte [eax + edi], 0xf
jne 0x483c06
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov edx, dword [ebp - 0x184]
test byte [edx + edi], 0x80
je 0x483c54
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 0x1d
je 0x483c54
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x483c54
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi]
and edx, 0x1f
cmp edx, 0x1f
je 0x483c54
mov dword [ebp - 0x6c], 6
jmp 0x483cad
cmp dword [ebp - 0x158], 1
jne 0x483c6c
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x78], 1
jmp 0x483ca0
cmp dword [ebp - 0x158], 7
je 0x483c7e
cmp dword [ebp - 0x158], 1
jne 0x483c94
mov ecx, dword [ebp - 0x6c]
add ecx, ecx
add ecx, 0xfffffffe
cmp ecx, dword [ebp - 0x68]
jle 0x483cad
mov dword [ebp - 0x6c], 6
jmp 0x483cad
mov eax, dword [ebp - 0x150]
add dword [ebp - 0xf4], eax
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0x30
jl 0x483937
cmp dword [ebp - 0x6c], 6
jge 0x483d0f
mov edx, dword [ebp - 0xd8]
inc edx
test dl, 3
jne 0x483d0f
mov ecx, dword [ebp - 0xd8]
add ecx, 2
cmp ecx, dword [ebp - 0xe8]
ja 0x483d0f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
cmp byte [eax + edx], 0
jne 0x483d0f
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax + 1], 0xf
je 0x483d0f
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx + 1], 0x60
jne 0x483d0f
mov dword [ebp - 0x6c], 6
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 2
mov eax, 1
je 0x483d34
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x6c], 6
jge 0x483dba
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
je 0x483db5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xcc
je 0x483db5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xe8
je 0x483db5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xe9
je 0x483db5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xeb
jne 0x483dba
xor edx, edx
mov dword [ebp - 0x74], edx
mov ebx, 1
jmp 0x483e10
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x483e20
mov ecx, dword [ebp - 0xd8]
add ecx, ebx
mov eax, dword [ebp - 0x184]
test byte [eax + ecx], 0x80
jne 0x483e20
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x180]
mov al, byte [ecx + edx]
push eax
call sym.ollydbg.exe__IstextA
pop ecx
mov esi, eax
test esi, esi
je 0x483e20
cmp esi, 2
jne 0x483e0f
inc dword [ebp - 0x70]
inc ebx
mov eax, dword [ebp - 0xd8]
add eax, ebx
cmp eax, dword [ebp - 0xe8]
jb 0x483dc1
cmp dword [ebp - 0x74], 0
je 0x48413e
cmp ebx, 2
jl 0x48413e
mov edx, dword [ebp - 0xd8]
add edx, ebx
cmp edx, dword [ebp - 0xe8]
jae 0x48413e
mov ecx, dword [ebp - 0xd8]
add ecx, ebx
mov eax, dword [ebp - 0x180]
cmp byte [eax + ecx], 0
jne 0x48413e
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x184]
test byte [ecx + edx], 0x80
jne 0x48413e
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x48413e
cmp dword [ebp - 0x30], 0
jne 0x483efd
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
ja 0x483efd
cmp ebx, 4
jg 0x483efd
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
mov eax, dword [ebp + 8]
cmp ecx, dword [eax]
jb 0x483efd
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
add ecx, dword [edx + 4]
cmp eax, ecx
jae 0x483efd
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + ecx]
push eax
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
jne 0x484350
cmp dword [0x4d91cc], 0
je 0x4840ad
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
dec eax
jle 0x4840ad
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x10
jge 0x4840ad
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp ebx, eax
jle 0x4840ad
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
add eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x4840ad
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx + 1]
lea edx, [ebx - 1]
cmp eax, edx
jle 0x4840ad
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 3
jg 0x48401e
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 1]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x4840ad
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 2]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x4840ad
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 3
jl 0x48401e
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 3]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x4840ad
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x81
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
inc edx
push edx
call fcn.004a35a0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x48407a
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax + 1], 0x8b
add dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, dword [ebp - 4]
jg 0x484062
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
inc edx
add dword [ebp - 0xd8], edx
jmp 0x481698
cmp dword [ebp - 0x6c], 1
jg 0x4840df
mov ecx, 3
sub ecx, dword [ebp - 0x6c]
cmp ebx, ecx
jle 0x4840c5
cmp dword [ebp - 0x70], 0
jle 0x4840df
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x481698
cmp ebx, 2
jg 0x4840ee
cmp dword [ebp - 0x70], 0
jne 0x484350
lea eax, [ebx + 1]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
push edx
call fcn.004a35a0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp ebx, dword [ebp - 4]
jl 0x484132
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
add dword [ebp - 4], 0x10
cmp ebx, dword [ebp - 4]
jge 0x484116
inc ebx
add dword [ebp - 0xd8], ebx
jmp 0x481698
cmp dword [0x4d91cc], 0
je 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
dec ecx
jle 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ebx, ecx
jle 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
add ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call fcn.00454868
pop ecx
test eax, eax
je 0x4841d4
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ebx, ecx
jg 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 3
jg 0x4842c1
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
cmp eax, 2
je 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 2]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 2]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
cmp eax, 2
je 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 3
jl 0x4842c1
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 3]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x484350
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 3]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
cmp eax, 2
je 0x484350
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x81
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
push edx
push 0x83
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xd8]
inc ecx
push ecx
call fcn.004a35a0
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x48431d
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx + 1], 0x8b
add dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, dword [ebp - 4]
jg 0x484305
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
inc ecx
add dword [ebp - 0xd8], ecx
jmp 0x481698
cmp dword [ebp - 0x6c], 6
jge 0x484370
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x481698
cmp dword [ebp - 0x30], 0
jne 0x48445a
mov eax, dword [ebp - 0xd8]
add eax, 4
cmp eax, dword [ebp - 0xe8]
ja 0x48445a
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
mov edx, dword [ebp + 8]
cmp eax, dword [edx]
jb 0x48445a
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 4]
cmp edx, eax
jae 0x48445a
cmp dword [ebp - 0x30], 0
je 0x4843e3
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [edx + eax], 8
je 0x48445a
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
push eax
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
je 0x48445a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 4
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 3
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 3
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 3
inc dword [ebp - 0xd8]
jmp 0x481698
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x4816aa
push 0
push 0x32
mov eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Findname
add esp, 0xc
test eax, eax
je 0x4844a7
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
jmp 0x484519
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x484519
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x9d
je 0x4844f5
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x9e
jne 0x48450b
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x9f
push 0
call sym.ollydbg.exe__Findnextname
pop ecx
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xdc]
jb 0x484535
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe0]
jb 0x4844b7
xor eax, eax
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x4845b8
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x80
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
and byte [edx + ecx], 0xdf
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x1d
je 0x4845a4
cmp dword [ebp - 0x2c], 0x1e
je 0x4845a4
cmp dword [ebp - 0x2c], 0x1f
je 0x4845a4
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
and byte [eax + edx], 0xf8
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x48454b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x4846a0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x425], 0
jle 0x4846a0
push 0x47aecc
push 9
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
push eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
push ecx
call fcn.004ac4f4
add esp, 0x10
xor eax, eax
mov esi, eax
mov ebx, eax
jmp 0x484688
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 8]
lea eax, [esi + esi*8]
mov ecx, dword [edx + 0x421]
lea edx, [ebx + ebx*8]
mov edi, dword [edi + 0x421]
lea eax, [ecx + eax]
inc ebx
mov ecx, dword [edi + edx]
mov dword [eax], ecx
mov ecx, dword [edi + edx + 4]
mov dword [eax + 4], ecx
mov cl, byte [edi + edx + 8]
mov byte [eax + 8], cl
jmp 0x484638
inc ebx
mov edx, dword [ebp + 8]
cmp ebx, dword [edx + 0x425]
jge 0x484687
mov edx, dword [ebp + 8]
lea eax, [esi + esi*8]
mov ecx, dword [edx + 0x421]
lea edx, [ebx + ebx*8]
mov eax, dword [ecx + eax + 1]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
jne 0x484687
mov edx, dword [ebp + 8]
lea eax, [esi + esi*8]
lea ecx, [ebx + ebx*8]
mov edx, dword [edx + 0x421]
mov eax, dword [edx + eax + 5]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp eax, dword [edx + ecx + 5]
je 0x484637
inc esi
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x425]
jl 0x484606
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x425], esi
mov eax, dword [ebp - 0x24]
shl eax, 2
push eax
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x170], eax
push 0xc000
push 0
push 0
push 0
push 0
call sym.ollydbg.exe__Setcpu
add esp, 0x14
xor edx, edx
mov dword [ebp - 0x90], edx
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
xor eax, eax
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x4856e1
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x118]
jbe 0x48478a
jmp 0x484721
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov eax, dword [0x4d3b7c]
push eax
lea edx, [ebp - 0x2440]
push edx
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x484707
lea ecx, [ebp - 0x8e8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xc8]
sub edx, dword [ebp - 0xc4]
push edx
mov ecx, dword [ebp - 0xd8]
push ecx
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xc4]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov eax, dword [ebp - 0xd8]
add eax, 0x2710
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9d
je 0x4847dd
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9e
je 0x4847dd
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9f
je 0x4847dd
inc dword [ebp - 0xd8]
jmp 0x4846e1
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9f
je 0x4849f4
cmp dword [0x4d91c8], 0
jne 0x48480d
inc dword [ebp - 0xd8]
jmp 0x4846e1
mov edx, dword [ebp - 0xd8]
add edx, 4
cmp edx, dword [ebp - 0xe8]
jbe 0x484829
inc dword [ebp - 0xd8]
jmp 0x4846e1
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
and ecx, 0xffffff
cmp ecx, 0xec8b55
je 0x4849f4
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xe58955
je 0x4849f4
mov edx, dword [ebp - 0x13c]
and edx, 0xff0003ff
cmp edx, 0xc8
je 0x4849f4
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0x55
jne 0x4849e0
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax + 1]
and edx, 0x1f
cmp edx, 0x1d
jne 0x4849e0
mov ecx, dword [ebp - 0xd8]
add ecx, 2
mov dword [ebp - 0xf4], ecx
jmp 0x4848d3
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x4848fa
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x4848cd
mov edx, dword [ebp - 0xf4]
add edx, 2
cmp edx, dword [ebp - 0xe8]
jae 0x484954
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
jne 0x484954
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp word [ecx + eax], 0xec8b
je 0x4849f4
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xe589
je 0x4849f4
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1d
jne 0x4849e0
inc dword [ebp - 0xf4]
jmp 0x48497b
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x4849a2
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x484975
mov edx, dword [ebp - 0xf4]
add edx, 2
cmp edx, dword [ebp - 0xe8]
jae 0x4849e0
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
jne 0x4849e0
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp word [ecx + eax], 0xec8b
je 0x4849f4
cmp dword [0x4d91c8], 1
jg 0x4849f4
inc dword [ebp - 0xd8]
jmp 0x4846e1
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0x108], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
xor edx, edx
mov dword [ebp - 0x84], edx
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
xor eax, eax
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov dword [ebp - 0x14], 1
jmp 0x48526a
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x14]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x48526a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
cmp byte [edx + ecx], 0
jne 0x484aa7
mov dword [ebp - 0x80], 1
jmp 0x48526a
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x80
jne 0x48526a
test esi, esi
jne 0x484ad7
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
jne 0x48526a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
je 0x484b39
cmp dword [ebp - 0x2c], 0x1f
jne 0x484b39
cmp dword [0x4d91c8], 2
jl 0x484b14
cmp dword [ebp - 0x84], 0
jne 0x484b39
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x484b39
mov dword [ebp - 0x80], 1
jmp 0x48526a
cmp dword [ebp - 0x2c], 0x1d
je 0x484b57
cmp dword [ebp - 0x2c], 0x1e
je 0x484b57
cmp dword [ebp - 0x2c], 0x1f
je 0x484b57
mov dword [ebp - 0x80], 1
jmp 0x48526a
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x40
test esi, esi
je 0x484b7b
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x484ba1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x484ba1
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xfc]
jae 0x484bbb
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x484bd6
mov edx, dword [ebp - 0xf4]
inc edx
mov dword [ebp - 0x100], edx
push 0
lea ecx, [ebp - 0x194c]
push 1
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x484c35
cmp dword [ebp - 0x1314], 0
je 0x484c41
mov dword [ebp - 0x80], 1
jmp 0x48526a
xor ebx, ebx
lea eax, [ebp - 0x12d0]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x1153]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
cmp dword [ecx], 0
je 0x484c8f
mov eax, dword [ebp - 0x1d8]
test byte [eax], 0x20
jne 0x484c8f
mov edx, dword [ebp - 0x1d8]
xor ecx, ecx
mov cl, byte [edx + 7]
dec ecx
je 0x484c8f
mov eax, dword [ebp - 0x1d8]
xor edx, edx
mov dl, byte [eax + 6]
dec edx
je 0x484c8f
jmp 0x484ca3
inc ebx
add dword [ebp - 0x1d8], 0xf
add dword [ebp - 0x1d4], 4
cmp ebx, 3
jl 0x484c5b
cmp ebx, 3
jl 0x484cb8
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
and byte [ecx + eax], 0x7f
cmp dword [ebp - 0x1310], 0
je 0x484d77
test byte [ebp - 0x1310], 1
je 0x484cdb
cmp dword [0x4d91d4], 0
je 0x484d6b
test byte [ebp - 0x1310], 2
je 0x484ced
cmp dword [0x4d91d8], 0
je 0x484d6b
test byte [ebp - 0x1310], 4
je 0x484cff
cmp dword [0x4d91e0], 0
je 0x484d6b
test byte [ebp - 0x1310], 8
je 0x484d11
cmp dword [0x4d91e4], 0
je 0x484d6b
test byte [ebp - 0x1310], 0x10
je 0x484d23
cmp dword [0x4d91ec], 0
je 0x484d6b
test byte [ebp - 0x1310], 0x20
je 0x484d35
cmp dword [0x4d91f0], 0
je 0x484d6b
test byte [ebp - 0x1310], 0x40
je 0x484d47
cmp dword [0x4d91f4], 0
je 0x484d6b
test byte [ebp - 0x1310], 0x80
je 0x484d59
cmp dword [0x4d91f8], 0
je 0x484d6b
test byte [ebp - 0x130f], 1
je 0x484d77
cmp dword [0x4d91fc], 0
jne 0x484d77
mov dword [ebp - 0x80], 1
jmp 0x48526a
and dword [ebp - 0x1348], 0xf0
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1348], 0x50
je 0x484dbe
cmp dword [ebp - 0x1348], 0x70
jne 0x484ef2
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
dec ecx
jne 0x484ef2
cmp dword [ebp - 0x1348], 0x70
jne 0x484dc9
xor esi, esi
cmp dword [ebp - 0x1338], 0
je 0x484e1f
cmp edi, dword [ebp - 0xe8]
jae 0x484e06
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jge 0x48526a
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx*4], edi
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], esi
inc dword [ebp - 0x14]
jmp 0x48526a
cmp dword [0x4d91c8], 2
jge 0x48526a
mov dword [ebp - 0x80], 1
jmp 0x48526a
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xdc]
jb 0x484ecf
mov eax, dword [ebp - 0x1334]
cmp eax, dword [ebp - 0xe0]
jae 0x484ecf
mov edi, dword [ebp - 0x1334]
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
cmp edi, dword [ebp - 0xe8]
jae 0x48526a
mov eax, dword [ebp - 0x180]
mov edx, dword [eax + edi]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 4
jne 0x484e93
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jb 0x484ea0
test ebx, ebx
jne 0x48526a
add edi, 4
jmp 0x484ecc
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x484ec9
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], esi
inc dword [ebp - 0x14]
add edi, 4
inc ebx
jmp 0x484e51
mov dword [ebp - 0x88], 1
cmp dword [0x4d91c8], 0
jne 0x48526a
mov dword [ebp - 0x80], 1
jmp 0x48526a
cmp dword [ebp - 0x1348], 0x60
jne 0x484f44
cmp dword [ebp - 0x1338], 0
je 0x484f38
cmp edi, dword [ebp - 0xe8]
jae 0x484f38
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x48524c
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], esi
inc dword [ebp - 0x14]
jmp 0x48524c
mov dword [ebp - 0x80], 1
jmp 0x48524c
cmp dword [ebp - 0x1348], 0x80
je 0x484f60
cmp dword [ebp - 0x1348], 0xa0
jne 0x48507f
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jb 0x484f7b
mov ecx, dword [ebp - 0xf4]
inc ecx
mov dword [ebp - 0x100], ecx
cmp esi, dword [ebp - 0xdc]
jb 0x48503c
cmp esi, dword [ebp - 0xe0]
jae 0x48503c
mov eax, dword [ebp + 8]
mov edx, esi
lea ecx, [ebp - 0x7e8]
sub edx, dword [eax]
push edx
push str.RET_used_as_a_jump_to___08X_
push ecx
call fcn.004a6c2c
add esp, 0xc
lea eax, [ebp - 0x7e8]
push eax
push 0x3a
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
mov ecx, esi
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1d
jne 0x485014
mov ecx, esi
mov eax, dword [ebp - 0x184]
sub ecx, dword [ebp - 0xdc]
mov dl, byte [eax + ecx]
mov ecx, esi
xor dl, byte [ebp - 0x2c]
mov eax, dword [ebp - 0x184]
or dl, 0x1e
sub ecx, dword [ebp - 0xdc]
mov byte [eax + ecx], dl
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
sub esi, dword [ebp - 0xdc]
mov dword [edx + ecx*4], esi
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x48526a
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0xf4]
jbe 0x485056
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x108]
cmp ecx, dword [ebp - 0xf4]
jae 0x485070
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x84], 1
jmp 0x48526a
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x68
jne 0x4850c0
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
mov esi, dword [edx + ecx + 1]
cmp esi, dword [ebp - 0xdc]
jb 0x4850b9
cmp esi, dword [ebp - 0xe0]
jb 0x48524c
xor esi, esi
jmp 0x48524c
cmp dword [ebp - 0x1348], 0x70
jne 0x4851c7
cmp dword [ebp - 0x131c], 0
jne 0x48511d
push 0
lea eax, [ebp - 0x194c]
push 4
push eax
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
cmp dword [ebp - 0x131c], 0
je 0x4851c0
mov ecx, dword [ebp - 0x131c]
push ecx
call sym.ollydbg.exe__Followcall
pop ecx
mov dword [ebp - 0x131c], eax
cmp dword [ebp - 0x131c], 0
je 0x4851c0
mov eax, dword [ebp - 0x131c]
cmp eax, dword [ebp - 0x160]
je 0x485162
mov edx, dword [ebp - 0x131c]
cmp edx, dword [ebp - 0x164]
jne 0x4851c0
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jb 0x48517d
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0xf4]
jbe 0x485197
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0xf4]
jae 0x4851b1
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x84], 1
jmp 0x48526a
xor esi, esi
jmp 0x48524c
cmp dword [ebp - 0x1348], 0x10
je 0x485230
cmp dword [ebp - 0x1348], 0x20
je 0x485230
cmp dword [ebp - 0x1348], 0xf0
je 0x485230
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x9d
je 0x485230
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc8
je 0x485230
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc9
jne 0x485234
xor esi, esi
jmp 0x48524c
xor eax, eax
mov al, byte [ebp - 0x12d0]
cmp eax, 0x24
jne 0x48524c
cmp byte [ebp - 0x12ca], 0
je 0x48524c
xor esi, esi
mov eax, dword [ebp - 0x150]
add dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x484a89
cmp dword [ebp - 0x14], 0
jle 0x48527a
cmp dword [ebp - 0x80], 0
je 0x484a56
mov ecx, dword [ebp - 0xfc]
inc ecx
cmp ecx, dword [ebp - 0x100]
jne 0x485290
mov dword [ebp - 0x80], 1
cmp dword [ebp - 0x84], 0
jne 0x4852b2
cmp dword [0x4d91c8], 2
jl 0x4852ab
cmp dword [ebp - 0x88], 0
jne 0x4852b2
mov dword [ebp - 0x80], 1
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x80], 0
jne 0x48549f
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jae 0x48545e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x1d
je 0x48531e
cmp dword [ebp - 0x2c], 0x1e
je 0x48531e
cmp dword [ebp - 0x2c], 0x1f
jne 0x485446
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x40
je 0x485341
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x110], ecx
jmp 0x485446
mov eax, 4
cmp dword [0x4d91c8], 0
je 0x485352
add eax, 0xc
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
mov eax, dword [ebp - 0xf4]
push eax
call sym.ollydbg.exe__Isfilling
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
je 0x4853b6
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
and byte [edx + ecx], 0x7f
mov ebx, 1
cmp ebx, dword [ebp - 8]
jge 0x485446
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
and byte [eax + edx], 0x7f
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x485395
jmp 0x485446
cmp dword [0x4d91c8], 1
jg 0x4853cb
mov dword [ebp - 0x80], 1
jmp 0x48545e
mov ecx, dword [ebp - 0x24]
dec ecx
cmp ecx, dword [ebp - 0x18]
jle 0x485414
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x10c]
jbe 0x485414
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
jmp 0x485414
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x485434
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
je 0x48540e
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x4852f1
mov ecx, dword [ebp - 0x24]
dec ecx
cmp ecx, dword [ebp - 0x18]
jle 0x48549f
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x10c]
jbe 0x48549f
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x170], 0
je 0x4854d2
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x4854d2
xor ebx, ebx
cmp ebx, dword [ebp - 0x1c]
jge 0x485510
mov eax, dword [ebp - 0x170]
mov edx, dword [eax + ebx*4]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0xbf
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x4854b7
jmp 0x485510
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x485510
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
and byte [ecx + eax], 0xbf
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jb 0x4854ec
cmp dword [ebp - 0x80], 0
jne 0x4855f0
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x4856c9
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xfc]
test byte [edx + ecx], 0x60
jne 0x485566
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xfc]
or byte [eax + edx], 0x20
mov ecx, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x100]
jae 0x4855b7
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x140]
mov al, byte [edx + ecx]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x184]
and al, 0x9f
or al, 0x40
mov byte [edx + ecx], al
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x100]
jb 0x485581
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x100]
test byte [edx + ecx], 0x60
jne 0x4855d9
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x100]
or byte [eax + edx], 0x60
inc dword [ebp - 0x90]
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x485525
jmp 0x4856c9
cmp dword [0x4d91c8], 2
jl 0x4856c9
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x4856c9
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
je 0x4856c9
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x13
jne 0x485660
inc dword [ebp - 0xd8]
jmp 0x48563b
cmp dword [ebp - 0x2c], 0x1d
jne 0x4846e1
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x48569a
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
jne 0x4856be
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x13
je 0x48569a
jmp 0x4846e1
inc dword [ebp - 0xd8]
jmp 0x48563b
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x4846f3
xor eax, eax
mov dword [ebp - 0xd8], eax
jmp 0x4858ba
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x20
jne 0x4858b4
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x80
jne 0x4858b4
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 0x80
mov ecx, dword [ebp - 0xd8]
inc ecx
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x4858b4
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d
je 0x48577d
cmp dword [ebp - 0x2c], 0x1e
je 0x48577d
cmp dword [ebp - 0x2c], 0x1f
jne 0x48589c
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x80
jne 0x4858b4
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 3
je 0x4858b4
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x60
jne 0x48589c
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x48585e
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xd8]
jb 0x48585b
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xf4]
ja 0x48585b
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
movzx eax, byte [ecx + eax]
cmp eax, 3
je 0x48585b
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov edx, dword [eax + edx + 5]
cmp edx, dword [ebp - 0xd8]
jb 0x485870
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
cmp ecx, dword [ebp - 0xf4]
ja 0x485870
inc dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x425]
cmp edx, dword [ebp - 4]
jg 0x4857d7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
cmp eax, dword [ebp - 4]
jg 0x4858b4
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
and byte [edx + ecx], 0x7f
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], eax
jmp 0x4858b4
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x485750
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x4858d8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
jne 0x4856ee
push 0xc000
push 0
push 0
push 0
push 0
call sym.ollydbg.exe__Setcpu
add esp, 0x14
xor edx, edx
mov dword [ebp - 0x48], edx
cmp dword [0x4d9210], 0
je 0x4876b4
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
xor eax, eax
mov dword [ebp - 0x60], eax
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x50], 0x400
mov ecx, dword [ebp - 0x50]
mov eax, ecx
shl ecx, 4
add ecx, eax
shl ecx, 3
push ecx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jne 0x487650
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd8], edx
jmp 0x487650
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1d
je 0x485985
cmp dword [ebp - 0x2c], 0x1e
je 0x485985
cmp dword [ebp - 0x2c], 0x1f
je 0x485985
inc dword [ebp - 0xd8]
jmp 0x487650
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 7
je 0x4859a2
inc dword [ebp - 0xd8]
jmp 0x487650
cmp dword [ebp - 0x170], 0
je 0x4859d6
cmp dword [ebp - 0x1c], 0
jle 0x4859d6
xor ebx, ebx
cmp ebx, dword [ebp - 0x1c]
jge 0x4859d1
mov eax, dword [ebp - 0x170]
mov edx, dword [eax + ebx*4]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0x7f
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x4859b8
xor eax, eax
mov dword [ebp - 0x1c], eax
xor edx, edx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax], 1
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xd8]
mov dword [edx + 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 8], 0xffffffff
mov edx, dword [ebp - 0x1ac]
mov dword [edx + 0xc], ecx
xor edx, edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0x10], edx
xor eax, eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x14], eax
xor eax, eax
mov edx, dword [ebp - 0x1ac]
xor ebx, ebx
mov dword [edx + 0x18], 0xffffffff
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0x1ac]
mov dword [edx + 0x3c], 0xffffffff
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp - 0x1ac]
mov byte [eax + ebx + 0x60], 0
inc ebx
cmp ebx, 8
jl 0x485a64
mov dword [ebp - 0x4c], 1
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x4c], 0
jle 0x486b74
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff8
cmp eax, dword [ebp - 0x14]
jle 0x486b74
mov edx, dword [ebp - 0x50]
add edx, 0xfffffffe
cmp edx, dword [ebp - 0x4c]
jle 0x486b74
dec dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov eax, ecx
shl ecx, 4
add ecx, eax
shl ecx, 3
add ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf4]
add eax, 0x20
cmp eax, dword [ebp - 0xe8]
ja case.0x4860be.0
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d
je 0x485b17
cmp dword [ebp - 0x2c], 0x1e
je 0x485b17
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x486b74
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x80
je 0x485b3b
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
jne 0x486a71
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
je 0x485c6c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x485c6c
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047f200
add esp, 8
mov esi, eax
test esi, esi
jl 0x485c6c
mov eax, dword [ebp - 0x1ac]
test byte [eax], 4
je 0x486a71
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x425]
dec ecx
cmp esi, ecx
jge 0x485bb3
lea eax, [esi + esi*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 0xe]
cmp eax, dword [ebp - 0xf4]
je 0x486a71
push 1
push 1
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call sym.ollydbg.exe__Disassembleback
add esp, 0x18
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x485c38
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x485c38
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x485c6c
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x485c6c
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
jne 0x486a71
lea ecx, [ebp - 0x3c]
push ecx
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x188]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0047b468
add esp, 0x18
mov ebx, eax
test ebx, ebx
jle 0x485dd4
mov eax, dword [ebp - 0x1ac]
cmp dword [eax + 0x18], 0xffffffff
jne 0x485cd6
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx + 0x60], 0
jmp 0x485ce8
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x18]
cmp eax, dword [ebp - 0xc]
jne 0x486a71
mov edx, dword [ebp - 0x1ac]
test byte [edx], 2
jne 0x486a71
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x485d2d
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x485d2d
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
add ecx, ebx
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x128]
mov dword [eax + 0x14], ecx
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x485d95
mov edx, dword [ebp - 0x1ac]
mov dword [edx], 1
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x10], eax
mov dword [ebp - 0x44], 1
jmp 0x485dcc
cmp dword [ebp - 0x3c], 1
jne 0x485da9
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], 2
jmp 0x485dcc
mov eax, dword [ebp - 0x1ac]
xor edx, edx
mov dword [eax], edx
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x10], eax
mov dword [ebp - 0x44], 1
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov ecx, dword [ebp - 0x1ac]
lea edx, [ebp - 0x128]
mov eax, dword [ecx + 0x10]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x128], eax
push edx
push ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047bd10
add esp, 0x10
mov ebx, eax
test ebx, ebx
jle 0x485ec3
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x486a71
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x485e5c
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x485e5c
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x128]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1ac]
mov byte [edx + ecx + 0x60], 0
mov eax, dword [ebp - 0x1ac]
mov dword [eax], 1
mov dword [ebp - 0x44], 1
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x188]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047b0f0
add esp, 0x14
mov ebx, eax
test ebx, ebx
jle 0x485f6d
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0xc]
je 0x486a71
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xc]
mov byte [ecx + eax + 0x60], 1
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x128]
mov dword [edx + ecx*4 + 0x68], eax
mov edx, dword [ebp - 0x1ac]
and dword [edx], 0xfffffffb
cmp dword [ebp - 0x10], 0
je 0x485f54
mov ecx, dword [ebp - 0x1ac]
test byte [ecx], 2
jne 0x486a71
mov eax, dword [ebp - 0x1ac]
or dword [eax], 1
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov dword [ecx + 4], edx
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xd8]
je 0x486b74
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x120], edx
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0047bc38
add esp, 0xc
mov ebx, eax
test ebx, ebx
jle 0x4866c5
cmp dword [ebp - 0x2c], 0x10
jne 0x486029
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x486a71
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x486000
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x486000
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x1ac]
or dword [edx], 4
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov eax, dword [ebp - 0x1ac]
test byte [eax], 1
jne 0x486a71
mov edx, dword [ebp - 0x1ac]
and dword [edx], 0xfffffff9
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x486077
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x486077
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x1ac]
mov edi, dword [edx + 0x14]
add dword [ebp - 0xf4], ebx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
push edi
mov esi, eax
lea edi, [edx + 0x88]
mov ecx, 0x22
rep movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
ja case.0x4860be.0
jmp dword [eax*4 + 0x4860c5]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
cmp edi, dword [ebp - 0x138]
je 0x486145
mov ecx, edi
dec ecx
push ecx
mov eax, dword [ebp - 0x138]
push eax
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0047b000
add esp, 0xc
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 0x90], ecx
mov eax, dword [ebp - 0x1ac]
or dword [eax + 0x88], 4
mov edx, dword [ebp - 0x138]
dec edx
push edx
push edi
mov ecx, dword [ebp - 0x1ac]
add ecx, 0x88
push ecx
call fcn.0047b000
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x138]
dec edx
push edx
push edi
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b000
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x1ac]
or dword [edx + 0x88], 4
cmp edi, dword [ebp - 0x138]
je 0x486229
dec edi
push edi
mov ecx, dword [ebp - 0x138]
push ecx
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b000
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 8], eax
push edi
push edi
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0047b000
add esp, 0xc
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x1ac]
or dword [ecx], 4
push edi
push edi
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.0047b000
add esp, 0xc
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
push edi
mov ecx, dword [ebp - 0x138]
push ecx
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.0047b000
add esp, 0xc
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x90], edx
mov ecx, dword [ebp - 0x1ac]
or dword [ecx + 0x88], 4
mov eax, dword [ebp - 0x138]
dec eax
cmp edi, eax
je 0x486380
mov edx, dword [ebp - 0x138]
inc edi
dec edx
push edx
push edi
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b000
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x138]
dec ecx
cmp edi, ecx
je 0x4863cd
mov eax, dword [ebp - 0x138]
lea edx, [edi + 1]
dec eax
push eax
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b000
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x1ac]
or dword [edx + 0x88], 4
push edi
mov ecx, dword [ebp - 0x138]
push ecx
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b000
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x138]
add ecx, 0x80000000
cmp edi, ecx
je 0x486471
mov eax, edi
dec eax
push eax
mov edx, dword [ebp - 0x138]
add edx, 0x80000000
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b040
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x1ac]
or dword [edx + 0x88], 4
mov ecx, dword [ebp - 0x138]
add ecx, 0x7fffffff
push ecx
push edi
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b040
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x138]
add ecx, 0x7fffffff
push ecx
push edi
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.0047b040
add esp, 0xc
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x90], edx
mov ecx, dword [ebp - 0x1ac]
or dword [ecx + 0x88], 4
mov eax, dword [ebp - 0x138]
add eax, 0x80000000
cmp edi, eax
je 0x48656c
dec edi
push edi
mov edx, dword [ebp - 0x138]
add edx, 0x80000000
push edx
mov ecx, dword [ebp - 0x1ac]
add ecx, 0x88
push ecx
call fcn.0047b040
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 8], eax
push edi
mov edx, dword [ebp - 0x138]
add edx, 0x80000000
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b040
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x1ac]
or dword [edx + 0x88], 4
mov ecx, dword [ebp - 0x138]
add ecx, 0x7fffffff
cmp edi, ecx
je 0x486613
mov eax, dword [ebp - 0x138]
inc edi
add eax, 0x7fffffff
push eax
push edi
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b040
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x138]
add ecx, 0x7fffffff
cmp edi, ecx
je 0x486669
mov eax, dword [ebp - 0x138]
lea edx, [edi + 1]
add eax, 0x7fffffff
push eax
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b040
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x1ac]
or dword [edx + 0x88], 4
push edi
mov ecx, dword [ebp - 0x138]
add ecx, 0x80000000
push ecx
mov eax, dword [ebp - 0x1ac]
add eax, 0x88
push eax
call fcn.0047b040
add esp, 0xc
add dword [ebp - 0x4c], 2
jmp case.0x4860be.0
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0x120]
push edx
push ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.0047bdc8
add esp, 0x14
mov ebx, eax
test ebx, ebx
jle 0x48695e
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x486a71
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0047b0ac
pop ecx
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x486a71
cmp dword [ebp - 0x140], 0x4000
ja 0x486a71
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x486778
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x486778
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp - 0x1ac]
xor esi, esi
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x138], eax
jmp 0x48694a
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
mov dword [ebp - 0x140], edx
jmp 0x486921
cmp dword [ebp - 0x124], 0
je 0x48685e
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x140]
sub ecx, dword [ebp - 0x138]
cmp ecx, dword [ebp - 0xdc]
jb 0x48691b
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0xe0]
jae 0x48691b
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x11
jne 0x48691b
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
shl eax, 2
mov edx, dword [ebp - 0x120]
sub edx, dword [ebp - 0xdc]
add eax, edx
mov dword [ebp - 0x13c], eax
jmp 0x486881
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x120]
sub eax, dword [ebp - 0x138]
sub ecx, dword [ebp - 0xdc]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
add edx, 4
cmp edx, dword [ebp - 0xe8]
jae 0x48691b
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 4
jne 0x48691b
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x13c]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xdc]
jb 0x48691b
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe0]
jae 0x48691b
mov edx, dword [ebp - 0x14]
add edx, 2
cmp edx, dword [ebp - 0x24]
jg 0x486949
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x13c]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x140]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
inc dword [ebp - 0x140]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + esi*4 + 0x1c]
cmp eax, dword [ebp - 0x140]
ja 0x486949
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + esi*4 + 0x3c]
cmp ecx, dword [ebp - 0x140]
jae 0x4867aa
inc esi
mov eax, dword [ebp - 0x1ac]
cmp esi, dword [eax + 0x5c]
jl 0x486795
jmp case.0x4860be.0
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x18]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0047c238
add esp, 0xc
mov ebx, eax
test ebx, ebx
jle 0x486a03
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx + 0x60], 0
mov ecx, dword [ebp - 0x1ac]
and dword [ecx], 0xfffffffb
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x188]
add eax, dword [ebp - 0xf4]
add eax, ebx
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
add edx, ebx
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0047b468
add esp, 0x18
test eax, eax
jle 0x4869f2
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jne 0x4869f2
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x1ac]
add dword [eax + 4], ebx
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x486a32
cmp dword [ebp - 0x2c], 4
je 0x486a32
cmp dword [ebp - 0x2c], 5
je 0x486a32
cmp dword [ebp - 0x2c], 6
jne 0x486a71
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x18]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call fcn.0047c2c4
add esp, 8
mov ebx, eax
test ebx, ebx
jle 0x486a71
mov eax, dword [ebp - 0x1ac]
and dword [eax], 0xfffffffb
mov edx, dword [ebp - 0x1ac]
add dword [edx + 4], ebx
inc dword [ebp - 0x4c]
jmp case.0x4860be.0
mov ecx, dword [ebp - 0x1ac]
cmp dword [ecx + 8], 0xffffffff
je case.0x4860be.0
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.0047b0ac
pop ecx
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jbe 0x486b34
cmp dword [ebp - 0x140], 0x40
jae 0x486b34
xor esi, esi
jmp 0x486b27
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
mov dword [ebp - 0x140], edx
jmp 0x486b02
mov ecx, dword [ebp - 0x14]
add ecx, 2
cmp ecx, dword [ebp - 0x24]
jg 0x486b26
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1ac]
mov ecx, dword [ecx + 8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x140]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
cmp edx, dword [ebp - 0x140]
ja 0x486b26
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x3c]
cmp edx, dword [ebp - 0x140]
jae 0x486ac4
inc esi
mov ecx, dword [ebp - 0x1ac]
cmp esi, dword [ecx + 0x5c]
jl 0x486ab2
jmp 0x486b6a
cmp dword [ebp - 0x40], 0
jne 0x486b52
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 8]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x40], 1
jmp 0x486b6a
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x12c]
je 0x486b6a
mov dword [ebp - 0x40], 0xffffffff
cmp dword [ebp - 0x4c], 0
jg 0x485a90
cmp dword [ebp - 0x14], 0
jne 0x486b85
inc dword [ebp - 0xd8]
jmp 0x487650
mov edx, dword [ebp - 0x14]
shl edx, 2
push edx
mov ecx, dword [ebp - 0x168]
push ecx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.004a3530
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
push 0x47c348
push 8
mov ecx, dword [ebp - 0x14]
sar ecx, 1
jns 0x486bb9
adc ecx, 0
push ecx
mov eax, dword [ebp - 0x168]
push eax
call fcn.004ac4f4
add esp, 0x10
mov esi, 1
cmp dword [ebp - 0x40], 1
je 0x486bd5
dec esi
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov dword [ebp - 0xf4], edx
mov ebx, 2
cmp ebx, dword [ebp - 0x18]
jge 0x486c2d
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xf4]
je 0x486c25
cmp dword [ebp - 0x40], 1
jne 0x486c15
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4]
cmp eax, dword [ebp - 0x12c]
je 0x486c16
inc esi
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4]
mov dword [ebp - 0xf4], ecx
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x486bed
cmp esi, 2
jge 0x486c3d
inc dword [ebp - 0xd8]
jmp 0x487650
cmp dword [ebp - 0x44], 0
jne 0x486c5c
cmp esi, 2
jle 0x486c51
cmp dword [0x4dcb40], 0
jne 0x486c5c
inc dword [ebp - 0xd8]
jmp 0x487650
push 0x47c390
push 8
mov eax, dword [ebp - 0x18]
sar eax, 1
jns 0x486c6d
adc eax, 0
push eax
mov edx, dword [ebp - 0x16c]
push edx
call fcn.004ac4f4
add esp, 0x10
xor ebx, ebx
jmp 0x486cb1
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4 + 4]
cmp edx, dword [ecx + ebx*4 + 0xc]
jne 0x486cae
cmp dword [ebp - 0x40], 1
jne 0x486cbb
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
jne 0x486cbb
add ebx, 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffffe
cmp ebx, ecx
jl 0x486c81
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffe
cmp ebx, eax
jge 0x486cd0
inc dword [ebp - 0xd8]
jmp 0x487650
xor edx, edx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x18]
cmp dword [ecx + eax*4 - 4], 0x80
jb 0x486d95
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
cmp dword [edx + ecx*4 - 4], 0xffff
ja 0x486d95
xor eax, eax
mov dword [ebp - 4], eax
mov esi, eax
mov ebx, eax
cmp ebx, dword [ebp - 0x18]
jge 0x486d6d
cmp dword [ebp - 0x40], 1
jne 0x486d28
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x486d65
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0x500
jbe 0x486d3b
inc dword [ebp - 4]
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x400
jae 0x486d65
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 3
call fcn.0040f1e4
add esp, 8
test eax, eax
je 0x486d6d
inc esi
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x486d11
cmp ebx, dword [ebp - 0x18]
jl 0x486e6b
cmp esi, 2
jle 0x486e6b
cmp dword [ebp - 4], 2
jge 0x486e6b
mov dword [ebp - 0x2c], 0x200000
jmp 0x486e6b
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 - 4], 0xff
jae 0x486dfe
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x486df0
cmp dword [ebp - 0x40], 1
jne 0x486dc6
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x486de8
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0
je 0x486de8
mov eax, dword [ebp - 0x16c]
mov dl, byte [eax + ebx*4 + 4]
push edx
call sym.ollydbg.exe__IstextA
pop ecx
test al, 1
je 0x486df0
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x486daf
cmp ebx, dword [ebp - 0x18]
jl 0x486e6b
mov dword [ebp - 0x2c], 0x100000
jmp 0x486e6b
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + 4], 0x80000000
jb 0x486e6b
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 - 4], 0xc000ffff
ja 0x486e6b
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x486e5f
cmp dword [ebp - 0x40], 1
jne 0x486e3e
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x486e57
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push 0
call fcn.0040f1e4
add esp, 8
test eax, eax
je 0x486e5f
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x486e27
cmp ebx, dword [ebp - 0x18]
jl 0x486e6b
mov dword [ebp - 0x2c], 0x400000
mov dword [ebp - 0x130], 0xffffffff
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x54], 0x7fffffff
mov dword [ebp - 0x58], 0x80000000
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], ecx
cmp ebx, dword [ebp - 0x14]
jge 0x486f8b
cmp dword [ebp - 0x40], 1
jne 0x486ec3
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x486f7f
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
cmp eax, dword [ebp - 0x130]
jae 0x486ee5
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
cmp edx, dword [ebp - 0x134]
jbe 0x486f07
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
cmp ecx, dword [ebp - 0x54]
jge 0x486f23
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
cmp eax, dword [ebp - 0x58]
jle 0x486f3f
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xfc]
jae 0x486f5f
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4]
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4]
cmp ecx, dword [ebp - 0x100]
jbe 0x486f7f
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0x100], edx
add ebx, 2
cmp ebx, dword [ebp - 0x14]
jl 0x486ea8
cmp dword [ebp - 0x54], 0
jge 0x486fa9
cmp dword [ebp - 0x58], 0
jle 0x486fa9
cmp dword [ebp - 0x54], 0xffffc000
jle 0x486fa9
mov dword [ebp - 0x5c], 1
jmp 0x486fae
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x40], 1
jne 0x486fea
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0xfc]
jae 0x486fd0
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0xfc], edx
jmp 0x486fea
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x100]
jbe 0x486fea
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x100], eax
xor edx, edx
mov dword [ebp - 0x64], edx
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x487263
cmp dword [ebp - 0x40], 1
jne 0x487015
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x487257
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + ebx*4]
lea ecx, [ebp - 0x7e8]
add eax, dword [ebp - 0xdc]
sub eax, dword [edx]
push eax
push 0x4c7c9e
push ecx
call fcn.004a6c2c
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 0x5c], 0
je 0x48707d
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0
jge 0x48707d
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
neg ecx
push ecx
push 0x4c7ca4
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x4870a2
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 0x4c7769
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 0x2c], 0x200000
jne 0x487142
mov edx, dword [ebp - 0x16c]
cmp dword [edx + ebx*4 + 4], 0x400
jbe 0x4870fc
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0x500
ja 0x4870fc
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x7e8]
mov edx, dword [eax + ebx*4 + 4]
sub edx, 0x400
push edx
push str.__WM_USER_X_
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0xc
jmp 0x487237
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x400
ja 0x487237
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 3
call fcn.0040f1e4
add esp, 8
push eax
push str.___s_
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
jmp 0x487237
cmp dword [ebp - 0x2c], 0x100000
jne 0x48716d
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call sym.ollydbg.exe__Decodecharacter
add esp, 8
jmp 0x487237
cmp dword [ebp - 0x2c], 0x400000
jne 0x4871a8
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 0
call fcn.0040f1e4
add esp, 8
push eax
push str.___s_
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
jmp 0x487237
mov edx, dword [ebp - 0x16c]
mov eax, 0xfffffff7
cmp dword [ebp - 0x5c], 0
mov ecx, dword [edx + ebx*4 + 4]
jne 0x4871c0
add eax, 9
cmp ecx, eax
jge 0x4871f8
mov edx, dword [ebp - 0x16c]
cmp dword [edx + ebx*4 + 4], 0xffffc000
jle 0x4871f8
mov ecx, dword [ebp - 0x16c]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push str.___i._
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0xc
jmp 0x487237
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 9
jbe 0x487237
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x10000
jae 0x487237
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push str.___i._
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
lea edx, [ebp - 0x7e8]
push edx
push 0x3f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x64]
push eax
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
inc dword [ebp - 0x64]
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x486ffa
xor ebx, ebx
cmp ebx, dword [ebp - 0x14]
jge 0x487501
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0x40], 1
jne 0x487299
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x12c]
jne 0x487299
add ebx, 2
jmp 0x4874f8
lea eax, [ebx + 2]
cmp eax, dword [ebp - 0x14]
jge 0x4872cc
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 8]
cmp ecx, dword [ebp - 0xf4]
jne 0x4872cc
push str.Cases
lea eax, [ebp - 0x7e8]
push eax
call fcn.004a6c2c
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4872e3
push str.Case
lea edx, [ebp - 0x7e8]
push edx
call fcn.004a6c2c
add esp, 8
mov dword [ebp - 8], eax
xor esi, esi
jmp 0x48749c
cmp dword [ebp - 8], 0xb0
jle 0x48731c
cmp esi, 2
je 0x487312
push 0x4c7cd0
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 8], eax
mov esi, 2
jmp 0x487499
dec esi
jne 0x48732d
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x7e8], 0x2c
inc dword [ebp - 8]
cmp dword [ebp - 0x5c], 0
je 0x487369
mov edx, dword [ebp - 0x168]
cmp dword [edx + ebx*4 + 4], 0
jge 0x487369
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
neg eax
push eax
push 0x4c7ca4
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x48738e
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push 0x4c7769
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 0x2c], 0x200000
mov esi, 1
jne 0x487435
mov eax, dword [ebp - 0x168]
cmp dword [eax + ebx*4 + 4], 0x400
jbe 0x4873ef
mov edx, dword [ebp - 0x168]
cmp dword [edx + ebx*4 + 4], 0x500
ja 0x4873ef
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
sub eax, 0x400
push eax
push str.__WM_USER_X_
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x487499
mov ecx, dword [ebp - 0x168]
cmp dword [ecx + ebx*4 + 4], 0x400
ja 0x487499
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
push 3
call fcn.0040f1e4
add esp, 8
lea ecx, [ebp - 0x7e8]
push eax
push str.___s_
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x487499
cmp dword [ebp - 0x2c], 0x100000
jne 0x487460
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
lea ecx, [ebp - 0x7e8]
add ecx, dword [ebp - 8]
push ecx
call sym.ollydbg.exe__Decodecharacter
add esp, 8
add dword [ebp - 8], eax
jmp 0x487499
cmp dword [ebp - 0x2c], 0x400000
jne 0x487499
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
push 0
call fcn.0040f1e4
add esp, 8
lea ecx, [ebp - 0x7e8]
push eax
push str.___s_
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
add ebx, 2
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xf4]
je 0x4872ea
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp + 8]
add ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0x7e8]
sub ecx, dword [eax]
push ecx
push str._of_switch___08X_
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
cmp ebx, dword [ebp - 0x14]
jl 0x48726e
cmp dword [ebp - 0x40], 1
jne 0x48754b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp + 8]
add edx, dword [ebp - 0xdc]
lea eax, [ebp - 0x7e8]
sub edx, dword [ecx]
push edx
push str.Default_case_of_switch___08X_
push eax
call fcn.004a6c2c
add esp, 0xc
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x12c]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
cmp dword [ebp - 0x5c], 0
je 0x487571
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x7e8]
push eax
mov edx, dword [ebp - 0x54]
neg edx
push edx
push str.Switch__cases___X.._X_
push ecx
call fcn.004a6c2c
add esp, 0x10
jmp 0x487593
mov eax, dword [ebp - 0x134]
lea ecx, [ebp - 0x7e8]
push eax
mov edx, dword [ebp - 0x130]
push edx
push str.Switch__cases__X.._X_
push ecx
call fcn.004a6c2c
add esp, 0x10
lea eax, [ebp - 0x7e8]
push eax
push 0x3a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x22ec], ecx
mov dword [ebp - 0x22e8], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x22e4], eax
mov edx, dword [ebp - 0xfc]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x22e0], edx
mov ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x22dc], ecx
cmp dword [ebp - 0x40], 1
jne 0x48760e
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0xdc]
jmp 0x487610
xor eax, eax
mov dword [ebp - 0x22d8], eax
lea eax, [ebp - 0x22ec]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x22d4], edx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x22d0], ecx
push eax
push 0x4dca05
call sym.ollydbg.exe__Addsorteddata
mov edx, dword [ebp - 0x64]
xor ecx, ecx
add dword [ebp - 0x60], edx
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x48]
add esp, 8
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
add eax, 6
cmp eax, dword [ebp - 0xe8]
jb 0x485951
xor edx, edx
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x48769f
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
and byte [eax + edx], 0x7f
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jb 0x48767b
cmp dword [ebp - 0x1a8], 0
je 0x4876b4
mov eax, dword [ebp - 0x1a8]
push eax
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x170], 0
je 0x4876c9
mov edx, dword [ebp - 0x170]
push edx
call sub.KERNEL32.DLL_GlobalFree
xor ecx, ecx
cmp dword [0x4d9210], 0
mov dword [ebp - 0x34], ecx
je 0x488182
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x488182
mov dword [ebp - 0x38], 0x1000
mov edx, dword [ebp - 0x38]
shl edx, 4
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x1a0], eax
xor ecx, ecx
mov dword [ebp - 0x118], ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x487f56
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
movzx edx, byte [eax + edx]
cmp edx, 3
jne 0x487738
inc dword [ebp - 4]
jmp 0x487f56
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x4877ea
jmp 0x48777f
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x487765
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0xc8]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xc8]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x4e20
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 0x10], ecx
jmp 0x4877f6
inc dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x425]
cmp edx, dword [ebp - 0x10]
jle 0x487837
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
cmp ecx, dword [ebp - 0xd8]
je 0x4877f3
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
movzx eax, byte [ecx + eax]
cmp eax, 3
je 0x4877f3
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0xfc]
push edx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Getproclimits
add esp, 0xc
test eax, eax
jne 0x487f50
mov edx, dword [ebp - 0xdc]
sub dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0xdc]
sub dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jl 0x487f50
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xd8]
jbe 0x487f50
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
mov eax, dword [ecx + eax + 1]
cmp eax, dword [ebp - 0x100]
ja 0x487f41
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
movzx edx, byte [eax + edx]
cmp edx, 2
je 0x487f41
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
movzx ecx, byte [edx + ecx]
cmp ecx, 3
je 0x487f41
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [ebp - 0xf8], eax
mov ebx, dword [ebp - 0x10]
jmp 0x487a83
mov edx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + 0x421]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + eax + 5]
mov ecx, dword [ebp + 8]
lea edx, [edx + edx*8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
ja 0x487a92
lea eax, [ebx + ebx*8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
mov eax, dword [edx + eax + 1]
cmp eax, dword [ebp - 0xd8]
jb 0x487981
mov eax, dword [ebp + 8]
lea ecx, [ebx + ebx*8]
mov edx, dword [eax + 0x421]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edx + ecx + 1]
mov edx, dword [ebp + 8]
lea eax, [eax + eax*8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 1]
jbe 0x487a82
mov ecx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
inc esi
mov edx, dword [ecx + 0x421]
mov edi, dword [edx + eax + 5]
mov edx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 1]
cmp eax, dword [ebp - 0xd8]
jae 0x487a4e
lea edx, [ebx + ebx*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xfc]
jb 0x487a4e
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
cmp byte [edx + ecx], 0
jne 0x487a4e
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 1]
mov dword [ebp - 0xf8], ecx
jmp 0x487a4e
lea eax, [ebx + ebx*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 0xa]
cmp eax, dword [ebp - 0xd8]
jae 0x487a4d
lea edx, [ebx + ebx*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 0xa]
cmp edx, dword [ebp - 0xfc]
jb 0x487a4d
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
cmp byte [edx + ecx + 9], 0
jne 0x487a4d
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 0xa]
mov dword [ebp - 0xf8], ecx
inc ebx
lea eax, [ebx + 1]
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x425]
jge 0x487a82
mov eax, dword [ebp + 8]
lea ecx, [ebx + ebx*8]
mov edx, dword [eax + 0x421]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + ecx + 0xe]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 5]
je 0x4879f4
inc ebx
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x425]
jl 0x487917
cmp esi, 1
jne 0x487bd8
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xd8]
jb 0x487ade
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + eax - 8]
mov ecx, dword [ebp + 8]
lea edx, [edx + edx*8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
jbe 0x487ae4
inc esi
jmp 0x487bd8
push 1
push 1
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call sym.ollydbg.exe__Disassembleback
add esp, 0x18
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x487b69
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x487b69
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
jne 0x487bd8
push 0
push 1
lea ecx, [ebp - 0x194c]
push ecx
push 0
mov eax, dword [ebp - 0x118]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0x118]
push ecx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov eax, dword [ebp - 0x1348]
and eax, 0xf0
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0x50
je 0x487bd8
cmp dword [ebp - 0x154], 0x80
je 0x487bd8
cmp dword [ebp - 0x154], 0xa0
je 0x487bd8
inc esi
cmp esi, 1
jg 0x487f41
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0xf4], edx
jmp 0x487d50
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
movzx eax, byte [eax + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x487c46
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x487c46
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
jne 0x487d4a
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 7
jne 0x487c7b
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x120]
jb 0x487c7b
mov esi, 2
jmp 0x487d6f
cmp dword [ebp - 0x2c], 1
je 0x487c8b
cmp dword [ebp - 0x2c], 2
jne 0x487d4a
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
cmp dword [ebp - 0x1338], 0
je 0x487d6f
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0x1338]
ja 0x487d09
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
add ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0x1338]
jae 0x487d24
cmp dword [ebp - 0x2c], 1
jne 0x487d4a
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x120]
jb 0x487d4a
mov esi, 2
jmp 0x487d6f
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x1338]
jae 0x487d4a
mov edx, dword [ebp - 0x1338]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x120], edx
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xf4]
ja 0x487bf8
cmp esi, 2
je 0x487f41
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jl 0x487de0
mov edx, dword [ebp - 0x38]
add edx, edx
shl edx, 4
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x487f50
mov ecx, dword [ebp - 0x38]
shl ecx, 4
push ecx
mov eax, dword [ebp - 0x1a0]
push eax
mov edx, dword [ebp - 0x1a4]
push edx
call fcn.004a3530
add esp, 0xc
mov ecx, dword [ebp - 0x1a0]
push ecx
call sub.KERNEL32.DLL_GlobalFree
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x38]
add edx, edx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 8], ecx
mov esi, dword [ebp - 0x34]
dec esi
test esi, esi
jl 0x487ea7
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
cmp ecx, dword [ebp - 0xfc]
jb 0x487ea7
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax]
cmp ecx, dword [ebp - 0xd8]
ja 0x487e9e
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
cmp ecx, dword [ebp - 0xd8]
jbe 0x487e9e
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 1]
jae 0x487e9e
mov eax, esi
shl eax, 4
mov ecx, dword [ebp - 0x1a0]
cmp dword [ecx + eax + 0xc], 0
je 0x487e87
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 0xc]
mov dword [ebp - 0xd8], ecx
jmp 0x487e9b
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 8], esi
dec esi
test esi, esi
jge 0x487df2
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x34]
jge 0x487ede
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 8]
shl edx, 4
push edx
mov ecx, dword [ebp - 8]
shl ecx, 4
add ecx, dword [ebp - 0x1a0]
push ecx
mov eax, dword [ebp - 8]
shl eax, 4
add eax, dword [ebp - 0x1a0]
add eax, 0x10
push eax
call fcn.004a3554
add esp, 0xc
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1a0]
shl edx, 4
mov eax, dword [ebp - 0xd8]
mov dword [ecx + edx], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov ecx, dword [ebp - 8]
shl ecx, 4
mov edx, dword [eax + edx + 1]
mov eax, dword [ebp - 0x1a0]
mov dword [eax + ecx + 4], edx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1a0]
shl edx, 4
mov dword [ecx + edx + 8], edi
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1a0]
shl eax, 4
mov ecx, dword [ebp - 0xf8]
mov dword [edx + eax + 0xc], ecx
inc dword [ebp - 0x34]
jmp 0x487f50
dec dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jge 0x48788d
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
cmp dword [ebp - 0x1a0], 0
je 0x487f71
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
cmp eax, dword [ebp - 4]
jg 0x487718
cmp dword [ebp - 0x1a0], 0
je 0x488182
xor edx, edx
xor ecx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x34]
jge 0x488176
mov edx, dword [ebp - 4]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
jae 0x487fbf
inc dword [ebp - 4]
jmp 0x487f8b
mov ecx, dword [ebp - 4]
shl ecx, 4
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + ecx + 4]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
ja 0x48816a
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
xor edx, edx
mov dword [ebp - 8], edx
lea ecx, [ebp - 0x7e8]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x34]
jge 0x4880ef
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
cmp eax, dword [ebp - 0xf4]
ja 0x4880ef
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx + 4]
cmp eax, dword [ebp - 0xf4]
jb 0x4880e0
cmp dword [ebp - 8], 0x20
jge 0x4880e0
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
cmp eax, dword [ebp - 0xf4]
jne 0x488076
mov edx, dword [ebp - 0x1dc]
mov byte [edx], 0x42
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x4880e0
mov ecx, dword [ebp - 0x10]
shl ecx, 4
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + ecx + 4]
cmp edx, dword [ebp - 0xf4]
jne 0x4880a2
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], 0x45
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x4880e0
mov eax, dword [ebp - 0x10]
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 8]
cmp ecx, dword [ebp - 0xf4]
jne 0x4880ce
mov eax, dword [ebp - 0x1dc]
mov byte [eax], 0x4a
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x4880e0
mov edx, dword [ebp - 0x1dc]
mov byte [edx], 0x49
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jl 0x48800a
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x7e8]
mov byte [ebp + eax - 0x7e8], 0
push edx
push 0x3e
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
inc dword [ebp - 0xf4]
jmp 0x488126
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x488120
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x488120
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xd8]
jbe 0x487fe7
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x34]
jl 0x487f97
mov ecx, dword [ebp - 0x1a0]
push ecx
call sub.KERNEL32.DLL_GlobalFree
push 0xc000
push 0
push 0
push 0
push 0
call sym.ollydbg.exe__Setcpu
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
add esp, 0x14
cmp ecx, dword [ebp - 0xe8]
jae 0x4889a6
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x488252
jmp 0x4881e7
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x4881cd
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xcc]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xcc]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x2710
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x60
cmp edx, 0x20
jne 0x48898e
mov ecx, dword [ebp - 0xd8]
or eax, 0xffffffff
mov dword [ebp - 0xf4], ecx
xor edx, edx
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 4], edx
xor edi, edi
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x48860e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x55
jne 0x4882d5
cmp dword [ebp - 4], 0
jne 0x4882d5
mov dword [ebp - 4], 1
jmp 0x488542
cmp dword [ebp - 4], 1
jne 0x488334
mov eax, dword [ebp - 0xf4]
add eax, 2
cmp eax, dword [ebp - 0xe8]
ja 0x488334
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec8b
je 0x488314
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp word [eax + edx], 0xe589
jne 0x488334
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 4], 2
jmp 0x488542
cmp dword [ebp - 4], 0
jne 0x48838a
mov edx, dword [ebp - 0xf4]
add edx, 4
cmp edx, dword [ebp - 0xe8]
ja 0x48838a
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xff0003ff
cmp edx, 0xc8
jne 0x48838a
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 4], 2
jmp 0x488542
mov eax, dword [ebp - 0xf4]
add eax, 3
cmp eax, dword [ebp - 0xe8]
ja 0x4883cb
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xc483
jne 0x4883cb
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movsx edi, byte [eax + edx + 2]
inc dword [ebp - 0xf4]
jmp 0x48860e
mov eax, dword [ebp - 0xf4]
add eax, 6
cmp eax, dword [ebp - 0xe8]
ja 0x48840b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xc481
jne 0x48840b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov edi, dword [eax + edx + 2]
inc dword [ebp - 0xf4]
jmp 0x48860e
mov eax, dword [ebp - 0xf4]
add eax, 3
cmp eax, dword [ebp - 0xe8]
ja 0x48844e
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec83
jne 0x48844e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movsx edi, byte [eax + edx + 2]
neg edi
inc dword [ebp - 0xf4]
jmp 0x48860e
mov eax, dword [ebp - 0xf4]
add eax, 6
cmp eax, dword [ebp - 0xe8]
ja 0x488490
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec81
jne 0x488490
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov edi, dword [eax + edx + 2]
neg edi
inc dword [ebp - 0xf4]
jmp 0x48860e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc3
jne 0x4884d4
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x4884bf
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x488542
cmp dword [ebp - 0xa4], 0
je 0x488542
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x488542
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc2
jne 0x488542
mov edx, dword [ebp - 0xf4]
add edx, 3
cmp edx, dword [ebp - 0xe8]
ja 0x488542
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x48851f
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
movzx edx, word [ecx + eax + 1]
mov dword [ebp - 0xa4], edx
jmp 0x488542
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
movzx edx, word [ecx + eax + 1]
cmp edx, dword [ebp - 0xa4]
je 0x488542
mov dword [ebp - 0xa4], 0xfffffffe
inc dword [ebp - 0xf4]
jmp 0x488550
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x488577
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x48854a
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x48860e
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x40
jne 0x48860e
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
jne 0x48860e
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
je 0x48860e
cmp dword [ebp - 0x2c], 7
je 0x48860e
cmp dword [ebp - 0x2c], 2
je 0x48860e
cmp dword [ebp - 0x2c], 3
je 0x48860e
cmp dword [ebp - 0x2c], 6
je 0x48860e
cmp dword [ebp - 4], 0
je 0x4885fc
cmp dword [ebp - 0x2c], 0
jne 0x48860e
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x4882ad
cmp dword [ebp - 4], 1
je 0x488620
test edi, 3
jne 0x488620
test edi, edi
jle 0x488622
xor edi, edi
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x48887c
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x40
je 0x48866a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x60
jne 0x48887c
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x4886b9
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x4886b9
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
jne 0x48884b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
jne 0x488703
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x4886e7
xor edx, edx
mov dword [ebp - 0xa4], edx
jmp 0x48884b
cmp dword [ebp - 0xa4], 0
je 0x48884b
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x48884b
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0xc2
jne 0x48877e
mov ecx, dword [ebp - 0xf4]
add ecx, 3
cmp ecx, dword [ebp - 0xe8]
ja 0x48877e
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x488752
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movzx ecx, word [eax + edx + 1]
mov dword [ebp - 0xa4], ecx
jmp 0x48884b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movzx ecx, word [eax + edx + 1]
cmp ecx, dword [ebp - 0xa4]
je 0x48884b
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x48884b
cmp dword [ebp - 0xfc], 0xffffffff
je 0x48884b
cmp dword [ebp - 0x100], 0xffffffff
jne 0x48884b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x5d
je 0x4887ee
mov eax, dword [ebp - 0xf4]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x488811
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x8f
jne 0x488811
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx + 1]
cmp eax, 0xc5
jne 0x488811
cmp dword [ebp - 0xa0], 0
jne 0x488805
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x100], edx
jmp 0x48884b
mov dword [ebp - 0xa0], 0xffffffff
jmp 0x48884b
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0xc9
jne 0x48884b
cmp dword [ebp - 0xa0], 1
jne 0x488841
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x100], ecx
jmp 0x48884b
mov dword [ebp - 0xa0], 0xffffffff
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x60
je 0x48887c
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jb 0x488634
cmp dword [ebp - 0x100], 0xffffffff
jne 0x48888d
test edi, edi
je 0x48898e
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x22cc], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x60
cmp edx, 0x60
jne 0x4888cc
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x22c8], ecx
jmp 0x4888d6
mov dword [ebp - 0x22c8], 1
xor eax, eax
mov dword [ebp - 0x22c4], eax
cmp dword [ebp - 0x100], 0xffffffff
je 0x48890d
mov edx, dword [ebp - 0xfc]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0x22c0], edx
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x22bc], ecx
jmp 0x48891b
xor eax, eax
mov dword [ebp - 0x22bc], eax
mov dword [ebp - 0x22c0], eax
cmp dword [ebp - 0xa4], 0
jle 0x48893c
mov dword [ebp - 0x22c4], 0x10000
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x22b8], edx
jmp 0x48894e
mov dword [ebp - 0x22c4], 0x20000
xor ecx, ecx
mov dword [ebp - 0x22b8], ecx
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x80
jne 0x48896a
or dword [ebp - 0x22c4], 0x4000
xor ecx, ecx
lea eax, [ebp - 0x22cc]
neg edi
mov dword [ebp - 0x22b4], ecx
mov dword [ebp - 0x22b0], edi
push eax
push 0x4dc8cd
call sym.ollydbg.exe__Addsorteddata
add esp, 8
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x4881b9
mov ecx, dword [ebp - 0x18c]
push ecx
call sub.KERNEL32.DLL_GlobalFree
xor eax, eax
mov dword [ebp - 0x18c], eax
xor edx, edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
cmp dword [0x4dcc48], 0
je 0x48a596
push 0x138
push 0
lea eax, [ebp - 0x2424]
push eax
call fcn.004a35a0
add esp, 0xc
push 0
push 0
push 0x400
push 0x4c
push 0x4c666c
lea ecx, [ebp - 0x2424]
push ecx
call sym.ollydbg.exe__Createsorteddata
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
xor ecx, ecx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
add esp, 0x18
cmp eax, dword [ebp - 0xe8]
jae 0x48a577
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0x118]
jbe 0x488acd
jmp 0x488a62
cmp dword [ebp - 0x2438], 0x20
je 0x48ac35
cmp dword [ebp - 0x2438], 0x1b
je 0x48ac35
push 1
push 0x100
push 0x100
mov ecx, dword [0x4d3b7c]
push ecx
lea eax, [ebp - 0x2440]
push eax
call sub.USER32.DLL_PeekMessageA
test eax, eax
jne 0x488a48
lea edx, [ebp - 0x8e8]
push edx
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xd0]
push eax
mov edx, dword [ebp - 0xd8]
push edx
call sub.KERNEL32.DLL_MulDiv
add eax, dword [ebp - 0xd0]
push eax
call sym.ollydbg.exe__Progress
add esp, 8
mov ecx, dword [ebp - 0xd8]
add ecx, 0x2710
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1d
je 0x488aff
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
jne 0x488b18
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x20
jne 0x488b24
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x114], eax
cmp dword [0x4d9218], 2
jne 0x488f58
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x20
jne 0x488f58
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0xfc]
push edx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call sym.ollydbg.exe__Getproclimits
add esp, 0xc
test eax, eax
jne 0x488f58
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0xfc]
jne 0x488f58
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [ebp - 0xfc]
jbe 0x488f58
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2424]
push eax
call sym.ollydbg.exe__Deletesorteddatarange
add esp, 0xc
mov edx, dword [ebp - 0xdc]
sub dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0xd8]
mov dword [ecx], eax
mov dword [ebp - 0x14], 1
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
push edx
lea ecx, [ebp - 0x2424]
push ecx
call sym.ollydbg.exe__Findsorteddata
add esp, 8
mov dword [ebp - 0x1b0], eax
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x488c2b
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x488c50
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0xc]
mov dword [ecx - 0x20], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0x2c]
mov dword [ecx], edx
inc ebx
add dword [ebp - 0x1e0], 4
cmp ebx, 8
jl 0x488c16
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x488f2a
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffffc
cmp ecx, dword [ebp - 0x14]
jle 0x488f2a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1f
jne 0x488ccc
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1e4]
xor ecx, ecx
mov dword [edx], ecx
inc ebx
add dword [ebp - 0x1e4], 4
cmp ebx, 8
jl 0x488cad
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
lea edx, [ebp - 0x22ac]
and eax, 7
mov dword [ebp - 0x2c], eax
push 0
push 2
push edx
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
add dword [ebp - 0xf4], eax
cmp dword [ebp - 0x2c], 7
je 0x488f2a
mov edi, dword [ebp - 0x1c7c]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x2c], 1
jne 0x488d96
cmp edi, dword [ebp - 0xd8]
jb 0x488f2a
cmp edi, dword [ebp - 0x100]
jae 0x488f2a
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
push edi
call fcn.0047c3d8
add esp, 0xc
dec eax
jne 0x488f2a
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x488f2a
cmp dword [ebp - 0x2c], 2
jne 0x488e29
cmp edi, dword [ebp - 0xd8]
jb 0x488dd9
cmp edi, dword [ebp - 0x100]
jae 0x488dd9
lea edx, [ebp - 0x22ac]
lea ecx, [ebp - 0x2424]
push edx
push ecx
push edi
call fcn.0047c3d8
add esp, 0xc
dec eax
jne 0x488dd9
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jae 0x488f2a
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047c3d8
add esp, 0xc
dec eax
jne 0x488f2a
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x488f2a
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jae 0x488f18
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
jne 0x488f18
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047f200
add esp, 8
mov esi, eax
test esi, esi
jl 0x488ee1
jmp 0x488ed6
lea eax, [esi + esi*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 5]
cmp eax, dword [ebp - 0xf4]
jne 0x488ee1
lea edx, [esi + esi*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xd8]
jb 0x488ebb
lea ecx, [esi + esi*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0x100]
jbe 0x488ed5
push 0
lea eax, [ebp - 0x2424]
push eax
mov edx, dword [ebp - 0xf4]
push edx
call fcn.0047c3d8
add esp, 0xc
jmp 0x488ee1
inc esi
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x425]
jl 0x488e73
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047c3d8
add esp, 0xc
dec eax
jne 0x488f2a
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x488f2a
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x488c77
mov edx, dword [ebp - 0x24]
add edx, 0xfffffffc
cmp edx, dword [ebp - 0x14]
jg 0x488f4a
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x2424]
push ecx
call sym.ollydbg.exe__Deletesorteddatarange
add esp, 0xc
jmp 0x488f58
cmp dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
jg 0x488bd7
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 3
je 0x488fc4
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 7
jne 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xe8
je 0x488fc4
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xff
jne 0x48a55f
cmp dword [0x4d9218], 0
je 0x4890bf
mov eax, dword [ebp - 0x114]
push eax
lea edx, [ebp - 0x2424]
push edx
call sym.ollydbg.exe__Findsorteddata
add esp, 8
mov dword [ebp - 0x1b0], eax
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x489010
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x489035
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0xc]
mov dword [ecx - 0x20], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0x2c]
mov dword [ecx], edx
inc ebx
add dword [ebp - 0x1e0], 4
cmp ebx, 8
jl 0x488ffb
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
jae 0x4890bf
push 0
lea eax, [ebp - 0x22ac]
push 2
push eax
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
add dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
jb 0x489064
push 0
push 4
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xd8]
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
cmp dword [0x4d9218], 0
je 0x4891d5
mov edx, dword [ebp - 0x130c]
and edx, 0x3f
cmp edx, 0x24
jne 0x4891d5
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 1
je 0x48913a
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 2
jne 0x48914f
mov edx, dword [ebp - 0x12e8]
mov ecx, dword [ebp + edx*4 - 0x1c03]
mov dword [ebp - 0xf4], ecx
jmp 0x48918d
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 3
jne 0x489185
push 3
push 4
mov edx, dword [ebp - 0x12e8]
mov ecx, dword [ebp + edx*4 - 0x1c03]
push ecx
lea eax, [ebp - 0xf4]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 4
je 0x48918d
xor edx, edx
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
je 0x4891d5
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
inc ecx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.0049b12c
add esp, 8
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.0049b274
add esp, 8
xor eax, eax
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x131c], 0
je 0x489206
lea edx, [ebp - 0x7e7]
push edx
push 0
push 1
mov ecx, dword [ebp - 0x131c]
push ecx
call fcn.0040b1b4
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x489238
cmp dword [ebp - 0x12f4], 0
je 0x489238
lea eax, [ebp - 0x7e7]
push eax
push 0
push 0
mov edx, dword [ebp - 0x12e8]
push edx
call fcn.0040b1b4
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x489328
cmp dword [0x4d9218], 0
je 0x489328
mov ecx, dword [ebp - 0x130c]
and ecx, 0x3f
cmp ecx, 0x24
jne 0x489328
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 1
je 0x489298
mov edx, dword [ebp - 0x12e8]
cmp dword [ebp + edx*4 - 0x1be3], 2
je 0x489298
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 3
jne 0x489328
lea eax, [ebp - 0x7e7]
push eax
push 0
xor edx, edx
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 3
je 0x4892b4
inc edx
push edx
mov eax, dword [ebp - 0x12e8]
mov edx, dword [ebp + eax*4 - 0x1c03]
push edx
call fcn.0040b1b4
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x489328
push 0
push pe_nt_image_headers32
lea ecx, [ebp - 0xeec]
push ecx
push 0x2c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x12e8]
mov eax, dword [ebp + ecx*4 - 0x1c03]
push eax
call sym.ollydbg.exe__Decodeaddress
add esp, 0x18
test eax, eax
je 0x489328
lea edx, [ebp - 0xeec]
push edx
push 0x3a
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Insertname
add esp, 0xc
cmp dword [ebp - 0x190], 0
je 0x489339
inc dword [ebp - 0x94]
jmp 0x4893aa
cmp dword [0x4d91d0], 0
je 0x4893aa
cmp dword [ebp - 0x131c], 0
je 0x4893aa
mov eax, dword [ebp - 0x131c]
lea edx, [ebp - 0x7e7]
push eax
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.0040b9f0
add esp, 0x18
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x4893aa
inc dword [ebp - 0x98]
cmp dword [ebp - 0x190], 0
je 0x48a55f
inc dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x4893d1
mov byte [ebp - 0x7e8], 0x53
jmp 0x4893d8
mov byte [ebp - 0x7e8], 0x45
lea edx, [ebp - 0x7e8]
push edx
push 0x39
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call sym.ollydbg.exe__Quickinsertname
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
add esp, 0xc
or byte [eax + edx], 0x80
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
je 0x48a55f
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xf4], eax
xor ecx, ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x8c], ecx
mov byte [ebp - 0xfec], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jae 0x48a55f
dec dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
movzx esi, byte [ecx + eax]
and esi, 7
cmp esi, 1
je 0x48a55f
cmp esi, 7
je 0x48a55f
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ebx, ebx
mov bl, byte [eax + edx]
and ebx, 0x1f
cmp ebx, 3
je 0x489442
cmp ebx, 0x13
je 0x489442
cmp ebx, 0x1d
je 0x4894b0
cmp ebx, 0x1e
je 0x4894b0
cmp ebx, 0x1f
jne 0x48a55f
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x80
je 0x48965e
cmp dword [ebp - 0x8c], 0
jne 0x48965e
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x48964c
lea edx, [ebp - 0x7e8]
push edx
push 0x39
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.00464ab8
add esp, 0xc
push 0xff
lea eax, [ebp - 0x7e8]
push eax
lea edx, [ebp - 0x7e7]
push edx
call fcn.004a3554
mov byte [ebp - 0x6e9], 0
xor ecx, ecx
add esp, 0xc
mov cl, byte [ebp - 0x7e7]
cmp ecx, 0x42
jne 0x48954d
mov byte [ebp - 0x7e7], 0x2f
mov dword [ebp - 0x9c], 1
jmp 0x48959b
xor eax, eax
mov al, byte [ebp - 0x7e7]
cmp eax, 0x49
jne 0x489563
mov byte [ebp - 0x7e7], 0x7c
jmp 0x48959b
xor edx, edx
mov dl, byte [ebp - 0x7e7]
cmp edx, 0x45
jne 0x489579
mov byte [ebp - 0x7e7], 0x5c
jmp 0x48959b
xor ecx, ecx
mov cl, byte [ebp - 0x7e7]
cmp ecx, 0x53
jne 0x48964c
mov byte [ebp - 0x7e7], 0x5b
mov dword [ebp - 0x9c], 1
mov byte [ebp - 0x7e8], 0x49
lea eax, [ebp - 0x7e8]
push eax
push 0x39
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Quickinsertname
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
add esp, 0xc
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0x1e
je 0x4895e3
cmp dword [ebp - 4], 0x1f
jne 0x4895ed
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
jmp 0x48964c
cmp dword [ebp - 0x9c], 0
jne 0x48964c
cmp dword [ebp - 0xf4], 0
je 0x48964c
cmp dword [ebp - 0xf4], 0
jbe 0x48963a
dec dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 3
je 0x489631
cmp dword [ebp - 4], 0x13
jne 0x48963a
cmp dword [ebp - 0xf4], 0
ja 0x489608
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jb 0x4894ed
cmp dword [ebp - 0x9c], 0
jne 0x489442
jmp 0x48a55f
cmp esi, 3
je 0x48a55f
xor edx, edx
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xe8], 4
jb 0x489743
cmp dword [ebp - 0xf4], 3
jb 0x489743
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 3]
and edx, 0xffffff
cmp edx, 0xfcc483
je 0x4896c5
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 3]
and edx, 0xffffff
cmp edx, 0x4ec83
jne 0x489743
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x2414db
je 0x489739
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x241cdb
je 0x489739
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x241cd9
je 0x489739
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x2414d9
jne 0x489743
mov esi, 4
jmp 0x489a2d
cmp dword [ebp - 0xe8], 7
jb 0x489816
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0xfcc483
je 0x48978e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x4ec83
jne 0x489816
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x2414db
je 0x489a2d
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cdb
je 0x489a2d
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cd9
je 0x489a2d
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x2414d9
je 0x489a2d
cmp dword [ebp - 0xe8], 4
jb 0x4898ba
cmp dword [ebp - 0xf4], 3
jb 0x4898ba
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx - 3]
and ecx, 0xffffff
cmp ecx, 0xf8c483
je 0x48986c
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx - 3]
and ecx, 0xffffff
cmp ecx, 0x8ec83
jne 0x4898ba
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x241cdd
je 0x4898a6
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x243cdf
jne 0x4898ba
mov dword [ebp - 0xb8], 1
mov esi, 4
jmp 0x489a2d
cmp dword [ebp - 0xe8], 7
jb 0x489951
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0xf8c483
je 0x489901
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x8ec83
jne 0x489951
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cdd
je 0x48993d
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x243cdf
jne 0x489951
mov dword [ebp - 0xb8], 2
mov esi, 4
jmp 0x489a2d
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x44
je 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x4c
je 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x81
je 0x4899b7
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x83
jne 0x4899f3
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ecx, 0xc4
je 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ecx, 0xec
je 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc8
je 0x48a55f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc9
je 0x48a55f
mov byte [ebp - 0x7e8], 0x49
mov byte [ebp - 0x7e7], 0
mov dword [ebp - 4], 1
xor eax, eax
cmp esi, 4
mov dword [ebp - 0x9c], eax
je 0x489a54
cmp esi, 5
jne 0x489a68
cmp dword [ebp - 0x8c], 0
jle 0x489a68
dec dword [ebp - 0x8c]
jmp 0x48a4ff
cmp esi, 4
je 0x489a76
cmp esi, 5
jne 0x48a4f4
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x4d
je 0x489a98
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x4f
jne 0x489c44
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x489c44
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x68
jne 0x489acb
cmp dword [ebp - 0xe8], 5
jae 0x489b09
cmp dword [0x4d9218], 0
je 0x489c44
cmp dword [ebp - 0x1abb], 0
jle 0x489c44
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3f], 1
je 0x489b09
mov ecx, dword [ebp - 0x1abb]
cmp dword [ebp + ecx*4 - 0x1b3f], 2
jne 0x489c44
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x68
jne 0x489b37
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 1]
mov dword [ebp - 0x11c], ecx
jmp 0x489b4a
mov eax, dword [ebp - 0x1abb]
mov edx, dword [ebp + eax*4 - 0x1bbf]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x11c]
ja 0x489b6a
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x11c]
ja 0x489b74
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x489c00
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x4d
jne 0x489bad
push 3
push 0x100
mov edx, dword [ebp - 0x11c]
push edx
lea ecx, [ebp - 0xfec]
push ecx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
jmp 0x489c00
push 3
push pe_nt_image_headers32
mov edx, dword [ebp - 0x11c]
push edx
lea ecx, [ebp - 0xeec]
push ecx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
lea ecx, [ebp - 0xeec]
shr eax, 1
mov dword [ebp - 8], eax
push 0
push 0
lea eax, [ebp - 0xfec]
push 0x100
push eax
mov edx, dword [ebp - 8]
push edx
push ecx
push 0
push 0
call sub.KERNEL32.DLL_WideCharToMultiByte
mov dword [ebp - 8], eax
mov dword [ebp - 0xb4], 1
cmp dword [ebp - 8], 0x100
jne 0x489c44
mov byte [ebp - 0xeed], 0
xor edi, edi
jmp 0x489c32
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x25
jne 0x489c31
xor edx, edx
mov dl, byte [ebp + edi - 0xfeb]
cmp edx, 0x25
jne 0x489c3c
inc edi
inc edi
cmp byte [ebp + edi - 0xfec], 0
jne 0x489c14
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 4]
lea edx, [ebp + eax - 0x7e8]
mov dword [ebp - 0x1e8], edx
jmp 0x489c7e
cmp dword [ebp - 0xb8], 2
je 0x489c78
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x1e8]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
inc dword [ebp - 0x190]
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
je 0x489c98
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2c
jne 0x489c56
cmp dword [ebp - 0xb8], 1
jne 0x489cbd
push str.__8_byte_
lea ecx, [ebp - 0x7e8]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp 0x489cc8
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2c
jne 0x489cdd
inc dword [ebp - 0x190]
inc dword [ebp - 0xa8]
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2e
jne 0x489df2
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
jne 0x489df2
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x2e
jne 0x489df2
add dword [ebp - 0x190], 3
jmp 0x489d2d
inc dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x489d27
cmp byte [ebp - 0xfec], 0
jne 0x489df2
cmp dword [0x4d91d0], 0
je 0x489de8
push 0
lea edx, [ebp - 0xeeb]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.0040b9f0
add esp, 0x18
test eax, eax
jne 0x489da7
mov dword [ebp - 0x9c], 1
jmp 0x489df2
xor edx, edx
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0xa8]
jge 0x489de0
jmp 0x489dba
inc eax
cmp byte [eax], 0
je 0x489dc8
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2c
jne 0x489db9
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x2c
jne 0x489dd2
inc eax
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xa8]
jl 0x489dba
mov dword [ebp - 0x190], eax
jmp 0x489df2
mov dword [ebp - 0x9c], 1
cmp dword [ebp - 0x9c], 0
jne 0x489e2e
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x489e2e
cmp dword [ebp - 0xb0], 0
jne 0x489e2e
cmp byte [ebp - 0xfec], 0
je 0x489e22
cmp byte [ebp + edi - 0xfec], 0
jne 0x489e2e
mov byte [ebp - 0x7e8], 0x42
jmp 0x48a3ca
cmp dword [ebp - 0x9c], 0
jne 0x48a3ca
cmp dword [ebp - 4], 1
jne 0x48a3ca
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
jne 0x48a3ca
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x3d
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x7e8], 0x3c
inc dword [ebp - 4]
mov dword [ebp - 0xac], edi
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x489ec4
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x2b
je 0x489eab
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2d
je 0x489eab
xor ecx, ecx
mov cl, byte [ebp + edi - 0xfec]
cmp ecx, 0x20
je 0x489eab
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x23
je 0x489eab
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2a
jne 0x489f55
test byte [ebp - 0xb0], 1
jne 0x489f3e
or dword [ebp - 0xb0], 1
push esi
lea edi, [ebp - 0x7e8]
mov eax, edi
mov esi, str.II__
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov edi, dword [ebp - 0xac]
inc dword [ebp - 0xa8]
jmp 0x48a3ca
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
jmp 0x489f94
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x489f80
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
push eax
call fcn.004a7bbc
pop ecx
test eax, eax
jne 0x489f67
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2e
jne 0x48a053
mov cl, byte [ebp + edi - 0xfec]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], cl
inc edi
inc dword [ebp - 4]
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2a
jne 0x48a014
test byte [ebp - 0xb0], 2
jne 0x489ffd
or dword [ebp - 0xb0], 2
push esi
lea edi, [ebp - 0x7e8]
mov eax, edi
mov esi, str.II__
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov edi, dword [ebp - 0xac]
inc dword [ebp - 0xa8]
jmp 0x48a3ca
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
jmp 0x48a053
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x48a03f
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
push eax
call fcn.004a7bbc
pop ecx
test eax, eax
jne 0x48a026
mov dl, byte [ebp + edi - 0xfec]
mov byte [ebp - 0x178], dl
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], dl
inc edi
inc dword [ebp - 4]
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x4e
je 0x48a0af
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x68
je 0x48a0af
xor edx, edx
mov dl, byte [ebp - 0x178]
cmp edx, 0x6c
je 0x48a0af
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x4c
je 0x48a0af
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x77
jne 0x48a0d8
mov dl, byte [ebp - 0x178]
mov byte [ebp - 0x179], dl
mov cl, byte [ebp + edi - 0xfec]
mov byte [ebp - 0x178], cl
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], cl
inc edi
inc dword [ebp - 4]
jmp 0x48a0df
mov byte [ebp - 0x179], 0
cmp dword [ebp - 4], 0x7f
jle 0x48a116
mov dword [ebp - 4], 0x7c
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x2e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0x2e
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x2e
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
xor edx, edx
mov byte [ebp + ecx - 0x7e8], 0x3e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
mov dl, byte [ebp - 0x178]
cmp edx, 0x64
je 0x48a149
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x69
jne 0x48a155
mov byte [ebp - 0x7e7], 0x49
jmp 0x48a381
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x75
jne 0x48a16e
mov byte [ebp - 0x7e7], 0x55
jmp 0x48a381
xor edx, edx
mov dl, byte [ebp - 0x178]
cmp edx, 0x6f
je 0x48a195
xor edx, edx
mov dword [ebp - 0xb0], edx
jmp 0x48a3a9
cmp byte [ebp + edi - 0xfec], 0
jne 0x48a38b
cmp dword [0x4d9218], 0
je 0x48a4ff
cmp dword [ebp - 0x1abb], 0
jle 0x48a4ff
dec dword [ebp - 0x1abb]
cmp esi, 5
jne 0x48a49a
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3b], 1
je 0x48a417
mov ecx, dword [ebp - 0x1abb]
cmp dword [ebp + ecx*4 - 0x1b3b], 2
jne 0x48a49a
lea eax, [ebp - 0x7e8]
push eax
call fcn.004a36d4
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xf4
jge 0x48a4ff
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3b], 1
jne 0x48a46e
mov ecx, dword [ebp - 0x1abb]
lea edx, [ebp - 0x7e8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
push eax
push 0x4c7d44
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
jmp 0x48a4ff
mov ecx, dword [ebp - 0x1abb]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push str._X
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
jmp 0x48a4ff
cmp esi, 5
jne 0x48a4ff
mov eax, dword [ebp - 0x1abb]
cmp dword [ebp + eax*4 - 0x1b3b], 3
jne 0x48a4ff
lea edx, [ebp - 0x7e8]
push edx
call fcn.004a36d4
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xf2
jge 0x48a4ff
mov ecx, dword [ebp - 0x1abb]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push 0x4c7d4f
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
jmp 0x48a4ff
cmp esi, 6
jne 0x48a4ff
inc dword [ebp - 0x8c]
lea eax, [ebp - 0x7e8]
push eax
push 0x39
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call sym.ollydbg.exe__Quickinsertname
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
add esp, 0xc
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x9c], 0
jne 0x48a55f
xor edx, edx
mov dl, byte [ebp - 0x7e8]
cmp edx, 0x42
je 0x48a55f
cmp ebx, 0x1e
je 0x48a55f
cmp ebx, 0x1f
je 0x48a55f
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jb 0x489454
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jb 0x488a34
lea edx, [ebp - 0x2424]
push edx
call sym.ollydbg.exe__Destroysorteddata
pop ecx
push 0
call fcn.00464580
pop ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473838
pop ecx
lea eax, [ebp - 0x8e8]
push eax
push 0x3e6
call sym.ollydbg.exe__Progress
add esp, 8
xor ebx, ebx
cmp ebx, dword [ebp - 0x20]
jge 0x48a66e
mov eax, dword [ebp - 0x174]
mov edi, dword [eax + ebx*4]
jmp 0x48a5ee
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 4
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 1], 3
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 2], 3
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 3], 3
add edi, 4
lea edx, [edi + 4]
cmp edx, dword [ebp - 0xe8]
ja 0x48a664
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
dec eax
jne 0x48a664
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi + 1]
dec ecx
jne 0x48a664
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi + 2]
dec edx
jne 0x48a664
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi + 3]
dec eax
jne 0x48a664
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
mov cl, byte [edx + edi]
mov edx, dword [ebp - 0x188]
or cl, byte [eax + edi + 1]
mov eax, dword [ebp - 0x188]
or cl, byte [edx + edi + 2]
or cl, byte [eax + edi + 3]
test cl, 0x18
je 0x48a5c0
inc ebx
cmp ebx, dword [ebp - 0x20]
jl 0x48a5b5
lea edx, [ebp - 0x8e8]
push edx
push 0x3e7
call sym.ollydbg.exe__Progress
add esp, 8
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x48a919
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
ja case.0x48a6bf.0
mov al, byte [eax + 0x48a6c6]
jmp dword [eax*4 + 0x48a6e6]
mov dword [ebp - 8], 1
jmp 0x48a8b6
mov dword [ebp - 8], 2
jmp 0x48a8b6
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 1
mov dword [ebp - 8], 1
jmp 0x48a8b6
mov dword [ebp - 8], 4
jmp 0x48a8b6
mov dword [ebp - 8], 6
jmp 0x48a8b6
mov dword [ebp - 8], 8
jmp 0x48a8b6
mov dword [ebp - 8], 0x10
jmp 0x48a8b6
mov dword [ebp - 8], 0xa
jmp 0x48a8b6
inc dword [ebp - 0xd8]
jmp 0x48a794
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x48a7bb
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 3
je 0x48a78e
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x48a8b6
mov ecx, dword [ebp - 0xd8]
inc ecx
cmp ecx, dword [ebp - 0xe8]
jae 0x48a7ee
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
and ecx, 0x1f
cmp ecx, 3
je 0x48a80a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
mov dword [ebp - 8], 1
jmp 0x48a8b6
add dword [ebp - 0xd8], 2
jmp 0x48a834
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax + 1]
and edx, 0x1f
cmp edx, 3
jne 0x48a85c
add dword [ebp - 0xd8], 2
mov ecx, dword [ebp - 0xd8]
inc ecx
cmp ecx, dword [ebp - 0xe8]
jae 0x48a85c
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x48a813
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x48a8b6
inc dword [ebp - 0xd8]
jmp 0x48a871
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x48a898
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x13
je 0x48a86b
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x48a8b6
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
mov dword [ebp - 8], 1
mov ebx, 1
cmp ebx, dword [ebp - 8]
jge 0x48a8e1
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 3
jne 0x48a8e1
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x48a8c0
cmp ebx, dword [ebp - 8]
jge 0x48a8fe
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
inc dword [ebp - 0xd8]
jmp 0x48a907
mov ecx, dword [ebp - 8]
add dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jb 0x48a69c
push 0
call fcn.00464580
pop ecx
push 0x4c666c
push 0
call sym.ollydbg.exe__Progress
add esp, 8
cmp dword [ebp - 0x90], 1
jne 0x48a940
mov edx, 0x4c666c
jmp 0x48a945
mov edx, 0x4c76f3
push edx
cmp dword [0x4d91c8], 0
jne 0x48a956
mov eax, str.strict
jmp 0x48a96b
cmp dword [0x4d91c8], 1
jne 0x48a966
mov eax, str.heuristical
jmp 0x48a96b
mov eax, str.fuzzy
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x90]
push edx
push str._i__s_procedure_s
push ecx
call fcn.004a6c2c
add esp, 0x14
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x94], 1
jne 0x48a9c7
cmp dword [ebp - 0x98], 0
jne 0x48a9a5
mov edx, str._function
jmp 0x48a9aa
mov edx, 0x4c789f
push edx
push str.1_call_to_known_s
lea eax, [ebp - 0xeec]
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x48aa07
cmp dword [ebp - 0x94], 1
jle 0x48aa07
cmp dword [ebp - 0x98], 0
jne 0x48a9e0
mov ecx, str._functions
jmp 0x48a9e5
mov ecx, 0x4c789f
push ecx
lea edx, [ebp - 0xeec]
mov eax, dword [ebp - 0x94]
push eax
push str._i_calls_to_known_s
add edx, dword [ebp - 8]
push edx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 8], eax
cmp dword [ebp - 0x98], 1
jne 0x48aa2c
push str.1_call_to_guessed_functions
lea eax, [ebp - 0xeec]
add eax, dword [ebp - 8]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 8], eax
jmp 0x48aa56
cmp dword [ebp - 0x98], 1
jle 0x48aa56
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0xeec]
push edx
push str._i_calls_to_guessed_functions
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x48aa7b
lea eax, [ebp - 0x7e8]
push eax
mov edx, dword [ebp + 8]
add edx, 0x48
push edx
push 8
push str.Analysing__.s:__s
call sym.ollydbg.exe__Infoline
add esp, 0x10
jmp 0x48aa9f
lea ecx, [ebp - 0xeec]
lea eax, [ebp - 0x7e8]
push ecx
push eax
mov edx, dword [ebp + 8]
add edx, 0x48
push edx
push 8
push str.Analysing__.s:__s___s
call sym.ollydbg.exe__Infoline
add esp, 0x14
mov ecx, dword [ebp + 8]
add ecx, 0x48
push ecx
push 8
push str.Analysing__.s
push 0
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0x14
lea eax, [ebp - 0x7e8]
push eax
push 0x4c7e30
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0x10
cmp dword [ebp - 8], 0
jle 0x48aaef
lea edx, [ebp - 0xeec]
push edx
push 0x4c7e30
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0x10
cmp dword [ebp - 0x34], 0
jg 0x48aaff
cmp dword [ebp - 0x48], 0
jle 0x48ab8a
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x34], 0
jle 0x48ab3b
cmp dword [ebp - 0x48], 0
jne 0x48ab17
mov eax, 0x4c666c
jmp 0x48ab1c
mov eax, 0x4c789f
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x34]
push edx
push str._i_loops_s
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 8], eax
cmp dword [ebp - 0x48], 0
jle 0x48ab72
cmp dword [0x4dcb40], 0
jne 0x48ab51
mov eax, 0x4c666c
jmp 0x48ab56
mov eax, str._or_cascaded_ifs
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x48]
push edx
push str._i_switches_s
add ecx, dword [ebp - 8]
push ecx
call fcn.004a6c2c
add esp, 0x10
lea eax, [ebp - 0x7e8]
push eax
push 0x4c7e30
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0x10
mov edx, dword [ebp - 0x1c4]
push edx
call sub.USER32.DLL_SetCursor
push 0
push 0
push 0
call sym.ollydbg.exe__Havecopyofmemory
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx]
sub eax, dword [edx + 0x160]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
call sym.ollydbg.exe__Calculatecrc
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x170], eax
mov eax, dword [ebp - 0x180]
push eax
call sub.KERNEL32.DLL_GlobalFree
mov ecx, dword [ebp - 0x188]
push ecx
call sub.KERNEL32.DLL_GlobalFree
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call sub.KERNEL32.DLL_VirtualFree
xor eax, eax
jmp 0x48ad05
push 0x4c666c
push 0
call sym.ollydbg.exe__Progress
add esp, 8
push str.Analysis_interrupted
push 0
call sym.ollydbg.exe__Message
add esp, 8
mov edx, dword [ebp - 0x1c4]
push edx
call sub.USER32.DLL_SetCursor
push 0
push 0
push 0
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x170], eax
mov edx, dword [ebp + 8]
push edx
call fcn.0047f1d0
pop ecx
mov ecx, dword [ebp - 0x180]
push ecx
call sub.KERNEL32.DLL_GlobalFree
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
push edx
call sub.KERNEL32.DLL_GlobalFree
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x16c], eax
mov edx, dword [ebp - 0x188]
push edx
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x18c], 0
je 0x48acc9
mov ecx, dword [ebp - 0x18c]
push ecx
call sub.KERNEL32.DLL_GlobalFree
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call sub.KERNEL32.DLL_VirtualFree
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call sub.KERNEL32.DLL_VirtualFree
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret