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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x2f0
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rdi, r9
mov rbx, rcx
add rcx, 0x40
cmp qword [rcx + 0x18], 8
jb 0x180003578
mov rcx, qword [rcx]
xor esi, esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r12, rax
mov qword [rbp - 0x58], rax
mov rcx, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov qword [rbp - 0x50], rcx
mov byte [rbp - 0x48], 1
test rax, rax
jne 0x1800035f7
lea rcx, str.InternetOpen
call fcn.180002f40
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800035ee
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800035e9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003fa2
mov rcx, r8
call fcn.180007c1c
mov qword [rdi + 0x10], rsi
jmp 0x180003f2c
lea rdx, [rbx + 0x68]
cmp qword [rdx + 0x18], 8
jb 0x180003605
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rsi
mov r14d, 0x84400100
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rsi
xor r9d, r9d
movzx r8d, word [rbx + 0x88]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetConnectW]
mov r13, rax
mov qword [rsp + 0x78], rax
mov rcx, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x78], 1
test rax, rax
jne 0x1800036a8
lea rcx, str.InternetConnect
call fcn.180002f40
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800035ee
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800035e9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f5a
jmp 0x1800035e6
lea rax, [0x180027328]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rsi
mov eax, 0x84c00100
cmp byte [rbx + 0x61], 0
cmove eax, r14d
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, str._api_connect
lea rdx, [0x180027300]
mov rcx, r13
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r14, rax
mov qword [rbp - 0x40], rax
mov rcx, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov qword [rbp - 0x38], rcx
mov byte [rbp - 0x30], 1
test rax, rax
jne 0x180003770
lea rcx, str.HttpOpenRequest__r_n
call fcn.180002f40
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800035ee
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800035e9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f60
jmp 0x1800035e6
cmp byte [rbx + 0x61], 0
je 0x1800037c0
mov dword [rbp + 0x238], 4
lea r9, [rbp + 0x238]
lea r8, [rbp + 0x240]
mov edx, 0x1f
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [rbp + 0x240], 0x3180
mov r9d, 4
lea r8, [rbp + 0x240]
lea edx, [r9 + 0x1b]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov dword [rbp + 0x240], 0x7530
mov r9d, 4
lea r8, [rbp + 0x240]
lea edx, [r9 - 2]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov r9d, 4
lea r8, [rbp + 0x240]
lea edx, [r9 + 2]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov r9d, 4
lea r8, [rbp + 0x240]
lea edx, [r9 + 1]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov r15, qword [rdi + 0x10]
xor eax, eax
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rsp + 0x20], rax
movdqu xmmword [rsp + 0x44], xmm0
movdqu xmmword [rsp + 0x54], xmm1
mov qword [rsp + 0x64], rax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x40], 0x38
mov dword [rsp + 0x6c], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
je 0x180003eb7
test r15d, r15d
je 0x18000389f
mov dword [rbp + 0x240], 0
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180003884
mov rdx, qword [rdi]
lea r9, [rbp + 0x240]
mov r8d, r15d
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x180003a73
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
jne 0x180003931
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f00
je 0x18000381c
mov edx, eax
lea rcx, str.HttpEndRequest___d_r_n
call fcn.180002f40
nop
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f66
jmp 0x180003f1c
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x20]
call fcn.180009a00
mov dword [rbp + 0x238], 0x208
mov dword [rbp + 0x240], 0
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x238]
lea r8, [rbp - 0x20]
mov edx, 0x13
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x180003e50
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rbp - 0x20]
call fcn.18000cca4
cmp eax, 0xc8
je 0x180003c51
cmp eax, 0x197
jne 0x180003bf4
mov eax, esi
inc esi
cmp eax, 3
ja 0x180003b97
cmp byte [rbx + 0x60], 0
je 0x180003b3a
mov rax, qword [rbx + 0x10]
lea r9d, [rax + rax]
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800039d4
mov r8, qword [rbx]
mov edx, 0x2b
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
je 0x180003add
mov rax, qword [rbx + 0x30]
lea r9d, [rax + rax]
lea r8, [rbx + 0x20]
cmp qword [r8 + 0x18], 8
jb 0x180003a00
mov r8, qword [r8]
mov edx, 0x2c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x18000381c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f6c
jmp 0x180003f1c
lea rcx, str.InternetWriteFile__r_n
call fcn.180002f40
nop
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f72
jmp 0x180003f1c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f78
jmp 0x180003f1c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f7e
jmp 0x180003f1c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f84
jmp 0x180003f1c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f8a
jmp 0x180003f1c
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x20]
call fcn.180009a00
mov dword [rbp + 0x238], 0x208
mov dword [rbp + 0x240], 0
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x238]
lea r8, [rbp - 0x20]
mov edx, 5
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x180003de9
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rbp - 0x20]
call fcn.18000cca4
mov r15d, eax
test eax, eax
je 0x180003de9
mov ecx, r15d
mov rsi, qword [rbp + 0x250]
mov rdx, qword [rsi + 0x10]
cmp r15, rdx
ja 0x180003ce8
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180003cdd
mov rax, qword [rsi]
mov qword [rsi + 0x10], rcx
mov byte [rax + r15], 0
jmp 0x180003d3d
mov r13, rcx
sub r13, rdx
mov r8, qword [rsi + 0x18]
mov rax, r8
sub rax, rdx
cmp r13, rax
ja 0x180003d25
mov qword [rsi + 0x10], rcx
mov rax, rsi
cmp r8, 0x10
jb 0x180003d0d
mov rax, qword [rsi]
lea rbx, [rax + rdx]
mov r8, r13
xor edx, edx
mov rcx, rbx
call fcn.180009a00
mov byte [rbx + r13], 0
jmp 0x180003d38
mov byte [rsp + 0x20], 0
mov r9, r13
mov rdx, r13
mov rcx, rsi
call fcn.180007240
mov r13, qword [rsp + 0x78]
cmp qword [rsi + 0x18], 0x10
jb 0x180003d47
mov rsi, qword [rsi]
xor ebx, ebx
test r15d, r15d
je 0x180003d87
nop
mov dword [rbp + 0x240], 0
lea r9, [rbp + 0x240]
mov r8d, 0x2000
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180003d87
mov eax, dword [rbp + 0x240]
add ebx, eax
add rsi, rax
cmp ebx, r15d
jb 0x180003d50
cmp ebx, r15d
je 0x180003de9
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f90
jmp 0x180003f1c
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003e41
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003e3c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f54
mov rcx, r8
call fcn.180007c1c
mov qword [rdi + 0x10], 0
mov al, 1
jmp 0x180003f2e
lea rcx, str.__query_var_to_int_
call fcn.180002f40
nop
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f96
jmp 0x180003f1c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.HttpSendRequestEx___d_r_n
call fcn.180002f40
nop
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180003f24
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180003f1f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003f9c
mov rcx, r8
call fcn.180007c1c
mov qword [rdi + 0x10], 0
xor al, al
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rbx, qword [rsp + 0x330]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3
call fcn.18000e488
int3