Function at 0x4a25e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2098
call fcn.004bb4f0
mov eax, dword [0x66bf78]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2090], ecx
mov dword [ebp - 0x2094], 0x8ffff
cmp dword [edi + 0x24], 1
lea eax, [edi + 0xc]
mov ebx, dword [edi + 0xc0]
mov dword [ebp - 0x2098], eax
mov eax, dword [eax]
mov dword [ebp - 0x2088], eax
jne 0x4a2636
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x2094], eax
mov eax, dword [ebx + 0x14c]
test eax, eax
jne 0x4a2805
mov eax, dword [ecx + 4]
lea edx, [ebp - 0x208c]
push edx
lea edx, [ebp - 0x2084]
mov dword [ebp - 0x208c], 0x80
push edx
mov eax, dword [eax + 0x1c]
lea edx, [ebp - 0x2004]
push 0
push 0x2000
push edx
push dword [ebx]
mov eax, dword [eax + 4]
push ecx
call eax
mov esi, eax
add esp, 0x1c
cmp esi, 0xffffffff
jne 0x4a26c3
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2736
jne 0x4a275a
xor eax, eax
mov word [ebp - 0x2084], ax
mov dword [ebp - 0x208c], eax
lea eax, [ebp - 0x2004]
push 0x2000
push eax
push dword [ebx]
call dword [sym.imp.MSVCR120.dll__read]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x4a275a
mov eax, dword [ebp - 0x208c]
test eax, eax
jle 0x4a271b
cmp dword [ebx + 0x134], 0
jne 0x4a271b
cmp eax, 0x80
jbe 0x4a26fb
push 0x28a
push 0x4dcea0
push str.peerlen___sizeof_iod__peer_
call dword [sym.imp.MSVCR120.dll__wassert]
mov eax, dword [ebp - 0x208c]
add esp, 0xc
push eax
lea eax, [ebp - 0x2084]
push eax
lea eax, [ebx + 0x30]
push eax
call sub.MSVCR120.dll_memcpy
mov eax, dword [ebp - 0x208c]
add esp, 0xc
mov dword [ebx + 0x134], eax
test esi, esi
jle 0x4a27d2
push esi
lea eax, [ebp - 0x2004]
push eax
lea eax, [edi + 0xc]
push eax
call fcn.004a8ce0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4a27a6
mov ecx, dword [ebp - 0x2094]
cmp dword [edi + 0xc], ecx
jg 0x4a278c
cmp esi, 0x2000
jb 0x4a278c
mov ecx, dword [ebp - 0x2090]
jmp 0x4a2644
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2714
je 0x4a276d
cmp eax, 0x2733
jne 0x4a27dd
mov eax, dword [ebp - 0x2098]
pop edi
pop esi
pop ebx
mov eax, dword [eax]
sub eax, dword [ebp - 0x2088]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
sub eax, dword [ebp - 0x2088]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
or dword [edi + 0xe0], 1
or eax, 0xffffffff
mov dword [edi + 8], 2
mov dword [edi + 0xbc], 0x2747
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
cmp esi, 0xffffffff
jne 0x4a2970
xor eax, eax
or dword [edi + 0xe0], 1
mov dword [edi + 0xbc], eax
or eax, 0xffffffff
mov dword [edi + 8], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
push 0x2000
lea ecx, [ebp - 0x2004]
push ecx
push eax
call sub.SSLEAY32.dll_Ordinal_78_1
mov esi, eax
add esp, 0xc
test esi, esi
jle 0x4a2867
push esi
lea eax, [ebp - 0x2004]
push eax
lea esi, [edi + 0xc]
push esi
call fcn.004a8ce0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4a27a6
mov eax, dword [ebp - 0x2094]
cmp dword [esi], eax
jg 0x4a28b4
push 0x2000
lea eax, [ebp - 0x2004]
push eax
push dword [ebx + 0x14c]
call sub.SSLEAY32.dll_Ordinal_78_1
mov esi, eax
add esp, 0xc
test esi, esi
jg 0x4a2820
cmp esi, 0xffffffff
jne 0x4a2970
push esi
push dword [ebx + 0x14c]
call sub.SSLEAY32.dll_Ordinal_58
add esp, 8
cmp eax, 2
jne 0x4a28cd
push edi
call fcn.004a4280
push ebx
mov esi, eax
call fcn.004a4340
push esi
push 1
push edi
push dword [ebp - 0x2090]
push ebx
call fcn.004a4410
add esp, 0x1c
mov dword [edi + 0xb8], 2
jmp 0x4a276d
mov eax, dword [esi]
sub eax, dword [ebp - 0x2088]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x4a2902
push edi
call fcn.004a4280
push ebx
mov esi, eax
call fcn.004a43b0
push esi
push 2
push edi
push dword [ebp - 0x2090]
push ebx
call fcn.004a4410
add esp, 0x1c
mov dword [edi + 0xb8], 3
jmp 0x4a276d
or dword [edi + 0xe0], 1
mov dword [edi + 8], 2
mov dword [edi + 0xbc], 0x277b
cmp dword [0x66ae84], 0
je 0x4a295c
cmp dword [0x66ae80], 2
jg 0x4a295c
push dword [ebx + 0x154]
push 0
push eax
call sub.LIBEAY32.dll_Ordinal_223
add esp, 8
push eax
push str.SSL_read___failed_for_reason__s_on_NSI__li
push str.do_actual_read
push 0x2d7
push str.src_nsock_core.c
push 2
call fcn.004a4c50
add esp, 0x1c
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x4a276d
or dword [edi + 0xe0], 3
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x4a29a4
sub eax, dword [ebp - 0x2088]
mov dword [edi + 8], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bb11e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
mov dword [edi + 8], 6
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004bb11e
mov esp, ebp
pop ebp
ret