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

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x10c0
call fcn.180044190
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x10f8], rbx
mov qword [rsp + 0x1100], rbp
mov qword [rsp + 0x1108], rsi
mov rax, qword [0x180060ef8]
xor rax, rsp
mov qword [rsp + 0x10b0], rax
mov r13, rcx
mov qword [rsp + 0x88], rcx
call fcn.180021808
mov rdx, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1800034db
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x18000350d
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [0x180051718]
or rbp, 0xffffffffffffffff
test rdx, 0xffffffffffff0000
jne 0x180003554
movzx edi, dx
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x180003570
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180009b90
jmp 0x180003570
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x58]
call fcn.180008c90
nop
mov r14d, r12d
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180003593
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdi, qword [r13 + 0xa0]
call fcn.180021808
mov r11, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1800035cc
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
test rdi, rdi
je 0x18000360d
test rdi, 0xffffffffffff0000
jne 0x18000360d
movzx edi, di
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x18000361b
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.180009b90
jmp 0x18000361b
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.180007910
nop
mov r8, qword [rsp + 0x50]
lea rdx, str._category_language_s
lea rcx, [rsp + 0x68]
call fcn.18000a510
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180003651
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
lea rdx, [0x180051b28]
test rdx, 0xffffffffffff0000
jne 0x180003699
movzx edi, dx
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x1800036b9
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180009b90
mov rbx, qword [rsp + 0x40]
jmp 0x1800036b9
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x40]
call fcn.180008c90
mov rbx, qword [rsp + 0x40]
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1800036d9
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rsi, rax
mov qword [rsp + 0x80], rax
test rax, rax
je 0x1800039fd
mov r8d, 0x1bb
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov rdx, qword [0x180067c00]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r15, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1800039f4
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8, qword [rsp + 0x68]
lea rdx, [0x180051740]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r13, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x1800039e3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpSendRequestA]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x1800039d2
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x60], 1
lea r9, [rsp + 0x48]
mov r8d, 0xfff
lea rdx, [rsp + 0xb0]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1800038c1
mov eax, dword [rsp + 0x48]
mov byte [rsp + rax + 0xb0], 0
xor eax, eax
mov rcx, rbp
lea rdi, [rsp + 0xb0]
repne scasb al, byte [rdi]
not rcx
dec rcx
lea r15, [rsp + 0xb0]
lea rsi, [rsp + 0xb0]
sub rsi, rbx
mov r13d, dword [rbx - 0x10]
mov eax, r12d
test ecx, ecx
setns al
test eax, eax
je 0x1800038e3
movsxd rdx, ecx
lea rcx, [rsp + 0xb0]
call fcn.180030744
mov r14, rax
mov ecx, 0x7fffffff
sub ecx, eax
mov edx, r12d
cmp ecx, r13d
setge dl
test edx, edx
je 0x1800038d8
lea edi, [r13 + rax]
mov ecx, dword [rsp + 0x60]
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x18000388a
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.180009db0
mov rbx, qword [rsp + 0x40]
cmp rsi, r13
ja 0x180003893
lea r15, [rsi + rbx]
movsxd rdx, r14d
lea rcx, [r13 + rbx]
mov r9, rdx
mov r8, r15
call fcn.180030004
test edi, edi
js 0x1800038cd
cmp edi, dword [rbx - 0xc]
jg 0x1800038cd
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov byte [rax + rbx], 0
mov r13, qword [rsp + 0x98]
cmp dword [rsp + 0x48], 0
je 0x1800038ee
jmp 0x1800037d1
mov ecx, 0x80070057
call fcn.180002080
int3
mov ecx, 0x80070057
call fcn.180002080
int3
mov ecx, 0x80070057
call fcn.180002080
int3
cmp dword [rbx - 8], 1
jle 0x180003906
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.1800082b0
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, dword [rbx - 0x10]
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
lea ecx, [rdi + 1]
movsxd rdx, ecx
mov eax, 2
mul rdx
cmovo rax, rbp
mov rcx, rax
call fcn.1800212e8
mov rsi, rax
mov word [rax + rdi*2], r12w
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov r9d, dword [rbx - 0x10]
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test rsi, rsi
je 0x18000397d
xor eax, eax
mov rcx, rbp
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r12d, [rcx - 1]
mov r8d, r12d
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.18000b3b0
mov rcx, rsi
call fcn.1800212e0
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.180030744
test eax, eax
js 0x1800039c7
cmp eax, dword [rbx - 0xc]
jg 0x1800039c7
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov rdi, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x60]
mov r15, qword [rsp + 0x90]
jmp 0x1800039d2
mov ecx, 0x80070057
call fcn.180002080
int3
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rsi, qword [rsp + 0x80]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r13, qword [rsp + 0x88]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.180003bc0
test r14d, r14d
je 0x180003ad2
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003a2e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003a4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003a6e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003a8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003aae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x180003acb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x180003b8f
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003aed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003b0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003b2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003b4d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180003b6d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x180003b8a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80004005
mov rcx, qword [rsp + 0x10b0]
xor rcx, rsp
call fcn.18002fe70
lea r11, [rsp + 0x10c0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret