Function at 0x40a698
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0xfdc]
mov eax, 0x105c
call fcn.0040e800
mov eax, dword [0x426d40]
xor eax, ebp
mov dword [ebp + 0xfd8], eax
mov eax, dword [ebp + 0xfec]
mov edx, dword [ebp + 0xff8]
or dword [ebp - 0x7c], 0xffffffff
push ebx
mov ebx, dword [ebp + 0xff0]
push esi
mov esi, dword [ebp + 0xfe4]
push edi
push 8
pop ecx
mov dword [ebp - 0x74], eax
xor eax, eax
lea edi, [ebp - 0x48]
rep stosd dword es:[edi], eax
push 8
pop ecx
lea edi, [ebp - 0x68]
rep stosd dword es:[edi], eax
xor edi, edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x80], edx
cmp ebx, edi
je 0x40a8eb
cmp edx, edi
je 0x40a8eb
mov ebx, dword [ebp + 0xff4]
mov dword [edx], edi
cmp ebx, edi
jne 0x40a71c
push 0x42102c
jmp 0x40a8f0
jbe 0x40a741
lea eax, [ebp - 0x48]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x6c]
push dword [ebp + 0xfe8]
call fcn.0040a569
pop ecx
pop ecx
test eax, eax
jne 0x40a75d
add dword [ebp - 0x6c], 4
inc edi
cmp edi, ebx
jb 0x40a724
xor eax, eax
push eax
push eax
push eax
push esi
call fcn.0040ec7e
add esp, 0x10
test eax, eax
je 0x40a767
push 0x421000
jmp 0x40a8f0
push 0x420fd0
jmp 0x40a8f0
push 0x420fc0
push ebx
lea eax, [ebp - 0x48]
push eax
push 0x14
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0040a5c6
add esp, 0x18
test eax, eax
jne 0x40a900
and dword [ebp - 0x6c], eax
test ebx, ebx
je 0x40a7ff
lea edi, [ebp - 0x68]
push 0x420fa8
push ebx
lea eax, [ebp - 0x48]
push eax
push 4
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0040a5c6
add esp, 0x18
test eax, eax
jne 0x40a900
push 0x420f94
push ebx
lea eax, [ebp - 0x48]
push eax
push 4
push edi
push esi
call fcn.0040a5c6
add esp, 0x18
test eax, eax
jne 0x40a900
push dword [edi]
call dword [sym.imp.WSOCK32.dll_ntohl]
mov dword [edi], eax
cmp eax, 0x800
ja 0x40a830
push 1
push 0
push eax
push esi
call fcn.0040ec7e
add esp, 0x10
test eax, eax
jne 0x40a83a
inc dword [ebp - 0x6c]
add edi, 4
cmp dword [ebp - 0x6c], ebx
jb 0x40a792
push esi
call fcn.0040ee40
pop ecx
test eax, eax
je 0x40a847
and dword [ebp - 0x6c], 0
test ebx, ebx
je 0x40a8de
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
lea edi, [ebp - 0x68]
sub eax, esi
lea ebx, [ebp - 0x48]
sub edi, esi
mov dword [ebp - 0x74], eax
sub ebx, esi
jmp 0x40a8b0
push 0x420f64
jmp 0x40a8f0
push 0x420f3c
jmp 0x40a8f0
mov esi, dword [ebp - 0x78]
push esi
push 0x1000
lea eax, [ebp - 0x28]
push 1
push eax
call fcn.0040c241
push esi
mov dword [ebp - 0x6c], eax
call fcn.0040ee68
add esp, 0x14
test eax, eax
jne 0x40a89f
xor esi, esi
test ebx, ebx
je 0x40a88d
lea edi, [ebp - 0x48]
push dword [ebp - 0x6c]
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.0040a599
add esp, 0xc
test eax, eax
jne 0x40a8a6
inc esi
add edi, 4
cmp esi, ebx
jb 0x40a871
push dword [ebp - 0x78]
call fcn.0040ee40
pop ecx
test eax, eax
je 0x40a844
jmp 0x40a80a
push 0x420f18
jmp 0x40a8f0
push 0x420ee0
jmp 0x40a8f0
mov eax, dword [ebp - 0x74]
push dword [edi + esi]
add eax, esi
push dword [esi]
push eax
lea eax, [ebx + esi]
push eax
call fcn.0040a416
add esp, 0x10
test eax, eax
jne 0x40a8e4
mov eax, dword [ebp - 0x80]
inc dword [eax]
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
add esi, 4
cmp eax, dword [ebp + 0xff4]
jb 0x40a8ad
and dword [ebp - 0x7c], 0
jmp 0x40a900
push 0x420ebc
jmp 0x40a8f0
push 0x420e48
call fcn.0040d8b0
add eax, 0x40
push eax
call fcn.0040d7a4
pop ecx
pop ecx
mov ecx, dword [ebp + 0xfd8]
mov eax, dword [ebp - 0x7c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b774
add ebp, 0xfdc
leave
ret