Function at 0x18005d930
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.18005acc0
nop
cmp qword [rbp + 0x70], rdi
je 0x18005de39
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 0x18005ddd6
mov rax, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18005da0b
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 0x18005d9ba
movzx eax, word [0x18006ce80]
mov word [rsp + 0x30], ax
cmp byte [0x18006ce81], 0
je 0x18005da60
mov byte [rsp + 0x30], 0x5b
xor byte [rsp + 0x31], 0x31
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18005da70
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 0x18005dabb
mov byte [rsp + 0x30], 0x5d
xor byte [rsp + 0x31], 0x31
lea rax, [rsp + 0x30]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x18005dac7
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 0x18005d9ba
cmp rax, 0xffffffffffffffff
je 0x18005d9ba
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 0x18005e0ae
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
movzx eax, word [0x18006cf38]
mov word [rsp + 0x30], ax
cmp byte [0x18006cf39], 0
je 0x18005db6f
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 0x18005db80
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 0x18005dc99
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
cmp rbx, rsi
jb 0x18005e0b4
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.180049d40
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 0x18005ddbb
cmp dword [rsi], 0x22
je 0x18005ddad
mov rcx, qword [rsp + 0x38]
mov dword [rcx + r14*4], eax
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18005dc90
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dc8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005dda6
call fcn.180061958
lea rsi, [r15 + 1]
jmp 0x18005dd60
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
cmp rbx, rsi
jb 0x18005e0a8
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.180049d40
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 0x18005de21
cmp dword [r15], 0x22
je 0x18005de13
mov rcx, qword [rsp + 0x38]
mov dword [rcx + r14*4], eax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18005dd60
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dd5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005ddc9
call fcn.180061958
inc r14
cmp r14, 9
jb 0x18005db50
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005ddd6
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ddd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005ddd0
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.180061958
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18005e029
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005de2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005de2f
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
jmp 0x18005e029
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 0x18005dfab
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 0x18005dea3
cmp eax, 0x15
jge 0x18005dfef
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 0x18005dfc0
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 0x18005e00d
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