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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x140019080]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, r9
mov rax, r8
mov r14, rdx
mov r12, rcx
mov qword [rsp + 0x48], rdx
xor ebp, ebp
cmp qword [r8 + 0x18], 0xf
jbe 0x14001007e
mov rax, qword [r8]
mov r8d, 0x50
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rbp
xor r9d, r9d
mov rdx, rax
mov rcx, qword [rcx]
call qword [sym.imp.WININET.dll_InternetConnectA]
mov qword [r12 + 8], rax
test rax, rax
jne 0x140010194
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 0xf
mov rdx, qword [r14 + 0x18]
mov rcx, rdx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x1400100f9
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140010123
lea rax, [rcx + rdx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140010142
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400104d0
mov rcx, rax
call fcn.140010c2c
test rax, rax
je 0x140010348
lea rbp, [rax + 0x27]
and rbp, 0xffffffffffffffe0
mov qword [rbp - 8], rax
jmp 0x14001014f
test rcx, rcx
je 0x14001014f
call fcn.140010c2c
mov rbp, rax
mov qword [r14], rbp
mov qword [r14 + 0x10], 0x1b
mov qword [r14 + 0x18], rbx
movups xmm0, xmmword [str.Failed_to_connect_to_server]
movups xmmword [rbp], xmm0
movsd xmm0, qword [0x140014e00]
movsd qword [rbp + 0x10], xmm0
movzx ecx, word [0x140014e08]
mov word [rbp + 0x18], cx
movzx ecx, byte [0x140014e0a]
mov byte [rbp + 0x1a], cl
mov byte [rbp + 0x1b], 0
jmp 0x1400104ae
cmp qword [rbx + 0x18], 0xf
jbe 0x14001019e
mov rbx, qword [rbx]
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
xor r9d, r9d
mov r8, rbx
lea rdx, [0x140014e0c]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov qword [r12 + 0x10], rax
test rax, rax
jne 0x1400102a4
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 0xf
mov rdx, qword [r14 + 0x18]
mov rcx, rdx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x140010217
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140010241
lea rax, [rcx + rdx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140010260
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400104d0
mov rcx, rax
call fcn.140010c2c
test rax, rax
je 0x140010348
lea rbp, [rax + 0x27]
and rbp, 0xffffffffffffffe0
mov qword [rbp - 8], rax
jmp 0x14001026d
test rcx, rcx
je 0x14001026d
call fcn.140010c2c
mov rbp, rax
mov qword [r14], rbp
mov qword [r14 + 0x10], 0x16
mov qword [r14 + 0x18], rbx
movups xmm0, xmmword [str.Failed_to_open_request]
movups xmmword [rbp], xmm0
mov eax, dword [0x140014e20]
mov dword [rbp + 0x10], eax
movzx eax, word [0x140014e24]
mov word [rbp + 0x14], ax
mov byte [rbp + 0x16], 0
jmp 0x1400104ae
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpSendRequestA]
xorps xmm0, xmm0
test eax, eax
jne 0x140010393
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 0xf
mov rdx, qword [r14 + 0x18]
mov rcx, rdx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x14001031c
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140010c2c
test rax, rax
je 0x140010348
lea rbp, [rax + 0x27]
and rbp, 0xffffffffffffffe0
mov qword [rbp - 8], rax
jmp 0x14001035c
lea rax, [rcx + rdx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14001034f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400104d0
jmp 0x140010301
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14001035c
call fcn.140010c2c
mov rbp, rax
mov qword [r14], rbp
mov qword [r14 + 0x10], 0x16
mov qword [r14 + 0x18], rbx
movups xmm0, xmmword [str.Failed_to_send_request]
movups xmmword [rbp], xmm0
mov eax, dword [0x140014e38]
mov dword [rbp + 0x10], eax
movzx eax, word [0x140014e3c]
mov word [rbp + 0x14], ax
mov byte [rbp + 0x16], 0
jmp 0x1400104ae
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], bpl
lea r9, [rsp + 0x48]
mov r8d, 0xfff
lea rdx, [r12 + 0x1018]
mov rcx, qword [r12 + 0x10]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x14001049b
movzx ebx, byte [rsp + 0x40]
nop word [rax + rax]
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x14001049b
mov byte [rax + r12 + 0x1018], 0
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [r12 + rdi + 0x1018], 0
jne 0x140010400
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140010457
lea rax, [rdi + rcx]
mov qword [rsp + 0x68], rax
lea rsi, [rsp + 0x58]
cmp rdx, 0xf
cmova rsi, qword [rsp + 0x58]
add rsi, rcx
mov r8, rdi
lea rdx, [r12 + 0x1018]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rsi], 0
jmp 0x140010475
mov qword [rsp + 0x20], rdi
lea r9, [r12 + 0x1018]
movzx r8d, bl
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140007a90
lea r9, [rsp + 0x48]
mov r8d, 0xfff
lea rdx, [r12 + 0x1018]
mov rcx, qword [r12 + 0x10]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1400103e0
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [r14 + 0x10], xmm1
mov rax, r14
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140010fc0
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14000aa30
int3