Function at 0x140014cd0
Capabilities:
Connect socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1230]
mov eax, 0x1330
call fcn.140184480
sub rsp, rax
mov rax, qword [0x140204480]
xor rax, rsp
mov qword [rbp + 0x1220], rax
mov r15, r9
mov rbx, r8
mov qword [rsp + 0x48], rdx
mov r14, rcx
mov qword [rbp + 0x60], rdx
mov r13, qword [rbp + 0x1290]
mov edi, 1
mov dword [rbp + 0xb8], edi
lea rcx, [rbp + 0x90]
call fcn.14000ee30
mov rsi, qword [rbp + 0x1298]
imul rcx, rsi, 0xf4240
add rcx, qword [rax]
mov qword [rsp + 0x70], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c8], xmm0
movups xmmword [rbp + 0x1d8], xmm0
movups xmmword [rbp + 0x1e8], xmm0
movzx eax, byte [r14 + 1]
lea r12d, [rdi + 0x16]
test al, al
jne 0x140014d76
lea eax, [rdi + 1]
jmp 0x140014d82
cmp al, dil
jne 0x140016215
mov eax, r12d
mov dword [rbp + 0x1cc], eax
mov dword [rbp + 0x1d0], edi
lea rdx, [r14 + 0x68]
cmp qword [rdx + 0x18], 0xf
jbe 0x140014d9c
mov rdx, qword [rdx]
lea rcx, [r14 + 0x48]
cmp qword [r14 + 0x60], 0xf
jbe 0x140014dab
mov rcx, qword [r14 + 0x48]
lea r9, [rbp + 0xa8]
lea r8, [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x140016235
xorps xmm0, xmm0
movups xmmword [rbp + 0x198], xmm0
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp + 0x198], rax
mov rax, qword [rbp + 0xa8]
mov qword [rsp + 0x68], rax
mov qword [rbp + 0x1a0], rax
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x140016278
cmp qword [rbx + 0x18], 0xf
jbe 0x140014e17
mov rbx, qword [rbx]
mov qword [rsp + 0x30], 1
lea rax, [0x1401be324]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, rbx
lea rcx, [rbp + 0x70]
call fcn.140008970
nop
lea rdx, [r14 + 0x88]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140014e53
mov rdx, qword [rdx]
lea rcx, [rbp + 0x70]
call fcn.140008360
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
lea r8d, [rbx + 0xb]
lea rdx, str._HTTP_1.1_r_n
lea rcx, [rbp - 0x28]
call fcn.140008360
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x150], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x160], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
lea rcx, [rbp - 0x28]
call fcn.140008300
nop
lea rcx, [rbp + 0x70]
call fcn.140008300
mov rbx, qword [r13]
mov rdi, qword [r13 + 8]
mov r13d, 0x1c01
cmp rbx, rdi
je 0x140014fa7
lea rdx, [0x1401be328]
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x140016284
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140014f38
mov r9, qword [rbx]
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x1200]
call fcn.140008970
bts r13d, 7
lea rdx, [rbp + 0x1200]
cmp qword [rbp + 0x1218], 0xf
cmova rdx, qword [rbp + 0x1200]
mov r8, qword [rbp + 0x1210]
lea rcx, [rbp + 0x150]
call fcn.140008360
nop
lea rcx, [rbp + 0x1200]
call fcn.140008300
add rbx, 0x20
cmp rbx, rdi
lea rdx, [0x1401be328]
jne 0x140014f10
mov r8, qword [r15 + 8]
sub r8, qword [r15]
lea r10, [rbp + 0x1215]
movabs r9, 0xcccccccccccccccd
nop
dec r10
mov rax, r9
mul r8
shr rdx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8, rdx
test rdx, rdx
jne 0x140014fc0
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1215]
mov rdx, r10
lea rcx, [rbp - 0x60]
call fcn.140008ac0
or r13d, 0x60
lea rcx, [r14 + 0x28]
mov rdx, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, 6
jb 0x14001627e
cmp qword [rcx + 0x18], 0xf
jbe 0x14001502f
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 6
lea r9, str.Host:
lea rcx, [rbp - 8]
call fcn.140008970
or r13d, 0x10
mov r8d, reloc.WS2_32.dll_select
lea rdx, str._r_nContent_Length:
lea rcx, [rbp - 8]
call fcn.140008360
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
or r13d, 8
lea r9, [rbp - 0x60]
lea r8, [rbp + 0x20]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140008780
or r13d, 2
lea r8d, [rbx + 4]
lea rdx, str._r_n_r_n
lea rcx, [rsp + 0x78]
call fcn.140008360
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
or r13d, 4
lea rdx, [rbp + 0x40]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp + 0x150]
call fcn.140008360
nop
lea rcx, [rbp + 0x40]
call fcn.140008300
nop
lea rcx, [rsp + 0x78]
call fcn.140008300
nop
lea rcx, [rbp + 0x20]
call fcn.140008300
nop
lea rcx, [rbp - 8]
call fcn.140008300
nop
lea rcx, [rbp - 0x60]
call fcn.140008300
xorps xmm0, xmm0
xor eax, eax
lea rdi, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdi, qword [rbp + 0x150]
add rdi, qword [rbp + 0x160]
lea rbx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rbx, qword [rbp + 0x150]
movdqu xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], rax
sub rdi, rbx
je 0x1400151d5
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x14001628a
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.1400f2f90
mov r8, rdi
mov rdx, rbx
mov rbx, qword [rbp + 0x100]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rdx, [rbx + rdi]
mov qword [rbp + 0x108], rdx
jmp 0x1400151dc
mov rdx, qword [rbp + 0x108]
mov r8, qword [r15]
mov r9, qword [r15 + 8]
sub r9, r8
lea rcx, [rbp + 0x100]
call fcn.1400f35e0
movzx eax, byte [r14 + 1]
test al, al
jne 0x140015203
mov r12d, 2
jmp 0x14001520b
cmp al, 1
jne 0x1400161ca
mov ebx, 1
lea r8d, [rbx + 5]
mov edx, ebx
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x140016290
mov dword [rbp + 0xbc], ebx
lea r8, [rbp + 0xbc]
mov edx, 0x8004667e
mov rcx, rax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x1400162c0
movabs rbx, 0x431bde82d7b634db
test rsi, rsi
js 0x14001529f
lea rcx, [rsp + 0x50]
call fcn.14000ee30
mov r12, qword [rsp + 0x70]
mov rcx, r12
sub rcx, qword [rsp + 0x50]
mov rax, rbx
imul rcx
mov rbx, rdx
sar rbx, 0x12
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test rbx, rbx
mov eax, 0
cmovle rbx, rax
jmp 0x1400152ab
mov rbx, 0xffffffffffffffff
mov r12, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov r14d, dword [rax + 0x10]
mov r15, qword [rax + 0x20]
mov r8d, r14d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400152f1
nop dword [rax]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140015354
mov r8d, r14d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1400152d0
mov ebx, 1
mov r14, qword [rbp + 0x108]
mov r15, qword [rbp + 0x100]
sub r14, r15
je 0x14001543b
nop dword [rax]
test rsi, rsi
js 0x1400153c6
lea rcx, [rsp + 0x50]
call fcn.14000ee30
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
mov eax, 0
cmovle rdx, rax
jmp 0x1400153cd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14001632e
mov r8, rbx
mov ebx, 1
mov edx, ebx
lea rcx, [rsp + 0x60]
call fcn.140014400
mov dword [rbp + 0xb8], 4
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xb4]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x1400162fb
mov edx, dword [rbp + 0xb4]
test edx, edx
jne 0x1400161ea
jmp 0x1400152f6
mov rdx, 0xffffffffffffffff
mov r8, rdx
mov edx, ebx
lea rcx, [rsp + 0x60]
call fcn.140014400
xor r9d, r9d
mov r8d, r14d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140015426
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x14001541d
xor r9d, r9d
mov r8d, r14d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400153f5
jmp 0x140015426
cmp ebx, 0xffffffff
je 0x140016361
movsxd rax, ebx
add r15, rax
sub r14, rax
je 0x14001543b
mov ebx, 1
jmp 0x140015310
mov word [rbp + 0xb0], 0xa0d
mov rax, qword [rsp + 0x48]
xor edx, edx
mov dword [rax], edx
lea rcx, [rax + 8]
mov qword [rbp - 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], dl
mov qword [rax + 0x28], rdx
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], rdx
mov qword [rax + 0x40], rdx
mov qword [rax + 0x48], rdx
mov qword [rax + 0x50], rdx
or r13d, 1
mov dword [rbp + 0xbc], r13d
mov dword [rbp + 0xb8], r13d
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
mov qword [rbp + 0x128], rdx
mov dword [rsp + 0x44], edx
mov byte [rsp + 0x42], dl
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x41], dl
mov r12d, edx
mov qword [rsp + 0x58], rdx
xor r13b, r13b
mov dword [rbp + 0xb4], r13d
mov r14, qword [rbp + 0x120]
mov r15, qword [rbp + 0x118]
test rsi, rsi
js 0x140015516
lea rcx, [rbp - 0x38]
call fcn.14000ee30
mov rcx, qword [rsp + 0x70]
sub rcx, qword [rbp - 0x38]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
mov eax, 0
cmovle rdx, rax
jmp 0x14001551d
mov rdx, 0xffffffffffffffff
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.140014400
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x200]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140015588
nop dword [rax]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x14001557f
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x200]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140015550
jmp 0x140015588
cmp ebx, 0xffffffff
je 0x140016394
movsxd r9, ebx
test ebx, ebx
je 0x140016118
lea r8, [rbp + 0x200]
mov rdx, r14
lea rcx, [rbp + 0x118]
call fcn.1400f35e0
mov r15, qword [rbp + 0x118]
mov r14, qword [rbp + 0x120]
cmp dword [rsp + 0x44], 2
je 0x140015cfc
nop dword [rax]
nop word [rax + rax]
mov rbx, r14
mov rcx, r14
sub rcx, r15
movzx eax, word [rbp + 0xb0]
cmp rcx, 2
jl 0x14001560d
lea r8, [r14 - 2]
cmp ax, word [r15]
sete cl
mov rdx, r15
test cl, cl
jne 0x14001560a
cmp rdx, r8
je 0x14001560d
inc rdx
cmp ax, word [rdx]
sete cl
test cl, cl
je 0x1400155f8
mov rbx, rdx
cmp rbx, r14
je 0x140015d90
mov r8, rbx
mov rdx, r15
lea rcx, [rbp + 0xc0]
call fcn.1400e9e00
nop
lea rdx, [rbx + 2]
cmp r15, rdx
je 0x14001564a
sub r14, rdx
mov r8, r14
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
add r14, r15
mov qword [rbp + 0x120], r14
mov rdx, qword [rbp + 0xd0]
test rdx, rdx
je 0x140015cdc
mov r12d, dword [rsp + 0x44]
test r12d, r12d
jne 0x140015853
mov dword [rsp + 0x44], 1
lea rcx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
seta r9b
cmova rcx, qword [rbp + 0xc0]
add rdx, rcx
lea rcx, [rbp + 0xc0]
test r9b, r9b
cmovne rcx, qword [rbp + 0xc0]
mov r8b, reloc.WLDAP32.dll_Ordinal_32
call fcn.140183740
mov rbx, rax
lea rax, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
seta r9b
mov r8, qword [rbp + 0xc0]
cmova rax, r8
mov rcx, qword [rbp + 0xd0]
add rax, rcx
cmp rbx, rax
je 0x140015ccb
inc rbx
lea rdx, [rbp + 0xc0]
test r9b, r9b
cmovne rdx, r8
add rdx, rcx
mov r8b, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rbx
call fcn.140183740
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
xor eax, eax
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], rax
cmp rbx, r13
jne 0x140015737
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x170], al
jmp 0x14001574d
mov r8, r13
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x170]
call fcn.1400ef310
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r12, rax
lea rbx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0xf
cmova rbx, qword [rbp + 0x170]
xor eax, eax
mov dword [r12], eax
lea r8d, [rax + 0xa]
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp + 0xa0]
je 0x14001601a
cmp dword [r12], 0x22
je 0x14001600c
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
lea rax, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
seta r10b
mov r8, qword [rbp + 0xc0]
cmova rax, r8
mov r9, qword [rbp + 0xd0]
add rax, r9
cmp r13, rax
je 0x140015847
lea rdx, [r13 + 1]
lea rax, [rbp + 0xc0]
test r10b, r10b
cmovne rax, r8
lea r8, [rax + r9]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1200], xmm0
xor eax, eax
mov qword [rbp + 0x1210], rax
mov qword [rbp + 0x1218], rax
cmp rdx, r8
jne 0x14001581b
mov qword [rbp + 0x1218], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1200], al
jmp 0x14001582a
sub r8, rdx
lea rcx, [rbp + 0x1200]
call fcn.1400ef310
lea rdx, [rbp + 0x1200]
mov rcx, qword [rbp - 0x30]
call fcn.1400e3f10
lea rcx, [rbp + 0x1200]
call fcn.140008300
nop
lea rcx, [rbp + 0x170]
jmp 0x140015cc5
cmp r12d, 1
jne 0x140015ccb
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx + 0x30]
cmp rax, qword [rbx + 0x38]
je 0x140015882
lea rdx, [rbp + 0xc0]
mov rcx, rax
call fcn.1400081e0
add qword [rbx + 0x30], 0x20
jmp 0x140015895
lea r8, [rbp + 0xc0]
mov rdx, rax
lea rcx, [rbx + 0x28]
call fcn.1400f55b0
lea r12, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
seta byte [rsp + 0x40]
cmova r12, qword [rbp + 0xc0]
mov r13, qword [rbp + 0xd0]
test r13, r13
je 0x1400158da
mov r8, r13
mov edx, Ordinal_60
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400158da
sub rbx, r12
jmp 0x1400158e1
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x140016406
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xor eax, eax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
mov r8, rbx
cmp r13, rbx
cmovb r8, r13
lea rdx, [rbp + 0xc0]
cmp byte [rsp + 0x40], al
cmovne rdx, qword [rbp + 0xc0]
lea rcx, [rbp + 0x130]
call fcn.1400ef310
mov r12d, dword [rbp + 0xbc]
bts r12d, 8
mov dword [rbp + 0xb8], r12d
lea r11, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
seta cl
mov r9, qword [rbp + 0x130]
cmova r11, r9
lea rdx, [rbp + 0x130]
mov r10, qword [rbp + 0x140]
test cl, cl
je 0x140015975
add r10, r9
jmp 0x14001597f
add r10, rdx
lea r9, [rbp + 0x130]
cmp r9, r10
je 0x1400159b2
sub r11, r9
nop word [rax + rax]
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
mov byte [r9 + r11], cl
inc r9
cmp r9, r10
jne 0x140015990
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
xor r13d, r13d
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], r13
mov rax, qword [rbp + 0xd0]
cmp rax, rbx
jb 0x140016400
sub rax, rbx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
cmova rdx, qword [rbp + 0xc0]
add rdx, rbx
lea rcx, [rbp + 0xe0]
call fcn.1400ef310
bts r12d, 9
mov dword [rbp + 0xbc], r12d
mov dword [rbp + 0xb8], r12d
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
seta r9b
mov r8, qword [rbp + 0xe0]
cmova rdx, r8
mov rbx, qword [rbp + 0xf0]
add rdx, rbx
lea rax, [rbp + 0xe0]
test r9b, r9b
cmovne rax, r8
cmp rax, rdx
je 0x140015a7a
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140015a72
cmp cl, 9
jne 0x140015a7a
inc rax
cmp rax, rdx
jne 0x140015a65
lea rcx, [rbp + 0xe0]
mov rdx, r13
test r9b, r9b
je 0x140015a9b
sub rax, r8
mov rcx, rbx
sub rcx, r13
cmp rcx, rax
cmovb rax, rcx
jmp 0x140015aac
sub rax, rcx
cmp rbx, rax
cmovb rax, rbx
lea r8, [rbp + 0xe0]
lea rcx, [r8 + rdx]
sub rbx, rax
mov r8, rbx
sub r8, rdx
inc r8
lea rdx, [rcx + rax]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0xf0], rbx
lea r9, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
seta r11b
mov r10, qword [rbp + 0xe0]
cmova r9, r10
add r9, rbx
lea rcx, [rbp + 0xe0]
test r11b, r11b
je 0x140015b01
mov rcx, r10
mov rax, r10
jmp 0x140015b08
lea rax, [rbp + 0xe0]
lea rdx, [rax + rbx]
cmp rdx, rcx
je 0x140015b2d
lea rax, [rdx - 1]
movzx r8d, byte [rax]
cmp r8b, 0x20
je 0x140015b25
cmp r8b, 9
jne 0x140015b2d
mov rdx, rax
cmp rax, rcx
jne 0x140015b11
lea rax, [rbp + 0xe0]
sub r9, rdx
test r11b, r11b
je 0x140015b41
sub rdx, r10
jmp 0x140015b4b
sub rdx, rax
lea r10, [rbp + 0xe0]
mov rax, rbx
sub rax, rdx
cmp rax, r9
cmovb r9, rax
lea rcx, [r10 + rdx]
sub rbx, r9
mov r8, rbx
sub r8, rdx
inc r8
lea rdx, [rcx + r9]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0xf0], rbx
lea rcx, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
seta dl
mov byte [rsp + 0x40], dl
mov r13, qword [rbp + 0x130]
cmova rcx, r13
mov r12, qword [rbp + 0x140]
cmp r12, 0xe
jne 0x140015c4e
mov r8, r12
lea rdx, str.content_length
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140015c49
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r12, rax
lea rbx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rbx, qword [rbp + 0xe0]
xor eax, eax
mov dword [r12], eax
lea r8d, [rax + 0xa]
lea rdx, [rbp + 0x98]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
cmp rbx, qword [rbp + 0x98]
je 0x140016036
cmp dword [r12], 0x22
je 0x140016028
mov edx, eax
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x42], 1
mov qword [rbp + 0x190], rdx
mov rcx, qword [rsp + 0x48]
add rcx, 0x40
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp rdx, rax
jbe 0x140015cb1
lea rdx, [rbp + 0x190]
call fcn.1400ee9a0
jmp 0x140015cb1
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x130]
test dl, dl
cmovne rcx, r13
cmp r12, 0x11
jne 0x140015cb1
mov r8, r12
lea rdx, str.transfer_encoding
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140015cb1
lea rcx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rcx, qword [rbp + 0xe0]
cmp rbx, 7
jne 0x1400163c5
mov r8, rbx
lea rdx, str.chunked
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400163c5
mov byte [rsp + 0x41], 1
lea rcx, [rbp + 0xe0]
call fcn.140008300
nop
lea rcx, [rbp + 0x130]
call fcn.140008300
nop
lea rcx, [rbp + 0xc0]
call fcn.140008300
jmp 0x1400155d0
mov dword [rsp + 0x44], 2
lea rcx, [rbp + 0xc0]
call fcn.140008300
mov r12, qword [rsp + 0x58]
mov r13d, dword [rbp + 0xb4]
movzx eax, word [rbp + 0xb0]
cmp byte [rsp + 0x41], 0
je 0x140015eef
nop
test r12, r12
je 0x140015dac
mov rax, r14
sub rax, r15
mov rbx, r12
cmp rax, r12
cmovb rbx, rax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x48]
mov r9, rbx
mov r8, r15
add rcx, 0x40
call fcn.1400f35e0
lea rdx, [r15 + rbx]
cmp r15, rdx
je 0x140015d62
sub r14, rdx
mov r8, r14
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
add r14, r15
mov qword [rbp + 0x120], r14
sub r12, rbx
mov qword [rsp + 0x58], r12
movzx r13d, r13b
mov eax, 1
cmove r13d, eax
mov dword [rbp + 0xb4], r13d
cmp r15, r14
je 0x1400154d6
movzx eax, word [rbp + 0xb0]
jmp 0x140015d10
cmp dword [rsp + 0x44], 2
mov r12, qword [rsp + 0x58]
mov r13d, dword [rbp + 0xb4]
jne 0x1400154d6
jmp 0x140015d03
test r13b, r13b
je 0x140015e02
mov rcx, r14
sub rcx, r15
cmp rcx, 2
jb 0x1400154d6
cmp ax, word [r15]
sete cl
test cl, cl
je 0x140016441
xor r13b, r13b
mov dword [rbp + 0xb4], r13d
lea rdx, [r15 + 2]
cmp r15, rdx
je 0x140015e02
sub r14, rdx
mov r8, r14
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
add r14, r15
mov qword [rbp + 0x120], r14
movzx eax, word [rbp + 0xb0]
mov rbx, r14
mov rcx, r14
sub rcx, r15
cmp rcx, 2
jl 0x140015e38
lea r8, [r14 - 2]
cmp ax, word [r15]
sete cl
mov rdx, r15
test cl, cl
jne 0x140015e35
cmp rdx, r8
je 0x140015e38
inc rdx
cmp ax, word [rdx]
sete cl
test cl, cl
je 0x140015e23
mov rbx, rdx
cmp rbx, r14
je 0x1400154d6
mov r8, rbx
mov rdx, r15
lea rcx, [rbp + 0x1a8]
call fcn.1400e9e00
nop
lea rdx, [rbx + 2]
cmp r15, rdx
je 0x140015e75
sub r14, rdx
mov r8, r14
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
add r14, r15
mov qword [rbp + 0x120], r14
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r12, rax
lea rbx, [rbp + 0x1a8]
cmp qword [rbp + 0x1c0], 0xf
cmova rbx, qword [rbp + 0x1a8]
xor eax, eax
mov dword [r12], eax
lea r8d, [rax + 0x10]
lea rdx, [rbp + 0x90]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
cmp rbx, qword [rbp + 0x90]
je 0x14001610a
cmp dword [r12], 0x22
je 0x1400160fc
mov r12d, eax
mov qword [rsp + 0x58], r12
lea rcx, [rbp + 0x1a8]
test eax, eax
je 0x140016044
call fcn.140008300
movzx eax, word [rbp + 0xb0]
jmp 0x140015d10
mov r9, r14
sub r9, r15
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rbx + 0x48]
mov r8, r15
lea rcx, [rbx + 0x40]
call fcn.1400f35e0
cmp r15, r14
cmovne r14, r15
mov qword [rbp + 0x120], r14
cmp byte [rsp + 0x42], 0
je 0x1400154d6
mov rax, qword [rbx + 0x48]
sub rax, qword [rbx + 0x40]
cmp rax, qword [rsp + 0x50]
jb 0x1400154d6
test r15, r15
je 0x140015f73
mov rdx, qword [rbp + 0x128]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x140015f6a
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016148
mov rcx, r15
call fcn.14018397c
nop
cmp rdi, 0xffffffffffffffff
je 0x140015f83
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x140015fc4
mov rdx, qword [rbp + 0x110]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015fbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001619f
call fcn.14018397c
nop
lea rcx, [rbp + 0x150]
call fcn.140008300
nop
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x1220]
xor rcx, rsp
call fcn.140183920
mov rbx, qword [rsp + 0x1388]
add rsp, 0x1330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
lea rcx, str.stoul_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoul_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call fcn.140008300
nop
test r15, r15
je 0x14001608a
mov rdx, qword [rbp + 0x128]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x140016081
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016081
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.14018397c
nop
cmp rdi, 0xffffffffffffffff
je 0x14001609a
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x1400160de
mov rdx, qword [rbp + 0x110]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400160d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400160d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14018397c
nop
lea rcx, [rbp + 0x150]
call fcn.140008300
nop
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x140015fdd
lea rcx, str.stoul_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoul_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
test r15, r15
je 0x140016158
mov rdx, qword [rbp + 0x128]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x14001614f
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001614f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.14018397c
nop
cmp rdi, 0xffffffffffffffff
je 0x140016168
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x1400161ac
mov rdx, qword [rbp + 0x110]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400161a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400161a6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14018397c
nop
lea rcx, [rbp + 0x150]
call fcn.140008300
nop
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x140015fdd
lea rcx, [rbp + 0x1200]
call fcn.140014220
lea rdx, [0x1401fea98]
lea rcx, [rbp + 0x1200]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_connect
lea rcx, [rsp + 0x78]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rbp + 0x100]
call fcn.140014220
lea rdx, [0x1401fea98]
lea rcx, [rbp + 0x100]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea r8, [r14 + 0x48]
lea rdx, str.Failed_to_get_address_info_of
lea rcx, [rbp - 0x60]
call fcn.1400083f0
mov rbx, rax
call fcn.140014350
mov edx, eax
call fcn.14000f6c0
mov r8, rax
mov r9, rbx
lea rcx, [rbp - 8]
call fcn.14000f2b0
lea rdx, [0x1401fe820]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1400068b0
nop
call fcn.1400068b0
nop
call fcn.1400068b0
int3
call fcn.1400e5760
nop
call fcn.140014350
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_create_socket
lea rcx, [rbp - 0x60]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x60]
call fcn.140014560
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_get_socket_flags
lea rcx, [rbp - 8]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_get_socket_option
lea rcx, [rsp + 0x78]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_connect
lea rcx, [rsp + 0x78]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_send_data
lea rcx, [rsp + 0x78]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
call fcn.14000f6c0
mov r8, rax
lea r9, str.Failed_to_read_data
lea rcx, [rbp - 0x60]
call fcn.14000f2f0
lea rdx, [0x1401fe820]
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp + 0xe0]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rbp - 0x60]
call fcn.1400083f0
nop
mov rdx, rax
lea rcx, [rbp + 0x1200]
call fcn.140014300
lea rdx, [0x1401feb30]
lea rcx, [rbp + 0x1200]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1400e7020
nop
lea r8, [rbp + 0xc0]
lea rdx, str.Invalid_header:
lea rcx, [rbp - 0x60]
call fcn.1400083f0
nop
mov rdx, rax
lea rcx, [rbp + 0x1200]
call fcn.140014300
lea rdx, [0x1401feb30]
lea rcx, [rbp + 0x1200]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp + 0x1200]
call fcn.140014290
lea rdx, [0x1401feb30]
lea rcx, [rbp + 0x1200]
call sub.VCRUNTIME140.dll__CxxThrowException
int3