Function at 0x43cfa0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5d34fb
push eax
mov dword fs:[0], esp
sub esp, 0x1ec
push ebx
push ebp
push esi
mov esi, dword [esp + 0x208]
push edi
mov ebp, ecx
push esi
call fcn.005302ce
add esp, 4
test eax, eax
jne 0x43d017
call fcn.00596b38
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x43d008
mov eax, 2
xor edx, edx
div dword [esi + 8]
mov edx, dword [ecx + edx*4]
test edx, edx
je 0x43d008
mov eax, 0x25
cmp dword [edx + 8], eax
je 0x43d097
mov edx, dword [edx]
test edx, edx
jne 0x43cff9
xor eax, eax
push eax
push eax
push eax
call fcn.005bc06a
jmp 0x43d2d1
lea eax, [ebp + 0x58]
lea ecx, [ebp + 0x614]
push eax
call fcn.00479b10
mov ecx, 0x87f4e0
call fcn.00426a20
test eax, eax
mov dword [esp + 0x14], eax
je 0x43d2d1
push 0
push 0
push 3
push 0
push 0
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x43d0c5
call fcn.00596b38
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x43d008
mov eax, 0x138e
xor edx, edx
div dword [esi + 8]
mov edx, dword [ecx + edx*4]
test edx, edx
je 0x43d008
mov eax, 0x138e7
cmp dword [edx + 8], eax
je 0x43d097
mov edx, dword [edx]
test edx, edx
jne 0x43d07d
xor eax, eax
push eax
push eax
push eax
call fcn.005bc06a
jmp 0x43d2d1
test edx, edx
je 0x43d008
add esi, 0x1c
add edx, 0xc
push edx
mov ecx, esi
call fcn.005b48a8
push 1
mov ecx, esi
call fcn.005b4ba6
push 0
push 0
push eax
call fcn.005bc06a
jmp 0x43d2d1
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
push esi
call fcn.005b449a
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x14], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
push 0
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
push esi
push edi
push ebx
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x54]
call fcn.0054aa20
test edi, edi
mov dword [esp + 0x204], 0
je 0x43d2bd
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.0054b5a0
lea ecx, [esp + 0x54]
call fcn.0054a8e0
mov edi, eax
test edi, edi
je 0x43d295
push 0
mov ecx, edi
call fcn.00547260
mov esi, eax
test esi, esi
je 0x43d190
mov ecx, dword [esi]
call fcn.00549f80
cmp eax, 0xc
jne 0x43d180
mov ecx, dword [esi]
push 1
push esi
push edi
mov edx, dword [ecx]
call dword [edx + 0x1c]
push 1
push esi
mov ecx, edi
call fcn.00547af0
jmp 0x43d18a
push 0
push esi
mov ecx, edi
call fcn.00547400
mov esi, eax
test esi, esi
jne 0x43d15d
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x40]
push 1
push 1
lea ecx, [esp + 0x5c]
push 2
lea esi, [ebp + 0x58]
push ecx
lea edi, [ebp + 0x614]
push esi
push ebp
mov ecx, edi
call fcn.0046d360
push esi
mov ecx, edi
call fcn.00470290
mov esi, eax
test esi, esi
je 0x43d28a
mov ecx, ebp
call fcn.00435720
mov edx, dword [esi]
mov eax, 0x2710
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call dword [edx + 0x34]
lea ecx, [esp + 0x1c]
push 1
push ecx
push 1
mov ecx, ebp
call fcn.0043d8d0
mov ecx, ebp
call fcn.0043aa90
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x4161]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x43d28a
mov eax, dword [esi + 0x4161]
push 0
push 0
push 0x474
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
lea ecx, [esp + 0x58]
call fcn.0055dec0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x204], 0xffffffff
call fcn.0054abd0
mov eax, 1
jmp 0x43d2d3
lea ecx, [esp + 0x54]
mov dword [esp + 0x204], 0xffffffff
call fcn.0054abd0
xor eax, eax
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1f8
ret 4