Function at 0x18005c9d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x230
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x180079010]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rbx, r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov rsi, rcx
xor edi, edi
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memset
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.18005acc0
nop
cmp qword [rbp + 0x70], rdi
je 0x18005cef9
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], dil
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
mov dl, 0xa
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x20]
call fcn.18005f280
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x18005ceb2
mov rax, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18005cab0
mov r9, qword [rsi]
lea rcx, [rbp - 0x60]
mov r15, qword [rbp - 0x48]
cmp r15, 0x10
setae r12b
mov r14, qword [rbp - 0x60]
cmovae rcx, r14
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rbx, qword [rbp - 0x50]
mov rdx, rbx
call fcn.18005efa0
cmp rax, 0xffffffffffffffff
je 0x18005ca5f
movzx eax, word [0x18006ce80]
mov word [rsp + 0x30], ax
cmp byte [0x18006ce81], 0
je 0x18005cb05
mov byte [rsp + 0x30], 0x5b
xor byte [rsp + 0x31], 0x31
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18005cb11
lea rcx, [rbp - 0x60]
test r12b, r12b
cmovne rcx, r14
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, rbx
call fcn.18005efa0
mov r13, rax
movzx ecx, word [0x18006cdec]
mov word [rsp + 0x30], cx
cmp byte [0x18006cded], 0
je 0x18005cb5c
mov byte [rsp + 0x30], 0x5d
xor byte [rsp + 0x31], 0x31
lea rax, [rsp + 0x30]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x18005cb70
lea rcx, [rbp - 0x60]
test r12b, r12b
cmovne rcx, r14
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, rbx
call fcn.18005efa0
cmp r13, 0xffffffffffffffff
je 0x18005ca5f
cmp rax, 0xffffffffffffffff
je 0x18005ca5f
lea rcx, [r13 + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
cmp rbx, rcx
jb 0x18005d16e
sub rax, r13
lea r8, [rax - 1]
sub rbx, rcx
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp - 0x60]
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.180049d40
nop
mov rsi, rdi
mov r14, rdi
cmp qword [rsp + 0x40], rdi
jbe 0x18005ce2d
movzx eax, word [0x18006cf38]
mov word [rsp + 0x30], ax
cmp byte [0x18006cf39], 0
je 0x18005cc23
mov byte [rsp + 0x30], 0x2c
xor byte [rsp + 0x31], 0x31
lea rax, [rsp + 0x30]
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [rax + rdx], 0
jne 0x18005cc30
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
setae r13b
mov r12, qword [rbp - 0x40]
cmovae rcx, r12
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x30]
mov r8, rsi
mov rbx, qword [rbp - 0x30]
mov rdx, rbx
call fcn.18005efa0
mov r15, rax
xorps xmm0, xmm0
cmp rax, 0xffffffffffffffff
je 0x18005cd52
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
cmp rbx, rsi
jb 0x18005d174
mov r8, rax
sub r8, rsi
sub rbx, rsi
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp - 0x40]
test r13b, r13b
cmovne rdx, r12
add rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.180049d40
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
lea rbx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rbx, qword [rsp + 0x48]
mov dword [rax], edi
mov r8d, 0xa
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x78]
je 0x18005ce7b
cmp dword [rsi], 0x22
je 0x18005ce6d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov rax, qword [rsp + 0x38]
movss dword [rax + r14*4], xmm0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18005cd49
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005cd44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005ce66
call fcn.180061958
lea rsi, [r15 + 1]
jmp 0x18005ce1f
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
cmp rbx, rsi
jb 0x18005d168
sub rbx, rsi
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp - 0x40]
test r13b, r13b
cmovne rdx, r12
add rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.180049d40
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r15, rax
lea rbx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae rbx, qword [rsp + 0x68]
mov dword [rax], edi
mov r8d, 0xa
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x70]
je 0x18005ce9e
cmp dword [r15], 0x22
je 0x18005ce90
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov rax, qword [rsp + 0x38]
movss dword [rax + r14*4], xmm0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18005ce1f
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ce1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005ce89
call fcn.180061958
inc r14
cmp r14, qword [rsp + 0x40]
jb 0x18005cc04
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005ceb2
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ceac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005ceac
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
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call fcn.180061958
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18005d0e9
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ceef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005ceef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180061958
jmp 0x18005d0e9
movups xmm0, xmmword [str.vP__QQ]
movups xmmword [rbp - 0x60], xmm0
mov eax, dword [0x18006cde0]
mov dword [rbp - 0x50], eax
movzx eax, byte [0x18006cde4]
mov byte [rbp - 0x4c], al
cmp dword [0x180079018], 2
jl 0x18005d06b
movdqa xmm5, xmmword [0x18006d2b0]
movdqa xmm4, xmmword [0x18006d450]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [0x18006d2e0]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [str.00000000000000009999999999999999]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x5c]
mov edx, dword [rbp - 0x70]
movd xmm2, edi
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, 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 [0x18006d300]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 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, 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 [0x18006d300]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
mov eax, edi
lea rcx, [rcx + 8]
cmp edi, 0x10
jl 0x18005cf63
cmp eax, 0x15
jge 0x18005d0af
movsxd rax, edi
lea r8, [rbp - 0x60]
add r8, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x33
movzx eax, dil
sub al, dl
add al, 0x30
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x15
jl 0x18005d080
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.18005c7c0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x18005d0cd
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.18005f0c0
lea rdx, [0x18005c990]
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 [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x24], edx
lea rcx, [rbp - 0x10]
call fcn.18005b9b0
lea rcx, [rbp - 8]
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 + 0x90]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.180061490
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180050ba0
nop
call fcn.180050ba0
nop
call fcn.180050ba0
int3