Function at 0x180005820
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, 0x11f0
call fcn.180044190
sub rsp, rax
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov qword [rsp + 0x1228], rbx
mov qword [rsp + 0x1230], rsi
mov rax, qword [0x180060ef8]
xor rax, rsp
mov qword [rsp + 0x11e0], rax
mov r12, rcx
mov qword [rsp + 0xa0], rcx
call fcn.180021808
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x180005891
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r13, [0x180051b28]
test r13, 0xffffffffffff0000
jne 0x1800058dc
movzx edi, r13w
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x1800058d6
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180009b90
or rbx, 0xffffffffffffffff
jmp 0x1800058ff
or rbx, 0xffffffffffffffff
jmp 0x1800058ff
xor eax, eax
or rbx, 0xffffffffffffffff
mov rcx, rbx
mov rdi, r13
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.180008c90
nop
mov r9, qword [r12 + 0xc8]
mov r8, qword [r12 + 0xd0]
lea rdx, str.Content_Type:_application_x_www_form_urlencoded_nAuthorization:__s__s_n
lea rcx, [rsp + 0x40]
call fcn.18000a510
call fcn.180021808
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x18000593f
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [0x180051718]
test rdx, 0xffffffffffff0000
jne 0x180005982
movzx edi, dx
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x18000599e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180009b90
jmp 0x18000599e
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x48]
call fcn.180008c90
nop
call fcn.180021808
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1800059bd
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, str.formatjson
test rdx, 0xffffffffffff0000
jne 0x180005a00
movzx edi, dx
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x180005a1c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.180009b90
jmp 0x180005a1c
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.180008c90
nop
mov qword [rsp + 0xd8], 0xf
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xc0], 0
xor r8d, r8d
mov rdx, r13
lea rcx, [rsp + 0xb8]
call fcn.180001e30
nop
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r15, rax
test rax, rax
je 0x180005b89
mov r8d, 0x1bb
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov rdx, qword [0x180067bf0]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r14, rax
test rax, rax
je 0x180005b80
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, str._auth
lea rdx, [0x180051848]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r13, rax
test rax, rax
je 0x180005b77
mov r9, qword [rsp + 0x50]
mov ecx, dword [r9 - 0x10]
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x20], ecx
mov r8d, dword [rdx - 0x10]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x180005b6e
mov dword [rsp + 0x58], esi
nop
lea r9, [rsp + 0x58]
mov r8d, 0xfff
lea rdx, [rsp + 0x1e0]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180005b67
mov eax, dword [rsp + 0x58]
mov byte [rsp + rax + 0x1e0], 0
xor eax, eax
mov rcx, rbx
lea rdi, [rsp + 0x1e0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0xb8]
call fcn.180008b20
cmp dword [rsp + 0x58], 0
jne 0x180005b10
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp qword [rsp + 0xd0], 0
jne 0x180005c30
cmp qword [rsp + 0xd8], 0x10
jb 0x180005bb0
mov rcx, qword [rsp + 0xc0]
call fcn.1800212e0
mov qword [rsp + 0xd8], 0xf
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005bec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005c0c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180005c29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x180006390
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1800161f0
nop
lea rcx, [rsp + 0xe0]
call fcn.18001ae40
nop
xor r9d, r9d
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xe0]
call fcn.18001aeb0
test al, al
jne 0x180005d21
lea rcx, [rsp + 0xe0]
call fcn.180005760
nop
lea rcx, [rsp + 0x60]
call fcn.180016860
nop
cmp qword [rsp + 0xd8], 0x10
jb 0x180005ca1
mov rcx, qword [rsp + 0xc0]
call fcn.1800212e0
mov qword [rsp + 0xd8], 0xf
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005cdd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005cfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180005d1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x180006390
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0xf0]
call fcn.18000b3b0
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0xf8]
call fcn.18000b3b0
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0x100]
call fcn.18000b3b0
mov dword [r12 + 0x110], esi
mov dword [r12 + 0x114], esi
lea rdx, [0x180051624]
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
call fcn.1800174b0
test al, al
jne 0x180005e46
lea rdx, [0x180051624]
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
call fcn.1800175e0
test al, al
je 0x180005e46
lea rdx, [0x180051624]
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
call fcn.180016b00
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.18000adc0
nop
mov rdx, rax
lea rcx, [r12 + 0xf0]
call fcn.18000b4a0
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005e46
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
call fcn.180017670
test al, al
je 0x18000617e
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, [0x1800518f4]
call fcn.180017220
mov rcx, rax
call fcn.1800174b0
test al, al
jne 0x180005f0f
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, [0x1800518f4]
call fcn.180017220
mov rcx, rax
call fcn.180017590
test al, al
je 0x180005f0f
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
lea rdx, [0x1800518f4]
mov rcx, rax
call fcn.180017220
mov rcx, rax
call fcn.180016dd0
mov r8, rax
lea rdx, str._I64u
lea rcx, [r12 + 0xf8]
call fcn.18000af10
nop
jmp 0x180005f0f
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.nickname
call fcn.180017220
mov rcx, rax
call fcn.1800174b0
test al, al
jne 0x180005fd7
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.nickname
call fcn.180017220
mov rcx, rax
call fcn.1800175e0
test al, al
je 0x180005fd7
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.nickname
call fcn.180017220
mov rcx, rax
call fcn.180016b00
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.18000adc0
nop
lea rcx, [r12 + 0x100]
mov rdx, rax
call fcn.18000b4a0
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180005fd7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.premium
call fcn.180017220
mov rcx, rax
call fcn.1800174b0
test al, al
jne 0x1800060a8
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.premium
call fcn.180017220
mov rcx, rax
call fcn.1800175e0
test al, al
je 0x1800060a8
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.premium
call fcn.180017220
mov rcx, rax
call fcn.180016b00
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180007800
lea rdx, [0x180051920]
mov rcx, qword [rsp + 0x78]
call fcn.180030924
test eax, eax
sete al
movzx ecx, al
mov dword [r12 + 0x110], ecx
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800060a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.banned
call fcn.180017220
mov rcx, rax
call fcn.1800174b0
test al, al
jne 0x18000617e
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.banned
call fcn.180017220
mov rcx, rax
call fcn.1800175e0
test al, al
je 0x18000617e
lea rdx, str.user
lea rcx, [rsp + 0x60]
call fcn.180017220
mov rcx, rax
lea rdx, str.banned
call fcn.180017220
mov rcx, rax
call fcn.180016b00
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180007800
nop
lea rdx, [0x18005192c]
lea rcx, [rsp + 0x80]
call fcn.180007c40
movzx edx, al
mov dword [r12 + 0x114], edx
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000617e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r12 + 0xf0]
cmp dword [rax - 0x10], 0
je 0x180006256
mov rax, qword [r12 + 0xf8]
cmp dword [rax - 0x10], 0
je 0x180006256
lea rcx, [rsp + 0xe0]
call fcn.180005760
nop
lea rcx, [rsp + 0x60]
call fcn.180016860
nop
cmp qword [rsp + 0xd8], 0x10
jb 0x1800061d3
mov rcx, qword [rsp + 0xc0]
call fcn.1800212e0
mov qword [rsp + 0xd8], 0xf
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000620f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000622f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000624c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x180006390
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0xf0]
call fcn.18000b3b0
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0xf8]
call fcn.18000b3b0
xor eax, eax
mov rcx, rbx
lea rdi, [0x180051b2c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180051b2c]
lea rcx, [r12 + 0x100]
call fcn.18000b3b0
mov dword [r12 + 0x110], esi
mov dword [r12 + 0x114], esi
lea rcx, [rsp + 0xe0]
call fcn.180005760
nop
lea rcx, [rsp + 0x60]
call fcn.180016860
nop
cmp qword [rsp + 0xd8], 0x10
jb 0x180006315
mov rcx, qword [rsp + 0xc0]
call fcn.1800212e0
mov qword [rsp + 0xd8], 0xf
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006351
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006371
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000638e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
mov rcx, qword [rsp + 0x11e0]
xor rcx, rsp
call fcn.18002fe70
lea r11, [rsp + 0x11f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret