Function at 0x1003e850
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x1008bbcb
mov eax, dword fs:[0]
push eax
mov eax, 0xc908
call fcn.100541e0
mov eax, dword [0x100a8810]
xor eax, esp
mov dword [esp + 0xc904], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a8810]
xor eax, esp
push eax
lea eax, [esp + 0xc91c]
mov dword fs:[0], eax
mov esi, dword [esp + 0xc92c]
movzx edi, byte [esi + 0x21]
mov ebp, ecx
xor ebx, ebx
push 0xc8dc
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], 0xc8dc
call fcn.100535c2
add esp, 4
mov dword [esp + 0x20], eax
call fcn.1003f430
lea ecx, [ebp + 0x40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
call fcn.1002c570
mov dword [esp + 0xc924], ebx
xor eax, eax
cmp edi, ebx
jbe 0x1003e905
lea ecx, [esi + 0x2a]
cmp dword [ecx], ebx
jne 0x1003e901
inc eax
add ecx, 0xc
cmp eax, edi
jb 0x1003e8e8
mov dword [esp + 0x14], 1
jmp 0x1003ea9a
cmp eax, edi
jb 0x1003e912
mov dword [esp + 0x14], 1
jmp 0x1003ea9a
lea eax, [eax + eax*2]
mov edi, dword [esi + eax*4 + 0x2a]
mov ecx, dword [esi + eax*4 + 0x26]
mov ebx, dword [esi + eax*4 + 0x22]
lea eax, [esi + eax*4]
push edi
mov dword [esp + 0x28], ecx
call fcn.100535c2
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1003e946
mov dword [esp + 0x14], 2
jmp 0x1003ea89
push ebx
lea ecx, [ebp + 4]
call fcn.10030420
mov ebp, eax
test ebp, ebp
je 0x1003ea89
push 0
push 0
push 3
push 0
push 1
push closesocket
push ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
jne 0x1003e985
mov dword [esp + 0x14], 3
jmp 0x1003ea89
mov edx, dword [esp + 0x24]
push 0
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [esp + 0x24], eax
je 0x1003e9a8
mov dword [esp + 0x14], 4
jmp 0x1003ea7e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push 0
lea eax, [esp + 0x30]
push eax
push edi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x2c], edi
je 0x1003e9d3
mov dword [esp + 0x14], 5
jmp 0x1003ea7e
mov edx, dword [esi + 0x11]
mov eax, 0x8899
mov word [esp + 0x3e], ax
mov eax, dword [esi + 0x15]
mov dword [esp + 0x51], edx
mov edx, dword [esi + 0x1d]
mov ecx, 0x103
mov word [esp + 0x40], cx
mov ecx, dword [esi + 0x19]
mov dword [esp + 0x55], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5d], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x42], 2
mov dword [esp + 0x59], ecx
mov dword [esp + 0x61], ebx
mov ecx, dword [eax]
push edi
push edx
lea eax, [esp + 0x6f]
push eax
mov dword [esp + 0x59], ecx
mov word [esp + 0x71], di
call fcn.10054640
mov eax, ebp
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003ea36
sub eax, edx
push eax
push ebp
mov ecx, 0x100a509c
call fcn.10005b10
mov esi, dword [esp + 0x20]
push 6
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x44]
push esi
push edx
call fcn.1003f470
mov eax, dword [esp + 0x48]
add esp, 0x10
cmp dword [eax + 0x58], 0
je 0x1003ea7e
mov ecx, dword [eax + 0x58]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
push edx
push esi
call eax
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1003ea9a
push eax
call fcn.10054ba8
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1003eaab
push eax
call fcn.10054ba8
add esp, 4
mov dword [esp + 0xc924], 0xffffffff
mov ecx, dword [esp + 0x34]
call fcn.1002c580
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc91c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc904]
xor ecx, esp
call fcn.10053b60
add esp, 0xc914
ret 4