Function at 0x140089fc0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x950
movaps xmmword [rsp + 0x940], xmm6
mov rdi, rcx
xor ebx, ebx
mov rdx, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x140089ff0
mov rdx, qword [rcx]
lea rcx, [rsp + 0x200]
call fcn.1400996b0
mov rax, qword [rsp + 0x200]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x200], r15
mov rax, qword [rsp + 0x200]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1fc], edx
cmp qword [rsp + 0x290], 0
je 0x14008a5ed
lea rax, [0x140105dc0]
mov qword [rsp + 0x310], rax
lea rcx, [rsp + 0x360]
call fcn.14005cc60
mov rcx, qword [rsp + 0x310]
movsxd rax, dword [rcx + 4]
lea rcx, vtable.jsoncons::basic_json_decode_options_char_.0
mov qword [rsp + rax + 0x310], rcx
mov byte [rsp + 0x318], 0
lea rax, vtable.std::_Func_impl_no_alloc_struct_jsoncons::default_json_parsing__bool__enum_jsoncons::json_errc__class_jsoncons::ser_context_const____ptr64_.0
mov qword [rsp + 0x320], rax
lea rax, [rsp + 0x320]
mov qword [rsp + 0x358], rax
lea r8, [rsp + 0x310]
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x90]
call fcn.1400992e0
nop
mov rcx, qword [rsp + 0x358]
test rcx, rcx
je 0x14008a0e5
mov rax, qword [rcx]
lea rdx, [rsp + 0x320]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rsp + 0x358], rbx
lea rcx, [rsp + 0x360]
call fcn.14004b3c0
lea rcx, [rsp + 0x210]
call fcn.14005d3a0
test rax, rax
jne 0x14008a128
mov rax, qword [rsp + 0x200]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x200]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rsi, str.Config
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
movzx edx, byte [rsp + 0x90]
mov ecx, edx
and ecx, 0xf
sub ecx, 0xa
je 0x14008a15a
cmp ecx, 1
jne 0x14008b0a2
jmp 0x14008a1b0
and dl, 0xf
cmp dl, 0xc
je 0x14008a16c
movzx eax, byte [rsp + 0x91]
jmp 0x14008a179
mov rcx, qword [rsp + 0x98]
call fcn.14005cf10
movzx r8d, al
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0x90]
cmp rcx, rax
je 0x14008a1a6
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, str.badges
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 6
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x90]
call fcn.14005e050
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.14005e050
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14009acc0
mov rcx, qword [0x1401a3538]
test rcx, rcx
je 0x14008a270
lea r8, [0x1401a3538]
mov rdx, qword [0x1401a3540]
call fcn.14005fa90
mov rcx, qword [0x1401a3538]
mov rdx, qword [0x1401a3548]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x14008a26b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14008a2dd
mov rcx, r8
call fcn.1400e0ed4
mov rax, qword [rsp + 0x70]
mov qword [0x1401a3538], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1401a3540], rax
mov rax, qword [rsp + 0x80]
mov qword [0x1401a3548], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0x70]
call fcn.14005d730
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
movzx edx, byte [rsp + 0x90]
mov ecx, edx
and ecx, 0xf
sub ecx, 0xa
je 0x14008a2e4
cmp ecx, 1
jne 0x14008b0dd
jmp 0x14008a33a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
and dl, 0xf
cmp dl, 0xc
je 0x14008a2f6
movzx eax, byte [rsp + 0x91]
jmp 0x14008a303
mov rcx, qword [rsp + 0x98]
call fcn.14005cf10
movzx r8d, al
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0x90]
cmp rcx, rax
je 0x14008a330
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, str.items
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 5
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x90]
call fcn.14005e050
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.14005e050
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14009acc0
mov rcx, qword [0x1401a3520]
test rcx, rcx
je 0x14008a3fa
lea r8, [0x1401a3520]
mov rdx, qword [0x1401a3528]
call fcn.14005fa90
mov rcx, qword [0x1401a3520]
mov rdx, qword [0x1401a3530]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x14008a3f5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14008a467
mov rcx, r8
call fcn.1400e0ed4
mov rax, qword [rsp + 0x70]
mov qword [0x1401a3520], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1401a3528], rax
mov rax, qword [rsp + 0x80]
mov qword [0x1401a3530], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0x70]
call fcn.14005d730
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
movzx edx, byte [rsp + 0x90]
mov ecx, edx
and ecx, 0xf
sub ecx, 0xa
je 0x14008a46e
cmp ecx, 1
jne 0x14008b118
jmp 0x14008a4c4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
and dl, 0xf
cmp dl, 0xc
je 0x14008a480
movzx eax, byte [rsp + 0x91]
jmp 0x14008a48d
mov rcx, qword [rsp + 0x98]
call fcn.14005cf10
movzx r8d, al
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0x90]
cmp rcx, rax
je 0x14008a4ba
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, str.gamepasses
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0xa
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x90]
call fcn.14005e050
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.14005e050
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14009acc0
mov rcx, qword [0x1401a3550]
test rcx, rcx
je 0x14008a584
lea r8, [0x1401a3550]
mov rdx, qword [0x1401a3558]
call fcn.14005fa90
mov rcx, qword [0x1401a3550]
mov rdx, qword [0x1401a3560]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x14008a57f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14008a5da
mov rcx, r8
call fcn.1400e0ed4
mov rax, qword [rsp + 0x70]
mov qword [0x1401a3550], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1401a3558], rax
mov rax, qword [rsp + 0x80]
mov qword [0x1401a3560], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0x70]
call fcn.14005d730
nop
lea rcx, [rsp + 0x90]
call fcn.14005d0c0
nop
jmp 0x14008b02e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
jmp 0x14008b02e
movups xmm0, xmmword [0x140107058]
movups xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [0x140107068]
movups xmmword [rsp + 0xc0], xmm1
movups xmm0, xmmword [0x140107078]
movups xmmword [rsp + 0xd0], xmm0
movzx eax, byte [0x140107088]
mov byte [rsp + 0xe0], al
mov ecx, ebx
mov r14d, dword [reloc.WS2_32.dll_accept]
cmp r14d, 2
jl 0x14008a77a
movdqa xmm5, xmmword [0x140107700]
movdqa xmm4, xmmword [0x140107840]
movdqa xmm6, xmmword [0x140107730]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0xb4]
mov r8d, dword [rsp + 0x30]
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
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 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
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x30
jl 0x14008a670
cmp ecx, 0x31
jge 0x14008a7be
movsxd rax, ecx
lea r8, [rsp + 0xb0]
add r8, rax
nop dword [rax + rax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x38
movzx eax, cl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x31
jl 0x14008a790
lea rdx, [rsp + 0xb0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14005e2e0
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14008a7df
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.14006fd90
lea rdx, [0x14005e4b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov al, 0xa
movzx ecx, al
mov word [rsp + 0xa0], 0xa
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rbx
lea rsi, str.Config
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
sub ecx, 0xa
je 0x14008a843
cmp ecx, 1
jne 0x14008b154
jmp 0x14008a879
xor r8d, r8d
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0xa0]
cmp rcx, rax
je 0x14008a86f
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea rax, str.badges
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 6
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.14009a6e0
nop
lea rcx, [rsp + 0xb0]
call fcn.14006e8c0
lea rcx, [rsp + 0xb8]
call fcn.14006eec0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
movzx edx, byte [rsp + 0xa0]
mov ecx, edx
and ecx, 0xf
sub ecx, 0xa
je 0x14008a922
cmp ecx, 1
jne 0x14008b190
jmp 0x14008a978
and dl, 0xf
cmp dl, 0xc
je 0x14008a934
movzx eax, byte [rsp + 0xa1]
jmp 0x14008a941
mov rcx, qword [rsp + 0xa8]
call fcn.14005cf10
movzx r8d, al
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0xa0]
cmp rcx, rax
je 0x14008a96e
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea rax, str.items
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 5
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.14009a6e0
nop
lea rcx, [rsp + 0xb0]
call fcn.14006e8c0
lea rcx, [rsp + 0xb8]
call fcn.14006eec0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 6
movzx edx, byte [rsp + 0xa0]
mov ecx, edx
and ecx, 0xf
sub ecx, 0xa
je 0x14008aa21
cmp ecx, 1
jne 0x14008b1cc
jmp 0x14008aa77
and dl, 0xf
cmp dl, 0xc
je 0x14008aa33
movzx eax, byte [rsp + 0xa1]
jmp 0x14008aa40
mov rcx, qword [rsp + 0xa8]
call fcn.14005cf10
movzx r8d, al
lea rcx, [rsp + 0x30]
call fcn.140062d40
nop
lea rcx, [rsp + 0xa0]
cmp rcx, rax
je 0x14008aa6d
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1400653d0
nop
lea rcx, [rsp + 0x30]
call fcn.14005d0c0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea rax, str.gamepasses
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0xa
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.14009a6e0
nop
lea rcx, [rsp + 0xb0]
call fcn.14006e8c0
lea rcx, [rsp + 0xb8]
call fcn.14006eec0
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14008aaee
mov rdx, qword [rdi]
mov r8d, 2
lea rcx, [rsp + 0xf0]
call fcn.1400995a0
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xf0], rsi
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0xec], edx
cmp qword [rsp + 0x178], 0
je 0x14008adcf
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x7b0], rax
lea rcx, [rsp + 0x7b8]
call fcn.1400607e0
mov byte [rsp + 0x938], 1
mov dword [rsp + 0x30], ebx
lea rax, [0x14011f138]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9b, 1
lea r8, [rsp + 0x7b8]
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0x7b0]
call fcn.1400629f0
cmp dword [rsp + 0x30], 0
jne 0x14008b208
lea rcx, [rsp + 0x7b8]
call fcn.140060730
lea rcx, [rsp + 0xf8]
call fcn.14005d3a0
test rax, rax
jne 0x14008abf1
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xf0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
movups xmm0, xmmword [str.qSQYLVO]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x140106ee0]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x140106ee8]
mov dword [rsp + 0x68], eax
movzx eax, word [0x140106eec]
mov word [rsp + 0x6c], ax
cmp byte [0x140106eed], 0
je 0x14008adbe
cmp r14d, 2
jl 0x14008ad7a
movdqa xmm5, xmmword [0x140107700]
movdqa xmm4, xmmword [0x140107840]
movdqa xmm6, xmmword [0x140107730]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x30]
nop word [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
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], 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
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x18
jl 0x14008ac70
cmp eax, 0x1e
jge 0x14008adbe
movsxd rax, ebx
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x38
movzx eax, bl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x1e
jl 0x14008ad90
lea rdx, [rsp + 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x14008af9a
movups xmm0, xmmword [str.sWTeHR]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x140107390]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x140107398]
mov dword [rsp + 0x68], eax
movzx eax, word [0x14010739c]
mov word [rsp + 0x6c], ax
movzx eax, byte [0x14010739e]
mov byte [rsp + 0x6e], al
cmp r14d, 2
jl 0x14008af4d
movdqa xmm5, xmmword [0x140107700]
movdqa xmm4, xmmword [0x140107840]
movdqa xmm6, xmmword [0x140107730]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x30]
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
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], 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
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140107740]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x18
jl 0x14008ae43
cmp eax, 0x1f
jge 0x14008af8e
movsxd rax, ebx
lea r8, [rsp + 0x50]
add r8, rax
nop dword [rax + rax]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x38
movzx eax, bl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x1f
jl 0x14008af60
lea rdx, [rsp + 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14005e2e0
cmp qword [rdi + 0x18], 0xf
mov r8, qword [rdi + 0x10]
jbe 0x14008afad
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.14006fd90
lea rdx, [0x14005e4b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0xf0], rsi
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0xec], edx
lea rcx, [rsp + 0xf8]
call fcn.14005a700
lea rcx, [rsp + 0x100]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x198]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0xa0]
call fcn.14005d0c0
nop
mov rax, qword [rsp + 0x200]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x200], r15
mov rax, qword [rsp + 0x200]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1fc], edx
lea rcx, [rsp + 0x210]
call fcn.14005a700
lea rcx, [rsp + 0x218]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea r11, [rsp + 0x950]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x4a0]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x4a0]
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x510]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x510]
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x580]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x580]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x5f0]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x5f0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x660]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x660]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x30]
call fcn.14005dac0
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.140049110
mov rdx, rax
lea rcx, [rsp + 0x6d0]
call fcn.14005f5b0
lea rdx, [0x14011a950]
lea rcx, [rsp + 0x6d0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x740]
call fcn.1400497d0
lea rdx, [0x14011aa38]
lea rcx, [rsp + 0x740]
call sub.VCRUNTIME140.dll__CxxThrowException
int3