Function at 0x463b00
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4ea848
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfc
mov eax, dword [esp + 0x10c]
push ebx
push ebp
push esi
xor esi, esi
cmp word [eax], 0x23
push edi
mov dword [esp + 0x54], ecx
mov byte [esp + 0x13], 0
jne 0x463b46
add eax, 2
mov dword [esp + 0x11c], eax
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x11c]
push ecx
call fcn.00417de5
lea edx, [esp + 0x120]
push edx
call fcn.00443850
push 4
call fcn.00449130
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x40], eax
je 0x463b75
mov word [eax], si
push 2
mov dword [esp + 0x118], esi
mov dword [esp + 0x18], esi
call fcn.00449130
add esp, 4
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x463b95
mov word [eax], si
push 4
mov dword [esp + 0x24], esi
call fcn.00449130
add esp, 4
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x463bae
mov word [eax], si
push 4
mov dword [esp + 0x1c], esi
call fcn.00449130
add esp, 4
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x463bc7
mov word [eax], si
push 2
mov dword [esp + 0x20], esi
call fcn.00449130
add esp, 4
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x463be0
mov word [eax], si
mov eax, dword [esp + 0x11c]
push 5
push eax
push str._find
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
call fcn.00444970
add esp, 0xc
test al, al
mov byte [esp + 0x4f], al
je 0x463c38
mov edi, dword [esp + 0x11c]
lea ecx, [esp + 0x11c]
add edi, 0xa
push ecx
mov dword [esp + 0x120], edi
call fcn.00443850
add esp, 4
push 2
mov dword [esp + 0x78], esi
mov dword [esp + 0x84], esi
mov byte [esp + 0x16], 0
call fcn.00449130
mov ebp, eax
add esp, 4
cmp ebp, esi
mov dword [esp + 0x2c], ebp
je 0x463c60
mov word [ebp], si
push 2
call fcn.00449130
add esp, 4
cmp eax, esi
mov dword [esp + 0x50], eax
je 0x463c75
mov word [eax], si
mov edx, dword [esp + 0x11c]
mov byte [esp + 0x114], 6
mov eax, edx
mov ecx, 0x4fa01c
mov esi, 2
movzx edi, word [eax]
movsx ebx, byte [ecx]
or edi, 0x20
or ebx, 0x20
add eax, 2
inc ecx
cmp ebx, edi
jne 0x463dac
dec esi
jns 0x463c90
add edx, 6
mov dword [esp + 0x11c], edx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x120]
push eax
call fcn.0044ce90
mov eax, dword [esp + 0x124]
add esp, 8
cmp word [eax], 0x40
jne 0x463d91
add eax, 2
lea ecx, [esp + 0x11c]
push ecx
mov dword [esp + 0x120], eax
mov ebp, eax
call fcn.00417de5
mov edx, dword [esp + 0x120]
mov si, word [edx]
lea eax, [esp + 0x120]
push eax
call fcn.00443850
xor edi, edi
add esp, 8
cmp si, di
je 0x463d31
mov eax, dword [esp + 0x11c]
sub eax, 2
mov dword [esp + 0x11c], eax
mov word [eax], di
add dword [esp + 0x11c], 2
mov ecx, dword [esp + 0x54]
mov al, byte [ecx + 0x8e]
test al, al
jne 0x463d55
test byte [ecx + 0xb], 0xf
jne 0x463d55
push 1
push edi
lea edx, [esp + 0x34]
push edx
push ebp
call fcn.004541d0
jmp 0x463d63
push 1
push edi
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.00452ca0
mov ebp, dword [esp + 0x2c]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [esp + 0x11c]
add eax, 8
push ecx
mov dword [esp + 0x84], eax
call fcn.00443850
mov edx, dword [esp + 0x120]
add esp, 4
jmp 0x463dae
lea ecx, [esp + 0x11c]
push ecx
xor edi, edi
call fcn.00443850
mov edx, dword [esp + 0x120]
add esp, 4
jmp 0x463dae
xor edi, edi
mov ebx, dword [esp + 0x54]
mov al, byte [ebx + 0x8e]
test al, al
jne 0x463dd4
test byte [ebx + 0xb], 0xf
jne 0x463dd4
push 1
push edi
lea eax, [esp + 0x58]
push eax
push edx
mov ecx, ebx
call fcn.004541d0
jmp 0x463de4
push 1
push edi
lea ecx, [esp + 0x58]
push ecx
push edx
mov ecx, ebx
call fcn.00452ca0
mov esi, dword [esp + 0x50]
push 4
push esi
push str._bin
mov dword [esp + 0x128], esi
call fcn.00444970
add esp, 0xc
test al, al
je 0x463e22
lea eax, [esp + 0x11c]
lea edx, [esi + 8]
push eax
mov dword [esp + 0x120], edx
call fcn.00443850
add esp, 4
mov byte [esp + 0x12], 1
push edi
push 0x2c
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x128]
push edx
mov ecx, ebx
call fcn.0043de70
mov eax, dword [esp + 0x14]
mov ax, word [eax]
cmp ax, di
jne 0x463ef9
cmp esi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x463e61
mov ecx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push edi
push ecx
call ebx
cmp ebp, edi
je 0x463e73
mov edx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push edi
push edx
call ebx
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x463e88
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call ebx
mov eax, dword [esp + 0x18]
cmp eax, edi
mov dword [esp + 0x1c], edi
je 0x463ea2
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call ebx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x463ebc
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push edx
call ebx
mov eax, dword [esp + 0x14]
cmp eax, edi
mov dword [esp + 0x20], edi
je 0x463ed5
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call ebx
mov eax, dword [esp + 0x40]
cmp eax, edi
mov dword [esp + 0x14], edi
je 0x463eef
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call ebx
mov eax, 1
jmp 0x464f2a
cmp ax, 0x26
jne 0x463f04
mov byte [esp + 0x12], 1
push edi
push 0x2c
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x128]
push eax
call fcn.0043ded0
mov ecx, dword [esp + 0x30]
add esp, 0x10
cmp word [ecx], di
jne 0x463fd9
cmp esi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x463f41
mov edx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push edi
push edx
call ebx
cmp ebp, edi
je 0x463f52
mov eax, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push edi
push eax
call ebx
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x463f68
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call ebx
mov eax, dword [esp + 0x18]
cmp eax, edi
mov dword [esp + 0x1c], edi
je 0x463f82
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push edx
call ebx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x463f9b
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call ebx
mov eax, dword [esp + 0x14]
cmp eax, edi
mov dword [esp + 0x20], edi
je 0x463fb5
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call ebx
mov eax, dword [esp + 0x40]
cmp eax, edi
mov dword [esp + 0x14], edi
je 0x463fcf
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push edx
call ebx
mov eax, 1
jmp 0x464f2a
push edi
push 0x2c
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, ebx
call fcn.0043de70
mov edx, dword [esp + 0x18]
cmp word [edx], di
jne 0x4640ac
cmp esi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x464014
mov eax, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push edi
push eax
call ebx
cmp ebp, edi
je 0x464026
mov ecx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push edi
push ecx
call ebx
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x46403c
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push edx
call ebx
mov eax, dword [esp + 0x18]
cmp eax, edi
mov dword [esp + 0x1c], edi
je 0x464055
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call ebx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x46406f
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call ebx
mov eax, dword [esp + 0x14]
cmp eax, edi
mov dword [esp + 0x20], edi
je 0x464089
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push edx
call ebx
mov eax, dword [esp + 0x40]
cmp eax, edi
mov dword [esp + 0x14], edi
je 0x4640a2
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call ebx
mov eax, 1
jmp 0x464f2a
push edi
push 0x2c
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x128]
push edx
mov ecx, ebx
call fcn.0043de70
mov al, byte [esp + 0x4f]
test al, al
je 0x4640d8
mov eax, dword [esp + 0x1c]
cmp word [eax], di
je 0x4647fe
lea ecx, [esp + 0x8c]
call fcn.004165d5
mov al, byte [esp + 0x12]
test al, al
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x114], 7
mov dword [esp + 0x24], ecx
jne 0x4641c6
lea edx, [esp + 0x24]
push 1
push edx
call fcn.004529a0
mov esi, eax
add esp, 8
cmp esi, edi
je 0x4641c6
cmp word [esi], 0x23
jne 0x4641c6
mov ebx, dword [0x51d1cc]
mov di, word [esi]
mov eax, dword [esp + 0x24]
xor ebp, ebp
mov word [esi], bp
cmp word [eax], bp
je 0x464148
push 2
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ebp, eax
mov ebx, ebp
mov word [esi], di
add esi, 2
mov dword [esp + 0x48], 0x20
cmp word [esi], 0x2e
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0
jne 0x46417c
mov word [esi], 0x23
add esi, 2
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], 0x40
test ebx, ebx
je 0x4641b9
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.004528b0
movzx edx, byte [esp + 0x50]
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x54], edx
lea edx, [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x50]
push eax
push ebx
call fcn.00423fea
add esp, 0x1c
mov byte [esp + 0x12], 2
test ebp, ebp
je 0x4641c4
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edi, edi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x78], esi
mov dword [esp + 0x14], edi
push esi
mov byte [esp + 0x118], 8
call fcn.00422077
add esp, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00456630
cmp esi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x464205
mov ecx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push edi
push ecx
call ebx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x1c], edi
push esi
mov byte [esp + 0x118], 9
call fcn.00422077
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.00456630
cmp esi, edi
mov byte [esp + 0x114], 7
je 0x464246
mov edx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push edi
push edx
call ebx
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x120]
push edx
mov dword [esp + 0x90], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x124], eax
call fcn.0044f5a0
mov eax, dword [esp + 0x124]
add esp, 8
cmp word [eax], 0x23
jne 0x4643c4
mov esi, 2
add eax, esi
mov dword [esp + 0x11c], eax
cmp word [eax], 0x2a
sete cl
test cl, cl
je 0x4642c1
add eax, esi
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x38], SysReAllocStringLen
mov dword [esp + 0x11c], eax
jmp 0x4642dd
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x120]
push ecx
call fcn.0044f5a0
mov eax, dword [esp + 0x124]
add esp, 8
cmp word [eax], 0x23
jne 0x4643c4
add eax, esi
lea edx, [esp + 0x64]
mov dword [esp + 0x11c], eax
push edx
lea eax, [esp + 0x120]
push eax
call fcn.0044f5a0
add esp, 8
test eax, eax
jle 0x464314
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x11c]
cmp word [edx], 0x23
jne 0x4643c4
mov eax, edx
add eax, esi
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x120]
push ecx
call fcn.0044f5a0
add esp, 8
test eax, eax
jle 0x464351
mov edx, dword [esp + 0x64]
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x11c]
cmp word [eax], 0x23
jne 0x4643c4
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x120]
add eax, esi
push edx
mov dword [esp + 0x124], eax
call fcn.0044f5a0
add esp, 8
test eax, eax
jle 0x464388
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x11c]
cmp word [ecx], 0x23
jne 0x4643c4
lea edx, [esp + 0x64]
mov ebp, ecx
push edx
lea eax, [esp + 0x120]
add ebp, esi
push eax
mov dword [esp + 0x124], ebp
call fcn.0044f5a0
add esp, 8
test eax, eax
jle 0x4643c4
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x84], ecx
lea edx, [esp + 0x11c]
push edx
call fcn.00443850
mov eax, dword [esp + 0x18]
add esp, 4
xor ebx, ebx
xor esi, esi
cmp word [eax], 0x75
jne 0x4644d1
cmp word [eax + 2], 0x64
jne 0x4644d1
mov edx, 0x3a
cmp word [eax + 4], dx
jne 0x4644d1
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x38]
add eax, 6
mov dword [esp + 0xa4], ecx
xor ebp, ebp
cmp word [eax], 0x22
mov dword [esp + 0x6c], eax
mov byte [esp + 0x12], 4
mov dword [esp + 0x5c], edi
jne 0x46444b
add eax, 2
mov dword [esp + 0x6c], eax
mov esi, eax
lea eax, [esp + 0x6c]
call fcn.00448ed0
mov eax, dword [esp + 0x6c]
cmp eax, esi
je 0x464469
cmp word [eax - 2], 0x22
jne 0x464469
mov word [eax - 2], di
cmp word [eax], dx
jne 0x464474
mov word [eax], di
add eax, 2
cmp word [eax], 0x22
mov edx, eax
jne 0x464497
lea edx, [eax + 2]
nop
mov cx, word [eax + 2]
add eax, 2
cmp cx, 0x22
je 0x464494
cmp cx, di
jne 0x464480
jmp 0x464497
mov word [eax], di
lea eax, [esp + 0x98]
push eax
push edi
push 0x10000
push edx
lea ecx, [esp + 0x9c]
push ecx
push esi
call fcn.00441260
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
add esp, 0x18
lea ebx, [eax + edx]
jmp 0x4644e1
mov al, byte [esp + 0x12]
test al, al
je 0x464696
mov ebp, dword [esp + 0x58]
push 0x51d5ec
mov dword [esp + 0x40], 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esp + 0x28]
call fcn.00449480
mov al, byte [esp + 0x12]
cmp al, 1
mov byte [esp + 0x114], 0xb
jne 0x464543
mov esi, dword [esp + 0x54]
push edi
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.004166b6
mov edx, dword [esp + 0x14]
push 0xffffffffffffffff
push edi
push edx
mov ecx, esi
call fcn.0041ff6a
cmp eax, edi
je 0x464680
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 4]
and esi, 0x3fffffff
jmp 0x464555
cmp al, 2
jne 0x464555
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
cmp ebp, esi
mov eax, ebp
jle 0x46455d
mov eax, esi
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
sub esi, eax
add ebx, eax
mov eax, esi
cdq
cmp ecx, edx
jl 0x46457a
jg 0x464578
mov ecx, ebp
cmp ecx, eax
jbe 0x46457a
mov ebp, esi
mov al, byte [esp + 0x13]
test al, al
je 0x4645af
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
push edi
push edi
push ebp
push ebx
push eax
push ecx
call fcn.0045e250
add esp, 0x18
lea ecx, [esp + 0x28]
call fcn.00443880
lea ecx, [esp + 0x3c]
call fcn.00416591
jmp 0x464a0d
mov ecx, dword [esp + 0x74]
cmp ecx, edi
lea esi, [ebp + ebp*4 + 0xa]
jle 0x4645d0
mov eax, ebp
cdq
idiv ecx
mov edx, dword [esp + 0x80]
add edx, 2
inc eax
imul eax, edx
add esi, eax
mov ecx, dword [esp + 0x28]
lea eax, [esi + esi + 0xe]
push ecx
call fcn.00449190
add esp, 4
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x4645ee
mov word [eax + esi*2 + 0xc], di
mov eax, dword [esp + 0x28]
xor edi, edi
dec ebp
mov esi, eax
js 0x464677
inc ebp
mov dword [esp + 0x24], ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x464655
mov eax, edi
cdq
idiv dword [esp + 0x74]
test edx, edx
jne 0x464655
test edi, edi
jle 0x46462f
mov word [esi], 0xd
add esi, 2
mov word [esi], 0xa
add esi, 2
mov eax, dword [esp + 0x80]
test eax, eax
je 0x464655
mov edx, dword [esp + 0x2c]
push edx
push edi
push str._8X_s
push esi
call ebp
mov eax, dword [esp + 0x90]
add esp, 0x10
lea esi, [esi + eax*2]
movzx eax, byte [ebx]
push eax
push 0x4f6f7c
push esi
call ebp
mov ecx, dword [esp + 0x30]
add esp, 0xc
add esi, 0xa
inc ebx
inc edi
dec ecx
lea eax, [esi - 2]
mov dword [esp + 0x24], ecx
jne 0x464608
mov esi, dword [esp + 0x54]
mov word [eax], 0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov ecx, esi
call fcn.00448be0
jmp 0x464598
push 0x7a
call fcn.00449130
add esp, 4
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x4646ab
mov word [eax], di
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x11c], 0xc
mov dword [esp + 0x2c], edi
call fcn.00452060
add esp, 8
test al, al
mov byte [esp + 0x28], al
jge 0x46472f
lea ecx, [esp + 0x30]
call fcn.00443880
lea ecx, [esp + 0x8c]
call fcn.00416732
lea ecx, [esp + 0x50]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x1c]
call fcn.00443880
lea ecx, [esp + 0x18]
call fcn.00443880
lea ecx, [esp + 0x20]
call fcn.00443880
lea ecx, [esp + 0x14]
call fcn.00443880
lea ecx, [esp + 0x40]
call fcn.00443880
mov eax, 0x80070057
jmp 0x464f2a
xor ebp, ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x70], ebp
or edi, 0xffffffff
mov ebx, edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x44], ebp
mov edx, dword [esp + 0x14]
push ebp
push ebp
push 3
push ebp
push 3
push SysReAllocStringLen
push edx
lea ecx, [esp + 0x60]
mov byte [esp + 0x130], 0x10
call fcn.00417e55
cmp byte [esp + 0x28], 0x11
mov esi, dword [esp + 0x44]
jne 0x464847
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x64]
push eax
push ecx
push esi
call fcn.00451ef0
add esp, 0xc
cmp edx, ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jg 0x46487a
jl 0x4647c2
cmp eax, ebp
jae 0x46487a
lea ecx, [esp + 0x44]
call fcn.00417e50
lea ecx, [esp + 0x70]
call fcn.00417e50
lea ecx, [esp + 0x48]
call fcn.00443880
lea ecx, [esp + 0x98]
call fcn.004437a0
lea ecx, [esp + 0x30]
call fcn.00443880
lea ecx, [esp + 0x8c]
call fcn.00416732
lea ecx, [esp + 0x50]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x1c]
call fcn.00443880
lea ecx, [esp + 0x18]
call fcn.00443880
lea ecx, [esp + 0x20]
call fcn.00443880
lea ecx, [esp + 0x14]
call fcn.00443880
lea ecx, [esp + 0x40]
call fcn.00443880
mov eax, 1
jmp 0x464f2a
cmp esi, ebp
je 0x464882
mov al, byte [esp + 0x28]
test al, al
jne 0x464866
push 2
push ebp
push ebp
push esi
call fcn.00444930
add esp, 0x10
mov ebx, eax
mov edi, edx
jmp 0x464882
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.00447d10
add esp, 8
mov ebx, eax
mov edi, edx
jmp 0x464882
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov al, byte [esp + 0x4f]
test al, al
je 0x464a5f
mov eax, 0xffffffff
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
xor ebp, ebp
xor esi, esi
cmp word [eax], 0x2a
push ebp
jne 0x4648cd
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x5c]
add eax, 2
push eax
call fcn.00453530
mov ebp, dword [esp + 0x48]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
shl esi, 1
jmp 0x46493b
push 0
push 3
push 0
push 3
push SysReAllocStringLen
push eax
lea ecx, [esp + 0x8c]
call fcn.00417e55
mov eax, dword [esp + 0x70]
test eax, eax
je 0x46493b
push 2
push 0
mov edx, eax
push 0
push edx
call fcn.00444930
add esp, 0x10
test edx, edx
jl 0x46491a
jg 0x46490d
cmp eax, 0x20000000
jbe 0x46491a
mov eax, 0x20000000
mov dword [esp + 0x68], 0
push 0
push 0
mov esi, eax
cdq
push 2
push edx
push eax
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0xb0]
call fcn.004437e0
mov ebp, eax
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x464947
add ebp, eax
sub esi, eax
mov eax, dword [esp + 0x88]
test eax, eax
jle 0x464958
cmp esi, eax
jle 0x464958
mov esi, eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4649ad
test ebp, ebp
je 0x4649ad
test esi, esi
jle 0x4649ad
mov eax, dword [esp + 0x60]
test eax, eax
jl 0x4649ad
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x38]
mov edx, eax
mov eax, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push esi
push ebp
push edi
push ebx
push edx
call fcn.00452290
add esp, 0x30
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
lea edx, [esp + 0xb0]
push edx
call fcn.004a48b0
mov ecx, dword [esp + 0x24]
add esp, 0xc
lea eax, [esp + 0xa8]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
call fcn.00448be0
lea ecx, [esp + 0x44]
call fcn.00417e50
lea ecx, [esp + 0x70]
call fcn.00417e50
lea ecx, [esp + 0x48]
call fcn.00443880
lea ecx, [esp + 0x98]
call fcn.004437a0
lea ecx, [esp + 0x30]
call fcn.00443880
lea ecx, [esp + 0x8c]
call fcn.00416732
lea ecx, [esp + 0x50]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x1c]
call fcn.00443880
lea ecx, [esp + 0x18]
call fcn.00443880
lea ecx, [esp + 0x20]
call fcn.00443880
lea ecx, [esp + 0x14]
call fcn.00443880
lea ecx, [esp + 0x40]
call fcn.00443880
xor eax, eax
jmp 0x464f2a
cmp esi, ebp
mov dword [esp + 0x88], ebp
je 0x464e44
cmp dword [esp + 0x5c], ebp
jl 0x464e44
mov ebp, dword [esp + 0x58]
jg 0x464a86
test ebp, ebp
jb 0x464e44
cmp dword [esp + 0x5c], edi
jg 0x464e44
jl 0x464a9a
cmp ebp, ebx
ja 0x464e44
mov al, byte [esp + 0x28]
test al, al
jne 0x464ab6
test edi, edi
jl 0x464e10
jg 0x464ad4
test ebx, ebx
jbe 0x464e10
jmp 0x464ad4
test edi, edi
jg 0x464ad4
jl 0x464ac0
test ebx, ebx
jae 0x464aca
or ebx, 0xffffffff
mov edi, 0x7fffffff
jmp 0x464ad4
test edi, edi
jl 0x464b01
jg 0x464ad4
test ebx, ebx
jbe 0x464b01
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x38]
mov eax, ebx
sub eax, ebp
sbb edi, edx
cmp edi, ecx
jg 0x464b01
jl 0x464af0
mov edi, dword [esp + 0x34]
cmp eax, edi
jae 0x464b05
mov eax, ebx
sub eax, ebp
cdq
mov edi, eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edx
jmp 0x464b05
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
test ecx, ecx
lea ebx, [edi + edi*4 + 0xa]
jle 0x464b26
mov eax, edi
cdq
idiv ecx
mov edx, dword [esp + 0x80]
add edx, 2
inc eax
imul eax, edx
add ebx, eax
mov al, byte [esp + 0x13]
test al, al
je 0x464b38
lea eax, [edi + 1]
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
lea eax, [ebx + 4]
push eax
lea ecx, [esp + 0x34]
call fcn.004494e0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4647c2
mov cl, byte [esp + 0x13]
test cl, cl
mov dword [esp + 0x11c], eax
mov word [eax], 0
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x60], eax
je 0x464b81
mov byte [edi + eax], 0
mov ecx, dword [esp + 0x11c]
mov word [ecx + ebx*2], 0
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x7c]
mov al, byte [esp + 0x28]
add ebp, edx
adc edi, ecx
xor esi, esi
test al, al
je 0x464baa
push esi
push 0x200
push edi
push ebp
call fcn.004b65e0
mov esi, eax
movzx eax, si
cdq
sub ebp, eax
push 0
sbb edi, edx
mov edx, dword [esp + 0x48]
push edi
push ebp
push edx
call fcn.00444930
push 0x101801
call fcn.00449130
add esp, 0x14
test eax, eax
mov dword [esp + 0x78], eax
je 0x464bd8
mov byte [eax], 0
mov ebx, dword [esp + 0x38]
xor edi, edi
add eax, 0x1000
and eax, 0xfffff000
cmp ebx, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], edi
jl 0x464dd0
jg 0x464c10
cmp dword [esp + 0x34], edi
jbe 0x464dd0
movzx esi, si
mov ebp, 0x100000
sub ebp, esi
mov eax, ebp
cdq
cmp edx, ebx
jl 0x464c2d
jg 0x464c29
cmp eax, dword [esp + 0x34]
jbe 0x464c2d
mov ebp, dword [esp + 0x34]
mov cl, byte [esp + 0x28]
test cl, cl
lea eax, [esi + ebp]
je 0x464c4c
add eax, 0x1ff
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
shl eax, 9
mov edx, dword [esp + 0x3c]
push 0
lea ecx, [esp + 0x68]
push ecx
push eax
mov eax, dword [esp + 0x50]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov al, byte [esp + 0x13]
test al, al
je 0x464ca6
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
add esi, edx
mov ecx, ebp
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
add eax, ebp
mov ecx, edx
and ecx, 3
mov dword [esp + 0x60], eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x58]
mov eax, ebp
cdq
sub ecx, eax
mov dword [esp + 0x34], ecx
sbb ebx, edx
jmp 0x464db8
dec ebp
js 0x464db8
mov eax, dword [esp + 0x3c]
add esi, eax
inc ebp
mov dword [esp + 0x84], ebp
jmp 0x464cc0
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x464d4e
mov ebp, dword [esp + 0x5c]
cdq
push edx
push eax
push ebp
push edi
call fcn.004b65e0
or eax, edx
jne 0x464d4e
test ebp, ebp
jl 0x464d12
jg 0x464ce8
test edi, edi
jbe 0x464d12
mov ecx, dword [esp + 0x11c]
mov word [ecx], 0xd
mov eax, dword [esp + 0x11c]
add eax, 2
mov dword [esp + 0x11c], eax
mov word [eax], 0xa
add dword [esp + 0x11c], 2
mov ebp, dword [esp + 0x80]
test ebp, ebp
je 0x464d4e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x11c]
push edx
push eax
push str._8X_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [esp + 0x12c]
lea eax, [edx + ebp*2]
add esp, 0x10
mov dword [esp + 0x11c], eax
movzx ecx, byte [esi]
mov edx, dword [esp + 0x11c]
push ecx
push 0x4f6f7c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ebp, dword [esp + 0x128]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x68]
add ebp, 0xa
add esp, 0xc
inc edx
add edi, 1
adc eax, 0
mov dword [esp + 0x11c], ebp
mov ebp, dword [esp + 0x34]
add ebp, 0xffffffff
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x84]
adc ebx, 0xffffffff
inc esi
dec eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x84], eax
jne 0x464cc0
mov dword [esp + 0x58], edi
xor esi, esi
test ebx, ebx
jg 0x464c10
jl 0x464dd0
mov eax, dword [esp + 0x34]
test eax, eax
ja 0x464c10
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x11c]
cmp eax, ecx
je 0x464e28
mov dl, byte [esp + 0x13]
test dl, dl
je 0x464df0
mov eax, dword [esp + 0x60]
mov byte [eax], 0
jmp 0x464e2c
sub eax, 2
mov dword [esp + 0x11c], eax
mov word [eax], 0
mov esi, dword [esp + 0x6c]
lea ecx, [esp + 0x78]
call fcn.00443880
test esi, esi
jge 0x464e85
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x58]
push edx
call fcn.00448be0
jmp 0x464ea8
mov eax, dword [esp + 0x60]
mov dl, byte [esp + 0x13]
test dl, dl
je 0x464dff
mov esi, eax
sub esi, ecx
mov dword [esp + 0x6c], esi
mov dword [eax], 0
jmp 0x464e03
test edi, edi
jg 0x464e69
jl 0x464e4e
test ebx, ebx
jae 0x464e69
push str.0xFFFFFFFF
lea ecx, [esp + 0x34]
call fcn.00456630
mov dword [esp + 0x88], 1
jmp 0x464e10
mov eax, dword [esp + 0x30]
push edi
push ebx
push eax
call fcn.004a48b0
add esp, 0xc
mov dword [esp + 0x88], 1
jmp 0x464e10
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
push 1
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.0045e250
add esp, 0x18
lea ecx, [esp + 0x44]
call fcn.00417e50
lea ecx, [esp + 0x70]
call fcn.00417e50
lea ecx, [esp + 0x48]
call fcn.00443880
lea ecx, [esp + 0x98]
call fcn.004437a0
lea ecx, [esp + 0x30]
call fcn.00443880
lea ecx, [esp + 0x8c]
call fcn.00416732
lea ecx, [esp + 0x50]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x1c]
call fcn.00443880
lea ecx, [esp + 0x18]
call fcn.00443880
lea ecx, [esp + 0x20]
call fcn.00443880
lea ecx, [esp + 0x14]
call fcn.00443880
lea ecx, [esp + 0x40]
call fcn.00443880
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x108
ret 8