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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6236f1
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x6c6060]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3e0], ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x3d4], eax
xor esi, esi
call fcn.005979d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0059e6e0
mov dword [ebp - 4], esi
call fcn.005979f0
mov ebx, eax
mov ecx, eax
call fcn.0059f230
lea ecx, [ebp - 0x94]
test al, al
je 0x5965aa
push dword [ebp - 0x3d4]
call fcn.0059ea30
push esi
push 0x80
push 3
push esi
push 1
push accept
lea ecx, [ebp - 0x94]
call fcn.0061e850
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x596528
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], eax
call fcn.0059e860
jmp 0x596748
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
jne 0x59654e
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.0059e860
jmp 0x596748
push esi
mov dword [ebp - 0x3d8], 0
call fcn.0045b6ad
add esp, 4
mov edi, eax
lea eax, [ebp - 0x3d8]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3d8], esi
je 0x596732
push edi
call fcn.0045b6a8
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
xor edi, edi
call fcn.0059e860
jmp 0x596748
push ebx
call fcn.0059ea10
call fcn.00597d90
test al, al
je 0x5965c2
call fcn.00597a00
mov ebx, eax
jmp 0x59662c
call fcn.00597a10
push eax
lea ecx, [ebp - 0x19c]
call fcn.0059e6e0
push 0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.0061e850
push eax
call fcn.0059dc70
add esp, 8
mov dword [ebp - 0x3d0], eax
lea ecx, [ebp - 0x94]
push eax
call fcn.0061e850
push eax
call fcn.005a7e30
mov ebx, eax
add esp, 8
mov eax, dword [ebp - 0x3d0]
test eax, eax
je 0x59661d
push eax
call fcn.0045b6a8
add esp, 4
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0
call fcn.0059e860
test ebx, ebx
jne 0x596647
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.0059e860
jmp 0x596748
push 0xffffffffffffffff
push dword [ebp - 0x3d4]
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x3dc], 0
call fcn.0059e710
push 0x695a08
push 0x6b38b4
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 2
call fcn.0059f480
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x3dc]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.0061e850
push eax
push ebx
call fcn.005a76f0
add esp, 0x14
test eax, eax
je 0x5966c8
lea ecx, [ebp - 0x118]
call fcn.0059e860
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.0059e860
jmp 0x596748
mov esi, dword [ebp - 0x1a0]
test esi, esi
je 0x5966a6
push esi
call fcn.0045b6ad
push esi
mov edi, eax
push edi
push dword [ebp - 0x3dc]
push ebx
call fcn.005a8380
add esp, 0x14
test eax, eax
je 0x596715
cmp eax, 0x600
je 0x596715
push edi
call fcn.0045b6a8
add esp, 4
xor edi, edi
call fcn.00597d90
test al, al
jne 0x5966a6
push ebx
call fcn.005a7410
add esp, 4
jmp 0x5966a6
call fcn.00597d90
test al, al
jne 0x596727
push ebx
call fcn.005a7410
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.0059e860
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.0059e860
test edi, edi
jne 0x5967bd
push 0
push 0x80
push 3
push 0
push 1
push accept
push dword [ebp - 0x3d4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x5967bd
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x5967bd
push esi
mov dword [ebp - 0x3d0], 0
call fcn.0045b6ad
add esp, 4
mov edi, eax
lea eax, [ebp - 0x3d0]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3d0], esi
je 0x5967bd
push edi
call fcn.0045b6a8
add esp, 4
xor edi, edi
lea eax, [ebp - 0x3e4]
push eax
push 0
push esi
push edi
call dword [sym.imp.GDI32.dll_AddFontMemResourceEx]
push edi
mov esi, eax
call fcn.0045b6a8
mov ecx, dword [ebp - 0x3e0]
add esp, 4
add ecx, 0x46c
push esi
call fcn.0059ea80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045b08a
mov esp, ebp
pop ebp
ret 4