Function at 0x14001dc10
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
mov rax, rsp
push rbx
push r12
sub rsp, 0x2a8
mov r12, rdx
mov rbx, rcx
test rcx, rcx
je 0x14001e263
test rdx, rdx
je 0x14001e263
mov qword [rax + 0x10], rbp
mov qword [rax - 0x18], rsi
xor esi, esi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r13
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dc67
lea r8, [0x140084d98]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dc87
lea r8, [0x140084db8]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dca3
mov r8, rbx
lea rdx, [0x140083028]
xor ecx, ecx
call fcn.14000f350
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dcc3
lea r8, [0x140084dc8]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dcfd
mov rcx, r12
call fcn.14000be40
mov rdi, rax
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001dcf5
mov r8, rdi
lea rdx, [0x140083028]
xor ecx, ecx
call fcn.14000f350
mov rcx, rdi
call fcn.1400462d0
lea rax, [0x140085060]
mov qword [rsp + 0x78], rsi
lea rcx, [0x140085068]
mov qword [rsp + 0x70], rax
mov r13, rsi
mov ebp, 7
call fcn.14000c1c0
mov rdi, rax
test rax, rax
je 0x14001e22c
mov qword [rsp + 0x288], r14
mov rdx, rax
mov rcx, rbx
mov qword [rsp + 0x280], r15
call fcn.140045430
cmp rax, rbx
mov ecx, 8
mov rsi, 0xffffffffffffffff
cmove ebp, ecx
mov r8, rsi
nop
inc r8
cmp word [rdi + r8*2], r13w
jne 0x14001dd60
xor edx, edx
mov rcx, rdi
call fcn.1400452a0
mov rcx, rdi
call fcn.1400462d0
lea r14, [rbp*2]
mov ecx, ebp
lea rax, [r14 + rbx]
nop word [rax + rax]
movsxd r15, ecx
lea rax, [rax + 2]
inc ecx
cmp word [rax], 0x2f
jne 0x14001dd90
mov edi, r15d
mov edx, 2
sub edi, ebp
movsxd rcx, edi
add rcx, 2
call fcn.1400462ec
mov qword [rsp + 0x2d8], rax
mov r8, rax
test rax, rax
je 0x14001e21c
lea eax, [rdi + 1]
movsxd rdx, eax
test eax, eax
jle 0x14001ddf2
sub r14, r8
mov rcx, r8
lea r8, [r14 + rbx]
nop dword [rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
lea rcx, [rcx + 2]
sub rdx, 1
jne 0x14001dde0
mov rcx, rsi
inc rcx
cmp word [rbx + rcx*2], r13w
jne 0x14001ddf5
mov eax, 1
mov edx, 2
sub rax, r15
add rcx, rax
call fcn.1400462ec
mov rbp, rax
test rax, rax
je 0x14001e186
xor r14d, r14d
mov rax, rsi
mov edx, r14d
nop dword [rax]
inc rax
cmp word [rbx + rax*2], dx
jne 0x14001de30
sub eax, r15d
test eax, eax
jle 0x14001de73
lea r8, [r15*2 + 2]
mov rcx, rbp
sub r8, rbp
add r8, rbx
movzx eax, word [r8 + rcx]
inc edx
mov word [rcx], ax
lea rcx, [rcx + 2]
mov rax, rsi
inc rax
cmp word [rbx + rax*2], r13w
jne 0x14001de62
sub eax, r15d
cmp edx, eax
jl 0x14001de51
lea rcx, [0x140085078]
call fcn.14000c1c0
mov rbx, rax
test rax, rax
je 0x14001e186
lea rcx, [rsp + 0x58]
call fcn.14001a4a0
mov r9, qword [rsp + 0x68]
mov rcx, rbx
mov r8, qword [rsp + 0x60]
mov edx, dword [rsp + 0x58]
mov dword [rsp + 0x20], r14d
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r15, rax
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], r13w
jne 0x14001dec0
add r8, r8
xor edx, edx
mov rcx, rbx
call fcn.1400452a0
mov rcx, rbx
call fcn.1400462d0
lea rcx, [rsp + 0x58]
call fcn.140017810
test r15, r15
je 0x14001e189
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001df12
lea r8, [0x140085090]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
mov rbx, qword [rsp + 0x2d8]
mov r8d, 0x50
mov qword [rsp + 0x38], 1
mov rdx, rbx
mov dword [rsp + 0x30], r14d
xor r9d, r9d
mov dword [rsp + 0x28], 3
mov rcx, r15
mov qword [rsp + 0x20], r14
call qword [sym.imp.WININET.dll_InternetConnectW]
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
je 0x14001e194
movzx ecx, byte [0x1400821f0]
test cl, cl
je 0x14001df7b
lea r8, [0x1400850a0]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
lea rcx, [0x1400850b0]
call fcn.14000c1c0
mov rbx, rax
test rax, rax
je 0x14001e18c
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x70]
mov dword [rsp + 0x30], r14d
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8, rbp
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, rdi
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r14, rax
mov r8, rsi
inc r8
cmp word [rbx + r8*2], r13w
jne 0x14001dfc4
add r8, r8
xor edx, edx
mov rcx, rbx
call fcn.1400452a0
mov rcx, rbx
call fcn.1400462d0
test r14, r14
je 0x14001e17c
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001e00c
lea r8, [0x1400850b8]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
mov rbx, rsi
nop
inc rbx
cmp byte [r12 + rbx], r13b
jne 0x14001e010
lea rcx, [0x1400850c8]
call fcn.14000c1c0
mov rdi, rax
test rax, rax
je 0x14001e16d
mov r8, rsi
inc r8
cmp word [rax + r8*2], r13w
jne 0x14001e034
mov r9, r12
mov dword [rsp + 0x20], ebx
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpSendRequestW]
mov r8, rsi
inc r8
cmp word [rdi + r8*2], r13w
jne 0x14001e054
add r8, r8
xor edx, edx
mov rcx, rdi
call fcn.1400452a0
mov rcx, rdi
call fcn.1400462d0
xor ebx, ebx
mov dword [rsp + 0x2c0], ebx
nop dword [rax]
lea r9, [rsp + 0x2c0]
mov r8d, 0x200
lea rdx, [rsp + 0x80]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, 1
jne 0x14001e0f6
mov edx, dword [rsp + 0x2c0]
mov rcx, r13
add edx, ebx
call fcn.1400462c8
mov r10, rax
test rax, rax
je 0x14001e165
mov ecx, dword [rsp + 0x2c0]
xor r9d, r9d
mov r13, rax
test ecx, ecx
je 0x14001e0f2
movzx eax, byte [rsp + r9 + 0x80]
lea ecx, [r9 + rbx]
mov byte [rcx + r10], al
inc r9d
mov ecx, dword [rsp + 0x2c0]
cmp r9d, ecx
jb 0x14001e0d2
add ebx, ecx
jmp 0x14001e0fd
mov ecx, dword [rsp + 0x2c0]
cmp ecx, 0x200
jae 0x14001e080
cmp ebx, 0x2000
jbe 0x14001e16d
cmp byte [r13], 0x4d
jne 0x14001e16d
cmp byte [r13 + 1], 0x5a
jne 0x14001e16d
movzx eax, byte [0x1400821f0]
test al, al
je 0x14001e13f
lea r8, [0x140084e70]
xor ecx, ecx
lea rdx, [0x140083028]
call fcn.14000f2e0
mov rdi, qword [rsp + 0x40]
mov byte [0x140082168], 0
mov eax, ebx
mov rbx, qword [rsp + 0x2d8]
mov qword [0x1400821d0], r13
mov qword [0x1400821d8], rax
jmp 0x14001e197
mov rcx, r13
call fcn.1400462d0
mov rbx, qword [rsp + 0x2d8]
mov rdi, qword [rsp + 0x40]
jmp 0x14001e197
mov rbx, qword [rsp + 0x2d8]
jmp 0x14001e197
mov r15, r13
mov rdi, r13
mov rbx, qword [rsp + 0x2d8]
mov r14, r13
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001e1a0
add r8, r8
xor edx, edx
mov rcx, rbx
call fcn.1400452a0
mov rcx, rbx
call fcn.1400462d0
test rbp, rbp
je 0x14001e1f2
nop word [rax + rax]
cmp word [rbp + rsi*2 + 2], 0
lea rsi, [rsi + 1]
jne 0x14001e1d0
lea r8, [rsi + rsi]
xor edx, edx
mov rcx, rbp
call fcn.1400452a0
mov rcx, rbp
call fcn.1400462d0
test r14, r14
je 0x14001e200
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test rdi, rdi
je 0x14001e20e
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r15, r15
je 0x14001e21c
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r14, qword [rsp + 0x288]
mov r15, qword [rsp + 0x280]
movzx eax, byte [0x140082168]
mov r13, qword [rsp + 0x290]
test al, al
mov rdi, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x2a0]
sete al
mov rbp, qword [rsp + 0x2c8]
add rsp, 0x2a8
pop r12
pop rbx
ret
xor al, al
add rsp, 0x2a8
pop r12
pop rbx
ret