Function at 0x140003120
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Convert ip address from string
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r13
push r14
lea rbp, [rsp - 0x1170]
mov eax, 0x1270
call fcn.140007f10
sub rsp, rax
mov rax, qword [0x140032040]
xor rax, rsp
mov qword [rbp + 0x1160], rax
mov r13, rcx
xor ecx, ecx
movups xmm0, xmmword [str.GET__key_HTTP_1.1_r_nHost:_10.0.9.241_r_nConnection:_close_r_n_r_n]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [0x14002d328]
movups xmmword [rbp + 0x130], xmm1
movups xmm0, xmmword [0x14002d338]
movups xmmword [rbp + 0x140], xmm0
movsd xmm0, qword [0x14002d348]
movsd qword [rbp + 0x150], xmm0
movzx eax, word [0x14002d350]
mov word [rbp + 0x158], ax
movzx eax, byte [0x14002d352]
mov byte [rbp + 0x15a], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], recv
mov byte [rsp + 0x28], cl
mov ecx, 0x202
lea rdx, [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x140003284
lea rdx, str.WSAStartup_failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140003256
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003251
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000370f
call fcn.140007640
xor al, al
mov rcx, qword [rbp + 0x1160]
xor rcx, rsp
call fcn.140007620
lea r11, [rsp + 0x1270]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop rbp
ret
mov edx, 1
mov ebx, 2
mov r8d, 6
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400032e3
lea rdx, str.socket___failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140003219
mov word [rsp + 0x68], bx
mov ecx, 0x1f40
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x6a], ax
lea r8, [rsp + 0x6c]
lea rdx, str.10.0.9.241
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jg 0x140003357
lea rdx, str.inet_pton_failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140003219
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x68]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400033b7
lea rdx, str.connect___failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140003219
lea rax, [rbp + 0x120]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400033d0
xor r9d, r9d
lea rdx, [rbp + 0x120]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, esi
jne 0x140003438
lea rdx, str.send___failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140003219
xor r9d, r9d
mov r8d, 0xfff
lea rdx, [rbp + 0x160]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1400034b9
nop word [rax + rax]
mov ecx, eax
cmp rcx, 0x1000
jae 0x140003715
mov byte [rbp + rcx + 0x160], 0
lea rax, [rbp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140003481
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x28]
call fcn.140003f00
xor r9d, r9d
mov r8d, 0xfff
lea rdx, [rbp + 0x160]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x140003460
cmp eax, esi
jne 0x140003504
lea rdx, str.recv___failed
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140003219
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rbx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0xf
cmova rbx, qword [rsp + 0x28]
mov r14, qword [rsp + 0x38]
cmp r14, 4
jb 0x140003578
lea rdi, [r14 + rbx]
lea r8, [rdi - 3]
sub r8, rbx
mov edx, recv
mov rcx, rbx
call fcn.140021a10
test rax, rax
je 0x140003578
nop dword [rax]
cmp dword [rax], 0xa0d0a0d
je 0x1400035f1
inc rax
lea r8, [rdi - 3]
sub r8, rax
mov edx, recv
mov rcx, rax
call fcn.140021a10
test rax, rax
jne 0x140003550
lea rdx, str.Invalid_response_format
call fcn.140003fb0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004910
movzx edx, al
mov rcx, rbx
call fcn.140004760
mov rcx, rbx
call fcn.140004600
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140003256
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003251
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000370f
jmp 0x140003251
sub rax, rbx
cmp rax, rsi
je 0x140003578
lea rcx, [rax + 4]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
cmp r14, rcx
jb 0x14000371b
sub r14, rcx
cmp r14, rsi
cmovb rsi, r14
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0xf
cmova rdx, qword [rsp + 0x28]
add rdx, rcx
mov r8, rsi
lea rcx, [rsp + 0x48]
call fcn.140004290
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
add r8, rdx
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rdx, qword [rsp + 0x48]
sub r8, rdx
mov rcx, r13
call fcn.140004b80
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1400036b6
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400036b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003709
call fcn.140007640
movdqa xmm0, xmmword [0x14002d8e0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140003702
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400036fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000370f
call fcn.140007640
mov al, 1
jmp 0x140003258
call fcn.14000d710
nop
call fcn.14000d710
nop
call fcn.140007750
int3
call fcn.140003f90
int3