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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x570], rbx
mov rax, qword [0x18005a080]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov rsi, rdx
mov r13, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x48], rdx
mov r8, rdx
lea rdx, [0x18005b148]
lea rcx, [rsp + 0x48]
call fcn.18000dfc0
mov rdx, rax
mov rcx, rsi
call fcn.1800057b0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1800151e7
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800151e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800157cc
call fcn.180017c74
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov r15, qword [0x18005af98]
lea r14, [0x18005af88]
cmp qword [0x18005afa0], 0x10
cmovae r14, qword [0x18005af88]
lea rbx, [rcx - 1]
cmp r15, 0x10
jae 0x180015231
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x70], xmm0
lea edi, [rcx + 0xf]
jmp 0x1800152a5
mov rdi, r15
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rax, [rdi + 1]
cmp rax, 0x1000
jb 0x18001527f
lea rcx, [rax + 0x27]
cmp rcx, rax
cmovbe rcx, rbx
call fcn.180017f18
mov rcx, rax
test rax, rax
je 0x1800157d2
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180015291
test rax, rax
je 0x18001528e
mov rcx, rax
call fcn.180017f18
jmp 0x180015291
mov rax, rcx
mov qword [rsp + 0x70], rax
lea r8, [r15 + 1]
mov rdx, r14
mov rcx, rax
call fcn.1800196f0
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], rdi
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1800152ba
mov rdx, qword [rsi]
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], r15b
mov r8, rbx
inc r8
cmp byte [rdx + r8], r15b
jne 0x1800152d3
lea rcx, [rsp + 0x48]
call fcn.180004580
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x70]
call fcn.180007930
nop
lea r8, [0x18005b188]
cmp qword [0x18005b1a0], 0x10
cmovae r8, qword [0x18005b188]
mov r9, qword [0x18005b198]
mov rcx, rax
call fcn.180008c80
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x180015382
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001537d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800157d8
call fcn.180017c74
lea rdi, [0x18005b1a8]
cmp qword [0x18005b1c0], 0x10
cmovae rdi, qword [0x18005b1a8]
lea r14, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae r14, qword [rbp - 0x10]
lea rcx, [0x18005b1e8]
cmp qword [0x18005b200], 0x10
cmovae rcx, qword [0x18005b1e8]
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r12, rax
mov dword [rbp - 0x18], 0x2710
mov r9d, 4
lea r8, [rbp - 0x18]
lea edx, [r9 - 2]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetSetOptionA]
lea rdx, [0x18005adc8]
cmp qword [0x18005ade0], 0x10
cmovae rdx, qword [0x18005adc8]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 3
lea rax, [0x1800517fc]
mov qword [rsp + 0x20], rax
lea r9, [0x18005180c]
movzx r8d, word [0x18005ac20]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetConnectA]
mov qword [rsp + 0x40], rax
lea r8, [0x18005b2a8]
cmp qword [0x18005b2c0], 0x10
cmovae r8, qword [0x18005b2a8]
lea rdx, [0x18005b068]
cmp qword [0x18005b080], 0x10
cmovae rdx, qword [0x18005b068]
mov qword [rsp + 0x38], 1
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r15, rax
mov rcx, rbx
nop dword [rax]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x1800154a0
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1800154b0
mov r8, rbx
mov dword [rsp + 0x20], ecx
mov r9, r14
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.WININET.dll_HttpSendRequestA]
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov eax, 0xffffffff
mov dword [rbp - 0x40], eax
nop dword [rax + rax]
test eax, eax
je 0x18001557a
lea r9, [rbp - 0x40]
mov r8d, 0x400
lea rdx, [rbp + 0x10]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetReadFile]
mov r14d, eax
mov edi, dword [rbp - 0x40]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov rcx, r8
sub rcx, rdx
cmp rdi, rcx
ja 0x180015555
lea rcx, [rdx + rdi]
mov qword [rbp - 0x28], rcx
lea rbx, [rbp - 0x38]
cmp r8, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rdx
mov r8d, edi
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1800196f0
mov byte [rdi + rbx], 0
jmp 0x18001556d
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x10]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.180005fa0
test r14d, r14d
je 0x18001557a
mov eax, dword [rbp - 0x40]
jmp 0x1800154f0
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea r12, [rbp - 0x38]
mov rdi, qword [rbp - 0x38]
mov r14, qword [rbp - 0x20]
cmp r14, 0x10
cmovae r12, rdi
mov rbx, qword [rbp - 0x28]
add r12, rbx
lea r15, [rbp - 0x38]
cmp r14, 0x10
cmovae r15, rdi
add r15, rbx
lea rcx, [rbp - 0x38]
cmp r14, 0x10
cmovae rcx, rdi
mov r8, r15
sub r8, rcx
mov edx, 0xa
call fcn.180019cc0
mov rcx, r15
test rax, rax
cmovne rcx, rax
cmp rcx, r15
je 0x180015629
lea rax, [rcx + 1]
xor edx, edx
mov r9, r15
sub r9, rax
cmp rax, r15
mov r15d, edx
cmova r9, rdx
test r9, r9
je 0x18001562c
nop
movzx r8d, byte [rax]
cmp r8b, 0xa
je 0x180015610
mov byte [rcx], r8b
inc rcx
inc rax
inc rdx
cmp rdx, r9
jne 0x180015600
mov r14, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x38]
jmp 0x18001562c
xor r15d, r15d
lea rax, [rbp - 0x38]
cmp r14, 0x10
cmovae rax, rdi
mov rdx, rcx
sub rdx, rax
cmp rbx, rdx
jb 0x1800157de
sub r12, rcx
mov rax, rbx
sub rax, rdx
cmp rax, r12
cmovb r12, rax
lea rcx, [rbp - 0x38]
cmp r14, 0x10
cmovae rcx, rdi
add rcx, rdx
sub rbx, r12
mov qword [rbp - 0x28], rbx
sub rbx, rdx
lea r8, [rbx + 1]
lea rdx, [rcx + r12]
call fcn.1800196f0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
lea rdx, [0x18005af88]
lea rcx, [rbp - 0x70]
call fcn.180003460
mov rbx, rax
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x48]
call fcn.180003460
nop
mov r8, rbx
mov rdx, rax
mov rcx, r13
call fcn.180007e60
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1800156f2
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800156ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800157e4
call fcn.180017c74
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x18001573d
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015738
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800157c0
call fcn.180017c74
movdqa xmm0, xmmword [0x180051f70]
movdqu xmmword [rbp], xmm0
mov byte [rbp - 0x10], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x180015784
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x18001577f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800157c6
mov rcx, r8
call fcn.180017c74
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rax, r13
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.180017c50
mov rbx, qword [rsp + 0x570]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18001ddf8
nop
call fcn.18001ddf8
nop
call fcn.18001ddf8
int3
call fcn.18001ddf8
nop
call fcn.18001ddf8
nop
call fcn.180005860
nop
call fcn.18001ddf8
int3