Function at 0x140003710
Capabilities:
Connect to http server
Create http request
Get http content length
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x10e8
call fcn.14001c020
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1060], 0xfffffffffffffffe
mov r15, rdx
mov r13, rcx
lea rax, [rcx + 0x48]
cmp qword [rcx + 0x60], 0x10
jb 0x140003750
mov rax, qword [rax]
mov qword [rbp + 0xfd8], rax
add rax, qword [r13 + 0x58]
lea rdx, [rbp + 0xfd8]
mov qword [rdx + 8], rax
lea rsi, [rbp - 0x40]
mov rcx, rsi
call fcn.14000358e
cmp qword [rsi + 0x18], 7
jbe 0x14000377d
mov rsi, qword [rbp - 0x40]
and dword [rsp + 0x20], 0
xor edx, edx
xor r8d, r8d
xor r9d, r9d
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r12, rax
lea rdi, [rbp - 0x40]
mov rcx, rdi
call fcn.140001030
test r12, r12
je 0x14000399f
cmp byte [r13 + 0x68], 0
mov eax, 0x84080300
mov ebx, 0x80200
cmove ebx, eax
cmp dword [r13], 1
mov eax, 0x1bb
push 0x50
pop rsi
cmove esi, eax
lea rax, [r13 + 8]
cmp qword [r13 + 0x20], 0x10
jb 0x1400037db
mov rax, qword [rax]
mov qword [rbp + 0xfe8], rax
add rax, qword [r13 + 0x18]
lea rdx, [rbp + 0xfe8]
mov qword [rdx + 8], rax
mov rcx, rdi
call fcn.14000358e
cmp qword [rbp - 0x28], 7
jbe 0x140003804
mov rdi, qword [rbp - 0x40]
mov dword [rsp + 0x30], ebx
and qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 3
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rcx, r12
mov rdx, rdi
call qword [sym.imp.WININET.dll_InternetConnectW]
mov r14, rax
lea rdi, [rbp - 0x40]
mov rcx, rdi
call fcn.140001030
test r14, r14
je 0x140003996
movdqa xmm0, xmmword [0x140032870]
movdqa xmmword [rbp + 0xfc0], xmm0
cmp dword [r13 + 4], 0
lea rax, [0x140035c9e]
lea rsi, [0x140035c94]
cmove rsi, rax
xor ebx, ebx
cmp dword [r13], 1
sete bl
lea rax, [r13 + 0x28]
cmp qword [r13 + 0x40], 0x10
jb 0x140003885
mov rax, qword [rax]
mov qword [rbp + 0xff8], rax
shl ebx, 0x17
add rax, qword [r13 + 0x38]
lea rdx, [rbp + 0xff8]
mov qword [rdx + 8], rax
mov rcx, rdi
call fcn.14000358e
cmp qword [rbp - 0x28], 7
jbe 0x1400038b1
mov rdi, qword [rbp - 0x40]
mov dword [rsp + 0x30], ebx
lea rax, [rbp + 0xfc0]
mov qword [rsp + 0x28], rax
and qword [rsp + 0x38], 0
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rdi
mov rcx, r14
mov rdx, rsi
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rbp + 0x1028], rax
lea rcx, [rbp - 0x40]
call fcn.140001030
cmp dword [r13 + 4], 1
mov qword [rbp + 0x1030], r14
jne 0x1400039a6
mov rcx, qword [r13 + 0x78]
sub rcx, qword [r13 + 0x70]
lea rdi, [rbp - 0x16]
xor r8d, r8d
push 0xa
pop rbx
xor edx, edx
mov rax, rcx
div rbx
or edx, 0x30
mov word [rdi - 2], dx
add rdi, 0xfffffffffffffffe
add r8, 0xfffffffffffffffe
cmp rcx, 9
mov rcx, rax
ja 0x140003913
mov qword [rbp + 0x1018], r12
push 7
pop rbx
movq xmm0, rbx
pslldq xmm0, 8
movdqu xmmword [rbp + 0x1050], xmm0
and word [rbp + 0x1040], 0
test r8, r8
je 0x140003971
neg r8
sar r8, 1
lea rcx, [rbp + 0x1040]
mov rdx, rdi
call fcn.140002e3e
lea r14, str.Content_Length:
mov rcx, r14
call fcn.140002ca4
mov r12, rax
cmp qword [rbp + 0x1058], 7
jbe 0x1400039ca
mov rdi, qword [rbp + 0x1040]
jmp 0x1400039d1
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor esi, esi
jmp 0x140003d33
and dword [rsp + 0x20], 0
xor edx, edx
xor r8d, r8d
xor r9d, r9d
mov r13, qword [rbp + 0x1028]
mov rcx, r13
call qword [sym.imp.WININET.dll_HttpSendRequestW]
mov edi, eax
jmp 0x140003c18
lea rdi, [rbp + 0x1040]
cmp rdi, r14
ja 0x140003af2
mov rax, qword [rbp + 0x1050]
lea rax, [rdi + rax*2]
cmp rax, r14
jbe 0x140003af2
lea rcx, [rbp + 0x1040]
xor edx, edx
call fcn.140001fea
sub r14, rdi
mov rdx, r14
sar rdx, 1
lea rcx, [rbp + 0x1040]
mov rsi, rdx
call fcn.140001fea
mov rdx, qword [rbp + 0x1050]
mov rdi, rdx
sub rdi, rsi
cmp rdi, r12
cmovae rdi, r12
mov rax, rdx
not rax
cmp rdi, rax
jae 0x140003d57
test rdi, rdi
je 0x140003bb0
add rdx, rdi
lea r12, [rbp + 0x1040]
xor r8d, r8d
mov rcx, r12
mov qword [rbp + 0x1020], rdx
call fcn.140002ad4
test al, al
je 0x140003bb0
mov r8, qword [rbp + 0x1050]
mov rax, qword [rbp + 0x1058]
cmp rax, 7
jbe 0x140003a7f
mov r12, qword [rbp + 0x1040]
test r8, r8
je 0x140003a9a
lea rcx, [r12 + rdi*2]
add r8, r8
mov rdx, r12
call fcn.140016310
mov rax, qword [rbp + 0x1058]
lea r12, [rbp + 0x1040]
mov rcx, r12
cmp rax, rbx
jbe 0x140003ab0
mov rcx, qword [rbp + 0x1040]
test r14, r14
cmovne r14, rdi
add r14, rsi
lea rdx, [rcx + r14*2]
add rdi, rdi
mov r8, rdi
call fcn.140016310
cmp qword [rbp + 0x1058], rbx
jbe 0x140003ad9
mov r12, qword [rbp + 0x1040]
mov rax, qword [rbp + 0x1020]
mov qword [rbp + 0x1050], rax
and word [r12 + rax*2], 0
jmp 0x140003bb0
lea rcx, [rbp + 0x1040]
xor edx, edx
call fcn.140001fea
mov rdi, qword [rbp + 0x1050]
mov rax, rdi
not rax
cmp r12, rax
jae 0x140003d49
test r12, r12
je 0x140003bb0
add rdi, r12
lea r14, [rbp + 0x1040]
xor r8d, r8d
mov rcx, r14
mov rdx, rdi
call fcn.140002ad4
test al, al
je 0x140003bb0
mov rcx, qword [rbp + 0x1040]
mov r8, qword [rbp + 0x1050]
mov rax, qword [rbp + 0x1058]
cmp rax, 7
mov rdx, r14
cmova rdx, rcx
test r8, r8
je 0x140003b7a
lea rcx, [rdx + r12*2]
add r8, r8
call fcn.140016310
mov rcx, qword [rbp + 0x1040]
mov rax, qword [rbp + 0x1058]
cmp rax, rbx
cmovbe rcx, r14
add r12, r12
lea rdx, str.Content_Length:
mov r8, r12
call fcn.140016310
cmp qword [rbp + 0x1058], rbx
jbe 0x140003ba3
mov r14, qword [rbp + 0x1040]
mov qword [rbp + 0x1050], rdi
and word [r14 + rdi*2], 0
lea rdi, [rbp + 0x1040]
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.140003e7c
mov rcx, rdi
call fcn.140001030
mov r9, qword [r13 + 0x70]
mov eax, dword [r13 + 0x78]
sub eax, r9d
mov r8d, dword [rbp - 0x30]
cmp qword [rbp - 0x28], 7
jbe 0x140003be8
mov rsi, qword [rbp - 0x40]
mov dword [rsp + 0x20], eax
mov r13, qword [rbp + 0x1028]
mov rcx, r13
mov rdx, rsi
call qword [sym.imp.WININET.dll_HttpSendRequestW]
mov r12, qword [rbp + 0x1018]
mov r14, qword [rbp + 0x1030]
mov edi, eax
lea rcx, [rbp - 0x40]
call fcn.140001030
cmp edi, 1
jne 0x140003ce9
lea rdi, [rbp + 0x1040]
and dword [rdi], 0
push 4
pop rsi
lea r9, [rbp + 0x100c]
mov dword [r9], esi
and qword [rsp + 0x20], 0
mov r14, qword [sym.imp.WININET.dll_HttpQueryInfoW]
mov edx, 0x20000013
mov rcx, r13
mov r8, rdi
call r14
lea rbx, [rbp + 0x1010]
and dword [rbx], 0
lea r9, [rbp + 0x1014]
mov dword [r9], esi
and qword [rsp + 0x20], 0
mov edx, 0x20000005
mov rcx, r13
mov r8, rbx
call r14
mov r8d, dword [rbx]
mov edx, dword [rdi]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 8]
test al, al
je 0x140003d09
lea rdi, [rbp - 0x40]
lea r14, [rbp + 0x103c]
mov rsi, qword [sym.imp.WININET.dll_InternetReadFile]
mov r13, qword [rbp + 0x1030]
mov rbx, qword [rbp + 0x1028]
and dword [rbp + 0x103c], 0
mov r8d, 0x1000
mov rcx, rbx
mov rdx, rdi
mov r9, r14
call rsi
test eax, eax
je 0x140003ce5
mov r8d, dword [rbp + 0x103c]
test r8, r8
je 0x140003d14
mov rax, qword [r15]
mov rcx, r15
mov rdx, rdi
call qword [rax + 0x10]
test al, al
jne 0x140003cad
xor edx, edx
jmp 0x140003d16
mov rax, qword [r15]
xor esi, esi
xor edx, edx
mov rcx, r15
call qword [rax + 0x18]
mov rdi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call rdi
mov rcx, r12
call rdi
jmp 0x140003d33
xor edx, edx
mov r13, qword [rbp + 0x1030]
jmp 0x140003d16
mov dl, 1
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x18]
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call rsi
mov rcx, r12
call rsi
mov sil, 1
mov eax, esi
add rsp, 0x10e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0x1040]
call fcn.140001f66
jmp 0x140003d63
lea rcx, [rbp + 0x1040]
call fcn.140001f66
ud2