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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xb0
mov rax, qword [0x140069030]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, rdx
mov r15, rcx
mov qword [rbp + 0xf], rdx
mov rsi, qword [rbp + 0x6f]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
xor edi, edi
mov qword [rbp - 0x31], rdi
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x21], rdi
lea edx, [rdi + 0x3e]
lea rcx, [rbp - 0x11]
call fcn.1400144f0
cmp qword [rax + 0x18], 8
jb 0x1400153c5
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenW]
mov qword [r15 + 8], rax
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140015420
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001541b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400157a2
call fcn.140027b9c
mov qword [rbp - 1], rdi
mov qword [rbp + 7], 7
mov word [rbp - 0x11], di
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x140015482
lea rdx, [0x14006e918]
cmp qword [0x14006e930], 8
cmovae rdx, qword [0x14006e918]
mov r8d, 0x1bb
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rdi
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetConnectW]
mov qword [r15 + 0x10], rax
test rax, rax
je 0x140015482
mov byte [r15], 1
cmp byte [r15], 1
je 0x1400154d6
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140015771
mov rdx, qword [rbp - 0x21]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400154cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400157a8
call fcn.140027b9c
jmp 0x140015771
lea rbx, [0x14006e938]
cmp qword [0x14006e950], 8
cmovae rbx, qword [0x14006e938]
mov edx, 0x42
lea rcx, [rbp - 0x51]
call fcn.1400144f0
cmp qword [rax + 0x18], 8
jb 0x140015505
mov rax, qword [rax]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], 0x4883000
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, str.HTTP_1.0
mov r8, rbx
mov rdx, rax
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r12, rax
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x140015576
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015571
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400157ae
call fcn.140027b9c
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], 7
mov word [rbp - 0x51], di
test r12, r12
je 0x140015733
mov dword [rbp + 0xf], 4
lea r9, [rbp + 0xf]
lea r8, [rbp - 0x19]
mov edx, 0x1f
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [rbp - 0x19], 0x100
mov r9d, 4
lea r8, [rbp - 0x19]
lea edx, [r9 + 0x1b]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov edx, 0x48
lea rcx, [rbp - 0x11]
call fcn.1400144f0
nop
lea rdx, [rbp - 0x11]
cmp qword [rbp + 7], 8
cmovae rdx, qword [rbp - 0x11]
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, dword [rbp - 1]
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpSendRequestW]
cmp eax, 1
jne 0x1400156ef
mov dword [rbp - 0x15], edi
nop word [rax + rax]
mov r10, qword [rbp - 0x29]
mov rcx, r10
mov r9, qword [rbp - 0x31]
sub rcx, r9
mov esi, ecx
sub esi, edi
test esi, esi
jg 0x140015678
mov esi, 0x4000
lea eax, [rdi + 0x4000]
movsxd r8, eax
cmp r8, rcx
jae 0x140015643
lea rax, [r8 + r9]
mov qword [rbp - 0x29], rax
jmp 0x140015678
jbe 0x140015678
mov rax, qword [rbp - 0x21]
sub rax, r9
cmp r8, rax
jbe 0x14001565f
mov rdx, r8
lea rcx, [rbp - 0x31]
call fcn.1400157c0
jmp 0x140015674
sub r8, rcx
lea rbx, [r10 + r8]
xor edx, edx
mov rcx, r10
call fcn.14002a470
mov qword [rbp - 0x29], rbx
mov r9, qword [rbp - 0x31]
movsxd rdx, edi
add rdx, r9
lea r9, [rbp - 0x15]
mov r8d, esi
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1400156a0
mov eax, dword [rbp - 0x15]
test eax, eax
je 0x1400156a0
add edi, eax
jmp 0x140015610
movsxd r8, edi
mov r9, qword [rbp - 0x29]
mov rcx, r9
mov rdx, qword [rbp - 0x31]
sub rcx, rdx
cmp r8, rcx
jae 0x1400156bc
lea rax, [r8 + rdx]
jmp 0x1400156f3
jbe 0x1400156f7
mov rax, qword [rbp - 0x21]
sub rax, rdx
cmp r8, rax
jbe 0x1400156d8
mov rdx, r8
lea rcx, [rbp - 0x31]
call fcn.1400157c0
jmp 0x1400156f7
sub r8, rcx
lea rbx, [r9 + r8]
xor edx, edx
mov rcx, r9
call fcn.14002a470
mov qword [rbp - 0x29], rbx
jmp 0x1400156f7
mov rax, qword [rbp - 0x31]
mov qword [rbp - 0x29], rax
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140015733
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001572e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001579c
call fcn.140027b9c
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [r15], 0
je 0x14001575a
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [r15 + 8]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [r15], 0
mov rax, qword [rbp - 0x31]
mov qword [r14], rax
mov rax, qword [rbp - 0x29]
mov qword [r14 + 8], rax
mov rax, qword [rbp - 0x21]
mov qword [r14 + 0x10], rax
mov rax, r14
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140027b50
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14002e30c
nop
call fcn.14002e30c
nop
call fcn.14002e30c
nop
call fcn.14002e30c
int3