Function at 0x43e340
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x48bd66
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4bcb20]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4bcb20]
xor eax, esp
push eax
lea eax, [esp + 0x260]
mov dword fs:[0], eax
mov eax, dword [esp + 0x270]
mov edi, dword [esp + 0x278]
push 1
mov esi, ecx
mov dword [esp + 0x20], eax
call fcn.0043cea0
test al, al
je 0x43e3a1
xor al, al
jmp 0x43e5f7
xor ebx, ebx
cmp byte [esi + 0xe4], bl
jne 0x43e39a
lea ebp, [esi + 0x78]
mov ecx, ebp
call fcn.004408d0
cmp eax, 0xffffffff
je 0x43e39a
mov ecx, esi
call fcn.0043d500
cmp eax, 0xffff
je 0x43e39a
cmp edi, ebx
je 0x43e414
lea ecx, [esp + 0x30]
push ecx
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.0044400b
test eax, eax
je 0x43e39a
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
call fcn.00440670
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x24], eax
cmp eax, 0xffffffff
je 0x43e39a
lea ecx, [esi + 0x20]
call fcn.00443150
mov edx, dword [esp + 0x1c]
lea edi, [esi + 0xe8]
push edx
mov ecx, edi
call fcn.00442c00
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0043cff0
mov ecx, eax
call fcn.00440760
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x268], ebx
cmp dword [ecx - 0xc], ebx
jne 0x43e47e
mov ecx, esi
call fcn.0043d500
push eax
lea edx, [esp + 0x1c]
push str.file_i
push edx
call fcn.0041c600
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
mov ecx, esi
call fcn.0043cff0
mov ecx, eax
call fcn.00440180
mov al, byte [esi + 0x15c]
cmp al, byte [edi + 0x74]
jne 0x43e49d
mov edi, dword [edi + 0x28]
push 1
mov ecx, edi
call fcn.00419be0
push ebx
mov ecx, edi
call fcn.004401a0
mov ecx, esi
call fcn.0043cff0
mov ecx, dword [eax + 0x24]
push ecx
mov ecx, esi
call fcn.0043d0a0
cmp dword [esi + 0x10], ebx
mov ecx, ebp
setne byte [esp + 0x20]
mov edx, dword [esp + 0x20]
push edx
mov byte [esp + 0x1b], al
call fcn.004408d0
mov edi, dword [esp + 0x278]
cmp eax, 1
sete al
movzx ecx, al
push ecx
push edi
mov ecx, esi
call fcn.0043cff0
mov ecx, eax
call fcn.00440020
test al, al
jne 0x43e4f4
push 0xffffffffffffff95
mov ecx, esi
call fcn.0043da80
push ebp
mov ecx, esi
call fcn.0043cff0
mov ecx, eax
call fcn.0043fec0
cmp byte [esi + 0x15c], bl
je 0x43e51e
mov edx, dword [esp + 0x18]
push edx
mov ecx, esi
call fcn.0043cff0
mov ecx, eax
call fcn.00440180
cmp byte [esp + 0x20], bl
je 0x43e56f
push ebx
push 0xc
lea ecx, [esp + 0x2c]
call fcn.00441ac0
mov ecx, dword [esp + 0x1c]
movzx edx, word [ecx + 0x10]
lea eax, [esp + 0x24]
push eax
shl edx, 0x10
push edx
mov ecx, esi
mov byte [esp + 0x270], 1
call fcn.0043d9a0
mov eax, dword [esp + 0x28]
push ebx
push 0xc
push eax
mov ecx, ebp
call fcn.00441440
lea ecx, [esp + 0x24]
mov byte [esp + 0x268], bl
call fcn.00441af0
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
mov dword [esi + 0x64], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], ebx
cmp byte [esp + 0x17], bl
je 0x43e5a5
mov ecx, esi
call fcn.0043cff0
cmp word [eax + 0xe], bx
je 0x43e5a5
call fcn.0043cff0
xor ecx, ecx
mov word [eax + 0xe], cx
mov ecx, esi
call fcn.0043cff0
cmp word [eax + 0xe], 8
jne 0x43e5e5
cmp byte [esi + 4], bl
je 0x43e5c0
lea eax, [esi + 0xc8]
jmp 0x43e5c2
xor eax, eax
push 0x38
push 0x49974c
push ebx
push 8
push 0xfffffffffffffff1
push 8
push edi
lea edx, [esi + 0x28]
push edx
mov dword [esi + 0x50], eax
call fcn.00482970
push eax
mov ecx, esi
call fcn.0043db30
lea ecx, [esp + 0x18]
mov byte [esi + 0xe4], 1
call fcn.00420920
mov al, 1
mov ecx, dword [esp + 0x260]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x248]
xor ecx, esp
call fcn.00466b40
add esp, 0x258
ret 0xc