Function at 0x14000beb0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x678
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x4d0]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14000bf0a
lea rdx, str.WSAStartup_failed.
lea rcx, [0x14003f9d0]
call fcn.140006e50
lea rdx, [0x140007510]
mov rcx, rax
call fcn.140008750
xor eax, eax
jmp 0x14000c5f9
lea rcx, [rsp + 0x70]
call fcn.140005c90
nop
lea rcx, [rsp + 0x90]
call fcn.140005c90
nop
mov rdx, qword [rsp + 0x690]
lea rcx, [rsp + 0x1d0]
call fcn.140005c40
mov qword [rsp + 0x158], rax
xor r8d, r8d
lea rdx, [0x14002f404]
mov rcx, qword [rsp + 0x158]
call fcn.14000bc00
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x1d0]
call fcn.140005ef0
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x14000c13d
mov rax, qword [rsp + 0x38]
add rax, 3
mov qword [rsp + 0x168], rax
mov rdx, qword [rsp + 0x690]
lea rcx, [rsp + 0x1f0]
call fcn.140005c40
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xb0], rax
mov r9, 0xffffffffffffffff
mov rax, qword [rsp + 0x168]
mov r8, rax
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rsp + 0xb0]
call fcn.14000c630
nop
lea rcx, [rsp + 0x1f0]
call fcn.140005ef0
xor r8d, r8d
mov dl, 0x2f
lea rcx, [rsp + 0x1b0]
call fcn.140006b60
mov qword [rsp + 0x38], rax
mov r9, qword [rsp + 0x38]
xor r8d, r8d
lea rdx, [rsp + 0x210]
lea rcx, [rsp + 0x1b0]
call fcn.14000c630
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x70]
call fcn.1400086d0
lea rcx, [rsp + 0x210]
call fcn.140005ef0
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x14000c09e
mov r9, 0xffffffffffffffff
mov r8, qword [rsp + 0x38]
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x1b0]
call fcn.14000c630
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
jmp 0x14000c0d2
lea rdx, [0x14002f408]
lea rcx, [rsp + 0x230]
call fcn.140005c40
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x20]
or eax, 2
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xd8], rax
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x90]
call fcn.1400086d0
mov eax, dword [rsp + 0x20]
and eax, 2
test eax, eax
je 0x14000c112
and dword [rsp + 0x20], 0xfffffffd
lea rcx, [rsp + 0x230]
call fcn.140005ef0
nop
mov eax, dword [rsp + 0x20]
and eax, 1
test eax, eax
je 0x14000c130
and dword [rsp + 0x20], 0xfffffffe
lea rcx, [rsp + 0x250]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x1b0]
call fcn.140005ef0
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
jne 0x14000c197
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0xe0]
jmp 0x14000c5f9
lea rcx, [rsp + 0x70]
call fcn.1400099c0
mov rcx, rax
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jne 0x14000c1f9
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0xe8]
jmp 0x14000c5f9
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
mov eax, 2
mov word [rsp + 0x60], ax
mov cx, 0x50
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
mov rax, qword [rsp + 0x48]
movsx rax, word [rax + 0x12]
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx + 0x18]
lea rdi, [rsp + 0x64]
mov rsi, qword [rdx + rcx]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x14000c2aa
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [rsp + 0xf0], 0
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0xf0]
jmp 0x14000c5f9
lea r8, [rsp + 0x90]
lea rdx, str.GET
lea rcx, [rsp + 0x2b0]
call fcn.14000abe0
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rax
lea r8, str._HTTP_1.0_r_nHost:
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x290]
call fcn.14000ab80
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x110], rax
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x270]
call fcn.14000ab20
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x120], rax
lea r8, [0x14002f40c]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x190]
call fcn.14000ab80
nop
lea rcx, [rsp + 0x270]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x290]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x2b0]
call fcn.140005ef0
lea rcx, [rsp + 0x190]
call fcn.140006d90
mov qword [rsp + 0x128], rax
lea rcx, [rsp + 0x190]
call fcn.1400099c0
xor r9d, r9d
mov rcx, qword [rsp + 0x128]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x14000c41d
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [rsp + 0x130], 0
lea rcx, [rsp + 0x190]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0x130]
jmp 0x14000c5f9
lea rcx, [rsp + 0x170]
call fcn.140005c90
nop
xor eax, eax
cmp eax, 1
je 0x14000c47a
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rsp + 0x2d0]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_recv]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jg 0x14000c45b
jmp 0x14000c47a
movsxd rax, dword [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x170]
call fcn.140009880
jmp 0x14000c42b
xor r8d, r8d
lea rdx, str._r_n_r_n
lea rcx, [rsp + 0x170]
call fcn.14000bc00
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
jne 0x14000c4fe
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x170]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x190]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0x138]
jmp 0x14000c5f9
lea rcx, [rsp + 0x170]
call fcn.140006d90
movsxd rcx, dword [rsp + 0x30]
sub rax, rcx
sub rax, 4
mov rcx, qword [rsp + 0x698]
mov dword [rcx], eax
mov rax, qword [rsp + 0x698]
mov eax, dword [rax]
inc eax
cdqe
mov rcx, rax
call fcn.14000ebf4
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x698]
movsxd rax, dword [rax]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x170]
call fcn.1400099c0
movsxd rcx, dword [rsp + 0x30]
lea rax, [rax + rcx + 4]
mov rdi, qword [rsp + 0x50]
mov rsi, rax
mov rax, qword [rsp + 0x148]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x698]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
mov byte [rcx + rax], 0
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x170]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x190]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x90]
call fcn.140005ef0
nop
lea rcx, [rsp + 0x70]
call fcn.140005ef0
mov rax, qword [rsp + 0x150]
add rsp, 0x678
pop rdi
pop rsi
ret