Function at 0x180072db0
Capabilities:
Check http status code
Connect to http server
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2220
call fcn.1800dd850
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov rax, qword [0x18013e1e0]
xor rax, rsp
mov qword [rsp + 0x2210], rax
mov r13, r9
mov r14, r8
mov r12, rdx
mov rsi, rcx
xor r15d, r15d
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x68], r15
mov rax, qword [r8 + 0x20]
cmp rax, 8
jb 0x180072e13
lea rbx, [r8 + 8]
mov rcx, qword [rbx]
jmp 0x180072e1a
lea rbx, [r8 + 8]
mov rcx, rbx
mov rdx, qword [r8 + 0x18]
lea rdi, [rcx + rdx*2]
test rdi, rdi
je 0x180072e51
cmp rax, 8
jb 0x180072e32
mov rcx, qword [rbx]
jmp 0x180072e35
mov rcx, rbx
cmp rcx, rdi
ja 0x180072e51
cmp rax, 8
jb 0x180072e45
mov rax, qword [rbx]
jmp 0x180072e48
mov rax, rbx
lea rax, [rax + rdx*2]
cmp rdi, rax
jbe 0x180072e56
call fcn.1800c1088
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], rdi
mov rax, qword [r14 + 0x20]
cmp rax, 8
jb 0x180072e75
mov rdi, qword [rbx]
jmp 0x180072e78
mov rdi, rbx
test rdi, rdi
je 0x180072ea6
cmp rax, 8
jb 0x180072e88
mov rcx, qword [rbx]
jmp 0x180072e8b
mov rcx, rbx
cmp rcx, rdi
ja 0x180072ea6
cmp rax, 8
jb 0x180072e99
mov rbx, qword [rbx]
mov rax, qword [r14 + 0x18]
lea rcx, [rbx + rax*2]
cmp rdi, rcx
jbe 0x180072eab
call fcn.1800c1088
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
movaps xmm0, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0xb0], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x90], xmm1
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x110]
mov rcx, r14
call fcn.180066760
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
lea rax, [rsp + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x78]
mov rcx, r12
call fcn.1800742a0
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x180073306
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x180072f3d
mov rdx, qword [rbx]
xor esi, esi
jmp 0x180072f42
xor esi, esi
mov rdx, rsi
mov r8d, 0x50
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rsi
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetConnectW]
mov r15, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1800732fb
movabs rax, 0x2a002f002a
mov qword [rsp + 0x150], rax
xor eax, eax
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x180072fb3
mov r8, qword [rdi]
jmp 0x180072fb6
mov r8, rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x4400000
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, str.HTTP_1.0
lea rdx, [0x18010bfa8]
mov rcx, r15
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r12, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1800732ec
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x1800730bb
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
test rdi, rdi
je 0x180073078
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdi + 0x10], eax
add eax, esi
jne 0x180073071
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180073054
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180073062
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
mov rbx, qword [rsp + 0x40]
jmp 0x18007307c
mov rbx, qword [rsp + 0x40]
jmp 0x18007307c
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x1800730b4
lock xadd dword [rbx + 0x10], esi
add esi, 0xffffffff
jne 0x1800730b4
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18007309e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800730ac
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
xor eax, eax
jmp 0x18007339c
mov dword [rsp + 0x60], RegisterTypeLib
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x160]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x1800731a8
lea rcx, [rsp + 0x160]
call fcn.1800c1918
mov dword [r13], eax
cmp eax, 0x194
jne 0x1800731a8
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
test rdi, rdi
je 0x180073165
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdi + 0x10], eax
add eax, esi
jne 0x18007315e
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180073141
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18007314f
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
mov rbx, qword [rsp + 0x40]
jmp 0x180073169
mov rbx, qword [rsp + 0x40]
jmp 0x180073169
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x1800731a1
lock xadd dword [rbx + 0x10], esi
add esi, 0xffffffff
jne 0x1800731a1
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18007318b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180073199
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
xor eax, eax
jmp 0x18007339c
mov qword [rsp + 0x140], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x138], rsi
mov byte [rsp + 0x128], 0
mov dword [rsp + 0x4c], esi
nop dword [rax + rax]
mov byte [rsp + 0x200], 0
xor edx, edx
mov r8d, 0x2000
lea rcx, [rsp + 0x201]
call fcn.1800c31a0
lea r9, [rsp + 0x4c]
mov r8d, 0x2000
lea rdx, [rsp + 0x200]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov r11d, dword [rsp + 0x4c]
mov byte [rsp + r11 + 0x200], 0
cmp esi, r11d
jge 0x180073243
movsxd rax, esi
movzx r8d, byte [rsp + rax + 0x200]
mov edx, 1
lea rcx, [rsp + reloc.OLEAUT32.dll_VARIANT_UserUnmarshal]
call fcn.1800748a0
inc esi
mov r11d, dword [rsp + 0x4c]
jmp 0x180073217
test r11d, r11d
mov esi, 0
jne 0x1800731d0
mov qword [rsp + 0xe0], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xd8], rsi
mov byte [rsp + 0xc8], sil
or rsi, 0xffffffffffffffff
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + reloc.OLEAUT32.dll_VARIANT_UserUnmarshal]
lea rcx, [rsp + 0xc0]
call fcn.180003b20
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xe8]
call fcn.180077740
nop
mov r9, rsi
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.180003570
nop
cmp qword [rsp + 0x108], 8
jb 0x1800732c8
mov rcx, qword [rsp + 0xf0]
call fcn.1800bf8b4
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
cmp qword [rsp + 0x140], 0x10
jb 0x1800732f0
mov rcx, qword [rsp + 0x128]
call fcn.1800bf8b4
jmp 0x1800732f0
or rsi, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x180073314
or rsi, 0xffffffffffffffff
mov rdi, qword [rsp + 0x50]
jmp 0x180073314
or rsi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x18007335a
mov eax, esi
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
jne 0x180073355
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180073338
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180073346
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
mov rbx, qword [rsp + 0x40]
jmp 0x18007335a
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x180073393
lock xadd dword [rbx + 0x10], esi
add esi, 0xffffffff
jne 0x180073393
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18007337c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18007338a
call fcn.1800bf8f0
mov rcx, rbx
call fcn.1800bf8b4
nop
mov eax, 1
jmp 0x18007339c
mov rcx, qword [rsp + 0x2210]
xor rcx, rsp
call fcn.1800bf8d0
add rsp, 0x2220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret