Function at 0x100432a0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ecx, 0x42ea
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x248], 0
xor esi, esi
xor ebx, ebx
call fcn.10043950
test eax, eax
je 0x1004337f
push 0x20a
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.10425c00
add esp, 0xc
lea ecx, [ebp - 0x218]
call fcn.10042560
xor eax, eax
cmp ax, word [ebp - 0x218]
je 0x1004337f
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1004337f
test al, 0x10
je 0x1004337f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10043330
sub ecx, edx
sar ecx, 1
lea edi, [ecx + 1]
lea eax, [edi + edi]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
je 0x100433c0
lea eax, [ebp - 0x218]
mov edx, edi
push eax
mov ecx, esi
call fcn.1003f430
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
push 0
movlpd qword [ebp - 0x230], xmm0
movlpd qword [ebp - 0x228], xmm0
movlpd qword [ebp - 0x220], xmm0
mov dword [ebp - 0x234], 0x1c
call edi
mov ecx, 0x1770
call fcn.10043950
test eax, eax
jne 0x100433d3
push 0x78
call edi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov eax, dword [0x11d22010]
test eax, eax
jne 0x100433f1
xor edx, edx
mov ecx, 0x1046ab50
call fcn.1003f920
mov dword [0x11d22010], eax
test eax, eax
je 0x100433c0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [0x11d22024], ebx
jne 0x10043415
push 0x1046abc0
push eax
call edi
mov dword [0x11d22024], eax
test eax, eax
je 0x100433c0
mov eax, dword [0x11d22010]
cmp dword [0x11d2202c], ebx
jne 0x10043433
push 0x1046abe0
push eax
call edi
mov dword [0x11d2202c], eax
test eax, eax
je 0x100433c0
mov eax, dword [0x11d22010]
cmp dword [0x11d22028], ebx
jne 0x10043450
push 0x1046aba0
push eax
call edi
mov dword [0x11d22028], eax
test eax, eax
je 0x100433c0
lea eax, [ebp - 0x234]
push eax
lea edx, [ebp - 0x23c]
call fcn.10043b40
test eax, eax
je 0x100433c0
push 0
lea eax, [ebp - 0x238]
mov dword [ebp - 0x238], ebx
push eax
push 0
push 0
lea eax, [ebp - 0x244]
mov dword [ebp - 0x244], ebx
push eax
push 0x10f23304
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x23c]
call dword [0x11d22024]
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1004359f
add eax, eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
mov dword [ebp - 0x248], edi
test edi, edi
je 0x1004359f
push 0
push 0
push dword [ebp - 0x238]
lea eax, [ebp - 0x244]
push edi
push eax
push 0x10f23304
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x23c]
call dword [0x11d22024]
test eax, eax
je 0x1004359f
lea eax, [ebp - 0x238]
push eax
push 0
push 0
push 0
push 0
push edi
call dword [0x11d2202c]
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1004359f
add eax, eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
mov dword [ebp - 0x240], esi
test esi, esi
je 0x1004359f
push 0
push dword [ebp - 0x238]
push esi
push 0
push 0
push edi
call dword [0x11d2202c]
test eax, eax
je 0x1004359f
push 0x5c
push esi
call fcn.10425266
add esp, 8
lea edi, [eax + 2]
test eax, eax
jne 0x10043564
mov edi, esi
sub edi, esi
sar edi, 1
sub edi, 1
js 0x1004359d
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x10043570
sub esi, ecx
sar esi, 1
cmp edi, esi
cmovb esi, edi
inc esi
lea eax, [esi + esi]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
jne 0x100435e0
mov esi, dword [ebp - 0x240]
xor ebx, ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 0x248]
call esi
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x100435c1
push eax
call dword [0x11d22028]
test ebx, ebx
je 0x100435cd
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x1004365c
cmp esi, 0x7fffffff
jbe 0x10043602
xor eax, eax
push ebx
mov word [ebx], ax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x240]
xor ebx, ebx
jmp 0x1004359f
cmp edi, 0x7ffffffe
jbe 0x10043623
xor eax, eax
push ebx
mov word [ebx], ax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x240]
xor ebx, ebx
jmp 0x1004359f
mov edx, dword [ebp - 0x240]
sub edi, esi
mov ecx, ebx
sub edx, ebx
nop
lea eax, [edi + esi]
test eax, eax
je 0x1004364b
movzx eax, word [edx + ecx]
test ax, ax
je 0x1004364b
mov word [ecx], ax
add ecx, 2
sub esi, 1
jne 0x10043630
test esi, esi
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
test esi, esi
jne 0x10043665
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor ebx, ebx
mov esi, dword [ebp - 0x240]
jmp 0x1004359f