Function at 0x140111b50
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 [0x1402e0068]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov rsi, r8
mov rdi, rcx
cmp r9d, 0x18
je 0x140111b9a
mov eax, 7
jmp 0x1401120f6
cmp qword [rcx + 0x48], 0xffffffffffffffff
je 0x140111bab
mov eax, 6
jmp 0x1401120f6
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 0x140111c01
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x276d
jne 0x140111bf9
mov rcx, qword [rdi + 0x20]
add rcx, 0x40
call fcn.140114700
mov ecx, 0x101
lea rdx, [rsp + 0xd0]
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x140111bb1
or eax, 0xffffffff
jmp 0x1401120f6
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 0x140111c30
mov rcx, rbx
call sub.WS2_32.dll_closesocket
or eax, 0xffffffff
jmp 0x1401120f6
lea rcx, str.GOTOHTTP_PROXY
call fcn.1401ea4f4
test rax, rax
jne 0x140111c62
lea r8, str.proxy.ini
mov edx, 0x100
lea rcx, [rsp + 0x270]
call fcn.1400044a0
lea rax, [rsp + 0x270]
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140002640
nop
cmp qword [rsi + 0x10], 0
jne 0x140111e15
xor r9d, r9d
lea r8, str.type
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140008a50
mov dword [rsp + 0x48], eax
test eax, eax
je 0x140111e15
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002bc0
mov rbp, rax
test rax, rax
je 0x140111ce8
lea rdx, str.host
mov rcx, rax
call fcn.140001f40
test eax, eax
js 0x140111ce8
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x140111cea
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.140008a50
mov dword [rsp + 0x58], eax
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002bc0
mov rbp, rax
test rax, rax
je 0x140111d51
lea rdx, str.user
mov rcx, rax
call fcn.140001f40
test eax, eax
js 0x140111d51
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x140111d53
xor edx, edx
mov qword [rsp + 0x60], rdx
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002bc0
mov rbp, rax
test rax, rax
je 0x140111dc2
lea rdx, str.passc
mov rcx, rax
call fcn.140001f40
test eax, eax
js 0x140111dc2
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rcx, qword [rax + rcx*8 + 8]
test rcx, rcx
je 0x140111dc2
mov r8d, 0x100
lea rdx, [rsp + 0x270]
call fcn.140003d80
test rax, rax
je 0x140111dc2
lea rax, [rsp + 0x270]
mov qword [rsp + 0x68], rax
jmp 0x140111e0c
xor r8d, r8d
lea rdx, str.proxy
lea rcx, [rsp + 0x70]
call fcn.140002bc0
mov rbp, rax
test rax, rax
je 0x140111e05
lea rdx, str.pass
mov rcx, rax
call fcn.140001f40
test eax, eax
js 0x140111e05
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rbp + 8]
mov rdx, qword [rax + rcx*8 + 8]
test rdx, rdx
jne 0x140111e07
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 0x140111f02
mov eax, dword [rdx]
test eax, eax
je 0x140111f02
cmp eax, 1
jne 0x140111e6d
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.1400073f0
jmp 0x140111edf
cmp eax, 2
jne 0x140111ea7
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.140007870
jmp 0x140111edf
cmp eax, 3
jne 0x140111ee7
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.140007aa0
test eax, eax
jne 0x140112084
mov rcx, rbx
call sub.WS2_32.dll_closesocket
nop
lea rcx, [rsp + 0x70]
call fcn.1400026d0
or eax, 0xffffffff
jmp 0x1401120f6
mov rcx, qword [rsi]
call fcn.140007040
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 0x140111f80
mov rcx, rbx
call sub.WS2_32.dll_closesocket
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x140111f6e
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.1400045f0
nop
lea rcx, [rsp + 0x70]
call fcn.1400026d0
or eax, 0xffffffff
jmp 0x1401120f6
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x140111fb7
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.1400045f0
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call sub.WS2_32.dll_connect
test eax, eax
je 0x14011205d
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x14011202d
mov rcx, rbx
call sub.WS2_32.dll_closesocket
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x14011201b
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.1400045f0
nop
lea rcx, [rsp + 0x70]
call fcn.1400026d0
or eax, 0xffffffff
jmp 0x1401120f6
mov dword [rdi + 0x50], 0
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x140112084
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.1400045f0
jmp 0x140112084
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x140112084
lea r9, str.NS_Channel_Tcp::Connect_connected.
mov r8d, 0x9b
lea rdx, str....._network_serviceNS_Channel_Tcp.cpp
mov ecx, 1
call fcn.1400045f0
mov qword [rdi + 0x48], rbx
mov rcx, qword [rdi + 0x20]
add rcx, 0x40
mov rdx, rdi
call fcn.1401149f0
mov ebx, eax
test eax, eax
je 0x1401120a9
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x60]
jmp 0x1401120ea
mov dword [rdi + 0x54], 1
mov rcx, qword [rdi + 0x28]
mov eax, dword [rcx + 0xcc]
cmp eax, 1
jne 0x1401120d8
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.1400026d0
mov eax, ebx
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.1401e6720
lea r11, [rsp + 0x380]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret