Function at 0x140081860
Capabilities:
Encode data using xor
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x458]
sub rsp, 0x530
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x14011f040]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov rdi, rcx
mov qword [rsp + 0x70], rcx
xor esi, esi
mov dword [rsp + 0x48], esi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 0xf
mov byte [rcx], sil
mov dword [rsp + 0x48], 1
movups xmm0, xmmword [0x14010ff90]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x14010ffa0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x14010ffb0]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x14010ffc0]
movups xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [0x14010ffd0]
movups xmmword [rbp - 0x40], xmm0
mov eax, dword [0x14010ffe0]
mov dword [rbp - 0x30], eax
mov ecx, esi
mov ebx, dword [0x14011f090]
cmp ebx, 2
jl 0x140081a32
movdqa xmm5, xmmword [0x140112470]
movdqa xmm4, xmmword [0x140112860]
movdqa xmm6, xmmword [0x1401124e0]
movdqa xmm7, xmmword [0x140112500]
lea rdx, [rbp - 0x80]
nop
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx]
xorps xmm3, xmm0
movq qword [rdx], xmm3
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx + 8]
xorps xmm3, xmm0
movq qword [rdx + 8], xmm3
add ecx, 8
lea rdx, [rdx + 0x10]
cmp ecx, 0x28
jl 0x140081940
cmp ecx, 0x2a
jge 0x140081a73
movsxd rax, ecx
lea r8, [rbp - 0x80]
lea r8, [r8 + rax*2]
nop dword [rax]
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul edx, eax, 0x39
add dx, cx
xor word [r8], dx
inc ecx
lea r8, [r8 + 2]
cmp ecx, 0x2a
jl 0x140081a40
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x80]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r12, rax
test rax, rax
je 0x140081e93
movups xmm7, xmmword [0x14010fae8]
movups xmmword [rsp + 0x50], xmm7
movq xmm8, qword [0x14010faf8]
movq qword [rsp + 0x60], xmm8
mov eax, dword [0x14010fb00]
mov dword [rsp + 0x68], eax
cmp word [0x14010fb02], 0
je 0x140081c78
mov r8d, esi
cmp ebx, 2
jl 0x140081c31
movdqa xmm4, xmmword [0x140112860]
movdqa xmm5, xmmword [0x1401124e0]
movdqa xmm6, xmmword [0x140112500]
movdqa xmm2, xmmword [0x140112470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm1, xmm7
xorps xmm3, xmm1
movq qword [rsp + 0x50], xmm3
movdqa xmm2, xmmword [0x140112480]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rsp + 0x58]
xorps xmm3, xmm0
movq qword [rsp + 0x58], xmm3
movdqa xmm2, xmmword [0x140112490]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, xmm8
xorps xmm3, xmm0
movq qword [rsp + 0x60], xmm3
mov r8d, 0xc
mov eax, r8d
lea r9, [rsp + 0x50]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul ecx, eax, 0x39
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xe
jl 0x140081c40
mov r8d, 0x1bb
xor r9d, r9d
lea rdx, [rsp + 0x50]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r15, rax
test rax, rax
je 0x140081e8a
mov rax, qword [0x1401103f0]
mov qword [rsp + 0x40], rax
cmp word [0x1401103f6], 0
je 0x140081d77
mov r8d, esi
cmp ebx, 2
jl 0x140081d36
movdqa xmm3, xmmword [0x140112470]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140112860]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140112860]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1401124e0]
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x140112500]
movq xmm0, qword [rsp + 0x40]
xorps xmm2, xmm0
movq qword [rsp + 0x40], xmm2
jmp 0x140081d77
lea r9, [rsp + 0x40]
nop dword [rax + rax]
mov eax, 0x1f7047dd
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov eax, 1
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x39
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 4
jl 0x140081d40
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r14, rax
test rax, rax
je 0x140081e81
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x140081e78
xor edx, edx
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140081e78
lea r9, [rbp - 0x20]
mov r8d, 0x400
lea rdx, [rbp - 0x10]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x140081e78
nop dword [rax]
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x140081e78
mov esi, eax
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x140081e49
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x140081e30
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
lea rdx, [rbp - 0x10]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0
jmp 0x140081e5d
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x10]
mov rdx, rsi
mov rcx, rdi
call fcn.14009c2d0
lea r9, [rbp - 0x20]
mov r8d, 0x400
lea rdx, [rbp - 0x10]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x140081e00
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, rdi
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.14009e2c0
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret