Function at 0x403911
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, dword [0x6ccd44]
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, 0x72c000
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 0x6ce924
lea eax, [ebp - 0xe4]
push esi
push eax
call fcn.005e1090
add esp, 0xc
cmp dword [ebp - 0xe4], edi
jne 0x403981
xor eax, eax
inc eax
jmp 0x403cb7
push edi
push edi
push dword [ebp - 0xe4]
mov dword [ebp - 0xec], edi
call fcn.005e2940
push dword [ebp - 0xe4]
xor ebx, ebx
mov esi, 0x72f000
push 2
inc ebx
push ebx
push esi
call fcn.005eac90
movzx eax, word [0x72f000]
add esp, 0x1c
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, 0x4d5a
cmp ax, cx
jne 0x403adf
push edi
push 0x3c
push dword [ebp - 0xe4]
call fcn.005e2940
push dword [ebp - 0xe4]
lea eax, [ebp - 0xec]
push 4
push ebx
push eax
call fcn.005eac90
push edi
push dword [ebp - 0xec]
push dword [ebp - 0xe4]
call fcn.005e2940
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.005eac90
add esp, 0x38
cmp dword [0x72f000], 0x4550
jne 0x403ca9
movzx esi, word [0x72f014]
lea eax, [esi + 0x24]
call fcn.005b4450
mov ecx, esp
mov edx, esi
push ebx
push 4
call fcn.004811d1
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.005eac90
add esp, 0x18
cmp dword [esi - 0x10], 4
jbe 0x403ca9
movzx eax, word [esi]
cmp eax, 0x10b
je 0x403aa9
cmp eax, 0x20b
jne 0x403ca9
cmp dword [esi - 0x10], 0x94
jb 0x403ca9
mov eax, dword [esi + 0x90]
test eax, eax
cmovne edi, eax
mov eax, dword [ebp - 0xec]
add eax, 0xa8
jmp 0x403acc
cmp dword [esi - 0x10], 0x84
jb 0x403ca9
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, 0x72f000
test edi, edi
jne 0x403b7c
push 2
push 0xfffffffffffffff0
push dword [ebp - 0xe4]
mov dword [ebp - 0xf0], edi
call fcn.005e2940
push dword [ebp - 0xe4]
push 0x10
push ebx
push esi
call fcn.005eac90
add esp, 0x1c
mov edx, 0x6d1f50
mov ecx, edi
mov eax, dword [esi + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x403b6e
inc ecx
cmp ecx, 4
jne 0x403b0d
push ebx
push 0xffffffffffffffec
push dword [ebp - 0xe4]
call fcn.005e2940
push dword [ebp - 0xe4]
lea eax, [ebp - 0xf0]
push 4
push ebx
push eax
call fcn.005eac90
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.005c3d10
pop ecx
mov edi, eax
push 0xfffffffffffffffc
pop eax
sub eax, dword [ebp - 0xf0]
add edi, eax
jmp 0x403b7c
push dword [ebp - 0xe4]
call fcn.005c3d10
pop ecx
mov edi, eax
lea eax, [ebp - 0xe0]
push eax
call fcn.004a2d50
push 0
push 0
push dword [ebp - 0xe4]
mov ebx, edi
call fcn.005e2940
mov eax, dword [ebp - 0xf4]
add esp, 0x10
test eax, eax
je 0x403c3d
push dword [ebp - 0xe4]
add eax, 4
push eax
push 1
push esi
call fcn.005eac90
mov esi, eax
mov eax, dword [ebp - 0xf4]
push esi
push 0x72f000
and dword [eax + 0x72f000], 0
lea eax, [ebp - 0xe0]
push eax
call fcn.004a2e00
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 0x72f000
call fcn.005eac90
push eax
mov dword [ebp - 0xe8], eax
push 0x72f000
and dword [eax + 0x72eff8], 0
and dword [eax + 0x72effc], 0
lea eax, [ebp - 0xe0]
push eax
call fcn.004a2e00
add esp, 0x38
test edi, edi
je 0x403c63
sub ebx, dword [ebp - 0xe8]
jmp 0x403c63
xor esi, esi
inc esi
jmp 0x403c63
push eax
lea eax, [ebp - 0xe0]
push 0x72f000
push eax
call fcn.004a2e00
add esp, 0xc
test edi, edi
je 0x403c63
sub ebx, dword [ebp - 0xe8]
je 0x403c93
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 0x72f000
call fcn.005eac90
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x403c42
lea eax, [ebp - 0xe0]
push eax
push dword [ebp - 0xf8]
call fcn.004a2d40
pop ecx
pop ecx
xor ebx, ebx
push dword [ebp - 0xe4]
call fcn.005e1d40
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.005b35b0
mov esp, ebp
pop ebp
ret