Function at 0x18001b340
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rax - 0x288]
sub rsp, 0x370
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x1801432e0]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rdi, rdx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa8], xmm1
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rcx + r8], bl
jne 0x18001b3a0
mov rdx, rcx
lea rcx, [rbp + 0x98]
call fcn.180048ae0
nop
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x78]
call qword [sym.imp.cpprest_2_10.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_utility::conversions::to_string_t_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
mov rdx, rax
lea rcx, [rbp + 0x140]
call qword [sym.imp.cpprest_2_10.dll_public:_void___cdecl_web::uri::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
nop
mov rdx, rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.cpprest_2_10.dll_public:_void___cdecl_web::http::client::http_client::constructor_class_web::uri_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x160]
call fcn.1800188c0
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x18001b43f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b43a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001b43a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
movdqa xmm0, xmmword [0x1800ff400]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], bx
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x18001b49c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b497
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001b497
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
movdqa xmm0, xmmword [0x1800ff400]
movdqu xmmword [rbp + 0x88], xmm0
mov word [rbp + 0x78], bx
mov rdx, rdi
lea rcx, [rbp + 0xb8]
call qword [sym.imp.cpprest_2_10.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_utility::conversions::to_string_t_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.18003f420
nop
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x38]
call fcn.180048bf0
nop
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x18001b50f
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b50f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001b50f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x28]
call fcn.180046bb0
nop
mov rdi, qword [rbp - 0x20]
test rdi, rdi
je 0x18001b551
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b551
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001b551
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x18001bbf4
call fcn.180017840
cmp eax, 2
je 0x18001bbfa
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 0x178]
test rax, rax
je 0x18001b582
lock inc dword [rax + 8]
mov rax, qword [rcx + 0x170]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x178]
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x18001b5ce
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b5ce
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001b5ce
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 8
jb 0x18001b617
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b612
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001b612
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
mov qword [rsp + 0x38], rbx
mov rdx, qword [sym.imp.cpprest_2_10.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const_web::http::methods::GET]
lea rcx, [rbp + 0x58]
call fcn.18003db60
mov rdi, rax
mov qword [rsp + 0x20], rax
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.180046a20
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x18001b681
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x18001b67c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18001b9ae
mov rcx, r8
call fcn.1800d1620
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 7
mov word [rdi], bx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x18001b6ab
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x58]
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea r9, [rsp + 0x38]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x18]
call qword [sym.imp.cpprest_2_10.dll_public:_class_Concurrency::task_class_web::http::http_response____cdecl_web::http::client::http_client::request_class_web::http::http_request__class_Concurrency::cancellation_token_const____ptr64____ptr64]
nop
test rdi, rdi
je 0x18001b703
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b703
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001b703
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x18001bc14
call fcn.180017840
cmp eax, 2
je 0x18001bc1a
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx + 0x178]
test rax, rax
je 0x18001b732
lock inc dword [rax + 8]
mov rax, qword [rcx + 0x170]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x178]
mov qword [rsp + 0x48], rax
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x18001b77d
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b77d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001b77d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x18001b799
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18001b799
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x38], rbx
mov eax, 0xc8
mov rcx, qword [rsp + 0x40]
cmp word [rcx + 0x88], ax
jne 0x18001b9eb
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x18001b7c2
lock inc dword [rax + 8]
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x28], 0
je 0x18001bc34
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001b7ee
lock inc dword [rcx + 8]
lea rax, vtable.Concurrency::streams::streambuf_unsigned_char_.0
mov qword [rbp - 0x50], rax
mov rcx, qword [rsp + 0x28]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x18001b813
lock inc dword [rax + 8]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x40], rax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001b85d
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18001b85d
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18001b85d
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.18003c6d0
nop
mov rcx, qword [rax]
test rcx, rcx
je 0x18001bbae
call fcn.180017840
nop
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x18001b8b5
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18001b8b5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18001b8b5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18001b8f0
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18001b8f0
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18001b8f0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18001b92b
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18001b92b
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18001b92b
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001b964
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18001b964
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x18001b964
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.cpprest_2_10.dll_public:_void___cdecl_web::http::client::http_client::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x18001b9ba
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b9b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001b9b5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800d1620
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1800d0db0
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsp + 0x40]
call fcn.1800191e0
movzx edx, ax
lea rcx, [rbp + 0xd8]
call fcn.1800020d0
mov rdi, rax
lea rdx, [rbp + 0x78]
call fcn.18001bc60
mov r9, rax
cmp byte [rax + 0x19], 0
je 0x18001bbb4
cmp dword [0x1801432f0], 2
jl 0x18001bb70
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [0x1800ff4c0]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x60], xmm0
mov rcx, r9
mov edx, dword [rbp - 0x60]
nop dword [rax + rax]
movd xmm2, ebx
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
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x18
jl 0x18001ba70
cmp eax, 0x1a
jge 0x18001bbb4
movsxd r8, ebx
add r8, r9
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x31
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x1a
jge 0x18001bbb4
jmp 0x18001bb80
call fcn.180016a90
nop
mov rdx, r9
lea rcx, [rbp + 0xf8]
call fcn.18003dd30
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.1800461f0
nop
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.180001860
lea rdx, [0x180112990]
lea rcx, [rbp + 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.180016a90
int3
lea rcx, [rbp - 8]
call fcn.180016190
lea rdx, [0x180112bd0]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.180016a90
int3
lea rcx, [rbp + 0x10]
call fcn.180016190
lea rdx, [0x180112bd0]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.uninitialized_stream_object
lea rcx, [rbp + 0x28]
call fcn.1800017c0
lea rdx, [0x180112970]
lea rcx, [rbp + 0x28]
call sub.VCRUNTIME140.dll__CxxThrowException
int3