Function at 0x42eb93
Capabilities:
Create tcp socket
Write file on windows

Disassembly:
sub esp, 0x148
or dword [esp + 0x24], 0xffffffff
push ebx
xor ebx, ebx
push ebp
and byte [esp + 0x13], bl
and byte [esp + 0xb], bl
and byte [esp + 0xa], bl
cmp dword [esp + 0x170], ebx
push esi
push edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
je 0x42ebe9
push str.ANsession
push dword [esp + 0x17c]
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
pop ecx
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
cmp eax, 0xffffffff
mov dword [esp + 0x34], eax
jne 0x42ec98
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42ec37
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42ec59
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xe1f
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_create_socket__err_d_n
call fcn.0041c506
pop ecx
pop ecx
jmp 0x42f988
push 0x8ac
call sub.MFC42.DLL_operatornew
cmp eax, ebx
pop ecx
je 0x42ecb7
lea ecx, [esp + 0x34]
push ecx
mov ecx, eax
call fcn.00425251
mov esi, eax
jmp 0x42ecb9
xor esi, esi
cmp esi, ebx
mov dword [esp + 0x30], esi
jne 0x42ed4f
cmp dword [0x441ff4], ebx
je 0x42ee8e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42ecf5
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x42ee8e
cmp eax, 1
jle 0x42ee8e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
mov edi, eax
cmp dword [0x43e9c8], ebx
jge 0x42ed19
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xe26
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push str.Failed_to_new_SSL_socket_n
call fcn.0041c506
add esp, 0x14
jmp 0x42f988
push 0xffffffffffffffff
push ebx
push ebx
lea eax, [esp + 0x50]
push dword [esp + 0x188]
push ebx
push ebx
push ebx
push eax
push ebx
push 3
push ebx
push dword [esp + 0x18c]
call dword [sym.imp.WS2_32.dll_htons]
push eax
mov ecx, esi
push dword [esp + 0x18c]
call fcn.00425278
test al, al
jne 0x42ee95
mov eax, dword [esp + 0x44]
cmp eax, 2
jne 0x42ed9a
mov ebx, str.Invalid_certificate.
jmp 0x42ee09
cmp eax, 3
jne 0x42eda6
mov ebx, str.Out_of_memory.
jmp 0x42ee09
cmp eax, 4
jne 0x42edb2
mov ebx, str.Failed_to_connect_to_proxy.
jmp 0x42ee09
cmp eax, 5
jne 0x42edbe
mov ebx, str.Failed_to_authenticate_to_proxy.
jmp 0x42ee09
cmp eax, 6
jne 0x42edca
mov ebx, str.Failed_to_resolve_proxy_name.
jmp 0x42ee09
cmp eax, 7
jne 0x42edd6
mov ebx, str.Proxy_did_not_respond.
jmp 0x42ee09
cmp eax, 8
jne 0x42ede2
mov ebx, str.Incorrect_proxy_response.
jmp 0x42ee09
cmp eax, 9
jne 0x42edee
mov ebx, str.Proxy_rejected_connection.
jmp 0x42ee09
cmp eax, 0xa
jne 0x42edfa
mov ebx, str.Proxy_offered_unsupported_authentication_protocol.
jmp 0x42ee09
cmp eax, 0xb
mov ebx, str.Proxy_authentication_was_cancelled_by_user.
je 0x42ee09
mov ebx, str.Failed_to_initialize_SSL_socket.
cmp dword [0x441ff4], 0
je 0x42ee8e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42ee2e
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x42ee8e
cmp eax, 1
jle 0x42ee8e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov edi, eax
jge 0x42ee51
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42ee84
push 1
push dword [0x43e9c8]
push 0xe46
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push ebx
push str.Failed_to_establish_SSL_session:__s_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
jmp 0x42fcba
cmp byte [esp + 0x12], 0
je 0x42efc3
cmp dword [esp + 0x178], ebx
je 0x42efc3
lea eax, [esp + 0x54]
push 0x44104c
push eax
lea esi, [esp + 0x5c]
call dword [sym.imp.MSVCRT.dll_strstr]
mov edi, eax
mov ax, word [0x43f8a4]
pop ecx
cmp edi, ebx
pop ecx
mov word [esp + 0x3e], ax
je 0x42eef6
push 0x44104c
call sub.MSVCRT.dll_strlen
add edi, eax
push 0x2f
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x42eef6
lea esi, [esp + 0x3e]
cmp dword [0x441ff4], ebx
je 0x42ef84
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42ef1d
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42ef84
cmp eax, 3
jle 0x42ef84
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov ebx, eax
jge 0x42ef40
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42ef78
push 3
push dword [0x43e9c8]
push 0xe5a
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
lea eax, [esp + 0x64]
push esi
push eax
push str.Redirect_request_to_:__s__resource__s_n
call fcn.0041c506
add esp, 0x1c
call fcn.0041c4cc
push edi
call ebp
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
push str.SSPVPN
push dword [esp + 0x17c]
push dword [esp + 0x164]
push esi
push str.GET__s_HTTP_1.1_r_nHost:__s_r_nCookie:__s_r_nappid:__s_r_n_r_n
push dword [esp + 0x178]
call dword [sym.imp.MSVCRT.dll_sprintf]
and byte [esp + 0x2b], 0
add esp, 0x18
and byte [esp + 0x12], 0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
push str._r_n_r_n
push dword [esp + 0x168]
call dword [sym.imp.MSVCRT.dll_strstr]
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
je 0x42efe0
and byte [esi], 0
cmp dword [0x441ff4], ebx
je 0x42f06f
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42f007
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f06f
cmp eax, 3
jle 0x42f06f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov ebx, eax
jge 0x42f02a
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f063
push 3
push dword [0x43e9c8]
push 0xe65
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x174]
push str.Sending_download_request:__s_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push edi
call ebp
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
cmp esi, ebx
je 0x42f076
mov byte [esi], 0xd
mov edi, dword [esp + 0x164]
push edi
call sub.MSVCRT.dll_strlen
pop ecx
mov esi, eax
cmp esi, ebx
jle 0x42f13d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push ebx
add eax, edi
push esi
push eax
call fcn.0042ba07
cmp eax, ebx
jle 0x42f0b4
add dword [esp + 0x20], eax
push 0x64
sub esi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42f086
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f0e3
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f105
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xe73
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Failed_to_send_request_to_SP__err_d_n
jmp 0x42ec8c
mov eax, 0x2800
inc eax
push eax
call sub.MFC42.DLL_operatornew
cmp eax, ebx
pop ecx
mov dword [esp + 0x14], eax
jne 0x42f1d1
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f181
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f1a3
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xe7d
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push str.Failed_to_allocate_recv_buffer_n
jmp 0x42ed42
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x50]
push ebx
push eax
mov eax, 0x2800
mov ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, eax
push ebx
push ecx
mov ecx, dword [esp + 0x24]
add ecx, eax
push ecx
mov ecx, dword [esp + 0x44]
call fcn.0042c040
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x48], esi
jge 0x42f213
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x42f1d5
cmp esi, ebx
jle 0x42f866
add dword [esp + 0x1c], esi
cmp byte [esp + 0x13], 0
je 0x42f22d
mov edi, dword [esp + 0x14]
jmp 0x42f72d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push str._r_n_r_n
push eax
and byte [eax + ecx], 0
call dword [sym.imp.MSVCRT.dll_strstr]
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
je 0x42f3cb
and byte [edi], 0
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
add edi, 4
push str.HTTP_1.1_200_OK
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x18]
push edi
mov byte [esp + 0x1b], 1
mov dword [esp + 0x28], ebx
call esi
pop ecx
test eax, eax
pop ecx
jne 0x42f5a0
push str.HTTP_1.1_302
push edi
call esi
pop ecx
test eax, eax
pop ecx
jne 0x42f2a0
push str.HTTP_1.1_301
push edi
call esi
pop ecx
test eax, eax
pop ecx
je 0x42f906
cmp byte [esp + 0x174], 0
je 0x42f625
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
push str.Location:
push dword [esp + 0x18]
call esi
push str.Location:
mov edi, eax
call sub.MSVCRT.dll_strlen
add edi, eax
push 0x43ff78
push edi
call esi
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x42f2e1
and byte [esi], 0
push 0x104
lea eax, [esp + 0x58]
push edi
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov byte [esi], 0xd
cmp dword [0x441ff4], ebx
je 0x42f37e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42f31b
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f37e
cmp eax, 3
jle 0x42f37e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f33d
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f374
push 3
push dword [0x43e9c8]
push 0xebd
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
lea eax, [esp + 0x64]
push eax
push str.Got_redirect_URL:__s_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esp + 0x178], ebx
mov byte [esp + 0x12], 1
je 0x42f625
mov esi, str.Set_Cookie:
push esi
call sub.MSVCRT.dll_strlen
mov dword [esp + 0x50], eax
mov dword [esp], str.ANsession
call sub.MSVCRT.dll_strlen
push esi
mov dword [esp + 0x40], eax
push dword [esp + 0x1c]
xor edi, edi
call dword [sym.imp.MSVCRT.dll_strstr]
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x42f625
jmp 0x42f3d6
add dword [esp + 0x20], esi
jmp 0x42f72d
xor ebx, ebx
add esi, dword [esp + 0x4c]
push 0x3b
push esi
call dword [sym.imp.MSVCRT.dll_strchr]
pop ecx
cmp eax, ebx
pop ecx
je 0x42f51c
push dword [esp + 0x38]
and byte [eax], 0
lea ebx, [eax + 1]
push str.ANsession
push esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x42f455
mov eax, dword [esp + 0x178]
lea ebp, [edi + eax]
mov eax, 0x1000
sub eax, edi
push eax
push esi
push ebp
call dword [sym.imp.MSVCRT.dll_strncpy]
mov edi, dword [esp + 0x184]
push ebp
and byte [edi + 0xfff], 0
call sub.MSVCRT.dll_strlen
push edi
mov ebp, eax
call sub.MSVCRT.dll_strlen
push esi
mov edi, eax
call sub.MSVCRT.dll_strlen
add esp, 0x18
cmp ebp, eax
jne 0x42f472
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
push str.Set_Cookie:
push ebx
call dword [sym.imp.MSVCRT.dll_strstr]
mov esi, eax
pop ecx
test esi, esi
pop ecx
jne 0x42f3d4
jmp 0x42f625
cmp dword [0x441ff4], 0
je 0x42f625
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f4a3
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x42f625
cmp eax, 1
jle 0x42f625
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov dword [esp + 0x38], eax
jge 0x42f4c8
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f50c
push 1
push dword [0x43e9c8]
push 0xeea
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
push 0x1000
push edi
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push ebp
push str._d_of__d_bytes_copied__total_copied__d__availabe_buffer__d_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [esp + 0x38]
jmp 0x42f61f
cmp dword [0x441ff4], ebx
je 0x42f625
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f54b
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f625
cmp eax, 1
jle 0x42f625
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f56d
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f61b
push 1
push dword [0x43e9c8]
push 0xed7
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push str.Didnt_find___in_cookie_n
call fcn.0041c506
add esp, 0x14
jmp 0x42f616
cmp dword [0x441ff4], ebx
je 0x42f625
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42f5c3
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f625
cmp eax, 3
jle 0x42f625
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f5e5
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f61b
push 3
push dword [0x43e9c8]
push 0xefc
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x24]
push str.Get_html_successfully_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, str.Content_Length:
push edi
push dword [esp + 0x18]
call dword [sym.imp.MSVCRT.dll_strstr]
mov esi, eax
xor ebx, ebx
pop ecx
cmp esi, ebx
pop ecx
je 0x42f99c
push edi
call sub.MSVCRT.dll_strlen
add esi, eax
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
cmp dword [0x441ff4], ebx
pop ecx
pop ecx
mov dword [esp + 0x24], eax
je 0x42f6e9
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42f67f
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f6e9
cmp eax, 3
jle 0x42f6e9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f6a1
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f6d7
push 3
push dword [0x43e9c8]
push 0xf08
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x34]
push str.Got_content_length__d_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x42f6ef
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
cmp byte [esp + 0x170], 0
je 0x42f711
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
sub eax, edi
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
jmp 0x42f729
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
sub eax, edi
add esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esp + 0x170], 0
jne 0x42f742
cmp byte [esp + 0x13], 0
je 0x42f1d5
mov eax, dword [esp + 0x16c]
cmp eax, ebx
je 0x42f778
cmp dword [esp + 0x1c], eax
jg 0x42fa2f
cmp byte [esp + 0x12], 0
jne 0x42f7c2
mov eax, dword [esp + 0x1c]
push esi
sub eax, esi
push edi
add eax, dword [esp + 0x170]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x42f7c2
cmp byte [esp + 0x12], 0
jne 0x42f7c2
cmp dword [esp + 0x2c], ebx
jne 0x42f7a5
push 0x440e8c
push dword [esp + 0x16c]
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
cmp eax, ebx
pop ecx
mov dword [esp + 0x2c], eax
je 0x42fafb
cmp esi, ebx
jle 0x42f7c2
push dword [esp + 0x2c]
push 1
push esi
push edi
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
test eax, eax
jbe 0x42fb93
sub dword [esp + 0x28], esi
cmp dword [0x441ff4], ebx
je 0x42f857
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42f7ed
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42f857
cmp eax, 3
jle 0x42f857
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov ebx, eax
jge 0x42f810
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f84b
push 3
push dword [0x43e9c8]
push 0xf3e
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x38]
push dword [esp + 0x30]
push esi
push str.Recvd__d__total_recvd__d__pending__d_n
call fcn.0041c506
add esp, 0x20
call fcn.0041c4cc
push edi
call ebp
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
cmp dword [esp + 0x28], ebx
jle 0x42fc1c
jmp 0x42f1d5
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f895
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov ebx, eax
jge 0x42f8b8
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f8fd
push 1
push dword [0x43e9c8]
push 0xe8f
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push esi
push dword [esp + 0x24]
push dword [esp + 0x30]
push str.Failed_to_receive_all_the_data:_content_len_d__total_recvd_d__ret_d__err_d_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push edi
call ebp
push ebx
jmp 0x42ee88
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f935
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f957
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xef6
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x24]
push str.Got_Response_header:__s_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x42fcba
cmp dword [0x441ff4], ebx
je 0x42fcb4
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42f9cb
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcb4
cmp eax, 1
jle 0x42fcb4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42f9ed
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42fa23
push 1
push dword [0x43e9c8]
push 0xf02
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x24]
push str.Got_Response_header:__s_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
push esi
jmp 0x42f98e
cmp dword [0x441ff4], ebx
je 0x42fad5
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 2
je 0x42fa5a
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fad5
cmp eax, 2
jle 0x42fad5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], 0
mov ebx, eax
jge 0x42fa7d
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42fac9
push 2
push dword [0x43e9c8]
push 0xf20
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x17c]
push dword [esp + 0x3c]
push dword [esp + 0x34]
push dword [esp + 0x40]
push dword [esp + 0x18c]
push str.Buffer_is_full__only_copy__d_byte_to_buf__content_len__d__total_recvd_d__pending_d__bufsize_d_n
call fcn.0041c506
add esp, 0x28
call fcn.0041c4cc
push esi
call ebp
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
mov eax, dword [esp + 0x16c]
mov byte [esp + 0x1b], 1
push eax
push edi
push dword [esp + 0x170]
mov dword [esp + 0x28], eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x42fcba
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42fb2a
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42fb4c
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xf31
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esp + 0x16c]
push str.Failed_to_open_file__s__err_d_n
call fcn.0041c506
add esp, 0xc
jmp 0x42f988
cmp dword [0x441ff4], ebx
je 0x42fcba
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x42fbc2
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcba
cmp eax, 1
jle 0x42fcba
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42fbe4
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42f98d
push 1
push dword [0x43e9c8]
push 0xf38
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_write_file__err_d_n
jmp 0x42ec8c
cmp dword [0x441ff4], ebx
je 0x42fcad
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x42fc43
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42fcad
cmp eax, 3
jle 0x42fcad
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43e9c8], ebx
mov edi, eax
jge 0x42fc65
mov eax, dword [0x441fa0]
mov dword [0x43e9c8], eax
call fcn.0041c4b1
test eax, eax
je 0x42fca3
push 3
push dword [0x43e9c8]
push 0xf42
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHARED_sslsock_sslsock.cpp
call fcn.0041c4e1
push dword [esp + 0x38]
push dword [esp + 0x30]
push dword [esp + 0x3c]
push str.Finished_downloading_file__content_len__d__total_recvd_d__pending_d_n
call fcn.0041c506
add esp, 0x20
call fcn.0041c4cc
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [esp + 0x1b], 1
jmp 0x42fcba
mov ebp, dword [sym.imp.WS2_32.dll_WSASetLastError]
cmp dword [esp + 0x14], ebx
je 0x42fcca
push dword [esp + 0x14]
call sub.MFC42.DLL_operatordelete
pop ecx
cmp dword [esp + 0x2c], ebx
je 0x42fcdb
push dword [esp + 0x2c]
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
cmp byte [esp + 0x12], 0
je 0x42fcef
cmp dword [esp + 0x178], ebx
jne 0x42ee95
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x42fd05
mov ecx, esi
call fcn.00426220
push esi
call sub.MFC42.DLL_operatordelete
pop ecx
cmp dword [esp + 0x34], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
je 0x42fd1a
push dword [esp + 0x24]
call dword [sym.imp.WS2_32.dll_closesocket]
mov al, byte [esp + 0xb]
neg al
sbb eax, eax
and eax, dword [esp + 0xc]
add esp, 0x148
ret