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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4841d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x490
mov eax, dword [0x4ac588]
push ebx
push esi
push edi
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
mov dword [esp + 0x4a8], eax
mov eax, dword [ebp + 8]
push 0xc0000000
push eax
mov dword [esp + 0x2c], ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
or esi, 0xffffffff
cmp ebx, esi
mov dword [esp + 0xc], ebx
jne 0x4327d4
xor al, al
jmp 0x432d03
test byte [0x4ade90], 1
jne 0x432826
or dword [0x4ade90], 1
push edi
push 0x488a08
mov ecx, 0x4ade74
mov dword [esp + 0x4ac], edi
mov dword [0x4ade8c], 0xf
mov dword [0x4ade88], edi
mov byte [0x4ade78], 0
call fcn.0041ae10
push 0x486980
call fcn.0044c36d
add esp, 4
mov dword [esp + 0x4a4], esi
test byte [0x4ade90], 2
jne 0x432882
or dword [0x4ade90], 2
push edi
push 0x488a08
mov ecx, 0x4ade58
mov dword [esp + 0x4ac], 1
mov dword [0x4ade70], 0xf
mov dword [0x4ade6c], edi
mov byte [0x4ade5c], 0
call fcn.0041ae10
push 0x486950
call fcn.0044c36d
add esp, 4
mov dword [esp + 0x4a4], esi
jmp 0x432882
mov ebx, dword [esp + 0xc]
xor eax, eax
push eax
mov ecx, 0x80
lea edi, [esp + 0x294]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20]
push ecx
push 0x1f4
lea edx, [esp + 0x29c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ebx, [esp + 0x290]
mov eax, dword [0x4ade88]
cmp eax, eax
mov edx, eax
jae 0x4328be
test edx, edx
je 0x4328f0
cmp dword [0x4ade8c], 0x10
mov esi, dword [0x4ade78]
jae 0x4328d6
mov esi, 0x4ade78
xor ecx, ecx
mov edi, 0x488a08
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4328e8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4329ae
xor eax, eax
test edx, edx
setne al
test eax, eax
jne 0x4329ae
push 0x48d378
push ebx
call fcn.0044c710
mov edx, eax
xor eax, eax
add esp, 8
test edx, edx
lea edi, [esp + 0x90]
mov ecx, 0x80
mov dword [esp + 0x14], edx
rep stosd dword es:[edi], eax
je 0x432bb0
mov ecx, edx
sub ecx, ebx
mov eax, ecx
shr ecx, 2
mov esi, ebx
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
push 0x488bf8
push ecx
call fcn.0044c710
mov esi, eax
add esp, 8
test esi, esi
jne 0x43296a
lea esi, [esp + 0x90]
jmp 0x432977
push 0x488bf8
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add esi, eax
push 0x4901a8
push esi
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432988
sub eax, edx
push eax
push esi
mov ecx, 0x4ade74
call fcn.00429230
push 0x48d378
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
add ebx, dword [esp + 0x14]
push 0x490198
push ebx
call fcn.0044c710
mov edx, eax
xor eax, eax
add esp, 8
test edx, edx
lea edi, [esp + 0x90]
mov ecx, 0x80
mov dword [esp + 0x14], edx
rep stosd dword es:[edi], eax
je 0x432c44
mov ecx, edx
sub ecx, ebx
mov edx, ecx
shr ecx, 2
mov esi, ebx
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
lea eax, [esp + 0x90]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432a00
sub eax, ecx
push eax
lea eax, [esp + 0x94]
push eax
mov ecx, 0x4ade58
call fcn.00429230
push 0x490198
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, dword [esp + 0x14]
push 0xffffffffffffffff
mov ebx, eax
xor edi, edi
push edi
add ebx, esi
mov esi, 0xf
push 0x4ade74
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], 0
call fcn.0041ad20
push 0xffffffffffffffff
push edi
push 0x4ade58
lea ecx, [esp + 0x48]
mov dword [esp + 0x4b0], 2
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x4c], 0
call fcn.0041ad20
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x4b0], 3
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edi
mov byte [esp + 0x68], 0
call fcn.0041ad20
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0x4b0], 4
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], edi
mov byte [esp + 0x84], 0
call fcn.0041ad20
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x4ac], 5
call fcn.004321c0
cmp dword [esp + 0x8c], 0x10
jb 0x432b0a
mov edx, dword [esp + 0x78]
push edx
call fcn.00467056
add esp, 4
cmp dword [esp + 0x70], 0x10
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edi
mov byte [esp + 0x78], 0
jb 0x432b31
mov eax, dword [esp + 0x5c]
push eax
call fcn.00467056
add esp, 4
cmp dword [esp + 0x54], 0x10
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], edi
mov byte [esp + 0x5c], 0
mov dword [esp + 0x4a4], 0xffffffff
jb 0x432b5d
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00467056
add esp, 4
cmp dword [esp + 0x38], 0x10
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], edi
mov byte [esp + 0x40], 0
jb 0x432b7e
mov edx, dword [esp + 0x24]
push edx
call fcn.00467056
add esp, 4
push edi
push 0x488a08
mov ecx, 0x4ade74
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
call fcn.0041ae10
push edi
push 0x488a08
mov ecx, 0x4ade58
call fcn.0041ae10
jmp 0x4328b3
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432bb5
sub eax, edx
add eax, 0xffffffe0
test eax, eax
jg 0x432be5
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x432bc8
mov eax, dword [esp + 0xc]
push 1
sub ebx, ecx
push 0
neg ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x432c1e
mov ecx, dword [esp + 0xc]
push 1
push 0
push 0xffffffffffffffe0
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, ebx
lea edx, [eax + 1]
jmp 0x432c00
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432c00
sub eax, edx
add eax, 0xffffffe0
push eax
lea edx, [esp + 0x94]
push ebx
push edx
call fcn.0044dfcf
add esp, 0xc
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432c28
sub eax, edx
push eax
lea eax, [esp + 0x94]
push eax
mov ecx, 0x4ade74
jmp 0x432cd7
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432c50
sub eax, edx
add eax, 0xffffffe0
test eax, eax
jg 0x432c80
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x432c63
push 1
sub ebx, ecx
mov ecx, dword [esp + 0x10]
push 0
neg ebx
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x432cb4
mov edx, dword [esp + 0xc]
push 1
push 0
push 0xffffffffffffffe0
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432c96
sub eax, edx
add eax, 0xffffffe0
push eax
lea eax, [esp + 0x94]
push ebx
push eax
call fcn.0044dfcf
add esp, 0xc
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432cc0
sub eax, edx
lea ecx, [esp + 0x90]
push eax
push ecx
mov ecx, 0x4ade58
call fcn.00429230
cmp dword [esp + 0x1c], 0x1f4
je 0x43287e
mov edx, dword [esp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x49c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x494]
call fcn.0044af18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4