Function at 0x14010ec30
Capabilities:
Connect socket
Initialize winsock library
Query environment variable
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x380
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x1402de400]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov rsi, r8
mov rdi, rcx
cmp r9d, 0x18
je 0x14010ec7a
mov eax, 7
jmp 0x14010f1d6
cmp qword [rcx + 0x48], 0xffffffffffffffff
je 0x14010ec8b
mov eax, 6
jmp 0x14010f1d6
mov r12d, 2
xor r8d, r8d
lea edx, [r8 + 1]
mov ecx, r12d
call sub.WS2_32.dll_socket
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14010ece1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x276d
jne 0x14010ecd9
mov rcx, qword [rdi + 0x20]
add rcx, 0x40
call fcn.140111810
mov ecx, 0x101
lea rdx, [rsp + 0xd0]
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x14010ec91
or eax, 0xffffffff
jmp 0x14010f1d6
mov dword [rsp + 0x40], 1
lea r8, [rsp + 0x40]
mov edx, 0x8004667e
mov rcx, rax
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x14010ed10
mov rcx, rbx
call sub.WS2_32.dll_closesocket
or eax, 0xffffffff
jmp 0x14010f1d6
lea rcx, str.GOTOHTTP_PROXY
call fcn.1401e76b8
test rax, rax
jne 0x14010ed42
lea r8, str.proxy.ini
mov edx, 0x100
lea rcx, [rsp + 0x270]
call fcn.140004450
lea rax, [rsp + 0x270]
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400025f0
nop
cmp qword [rsi + 0x10], 0
jne 0x14010eef5
xor r9d, r9d
lea r8, str.type
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140008a00
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14010eef5
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002b70
mov rbp, rax
test rax, rax
je 0x14010edc8
lea rdx, str.host
mov rcx, rax
call fcn.140001ef0
test eax, eax
js 0x14010edc8
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x14010edca
xor edx, edx
mov qword [rsp + 0x50], rdx
xor r9d, r9d
lea r8, str.port
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140008a00
mov dword [rsp + 0x58], eax
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002b70
mov rbp, rax
test rax, rax
je 0x14010ee31
lea rdx, str.user
mov rcx, rax
call fcn.140001ef0
test eax, eax
js 0x14010ee31
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x14010ee33
xor edx, edx
mov qword [rsp + 0x60], rdx
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002b70
mov rbp, rax
test rax, rax
je 0x14010eea2
lea rdx, str.passc
mov rcx, rax
call fcn.140001ef0
test eax, eax
js 0x14010eea2
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rcx, qword [rax + rcx*8 + 8]
test rcx, rcx
je 0x14010eea2
mov r8d, 0x100
lea rdx, [rsp + 0x270]
call fcn.140003d30
test rax, rax
je 0x14010eea2
lea rax, [rsp + 0x270]
mov qword [rsp + 0x68], rax
jmp 0x14010eeec
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002b70
mov rbp, rax
test rax, rax
je 0x14010eee5
lea rdx, str.pass
mov rcx, rax
call fcn.140001ef0
test eax, eax
js 0x14010eee5
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x14010eee7
xor edx, edx
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x48]
mov qword [rsi + 0x10], rax
mov rdx, qword [rsi + 0x10]
mov ebp, dword [rsp + 0x3c0]
test rdx, rdx
je 0x14010efe2
mov eax, dword [rdx]
test eax, eax
je 0x14010efe2
cmp eax, 1
jne 0x14010ef4d
mov dword [rsp + 0x38], ebp
movzx eax, word [rsi + 8]
mov word [rsp + 0x30], ax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x20], rax
mov r9, qword [rdx + 0x18]
movzx r8d, word [rdx + 0x10]
mov rdx, qword [rdx + 8]
mov rcx, rbx
call fcn.1400073a0
jmp 0x14010efbf
cmp eax, 2
jne 0x14010ef87
mov dword [rsp + 0x38], ebp
movzx eax, word [rsi + 8]
mov word [rsp + 0x30], ax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x20], rax
mov r9, qword [rdx + 0x18]
movzx r8d, word [rdx + 0x10]
mov rdx, qword [rdx + 8]
mov rcx, rbx
call fcn.140007820
jmp 0x14010efbf
cmp eax, 3
jne 0x14010efc7
mov dword [rsp + 0x38], ebp
movzx eax, word [rsi + 8]
mov word [rsp + 0x30], ax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x20], rax
mov r9, qword [rdx + 0x18]
movzx r8d, word [rdx + 0x10]
mov rdx, qword [rdx + 8]
mov rcx, rbx
call fcn.140007a50
test eax, eax
jne 0x14010f164
mov rcx, rbx
call sub.WS2_32.dll_closesocket
nop
lea rcx, [rsp + 0x70]
call fcn.140002680
or eax, 0xffffffff
jmp 0x14010f1d6
mov rcx, qword [rsi]
call fcn.140006ff0
mov dword [rsp + 0xbc], eax
movzx ecx, word [rsi + 8]
call sub.WS2_32.dll_htons
mov word [rsp + 0xba], ax
mov word [rsp + 0xb8], r12w
mov ecx, dword [rsp + 0xbc]
cmp ecx, 0xffffffff
jne 0x14010f060
mov rcx, rbx
call sub.WS2_32.dll_closesocket
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14010f04e
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
lea r9, str.NS_Channel_Tcp::Connect__s_cant_be_resolved.
mov r8d, 0x7c
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
lea ecx, [r8 - 0x7b]
call fcn.1400045a0
nop
lea rcx, [rsp + 0x70]
call fcn.140002680
or eax, 0xffffffff
jmp 0x14010f1d6
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14010f097
call sub.WS2_32.dll_inet_ntoa
mov ecx, dword [rsi + 8]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
lea r9, str.NS_Channel_Tcp::Connect_Socket_connecting_to__s:_d_...
mov r8d, 0x80
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
lea ecx, [r8 - 0x7f]
call fcn.1400045a0
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call sub.WS2_32.dll_connect
test eax, eax
je 0x14010f13d
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x14010f10d
mov rcx, rbx
call sub.WS2_32.dll_closesocket
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14010f0fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, str.NS_Channel_Tcp::Connect_connect_error___d.
mov r8d, 0x8e
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
mov ecx, 1
call fcn.1400045a0
nop
lea rcx, [rsp + 0x70]
call fcn.140002680
or eax, 0xffffffff
jmp 0x14010f1d6
mov dword [rdi + 0x50], 0
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14010f164
lea r9, str.NS_Channel_Tcp::Connect__connecting_is_in_progress....
mov r8d, __WSAFDIsSet
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
mov ecx, 1
call fcn.1400045a0
jmp 0x14010f164
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14010f164
lea r9, str.NS_Channel_Tcp::Connect_connected.
mov r8d, 0x9b
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
mov ecx, 1
call fcn.1400045a0
mov qword [rdi + 0x48], rbx
mov rcx, qword [rdi + 0x20]
add rcx, 0x40
mov rdx, rdi
call fcn.140111b00
mov ebx, eax
test eax, eax
je 0x14010f189
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x60]
jmp 0x14010f1ca
mov dword [rdi + 0x54], 1
mov rcx, qword [rdi + 0x28]
mov eax, dword [rcx + 0xcc]
cmp eax, 1
jne 0x14010f1b8
xor r9d, r9d
mov r8d, eax
lea rdx, reloc.WS2_32.dll_WSAStartup
mov rcx, qword [rcx + 0xd8]
call sub.WS2_32.dll_send
mov rax, qword [rdi]
xor r9d, r9d
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x70]
call fcn.140002680
mov eax, ebx
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.1401e42a0
lea r11, [rsp + 0x380]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret