Function at 0x18005d6f0
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.18005bb00
nop
cmp qword [rbp + 0x70], rdi
je 0x18005dc1d
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 0x18005dbd6
mov rax, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18005d7d0
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 0x18005d77f
movzx eax, word [0x18006d050]
mov word [rsp + 0x30], ax
cmp byte [0x18006d051], 0
je 0x18005d825
mov byte [rsp + 0x30], 0x5b
xor byte [rsp + 0x31], 0x34
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18005d831
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 0x18005d87c
mov byte [rsp + 0x30], 0x5d
xor byte [rsp + 0x31], 0x34
lea rax, [rsp + 0x30]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x18005d890
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 0x18005d77f
cmp rax, 0xffffffffffffffff
je 0x18005d77f
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 0x18005de90
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
cmp qword [rsp + 0x40], rdi
jbe 0x18005db51
mov r14, qword [rsp + 0x38]
nop word [rax + rax]
movzx eax, word [0x18006cfc0]
mov word [rsp + 0x30], ax
cmp byte [0x18006cfc1], 0
je 0x18005d94f
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 0x18005d960
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 0x18005da78
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
cmp rbx, rsi
jb 0x18005de96
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.180051ab0
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 0x18005db9f
cmp dword [rsi], 0x22
je 0x18005db91
test eax, eax
setne al
mov byte [r14], al
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18005da6f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005da6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005db8a
call fcn.180061ec0
lea rsi, [r15 + 1]
jmp 0x18005db3b
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
cmp rbx, rsi
jb 0x18005de8a
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.180051ab0
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 0x18005dbc2
cmp dword [r15], 0x22
je 0x18005dbb4
test eax, eax
setne al
mov byte [r14], al
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18005db3b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005db36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005dbad
call fcn.180061ec0
inc r14
mov rax, r14
sub rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x40]
jb 0x18005d930
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005dbd6
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dbd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005dbd0
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.180061ec0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18005de0b
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dc13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005dc13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180061ec0
jmp 0x18005de0b
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 0x18005dd98
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]
nop word [rax + rax]
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 0x18005dc90
cmp eax, 0x15
jge 0x18005ddd1
movsxd rax, edi
lea r8, [rbp - 0x60]
add r8, 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 0x18005dda2
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 0x18005ddef
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