Function at 0x18005dea0
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 + 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.18005bb00
nop
cmp qword [rbp + 0x70], rdi
je 0x18005e3a9
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.18005f7f0
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 0x18005e346
mov rax, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18005df7b
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.18005f510
cmp rax, 0xffffffffffffffff
je 0x18005df2a
movzx eax, word [0x18006d050]
mov word [rsp + 0x30], ax
cmp byte [0x18006d051], 0
je 0x18005dfd0
mov byte [rsp + 0x30], 0x5b
xor byte [rsp + 0x31], 0x34
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18005dfe0
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.18005f510
mov r13, rax
movzx ecx, word [0x18006cee8]
mov word [rsp + 0x30], cx
cmp byte [0x18006cee9], 0
je 0x18005e02b
mov byte [rsp + 0x30], 0x5d
xor byte [rsp + 0x31], 0x34
lea rax, [rsp + 0x30]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x18005e037
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.18005f510
cmp r13, 0xffffffffffffffff
je 0x18005df2a
cmp rax, 0xffffffffffffffff
je 0x18005df2a
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 0x18005e61e
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.180051ab0
nop
mov rsi, rdi
mov r14, rdi
movzx eax, word [0x18006cfc0]
mov word [rsp + 0x30], ax
cmp byte [0x18006cfc1], 0
je 0x18005e0df
mov byte [rsp + 0x30], 0x2c
xor byte [rsp + 0x31], 0x34
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18005e0f0
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
setae r13b
mov r12, qword [rbp - 0x40]
cmovae rcx, r12
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8, rsi
mov rbx, qword [rbp - 0x30]
mov rdx, rbx
call fcn.18005f510
mov r15, rax
xorps xmm0, xmm0
cmp rax, 0xffffffffffffffff
je 0x18005e209
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
cmp rbx, rsi
jb 0x18005e624
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 + 0x40]
call fcn.180051ab0
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rbx, qword [rsp + 0x40]
mov dword [rax], edi
mov r8d, 0xa
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x80]
je 0x18005e32b
cmp dword [rsi], 0x22
je 0x18005e31d
mov rcx, qword [rsp + 0x38]
mov dword [rcx + r14*4], eax
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18005e200
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e1fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e316
call fcn.180061ec0
lea rsi, [r15 + 1]
jmp 0x18005e2d0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
cmp rbx, rsi
jb 0x18005e618
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 + 0x60]
call fcn.180051ab0
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r15, rax
lea rbx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rbx, qword [rsp + 0x60]
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 0x18005e391
cmp dword [r15], 0x22
je 0x18005e383
mov rcx, qword [rsp + 0x38]
mov dword [rcx + r14*4], eax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18005e2d0
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e2cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e339
call fcn.180061ec0
inc r14
cmp r14, 9
jb 0x18005e0c0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005e346
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e340
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005e340
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
call fcn.180061ec0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18005e599
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e39f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005e39f
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.180061ec0
jmp 0x18005e599
movups xmm0, xmmword [str.uUZR_]
movups xmmword [rbp - 0x60], xmm0
mov eax, dword [0x18006cf00]
mov dword [rbp - 0x50], eax
movzx eax, byte [0x18006cf04]
mov byte [rbp - 0x4c], al
cmp dword [0x180079018], 2
jl 0x18005e51b
movdqa xmm5, xmmword [0x18006d3c0]
movdqa xmm4, xmmword [0x18006d550]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [0x18006d400]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [0x18006d430]
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 [0x18006d410]
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 [0x18006d410]
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 0x18005e413
cmp eax, 0x15
jge 0x18005e55f
movsxd rax, edi
lea r8, [rbp - 0x60]
add r8, rax
nop word [rax + rax]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x38
movzx eax, dil
sub al, dl
add al, 0x33
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x15
jl 0x18005e530
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.18000a130
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x18005e57d
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.18005f630
lea rdx, [0x18005cf20]
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.18005c7f0
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.180061a00
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.180050f30
nop
call fcn.180050f30
nop
call fcn.180050f30
int3