Function at 0x414570
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20a0
call fcn.00445a80
mov eax, dword [0x4635a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
xor ecx, ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2090], edx
mov dword [ebp - 0x209c], 0
mov dword [ebp - 0x2094], 0x8ffff
cmp dword [edi + 0x24], 1
lea eax, [edi + 0xc]
mov ebx, dword [edi + 0xc0]
mov dword [ebp - 0x20a0], eax
mov eax, dword [eax]
mov dword [ebp - 0x208c], eax
mov dword [ebp - 0x2098], ecx
jne 0x4145d8
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x2094], eax
mov eax, dword [ebx + 0x14c]
test eax, eax
jne 0x4147c2
jmp 0x4145f0
mov dword [ebp - 0x2088], 0x80
test ecx, ecx
jne 0x414648
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x2088]
push ecx
lea ecx, [ebp - 0x2084]
push ecx
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0x2004]
push 0
push 0x2000
push ecx
push dword [ebx]
mov eax, dword [eax + 4]
push edx
call eax
mov esi, eax
add esp, 0x1c
cmp esi, 0xffffffff
jne 0x414687
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2736
jne 0x414675
mov dword [ebp - 0x2098], 1
xor eax, eax
mov word [ebp - 0x2084], ax
mov dword [ebp - 0x2088], 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
jne 0x414687
call sub.WS2_32.dll_WSAGetLastError
mov ecx, eax
mov dword [ebp - 0x209c], ecx
jmp 0x41472f
mov eax, dword [ebp - 0x2088]
test eax, eax
jle 0x4146df
cmp dword [ebx + 0x134], 0
jne 0x4146df
cmp eax, 0x80
jbe 0x4146bf
push 0x28a
push 0x45a478
push str.peerlen___sizeof_iod__peer_
call dword [sym.imp.MSVCR120.dll__wassert]
mov eax, dword [ebp - 0x2088]
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 - 0x2088]
add esp, 0xc
mov dword [ebx + 0x134], eax
test esi, esi
jle 0x414720
push esi
lea eax, [ebp - 0x2004]
push eax
lea eax, [edi + 0xc]
push eax
call fcn.0041a650
add esp, 0xc
cmp eax, 0xffffffff
je 0x414762
mov ecx, dword [ebp - 0x2094]
cmp dword [edi + 0xc], ecx
jg 0x414748
cmp esi, 0x2000
jb 0x414748
mov ecx, dword [ebp - 0x2098]
mov edx, dword [ebp - 0x2090]
jmp 0x4145f0
cmp esi, 0xffffffff
jne 0x41494b
mov ecx, dword [ebp - 0x209c]
cmp ecx, 0x2714
jne 0x41478e
mov ecx, dword [ebp - 0x2098]
mov edx, dword [ebp - 0x2090]
jmp 0x4145f0
mov eax, dword [edi + 0xc]
sub eax, dword [ebp - 0x208c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
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.0044590e
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2733
je 0x414873
or dword [edi + 0xe0], 1
or eax, 0xffffffff
mov dword [edi + 8], 2
mov dword [edi + 0xbc], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
mov esp, ebp
pop ebp
ret
push 0x2000
lea ecx, [ebp - 0x2004]
push ecx
push eax
call sub.libssl_1_1.dll_SSL_read
mov esi, eax
add esp, 0xc
test esi, esi
jle 0x41482b
lea ecx, [ecx]
push esi
lea eax, [ebp - 0x2004]
push eax
lea esi, [edi + 0xc]
push esi
call fcn.0041a650
add esp, 0xc
cmp eax, 0xffffffff
je 0x414762
mov eax, dword [ebp - 0x2094]
cmp dword [esi], eax
jg 0x414892
push 0x2000
lea eax, [ebp - 0x2004]
push eax
push dword [ebx + 0x14c]
call sub.libssl_1_1.dll_SSL_read
mov esi, eax
add esp, 0xc
test esi, esi
jg 0x4147e0
cmp esi, 0xffffffff
jne 0x41494b
push esi
push dword [ebx + 0x14c]
call sub.libssl_1_1.dll_SSL_get_error
add esp, 8
cmp eax, 2
jne 0x4148ab
push edi
call fcn.00416360
push ebx
mov esi, eax
call fcn.00416450
push esi
push 1
push edi
push dword [ebp - 0x2090]
push ebx
call fcn.00416590
add esp, 0x1c
mov dword [edi + 0xb8], 2
mov eax, dword [ebp - 0x20a0]
pop edi
pop esi
pop ebx
mov eax, dword [eax]
sub eax, dword [ebp - 0x208c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
sub eax, dword [ebp - 0x208c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x4148dd
push edi
call fcn.00416360
push ebx
mov esi, eax
call fcn.00416530
push esi
push 2
push edi
push dword [ebp - 0x2090]
push ebx
call fcn.00416590
add esp, 0x1c
mov dword [edi + 0xb8], 3
jmp 0x414873
or dword [edi + 0xe0], 1
mov dword [edi + 8], 2
mov dword [edi + 0xbc], 0x277b
cmp dword [0x4630d8], 0
je 0x414937
cmp dword [0x4630d4], 2
jg 0x414937
push dword [ebx + 0x154]
push 0
push eax
call sub.libcrypto_1_1.dll_ERR_error_string
add esp, 8
push eax
push str.SSL_read___failed_for_reason__s_on_NSI__li
push str.do_actual_read
push 0x2d8
push str.src_nsock_core.c
push 2
call fcn.00417ce0
add esp, 0x1c
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x414873
or dword [edi + 0xe0], 3
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x41497f
sub eax, dword [ebp - 0x208c]
mov dword [edi + 8], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044590e
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.0044590e
mov esp, ebp
pop ebp
ret