Function at 0x4837e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c144a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
push ebx
push ebp
mov dword [esp + 0x2c], 0
mov eax, dword [0x50fcb0]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], eax
push 0
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0x198], 1
call fcn.00483700
mov eax, dword [0x528768]
test eax, eax
mov ebp, dword [esp + 0x30]
mov byte [esp + 0x190], 2
jne 0x48398f
mov al, byte [0x528764]
test al, al
jne 0x483a52
mov edx, dword [0x4e4f74]
push edx
push 0
push str.kernel32
lea ecx, [esp + 0x30]
mov byte [0x528764], 1
call fcn.00472c90
push 2
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x198], 3
mov dword [esp + 0x28], 0
call fcn.004770e0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov bl, 5
mov byte [esp + 0x190], bl
je 0x4838ba
dec ecx
mov dword [eax], ecx
jne 0x4838ba
mov esi, dword [sym.imp.MSVCR71.dll_free]
push eax
call esi
add esp, 4
jmp 0x4838c0
mov esi, dword [sym.imp.MSVCR71.dll_free]
mov ecx, dword [0x4e4f74]
push ecx
push 0
push str.GetLongPathNameA
lea ecx, [esp + 0x28]
call fcn.00472c90
lea edx, [esp + 0x13]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x198], 6
call fcn.00477220
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x190], bl
je 0x483913
dec ecx
mov dword [eax], ecx
jne 0x483913
push eax
call esi
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x483969
mov ecx, dword [0x4e4f74]
push ecx
push 0
push str.GetLongPathNameA
lea ecx, [esp + 0x28]
call fcn.00472c90
push 0
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x198], 7
call fcn.00477250
mov dword [0x528768], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483969
dec ecx
mov dword [eax], ecx
jne 0x483969
push eax
call esi
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esp + 0x190], 2
je 0x483982
push eax
call fcn.004772c0
add esp, 4
mov eax, dword [0x528768]
test eax, eax
je 0x483a52
push 0
push 0
push ebp
call eax
mov esi, eax
test esi, esi
jbe 0x483a52
lea eax, [esp + 0x14]
push esi
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.00472770
mov dword [esp + 0x2c], eax
push esi
push eax
push ebp
mov byte [esp + 0x19c], 8
call dword [0x528768]
test eax, eax
lea ecx, [esp + 0x14]
setne bl
mov byte [esp + 0x190], 2
call fcn.00471a60
test bl, bl
je 0x483a52
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
test eax, eax
mov esi, dword [esp + 0x198]
jne 0x4839fb
mov edx, dword [0x50fcb0]
mov dword [esi], edx
jmp 0x483a0d
mov dword [esi], ecx
mov eax, dword [ecx - 0xc]
cmp eax, 0xffffffff
je 0x483a0d
inc eax
mov dword [ecx - 0xc], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp - 0xc]
cmp edx, 0xffffffff
lea eax, [ebp - 0xc]
je 0x483a2f
lea ecx, [edx - 1]
test ecx, ecx
mov dword [eax], ecx
jne 0x483a2b
push eax
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 0xc]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x483e70
dec ecx
mov dword [eax], ecx
jne 0x483e70
push eax
call dword [sym.imp.MSVCR71.dll_free]
jmp 0x483e6d
mov eax, dword [edi]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x483b42
lea ecx, [esp + 0x28]
push 3
push ecx
call fcn.00482580
add esp, 8
mov esi, eax
lea edx, [esp + 0x20]
push edx
mov ecx, edi
call fcn.00482540
push esi
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x19c], 0xa
call fcn.004732f0
mov esi, eax
push 3
mov byte [esp + 0x1a0], 0xb
call fcn.0047a500
lea ecx, [esp + 0x2c]
push eax
push esi
push ecx
call fcn.00473380
add esp, 0x1c
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0xc
call fcn.004725c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483ae4
dec ecx
mov dword [eax], ecx
jne 0x483ae4
mov esi, dword [sym.imp.MSVCR71.dll_free]
push eax
call esi
add esp, 4
jmp 0x483aea
mov esi, dword [sym.imp.MSVCR71.dll_free]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483b04
dec ecx
mov dword [eax], ecx
jne 0x483b04
push eax
call esi
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483b1e
dec ecx
mov dword [eax], ecx
jne 0x483b1e
push eax
call esi
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x190], 2
je 0x483b58
dec ecx
mov dword [eax], ecx
jne 0x483b58
push eax
call esi
add esp, 4
jmp 0x483b58
mov edx, dword [0x50fcb0]
push edx
lea ecx, [esp + 0x18]
call fcn.00472da0
mov esi, dword [sym.imp.MSVCR71.dll_free]
lea eax, [edi + 4]
push eax
lea ecx, [esp + 0x3c]
call fcn.00473fe0
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
mov byte [esp + 0x194], 0xd
call fcn.00483360
push 1
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x198], 0xe
call fcn.00472b50
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483ba7
dec ecx
mov dword [eax], ecx
jne 0x483ba7
push eax
call esi
add esp, 4
mov edx, dword [0x50fcb0]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x3c]
xor ebx, ebx
test eax, eax
mov byte [esp + 0x190], 0xf
mov ebp, eax
jbe 0x483d20
lea esp, [esp]
mov eax, dword [esp + 0x40]
lea ecx, [eax + ebx*4]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.004732f0
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x194], 0x10
call fcn.004725c0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x190], 0xf
je 0x483c22
dec ecx
mov dword [eax], ecx
jne 0x483c22
push eax
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 8]
test eax, eax
je 0x483d17
lea edx, [esp + 0x1c]
push 3
push edx
call fcn.00482580
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax - 8]
lea ecx, [esp + 0x18]
mov byte [esp + 0x190], 0x11
call fcn.00472030
mov eax, dword [esi]
cmp dword [eax - 8], 1
mov ecx, dword [esp + 0x18]
mov cl, byte [edi + ecx - 1]
jne 0x483c73
cmp byte [eax], cl
mov byte [esp + 0x13], 1
je 0x483c78
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
mov edi, dword [sym.imp.MSVCR71.dll_free]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x190], 0xf
je 0x483ca0
dec ecx
mov dword [eax], ecx
jne 0x483ca0
push eax
call edi
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x483cc5
push 0x5c
push 1
lea ecx, [esp + 0x20]
call fcn.00472d10
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
call fcn.004725c0
jmp 0x483d17
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x48]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x483d43
lea eax, [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x483ce3
sub eax, edx
push eax
lea edx, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x20]
call fcn.00472de0
lea eax, [ebp - 1]
cmp ebx, eax
jae 0x483d10
push 0x5c
push 1
lea ecx, [esp + 0x1c]
call fcn.00472d10
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
inc ebx
cmp ebx, ebp
jb 0x483bd0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
test ecx, ecx
mov esi, dword [esp + 0x198]
jne 0x483ded
mov edx, dword [0x50fcb0]
mov dword [esi], edx
jmp 0x483dfb
inc ebx
cmp ebx, ebp
jae 0x483d9f
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ebx*4]
push edx
lea eax, [esp + 0x2c]
push 0x5c
push eax
call fcn.00473c40
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x19c], 0x12
call fcn.00472de0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x190], 0xf
je 0x483d9a
dec ecx
mov dword [eax], ecx
jne 0x483d9a
push eax
call edi
add esp, 4
inc ebx
cmp ebx, ebp
jb 0x483d48
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
test ecx, ecx
mov esi, dword [esp + 0x198]
jne 0x483dbb
mov ecx, dword [0x50fcb0]
mov dword [esi], ecx
jmp 0x483dcd
mov dword [esi], eax
mov ecx, dword [eax - 0xc]
cmp ecx, 0xffffffff
je 0x483dcd
inc ecx
mov dword [eax - 0xc], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov dword [esp + 0x34], 1
je 0x483e2b
dec ecx
mov dword [eax], ecx
jne 0x483e2b
push eax
call edi
add esp, 4
jmp 0x483e2b
mov dword [esi], eax
mov ecx, dword [eax - 0xc]
cmp ecx, 0xffffffff
je 0x483dfb
inc ecx
mov dword [eax - 0xc], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov dword [esp + 0x34], 1
je 0x483e25
dec ecx
mov dword [eax], ecx
jne 0x483e25
mov edi, dword [sym.imp.MSVCR71.dll_free]
push eax
call edi
add esp, 4
jmp 0x483e2b
mov edi, dword [sym.imp.MSVCR71.dll_free]
lea ecx, [esp + 0x38]
mov byte [esp + 0x190], 2
call fcn.00471eb0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483e56
dec ecx
mov dword [eax], ecx
jne 0x483e56
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x483e70
dec ecx
mov dword [eax], ecx
jne 0x483e70
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x188]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x184
ret 4