Function at 0x1800063c0
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, 0x10e0
call fcn.180044190
sub rsp, rax
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov qword [rsp + 0x1118], rbx
mov qword [rsp + 0x1120], rbp
mov qword [rsp + 0x1128], rsi
mov rax, qword [0x180060ef8]
xor rax, rsp
mov qword [rsp + 0x10d0], rax
mov r13, rcx
mov qword [rsp + 0xa8], rcx
call fcn.180021808
mov rdx, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x18000643b
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180006470
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 r14, [0x180051b28]
mov rsi, r14
shr rsi, 0x10
or rbp, 0xffffffffffffffff
test rsi, rsi
jne 0x1800064bb
movzx edi, r14w
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x1800064da
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180009b90
jmp 0x1800064da
xor eax, eax
mov rcx, rbp
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.180008c90
nop
xor eax, eax
mov rcx, rbp
lea rdi, str.Content_Type:_application_x_www_form_urlencoded_n
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Content_Type:_application_x_www_form_urlencoded_n
lea rcx, [rsp + 0x58]
call fcn.180008c90
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180006520
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
lea rdx, [0x180051718]
test rdx, 0xffffffffffff0000
jne 0x180006563
movzx edi, dx
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x18000657f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180009b90
jmp 0x18000657f
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x68]
call fcn.180008c90
nop
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x18000659f
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
test rsi, rsi
jne 0x1800065d8
movzx edi, r14w
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x1800065f7
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180009b90
jmp 0x1800065f7
xor eax, eax
mov rcx, rbp
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.180008c90
nop
mov rdi, qword [r13 + 0xf0]
call fcn.180021808
mov r11, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x18000661e
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test rdi, rdi
je 0x18000665f
test rdi, 0xffffffffffff0000
jne 0x18000665f
movzx edi, di
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x18000666d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180009b90
jmp 0x18000666d
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180007910
nop
mov rdi, qword [r13 + 0xf8]
call fcn.180021808
mov r11, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180006694
mov ecx, 0x80004005
call fcn.180002080
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test rdi, rdi
je 0x1800066d5
test rdi, 0xffffffffffff0000
jne 0x1800066d5
movzx edi, di
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x1800066e3
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180009b90
jmp 0x1800066e3
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.180007910
nop
lea r8, [rsp + 0x60]
lea rdx, str.key
lea rcx, [rsp + 0xa0]
call fcn.180007b70
nop
lea r8, str.user_id
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.180007aa0
nop
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1800079f0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x48]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006789
cmp dword [rdi + 0x10], 0
jl 0x18000677a
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18000677a
call fcn.180008d80
mov rbx, rax
mov ecx, ebp
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18000676f
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x180006789
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.180008c90
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800067ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800067cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800067f1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.180021808
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x180006811
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
test rsi, rsi
jne 0x18000684f
movzx edi, r14w
mov ecx, edi
call fcn.1800219a0
test rax, rax
je 0x180006872
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180009b90
mov rbx, qword [rsp + 0x40]
jmp 0x180006872
xor eax, eax
mov rcx, rbp
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r14
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 0x180006892
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 + 0x78], rdi
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rsi, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x180006bb8
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 [0x180067c18]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r14, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x180006baf
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str._uploadstatus
lea rdx, [0x180051848]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r13, rax
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x180006b9e
mov r9, qword [rsp + 0x48]
mov ecx, dword [r9 - 0x10]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x20], ecx
mov r8d, dword [rdx - 0x10]
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpSendRequestA]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x180006b8d
mov dword [rsp + 0x50], r12d
nop dword [rax]
lea r9, [rsp + 0x50]
mov r8d, 0xfff
lea rdx, [rsp + 0xd0]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180006a81
mov eax, dword [rsp + 0x50]
mov byte [rsp + rax + 0xd0], 0
xor eax, eax
mov rcx, rbp
lea rdi, [rsp + 0xd0]
repne scasb al, byte [rdi]
not rcx
dec rcx
lea r15, [rsp + 0xd0]
lea rsi, [rsp + 0xd0]
sub rsi, rbx
mov r13d, dword [rbx - 0x10]
mov eax, r12d
test ecx, ecx
setns al
test eax, eax
je 0x180006aa3
movsxd rdx, ecx
lea rcx, [rsp + 0xd0]
call fcn.180030744
mov r14, rax
mov ecx, 0x7fffffff
sub ecx, eax
mov edx, r12d
cmp ecx, r13d
setge dl
test edx, edx
je 0x180006a98
lea edi, [r13 + rax]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x180006a4a
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.180009db0
mov rbx, qword [rsp + 0x40]
cmp rsi, r13
ja 0x180006a53
lea r15, [rsi + rbx]
movsxd rdx, r14d
lea rcx, [r13 + rbx]
mov r9, rdx
mov r8, r15
call fcn.180030004
test edi, edi
js 0x180006a8d
cmp edi, dword [rbx - 0xc]
jg 0x180006a8d
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov byte [rax + rbx], 0
mov r13, qword [rsp + 0xb8]
cmp dword [rsp + 0x50], 0
je 0x180006aae
jmp 0x180006990
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 0x180006ac6
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 0x180006b3d
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 + 0x78]
call fcn.18000b3b0
mov rcx, rsi
call fcn.1800212e0
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.180030744
test eax, eax
js 0x180006b82
cmp eax, dword [rbx - 0xc]
jg 0x180006b82
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x88]
jmp 0x180006b8d
mov ecx, 0x80070057
call fcn.180002080
int3
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rsi, qword [rsp + 0x98]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r13, qword [rsp + 0xa8]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.180006e00
test eax, eax
je 0x180006ccf
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006be8
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 0x180006c08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c48
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c68
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 0x180006c88
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 0x180006ca8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x180006cc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x180006dcf
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006cea
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 0x180006d0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006d2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006d4a
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006d6a
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 0x180006d8a
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 0x180006daa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x180006dca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80004005
mov rcx, qword [rsp + 0x10d0]
xor rcx, rsp
call fcn.18002fe70
lea r11, [rsp + 0x10e0]
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