Function at 0x18005d180
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 0x18005d6ad
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 0x18005d666
mov rax, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18005d260
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 0x18005d20f
movzx eax, word [0x18006ce80]
mov word [rsp + 0x30], ax
cmp byte [0x18006ce81], 0
je 0x18005d2b5
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 0x18005d2c1
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 0x18005d30c
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 0x18005d320
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 0x18005d20f
cmp rax, 0xffffffffffffffff
je 0x18005d20f
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 0x18005d920
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
cmp qword [rsp + 0x40], rdi
jbe 0x18005d5e1
mov r14, qword [rsp + 0x38]
nop word [rax + rax]
movzx eax, word [0x18006cf38]
mov word [rsp + 0x30], ax
cmp byte [0x18006cf39], 0
je 0x18005d3df
mov byte [rsp + 0x30], 0x2c
xor byte [rsp + 0x31], 0x31
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18005d3f0
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.18005efa0
mov r15, rax
xorps xmm0, xmm0
cmp rax, 0xffffffffffffffff
je 0x18005d508
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
cmp rbx, rsi
jb 0x18005d926
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 0x18005d62f
cmp dword [rsi], 0x22
je 0x18005d621
test eax, eax
setne al
mov byte [r14], al
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18005d4ff
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005d4fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005d61a
call fcn.180061958
lea rsi, [r15 + 1]
jmp 0x18005d5cb
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
cmp rbx, rsi
jb 0x18005d91a
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 0x18005d652
cmp dword [r15], 0x22
je 0x18005d644
test eax, eax
setne al
mov byte [r14], al
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18005d5cb
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005d5c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005d63d
call fcn.180061958
inc r14
mov rax, r14
sub rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x40]
jb 0x18005d3c0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005d666
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005d660
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005d660
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 0x18005d89b
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005d6a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005d6a3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180061958
jmp 0x18005d89b
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 0x18005d828
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]
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 [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 0x18005d720
cmp eax, 0x15
jge 0x18005d861
movsxd rax, edi
lea r8, [rbp - 0x60]
add r8, 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 0x18005d832
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 0x18005d87f
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