Function at 0x7ff698f97ca0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x300]
sub rsp, 0x400
mov rax, qword [0x7ff69902b080]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov r13, r8
mov r12, rdx
mov rdi, rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp + 0x130], rdx
mov qword [rbp + 0x138], r8
xor ebx, ebx
mov dword [rsp + 0x48], ebx
cmp byte [0x7ff699055908], bl
jne 0x7ff698f97d25
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rbx
lea r8d, [rbx + 0x52]
lea rdx, [0x7ff698ff05b0]
lea rcx, [rbp - 0x60]
call fcn.7ff698f3fda0
lea rcx, [rbp - 0x60]
call fcn.7ff698f95070
lea rcx, [rbp + 0x170]
call fcn.7ff698f9e530
nop
mov dword [rsp + 0x70], 0x130b145c
mov dword [rsp + 0x74], 0xe5e90d1b
mov word [rsp + 0x78], 0xbf
mov byte [rsp + 0x7a], 1
mov dword [rsp + 0x50], 0x101d155c
mov dword [rsp + 0x54], 0x100421b
mov dword [rsp + 0x58], 0xe19085c
mov dword [rsp + 0x5c], 0xefef160d
mov dword [rsp + 0x60], 0xb9e7eb
mov byte [rsp + 0x64], 1
mov dword [rsp + 0x68], 0x140b135c
mov dword [rsp + 0x6c], 0x100421a
mov dword [rsp + 0x48], 0xe1d0b5c
mov dword [rsp + 0x4c], 0x100420d
mov dword [rbp - 0x80], 0x180f0e5c
mov dword [rbp - 0x7c], 0xece1110c
mov dword [rbp - 0x78], 0x100bee7
mov dword [rbp - 0x70], 0x180c020e
mov dword [rbp - 0x6c], 0xe6ef1343
mov dword [rbp - 0x68], 0x100edeb
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.7ff698f93d90
nop
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x7ff698f97de6
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0xe8]
call fcn.7ff698f939d0
nop
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x7ff698f97e35
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0xa8]
call fcn.7ff698f939d0
nop
lea rdx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdx, qword [rbp + 0x170]
mov r8, qword [rbp + 0x180]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x98], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x68]
call fcn.7ff698f93eb0
nop
lea rdx, [rdi + 0x238]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff698f97ef3
mov rdx, qword [rdx]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x28]
call fcn.7ff698f939d0
nop
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x7ff698f97f39
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 8]
call fcn.7ff698f93cb0
nop
lea rdx, [rdi + 0x20]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff698f97f88
mov rdx, qword [rdx]
mov rcx, rax
call fcn.7ff698f3d460
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1b0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1c0], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, qword [rbp + 0x20]
cmp r8, 0x10
jb 0x7ff698f97fce
inc r8
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 8]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov r8, qword [rbp - 0x48]
cmp r8, 0x10
jb 0x7ff698f97ffa
inc r8
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x60]
call fcn.7ff698f3d4f0
nop
mov r8, qword [rbp + 0x40]
cmp r8, 0x10
jb 0x7ff698f98014
inc r8
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x28]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
mov r8, qword [rbp + 0x60]
cmp r8, 0x10
jb 0x7ff698f98040
inc r8
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp + 0x48]
call fcn.7ff698f3d4f0
nop
mov r8, qword [rbp + 0x80]
cmp r8, 0x10
jb 0x7ff698f9805d
inc r8
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x68]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0x78], xmm0
mov byte [rbp + 0x68], 0
mov r8, qword [rbp + 0xa0]
cmp r8, 0x10
jb 0x7ff698f98092
inc r8
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x88]
call fcn.7ff698f3d4f0
nop
mov r8, qword [rbp + 0xc0]
cmp r8, 0x10
jb 0x7ff698f980b5
inc r8
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0xa8]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
mov r8, qword [rbp + 0xe0]
cmp r8, 0x10
jb 0x7ff698f980f0
inc r8
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0xc8]
call fcn.7ff698f3d4f0
nop
mov r8, qword [rbp + 0x100]
cmp r8, 0x10
jb 0x7ff698f98113
inc r8
mov rdx, qword [rbp + 0xe8]
lea rcx, [rbp + 0xe8]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
mov r8, qword [rbp]
cmp r8, 0x10
jb 0x7ff698f98145
inc r8
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x18]
call fcn.7ff698f3d4f0
nop
mov r8, qword [rbp - 0x28]
cmp r8, 0x10
jb 0x7ff698f9815f
inc r8
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.7ff698f3d4f0
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
lea rax, [rbp - 0x18]
mov qword [rbp + 0x128], rax
lea rdx, [rdi + 0x80]
lea rcx, [rbp - 0x18]
call fcn.7ff698f4b2b0
mov r15, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rbx
lea r14, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae r14, qword [rbp + 0x1b0]
movabs rbx, 0x7fffffffffffffff
mov rsi, qword [rbp + 0x1c0]
cmp rsi, rbx
ja 0x7ff698f98b1d
mov qword [rbp - 0x48], 0xf
cmp rsi, 0x10
jae 0x7ff698f981ea
mov qword [rbp - 0x50], rsi
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x60], xmm0
jmp 0x7ff698f9823c
mov rax, rsi
or rax, 0xf
cmp rax, rbx
ja 0x7ff698f98205
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rbp - 0x60]
call fcn.7ff698f412f0
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rbx
lea r8, [rsi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
mov r8, r15
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x150]
call fcn.7ff698f98b30
nop
xor esi, esi
mov qword [rbp + 0x120], rsi
mov byte [rsp + 0x20], sil
mov r9b, 1
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x140]
call fcn.7ff698f94320
nop
mov dword [rsp + 0x30], 0xe0f1e17
mov dword [rsp + 0x34], 0xe5181f
mov byte [rsp + 0x38], 1
mov ecx, esi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x7a]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 7
jb 0x7ff698f982a0
mov byte [rsp + 0x38], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x37]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.7ff698f65530
nop
mov rbx, qword [rsp + 0x30]
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff698f982fa
mov byte [rbp + 0x140], 1
call fcn.7ff698f5fe20
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff698f98301
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff698f98315
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff698f5edc0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
movdqa xmm1, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp + 0x1a0], xmm1
mov byte [rbp + 0x190], 0
mov dword [rsp + 0x48], 0xfd60
cmp byte [rbx], 3
jne 0x7ff698f98355
mov rdx, qword [rbx + 8]
lea rax, [rbp + 0x190]
cmp rax, rdx
je 0x7ff698f98373
jmp 0x7ff698f98358
mov rdx, rsi
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff698f98366
mov rdx, qword [rdx]
lea rcx, [rbp + 0x190]
call fcn.7ff698f3d3f0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff698f983b1
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f983ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f983ac
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
movdqa xmm0, xmmword [0x7ff6990158b0]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x1f0]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x7ff6990148f8]
mov qword [rbp + 0x1f0], rax
lea rax, [0x7ff699012fd0]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x288]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x48], 0xfee0
xor r8d, r8d
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.msvcp140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea rax, [0x7ff698ff04b8]
mov qword [rbp + rcx + 0x1f0], rax
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x1ec], edx
lea rcx, [rbp + 0x208]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, [0x7ff698ff0438]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x270], rsi
mov dword [rbp + 0x278], esi
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov ecx, 0x20
call fcn.7ff698fe9c9c
mov r14, rax
mov qword [rbp + 0x1d0], rax
lea r15, [rax + 0x20]
mov qword [rbp + 0x1e0], r15
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rbp + 0x1d8], r15
lea r8, [rbp + 0x150]
cmp qword [rbp + 0x168], 0x10
cmovae r8, qword [rbp + 0x150]
lea rcx, [rdi + 0x258]
cmp qword [rcx + 0x18], 0x10
jb 0x7ff698f984dc
mov rcx, qword [rcx]
mov qword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], r14
mov r9, qword [rbp + 0x160]
mov rdx, qword [rdi + 0x268]
call fcn.7ff698f9e9a0
mov rsi, r14
cmp r14, r15
je 0x7ff698f9856b
movzx edi, byte [rsi]
lea rdx, [0x7ff698f41410]
lea rcx, [rbp + 0x200]
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_ios_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ios_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0x30
call qword [sym.imp.msvcp140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::fill_char____ptr64]
mov edx, 2
lea rcx, [rsp + 0x58]
call sub.msvcp140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
mov edx, edi
mov rcx, rbx
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___int____ptr64]
inc rsi
cmp rsi, r15
jne 0x7ff698f98505
mov rdi, qword [rbp - 0x20]
lea rbx, [section._________1]
cmp qword [0x7ff69902b018], 0x10
cmovae rbx, qword [section._________1]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x1f0]
call fcn.7ff698f98ea0
cmp qword [rax + 0x18], 0x10
jb 0x7ff698f985a0
mov rax, qword [rax]
nop dword [rax]
movd xmm2, dword [rax]
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
psrad xmm2, 0x18
movd xmm0, dword [rbx]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
pxor xmm2, xmm0
movd xmm1, dword [rax + 4]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movd xmm0, dword [rbx + 4]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
pxor xmm1, xmm0
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd ebx, xmm2
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff698f9864e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f98649
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f98649
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
test ebx, ebx
je 0x7ff698f98671
lea r8, [rbp + 0x190]
lea rdx, [0x7ff698ff04c0]
lea rcx, [rbp - 0x40]
call fcn.7ff698f5f450
mov rcx, rax
call fcn.7ff698f95070
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x58]
call fcn.7ff698f6aaa0
mov rdx, rax
mov rcx, rdi
call fcn.7ff698f96ec0
mov dword [rsp + 0x30], 0x1e1f0e09
mov dword [rsp + 0x34], 0xf30c1b
mov byte [rsp + 0x38], 1
xor esi, esi
mov ecx, esi
nop word [rax + rax]
lea eax, [rcx + 0x7a]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 7
jb 0x7ff698f986b0
mov byte [rsp + 0x38], sil
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x37]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.7ff698f65530
nop
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff698f98705
mov byte [rbp + 0x140], 1
call fcn.7ff698f5fe20
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff698f9870c
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff698f98722
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff698f5edc0
mov rcx, rax
jmp 0x7ff698f98727
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 8]
cmp byte [rcx], 4
cmovne rax, rsi
movzx ebx, byte [rax]
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff698f98773
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f9876e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f9876e
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
test bl, bl
je 0x7ff698f9885c
mov dword [rsp + 0x48], 0x121a1513
mov word [rsp + 0x4c], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx + 0x7a]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 4
jb 0x7ff698f98790
mov byte [rsp + 0x4d], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x40]
call fcn.7ff698f65530
nop
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff698f987e5
mov byte [rbp + 0x140], 1
call fcn.7ff698f5fe20
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff698f987ec
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff698f987ff
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff698f5edc0
jmp 0x7ff698f98804
mov rax, qword [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.7ff698f6aaa0
mov rdx, rax
mov rcx, rdi
call fcn.7ff698f96f70
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff698f9885c
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f98856
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f98856
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
nop
test r14, r14
je 0x7ff698f98895
sub r15, r14
cmp r15, 0x1000
jb 0x7ff698f98889
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x7ff698f9892d
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.7ff698fe9f20
nop
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea rax, [0x7ff698ff04b8]
mov qword [rbp + rcx + 0x1f0], rax
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x1ec], edx
lea rcx, [rbp + 0x208]
call fcn.7ff698f5e220
lea rcx, [rbp + 0x210]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x288]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x7ff698f9893a
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f98934
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f98934
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff698fe9f20
nop
movzx edx, byte [rbp + 0x140]
lea rcx, [rbp + 0x148]
call fcn.7ff698f5e950
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x7ff698f98992
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f9898d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f9898d
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
mov qword [rbp + 0x160], rsi
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], 0
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
jb 0x7ff698f989f1
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f989eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f989eb
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x7ff698f98a35
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698f98a30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698f98a30
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698fe9f20
mov qword [rbp + 0x180], rsi
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x7ff698f98a8a
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x7ff698f98a85
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff698f98b0f
mov rcx, r8
call fcn.7ff698fe9f20
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x7ff698f98ad4
inc rdx
mov rcx, qword [r13]
cmp rdx, 0x1000
jb 0x7ff698f98acf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff698f98b16
mov rcx, r8
call fcn.7ff698fe9f20
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], 0xf
mov byte [r13], 0
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.7ff698fe98c0
mov rbx, qword [rsp + 0x458]
add rsp, 0x400
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff698f30240
int3