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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10a0]
mov eax, 0x11a0
call fcn.1800da7f0
sub rsp, rax
movaps xmmword [rsp + 0x1190], xmm6
mov rdi, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 1]
lea rcx, [0x180184efc]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r13, rax
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1800535ea
mov dword [r14], r12d
lea rcx, [r14 + 8]
call fcn.18005a8c0
mov qword [r14 + 0x20], r12
mov qword [r14 + 0x28], r12
mov qword [r14 + 0x30], r12
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x1800535e1
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800535dc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180053d81
mov rcx, r8
call fcn.1800d9c1c
mov qword [rdi + 0x10], r12
jmp 0x180053d4a
lea rbx, [rsi + 0x70]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800535fb
mov rdx, qword [rbx]
mov r8d, 0x1bb
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], 3
lea r9, [0x1801402a0]
mov qword [rsp + 0x20], r9
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r12, rax
mov qword [rbp - 0x68], rax
cmp qword [rbx + 0x18], 0xf
jbe 0x180053639
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.WININET.dll_DeleteUrlCacheEntryA]
test r12, r12
jne 0x1800536ad
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor ebx, ebx
mov dword [r14], ebx
lea rcx, [r14 + 8]
call fcn.18005a8c0
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x28], rbx
mov qword [r14 + 0x20], rbx
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x1800536a4
inc rdx
cmp rdx, 0x1000
mov rcx, qword [rdi]
jb 0x18005369f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180053d81
mov rcx, r8
call fcn.1800d9c1c
mov qword [rdi + 0x10], rbx
jmp 0x180053d4a
lea r8, [rsi + 0xb0]
cmp qword [r8 + 0x18], 0xf
jbe 0x1800536be
mov r8, qword [r8]
cmp qword [r15 + 0x18], 0xf
jbe 0x1800536c8
mov r15, qword [r15]
xor ebx, ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 0x84880100
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r12, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x180053715
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x180053652
mov r15d, ebx
mov r13, qword [rbp + 0x1100]
nop
mov rbx, qword [r13 + 8]
sub rbx, qword [r13]
mov rcx, r13
call fcn.18005a680
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18005373d
mov rdx, qword [rdi]
mov dword [rsp + 0x20], ebx
mov r9, rax
mov r8d, 0xffffffff
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x180053787
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
mov qword [rsp + 0x20], 0
mov r9d, 7
mov r8d, 0x2f0c
mov rdx, r12
call qword [sym.imp.WININET.dll_InternetErrorDlg]
inc r15d
cmp r15d, 5
jle 0x180053720
xor r15d, r15d
mov dword [rsp + 0x60], r15d
mov dword [rbp - 0x70], 4
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x70]
lea r8, [rsp + 0x60]
mov edx, 0x20000013
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x10], eax
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x50]
xor r8d, r8d
lea edx, [r15 + 0x16]
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x180053c05
mov ebx, dword [rsp + 0x50]
add ebx, 0x64
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r13d, r15d
mov qword [rbp - 0x50], r15
je 0x180053828
mov edx, ebx
lea rcx, [rbp - 0x60]
call fcn.18000a760
mov r8d, ebx
xor edx, edx
mov r12, qword [rbp - 0x60]
mov rcx, r12
call fcn.18010bd80
add rbx, r12
mov qword [rbp - 0x58], rbx
mov r13, qword [rbp - 0x50]
jmp 0x180053830
mov rbx, qword [rbp - 0x58]
mov r12, qword [rbp - 0x60]
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x50]
mov r8, r12
mov edx, socket
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x180053bc7
mov r8, rbx
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.180008960
nop
lea rax, [rbp - 0x38]
mov qword [rsp + 0x68], rax
movsd xmm0, qword [str.PV]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x180185288]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18018528a]
mov byte [rsp + 0x40], 0x46
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor cl, 0x40
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x41
xor al, 0x42
mov byte [rsp + 0x4a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
lea rax, [rsp + 0x40]
mov r15, 0xffffffffffffffff
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800538f0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x38]
call fcn.1800091d0
nop
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x48]
call fcn.180007dc0
nop
lea r9, [rbp - 0x38]
mov r8, rax
lea rdx, [rsp + 0x70]
call fcn.180053dd0
nop
cmp qword [rbp - 0x80], 0
je 0x180053986
call fcn.1800e5bbc
mov qword [rsp + 0x68], rax
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
mov dword [rax], 0
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1800e5750
cmp rbx, qword [rsp + 0x40]
je 0x180053d87
mov rcx, qword [rsp + 0x68]
cmp dword [rcx], 0x22
je 0x180053d94
mov dword [rsi], eax
add eax, 0x3e8
mov dword [rsi + 8], eax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x68], rax
movsd xmm0, qword [str.XNZ]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x180185040]
mov word [rsp + 0x48], cx
movzx eax, byte [0x180185042]
mov byte [rsp + 0x40], 0x44
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor cl, 0x40
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x41
xor al, 0x42
mov byte [rsp + 0x4a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp], rax
lea rax, [rsp + 0x40]
inc r15
cmp byte [rax + r15], 0
jne 0x180053a00
mov r8, r15
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x18]
call fcn.1800091d0
nop
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x68]
call fcn.180007dc0
nop
lea r9, [rbp - 0x18]
mov r8, rax
lea rdx, [rbp + 0x28]
call fcn.180053dd0
mov rbx, rax
lea rax, [rsp + 0x70]
cmp rax, rbx
je 0x180053ab3
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x180053a83
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180053a7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180053da1
call fcn.1800d9c1c
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], send
mov byte [rsp + 0x70], al
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], send
mov byte [rbx], al
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180053aee
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180053ae9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180053da1
call fcn.1800d9c1c
cmp qword [rbp - 0x80], 0
je 0x180053b3b
call fcn.1800e5bbc
mov r15, rax
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
mov dword [rax], 0
mov r8d, 0xa
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1800e5750
cmp rbx, qword [rsp + 0x68]
je 0x180053da7
cmp dword [r15], 0x22
je 0x180053db4
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x180053b77
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180053b72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180053dc1
call fcn.1800d9c1c
xor r15d, r15d
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], send
mov byte [rsp + 0x70], r15b
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x180053bc7
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180053bc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180053dc7
call fcn.1800d9c1c
nop
test r12, r12
je 0x180053c00
sub r13, r12
mov rax, r12
cmp r13, 0x1000
jb 0x180053bf5
add r13, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180053d7b
mov rdx, r13
mov rcx, r12
call fcn.1800d9c1c
mov r12, qword [rsp + 0x58]
lea rdx, [fcn.180003570]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x90]
call fcn.18010bd80
lea r9, [rsp + 0x58]
mov r8d, 0x1000
lea rdx, [rbp + 0x90]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x180053cd1
movss xmm6, dword [0x1801871e0]
test eax, eax
je 0x180053cd1
mov eax, dword [rsi + 8]
test eax, eax
je 0x180053c83
add dword [rsi + 0x48], edx
movd xmm1, dword [rsi + 0x48]
cvtdq2ps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm1, xmm0
mulss xmm1, xmm6
movss dword [rsi + 4], xmm1
lea rcx, [rsi + 0x30]
mov r9d, edx
mov rdx, qword [rsi + 0x38]
lea r8, [rbp + 0x90]
call fcn.18001c8d0
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x90]
call fcn.18010bd80
lea r9, [rsp + 0x58]
mov r8d, 0x1000
lea rdx, [rbp + 0x90]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x180053c58
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [rsi + 0x10]
mov dword [r14], eax
lea rcx, [r14 + 8]
lea rdx, [rsi + 0x18]
call fcn.18005a7f0
nop
lea rcx, [r14 + 0x20]
lea rdx, [rsi + 0x30]
call fcn.180007630
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x180053d46
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180053d41
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180053d81
mov rcx, r8
call fcn.1800d9c1c
mov qword [rdi + 0x10], r15
mov byte [rdi], 0
mov rax, r14
mov qword [rdi + 0x18], send
mov rbx, qword [rsp + 0x11e0]
movaps xmm6, xmmword [rsp + 0x1190]
add rsp, 0x11a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
lea rcx, str.invalid_stoul_argument
call fcn.1800d4230
int3
lea rcx, [0x180184e40]
call fcn.1800d4278
int3
call fcn.1800e5f80
int3
lea rcx, str.invalid_stoul_argument
call fcn.1800d4230
int3
lea rcx, [0x180184e40]
call fcn.1800d4278
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
int3