Function at 0x180019770
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x290
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x1801432e0]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov r12, r8
mov r14, rdx
xor esi, esi
mov dword [rbp + 0x60], esi
cmp qword [rcx + 0x18], 0x10
jb 0x1800197c8
mov rcx, qword [rcx]
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.18003e930
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x4c], edx
cmp qword [rbp - 0x20], 0
je 0x18001a6d9
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x38], 1
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x68]
mov qword [rbp + 0x70], rcx
test rcx, rcx
sete byte [rbp + 0x78]
mov byte [rbp + 0x79], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x130], xmm1
movaps xmm0, xmmword [rbp + 0x70]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm6, xmmword [rsp + 0x30]
test rcx, rcx
je 0x18001988d
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x180019879
mov byte [rsp + 0x49], al
mov rax, qword [rsp + 0x40]
mov byte [rsp + 0x48], 1
movaps xmm0, xmmword [rsp + 0x40]
jmp 0x180019892
mov rax, rsi
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], 1
movaps xmm0, xmmword [rsp + 0x40]
jmp 0x180019892
movq rax, xmm0
test rax, rax
movq rax, xmm6
jne 0x180019c9e
test rax, rax
je 0x180019ca7
movdqa xmmword [rbp + 0x70], xmm6
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rbp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x120]
call fcn.18004f840
nop
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x30]
call qword [sym.imp.cpprest_2_10.dll_public:_static_class_web::json::value___cdecl_web::json::value::parse_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
movups xmm0, xmmword [str.x__TZ_YMSTRqWL4A]
movups xmmword [rbp + 0xf8], xmm0
movups xmm1, xmmword [0x1800fbaf0]
movups xmmword [rbp + 0x108], xmm1
movzx eax, word [0x1800fbb00]
mov word [rbp + 0x118], ax
mov r8d, esi
mov edi, 0x1f
lea r13d, [rdi - 0x1b]
mov r15d, dword [0x1801432f0]
cmp r15d, 2
jl 0x180019a4f
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, edi
movdqa xmm9, xmmword [0x1800ff4f0]
lea rcx, [rbp + 0xf8]
nop word [rax + rax]
movd xmm2, r8d
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 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
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x180019960
cmp r8d, 0x11
jge 0x180019a94
movsxd rax, r8d
lea r9, [rbp + 0xf8]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
sub ax, cx
add ax, 0x31
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x11
jl 0x180019a60
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0xc0]
call fcn.18003da10
nop
mov ebx, 1
mov dword [rbp + 0x60], ebx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
mov r8, qword [rdx + 8]
mov rdx, rax
call r8
test al, al
je 0x180019cc3
movups xmm0, xmmword [str.x__TZ_YMSTRqWL4A]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [0x1800fbaf0]
movups xmmword [rbp + 0x80], xmm1
movzx eax, word [0x1800fbb00]
mov word [rbp + 0x90], ax
mov r8d, esi
cmp r15d, 2
jl 0x180019c1f
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, edi
movdqa xmm9, xmmword [0x1800ff4f0]
lea rcx, [rbp + 0x70]
nop dword [rax]
movd xmm2, r8d
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 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
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x180019b30
cmp r8d, 0x11
jge 0x180019c64
movsxd rax, r8d
lea r9, [rbp + 0x70]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
sub ax, cx
add ax, 0x31
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x11
jl 0x180019c30
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xa0]
call fcn.18003da10
nop
mov ebx, 3
mov dword [rbp + 0x60], ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.cpprest_2_10.dll_public:_class_web::json::value____ptr64___cdecl_web::json::value::operator___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
mov rcx, rax
call qword [sym.imp.cpprest_2_10.dll_public:_enum_web::json::value::value_type___cdecl_web::json::value::type_void____ptr64]
cmp eax, 4
jne 0x180019cc3
mov dil, 1
jmp 0x180019cc6
test rax, rax
je 0x1800198a9
movdqa xmm0, xmmword [0x1800ff410]
movdqu xmmword [rbp + 0x130], xmm0
mov byte [rbp + 0x120], 0
jmp 0x1800198ca
xor dil, dil
test bl, 2
je 0x180019d2e
and ebx, 0xfffffffd
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x180019d17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019d12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019d12
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 + 0xb0], xmm0
mov word [rbp + 0xa0], si
test bl, 1
je 0x180019d7c
mov rdx, qword [rbp + 0xd8]
cmp rdx, 8
jb 0x180019d7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019d77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019d77
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
test dil, dil
je 0x18001a67c
movups xmm0, xmmword [str.x__TZ_YMSTRqWL4A]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [0x1800fbaf0]
movups xmmword [rbp + 0xd0], xmm1
movzx eax, word [0x1800fbb00]
mov word [rbp + 0xe0], ax
mov r8d, esi
cmp r15d, 2
jl 0x180019eef
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1800ff4c0]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm9, xmmword [0x1800ff4f0]
lea rcx, [rbp + 0xc0]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 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
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x180019e00
cmp r8d, 0x11
jge 0x180019f34
movsxd rax, r8d
lea r9, [rbp + 0xc0]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
sub ax, cx
add ax, 0x31
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x11
jl 0x180019f00
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.18003da10
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.cpprest_2_10.dll_public:_class_web::json::value____ptr64___cdecl_web::json::value::at_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
mov rcx, rax
call qword [sym.imp.cpprest_2_10.dll_public:_class_web::json::array____ptr64___cdecl_web::json::value::as_array_void____ptr64]
mov rdi, rax
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x180019fab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019fa6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019fa6
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 + 0xb0], xmm0
mov word [rbp + 0xa0], si
mov rbx, qword [rdi]
mov r13, qword [rdi + 8]
cmp rbx, r13
je 0x18001a67c
mov rcx, rbx
call qword [sym.imp.cpprest_2_10.dll_public:_enum_web::json::value::value_type___cdecl_web::json::value::type_void____ptr64]
cmp eax, 3
jne 0x18001a4d8
mov rcx, rbx
call qword [sym.imp.cpprest_2_10.dll_public:_class_web::json::object_const____ptr64___cdecl_web::json::value::as_object_void_const___ptr64]
mov rdi, rax
movups xmm9, xmmword [0x1800fe3b8]
movups xmmword [rbp + 0x70], xmm9
pextrw ecx, xmm9, 7
test cx, cx
je 0x18001a154
cmp r15d, 2
jl 0x18001a10b
movdqa xmm4, xmmword [0x1800ff5e0]
mov eax, 4
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm8, xmmword [0x1800ff4f0]
movdqa xmm2, xmmword [0x1800ff470]
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, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm1, xmm9
xorps xmm3, xmm1
movq qword [rbp + 0x70], xmm3
movdqa xmm2, xmmword [0x1800ff4b0]
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, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rbp + 0x78]
xorps xmm3, xmm0
movq qword [rbp + 0x78], xmm3
jmp 0x18001a154
lea r9, [rbp + 0x70]
mov r8d, esi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
sub ax, cx
add ax, 0x31
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 8
jl 0x18001a120
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xf8]
call fcn.18003da10
nop
mov r8, rax
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.180018db0
mov rax, qword [rbp + 0x60]
cmp rax, qword [rdi + 8]
je 0x18001a7b2
lea rdi, [rax + 0x20]
mov rdx, qword [rbp + 0x110]
cmp rdx, 8
jb 0x18001a1cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a1c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a4e1
call fcn.1800d1620
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x110], 7
mov word [rbp + 0xf8], si
mov rcx, rdi
call qword [sym.imp.cpprest_2_10.dll_public:_enum_web::json::value::value_type___cdecl_web::json::value::type_void____ptr64]
cmp eax, 2
jne 0x18001a4d8
mov rcx, rdi
call qword [sym.imp.cpprest_2_10.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64___cdecl_web::json::value::as_string_void_const___ptr64]
mov rdx, rax
lea rcx, [rbp + 0x70]
call qword [sym.imp.cpprest_2_10.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_utility::conversions::to_utf8string_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
nop
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x18001a21b
mov rdx, qword [r14]
lea rcx, [rbp + 0x70]
mov rdi, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x88]
cmp rsi, 0x10
cmovae rcx, rdi
mov r8, qword [rbp + 0x80]
cmp r8, qword [r14 + 0x10]
jne 0x18001a49f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18001a49f
mov rcx, rbx
call qword [sym.imp.cpprest_2_10.dll_public:_class_web::json::object_const____ptr64___cdecl_web::json::value::as_object_void_const___ptr64]
mov rdi, rax
movups xmm0, xmmword [str.x__TZ_tVYZHTQQ_]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [0x1800fd3c0]
movups xmmword [rbp + 0xd0], xmm1
pextrw ecx, xmm1, 7
xor esi, esi
test cx, cx
je 0x18001a3f0
cmp r15d, 2
jl 0x18001a3b7
movdqa xmm5, xmmword [0x1800ff470]
mov edx, esi
movdqa xmm4, xmmword [0x1800ff5e0]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [0x1800ff4c0]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm9, xmmword [0x1800ff4f0]
lea rcx, [rbp + 0xc0]
nop
movd xmm2, edx
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rdx + 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
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add edx, 8
lea rcx, [rcx + 0x10]
cmp edx, 0x10
jl 0x18001a2d0
jmp 0x18001a3f0
lea r8, [rbp + 0xc0]
mov ecx, esi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x34
movzx eax, cx
sub ax, dx
add ax, 0x31
xor word [r8], ax
inc ecx
lea r8, [r8 + 2]
cmp ecx, 0x10
jl 0x18001a3c0
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.18003da10
nop
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.180018db0
mov rax, qword [rsp + 0x40]
cmp rax, qword [rdi + 8]
je 0x18001a7d2
lea rdi, [rax + 0x20]
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x18001a46d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a468
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a4e8
call fcn.1800d1620
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], 7
mov word [rbp + 0xa0], si
mov rcx, rdi
call qword [sym.imp.cpprest_2_10.dll_public:_enum_web::json::value::value_type___cdecl_web::json::value::type_void____ptr64]
cmp eax, 2
je 0x18001a4ef
mov rsi, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x70]
cmp rsi, 0x10
jb 0x18001a4d6
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18001a4ce
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a675
mov rcx, rdi
call fcn.1800d1620
xor esi, esi
add rbx, 8
jmp 0x180019fc9
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]
int3
mov rcx, rdi
call qword [sym.imp.cpprest_2_10.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64___cdecl_web::json::value::as_string_void_const___ptr64]
mov rdx, rax
lea rcx, [rbp + 0xc0]
call qword [sym.imp.cpprest_2_10.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_utility::conversions::to_utf8string_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
mov rbx, rax
cmp r12, rax
je 0x18001a57c
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18001a548
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18001a543
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18001a5b4
mov rcx, r8
call fcn.1800d1620
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
movups xmm0, xmmword [rbx]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r12 + 0x10], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x18001a5c1
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a5bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a5bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18001a5fb
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a5f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a675
call fcn.1800d1620
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001a62a
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0xc0]
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18001a66e
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a669
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a669
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
mov bl, 1
jmp 0x18001a728
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001a695
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0xc0]
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18001a6d9
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a6d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a6d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d1620
mov eax, dword [0x1800fc8f0]
mov dword [rbp + 0x60], eax
movzx eax, byte [0x1800fc8f4]
mov byte [rbp + 0x60], 0x4e
xor byte [rbp + 0x61], 0x32
xor byte [rbp + 0x62], 0x33
xor byte [rbp + 0x63], 0x34
xor al, 0x35
mov byte [rbp + 0x64], al
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18001a710
lea rdx, [rbp + 0x60]
mov rcx, r12
call fcn.1800437d0
xor bl, bl
mov rcx, qword [rsp + 0x50]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rdx + 0x50], rax
mov rcx, qword [rsp + 0x50]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xb0]
mov dword [rsp + rdx + 0x4c], r8d
lea rcx, [rsp + 0x60]
call fcn.18003c5f0
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, bl
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.1800d0db0
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp + 0xc0]
call fcn.180018bd0
lea rdx, [0x180112d10]
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rbp + 0xc0]
call fcn.180018bd0
lea rdx, [0x180112d10]
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3