Function at 0x403d8e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, dword [0x6dad44]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, 0x1000
mov dword [ebp - 0xf8], edx
push eax
mov esi, 0x76d260
xor edi, edi
push esi
push 0xffffffffffffffff
push ecx
push edi
push 0xfde9
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xe8], edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x6dcdc4
lea eax, [ebp - 0xe4]
push esi
push eax
call fcn.005ee960
add esp, 0xc
cmp dword [ebp - 0xe4], edi
jne 0x403dfe
xor eax, eax
inc eax
jmp 0x404134
push edi
push edi
push dword [ebp - 0xe4]
mov dword [ebp - 0xec], edi
call fcn.005f0210
push dword [ebp - 0xe4]
xor ebx, ebx
mov esi, 0x770260
push 2
inc ebx
push ebx
push esi
call fcn.005f8d30
movzx eax, word [0x770260]
add esp, 0x1c
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, 0x4d5a
cmp ax, cx
jne 0x403f5c
push edi
push 0x3c
push dword [ebp - 0xe4]
call fcn.005f0210
push dword [ebp - 0xe4]
lea eax, [ebp - 0xec]
push 4
push ebx
push eax
call fcn.005f8d30
push edi
push dword [ebp - 0xec]
push dword [ebp - 0xe4]
call fcn.005f0210
push dword [ebp - 0xe4]
mov eax, dword [ebp - 0xec]
push 0x18
add eax, 0x58
push ebx
push esi
mov dword [ebp - 0xf4], eax
call fcn.005f8d30
add esp, 0x38
cmp dword [0x770260], 0x4550
jne 0x404126
movzx esi, word [0x770274]
lea eax, [esi + 0x24]
call fcn.005c1cc0
mov ecx, esp
mov edx, esi
push ebx
push 4
call fcn.00487604
mov esi, eax
lea ecx, [esi + 4]
mov dword [esi], ecx
push dword [ebp - 0xe4]
push dword [esi - 0x10]
push ebx
push esi
call fcn.005f8d30
add esp, 0x18
cmp dword [esi - 0x10], 4
jbe 0x404126
movzx eax, word [esi]
cmp eax, 0x10b
je 0x403f26
cmp eax, 0x20b
jne 0x404126
cmp dword [esi - 0x10], 0x94
jb 0x404126
mov eax, dword [esi + 0x90]
test eax, eax
cmovne edi, eax
mov eax, dword [ebp - 0xec]
add eax, 0xa8
jmp 0x403f49
cmp dword [esi - 0x10], 0x84
jb 0x404126
mov eax, dword [esi + 0x80]
test eax, eax
cmovne edi, eax
mov eax, dword [ebp - 0xec]
add eax, 0x98
mov dword [ebp - 0xe8], eax
mov esi, 0x770260
test edi, edi
jne 0x403ff9
push 2
push 0xfffffffffffffff0
push dword [ebp - 0xe4]
mov dword [ebp - 0xf0], edi
call fcn.005f0210
push dword [ebp - 0xe4]
push 0x10
push ebx
push esi
call fcn.005f8d30
add esp, 0x1c
mov edx, 0x6e0cc8
mov ecx, edi
mov eax, dword [esi + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x403feb
inc ecx
cmp ecx, 4
jne 0x403f8a
push ebx
push 0xffffffffffffffec
push dword [ebp - 0xe4]
call fcn.005f0210
push dword [ebp - 0xe4]
lea eax, [ebp - 0xf0]
push 4
push ebx
push eax
call fcn.005f8d30
add esp, 0x1c
push dword [ebp - 0xf0]
call dword [sym.imp.WS2_32.dll_ntohl]
push dword [ebp - 0xe4]
mov dword [ebp - 0xf0], eax
call fcn.005d15e0
pop ecx
mov edi, eax
push 0xfffffffffffffffc
pop eax
sub eax, dword [ebp - 0xf0]
add edi, eax
jmp 0x403ff9
push dword [ebp - 0xe4]
call fcn.005d15e0
pop ecx
mov edi, eax
lea eax, [ebp - 0xe0]
push eax
call fcn.004afc40
push 0
push 0
push dword [ebp - 0xe4]
mov ebx, edi
call fcn.005f0210
mov eax, dword [ebp - 0xf4]
add esp, 0x10
test eax, eax
je 0x4040ba
push dword [ebp - 0xe4]
add eax, 4
push eax
push 1
push esi
call fcn.005f8d30
mov esi, eax
mov eax, dword [ebp - 0xf4]
push esi
push 0x770260
and dword [eax + 0x770260], 0
lea eax, [ebp - 0xe0]
push eax
call fcn.004afcf0
push dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe8]
sub ebx, esi
test edi, edi
cmove ebx, edi
sub eax, dword [ebp - 0xf4]
add eax, 4
xor esi, esi
push eax
inc esi
push esi
push 0x770260
call fcn.005f8d30
push eax
mov dword [ebp - 0xe8], eax
push 0x770260
and dword [eax + 0x770258], 0
and dword [eax + 0x77025c], 0
lea eax, [ebp - 0xe0]
push eax
call fcn.004afcf0
add esp, 0x38
test edi, edi
je 0x4040e0
sub ebx, dword [ebp - 0xe8]
jmp 0x4040e0
xor esi, esi
inc esi
jmp 0x4040e0
push eax
lea eax, [ebp - 0xe0]
push 0x770260
push eax
call fcn.004afcf0
add esp, 0xc
test edi, edi
je 0x4040e0
sub ebx, dword [ebp - 0xe8]
je 0x404110
push dword [ebp - 0xe4]
mov ecx, 0x1000
mov eax, ebx
cmp ebx, ecx
cmova eax, ecx
test edi, edi
cmove eax, ecx
push eax
push esi
push 0x770260
call fcn.005f8d30
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x4040bf
lea eax, [ebp - 0xe0]
push eax
push dword [ebp - 0xf8]
call fcn.004afc30
pop ecx
pop ecx
xor ebx, ebx
push dword [ebp - 0xe4]
call fcn.005ef610
pop ecx
mov eax, ebx
lea esp, [ebp - 0x108]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c0e20
mov esp, ebp
pop ebp
ret