Function at 0x7ff645c9fd80
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 [0x7ff645d45080]
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 [0x7ff645d46b38], bl
jne 0x7ff645c9fe05
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rbx
lea r8d, [rbx + 0x52]
lea rdx, [0x7ff645cfa6d0]
lea rcx, [rbp - 0x60]
call fcn.7ff645bd2920
lea rcx, [rbp - 0x60]
call fcn.7ff645c9cb80
lea rcx, [rbp + 0x170]
call fcn.7ff645ca5cb0
nop
mov dword [rsp + 0x70], 0xf0eaf3bd
mov dword [rsp + 0x74], 0xc6c8d2fa
mov word [rsp + 0x78], 0x9e
mov byte [rsp + 0x7a], 1
mov dword [rsp + 0x50], 0xf3fcf2bd
mov dword [rsp + 0x54], 0x1009dfa
mov dword [rsp + 0x58], 0xedf8efbd
mov dword [rsp + 0x5c], 0xcccec9ec
mov dword [rsp + 0x60], 0x98c0ca
mov byte [rsp + 0x64], 1
mov dword [rsp + 0x68], 0xf7eaf4bd
mov dword [rsp + 0x6c], 0x1009dfb
mov dword [rsp + 0x48], 0xedfcecbd
mov dword [rsp + 0x4c], 0x1009dec
mov dword [rbp - 0x80], 0xfbeee9bd
mov dword [rbp - 0x7c], 0xcfc0ceed
mov dword [rbp - 0x78], 0x10099c6
mov dword [rbp - 0x70], 0xfbede5ef
mov dword [rbp - 0x6c], 0xc5cecca2
mov dword [rbp - 0x68], 0x100caca
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.7ff645c9b7b0
nop
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x7ff645c9fec6
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, rax
call fcn.7ff645bd5a30
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.7ff645c9b510
nop
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x7ff645c9ff15
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
mov rcx, rax
call fcn.7ff645bd5a30
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.7ff645c9b510
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.7ff645bd5a30
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.7ff645c9b8d0
nop
lea rdx, [rdi + 0x238]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff645c9ffd3
mov rdx, qword [rdx]
mov rcx, rax
call fcn.7ff645bd5a30
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.7ff645c9b510
nop
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x7ff645ca0019
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.7ff645bd5a30
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.7ff645c9b6d0
nop
lea rdx, [rdi + 0x20]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff645ca0068
mov rdx, qword [rdx]
mov rcx, rax
call fcn.7ff645bd5a30
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 0x7ff645ca00ae
inc r8
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 8]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov r8, qword [rbp - 0x48]
cmp r8, 0x10
jb 0x7ff645ca00da
inc r8
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x60]
call fcn.7ff645bd6020
nop
mov r8, qword [rbp + 0x40]
cmp r8, 0x10
jb 0x7ff645ca00f4
inc r8
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x28]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
mov r8, qword [rbp + 0x60]
cmp r8, 0x10
jb 0x7ff645ca0120
inc r8
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp + 0x48]
call fcn.7ff645bd6020
nop
mov r8, qword [rbp + 0x80]
cmp r8, 0x10
jb 0x7ff645ca013d
inc r8
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x68]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0x78], xmm0
mov byte [rbp + 0x68], 0
mov r8, qword [rbp + 0xa0]
cmp r8, 0x10
jb 0x7ff645ca0172
inc r8
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x88]
call fcn.7ff645bd6020
nop
mov r8, qword [rbp + 0xc0]
cmp r8, 0x10
jb 0x7ff645ca0195
inc r8
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0xa8]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
mov r8, qword [rbp + 0xe0]
cmp r8, 0x10
jb 0x7ff645ca01d0
inc r8
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0xc8]
call fcn.7ff645bd6020
nop
mov r8, qword [rbp + 0x100]
cmp r8, 0x10
jb 0x7ff645ca01f3
inc r8
mov rdx, qword [rbp + 0xe8]
lea rcx, [rbp + 0xe8]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
mov r8, qword [rbp]
cmp r8, 0x10
jb 0x7ff645ca0225
inc r8
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x18]
call fcn.7ff645bd6020
nop
mov r8, qword [rbp - 0x28]
cmp r8, 0x10
jb 0x7ff645ca023f
inc r8
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.7ff645bd6020
movdqa xmm0, xmmword [0x7ff645d27f80]
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.7ff645bd5b90
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 0x7ff645ca0bfd
mov qword [rbp - 0x48], 0xf
cmp rsi, 0x10
jae 0x7ff645ca02ca
mov qword [rbp - 0x50], rsi
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x60], xmm0
jmp 0x7ff645ca031c
mov rax, rsi
or rax, 0xf
cmp rax, rbx
ja 0x7ff645ca02e5
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.7ff645bd5cb0
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_1
nop
mov r8, r15
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x150]
call fcn.7ff645ca0f80
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.7ff645c34720
nop
mov dword [rsp + 0x30], 0xedeef9f6
mov dword [rsp + 0x34], 0xc4c7fe
mov byte [rsp + 0x38], 1
mov ecx, esi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 7
jb 0x7ff645ca0380
mov byte [rsp + 0x38], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x37]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.7ff645c23bd0
nop
mov rbx, qword [rsp + 0x30]
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff645ca03da
mov byte [rbp + 0x140], 1
call fcn.7ff645c1f920
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff645ca03e1
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff645ca03f5
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff645c3af10
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
movdqa xmm1, xmmword [0x7ff645d27f80]
movdqu xmmword [rbp + 0x1a0], xmm1
mov byte [rbp + 0x190], 0
mov dword [rsp + 0x48], 0xfd60
cmp byte [rbx], 3
jne 0x7ff645ca0435
mov rdx, qword [rbx + 8]
lea rax, [rbp + 0x190]
cmp rax, rdx
je 0x7ff645ca0453
jmp 0x7ff645ca0438
mov rdx, rsi
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x7ff645ca0446
mov rdx, qword [rdx]
lea rcx, [rbp + 0x190]
call fcn.7ff645c2b350
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff645ca0491
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca048c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca048c
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
movdqa xmm0, xmmword [0x7ff645d27f80]
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, [0x7ff645d24860]
mov qword [rbp + 0x1f0], rax
lea rax, [0x7ff645d246d0]
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, [0x7ff645cfa5e8]
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, [0x7ff645cfa568]
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.7ff645cf1368
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 0x7ff645ca05bc
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.7ff645ca6120
mov rsi, r14
cmp r14, r15
je 0x7ff645ca064b
movzx edi, byte [rsi]
lea rdx, [0x7ff645c2f8a0]
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 0x7ff645ca05e5
mov rdi, qword [rbp - 0x20]
lea rbx, [section._________1]
cmp qword [0x7ff645d45018], 0x10
cmovae rbx, qword [section._________1]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x1f0]
call fcn.7ff645ca12f0
cmp qword [rax + 0x18], 0x10
jb 0x7ff645ca0680
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 0x7ff645ca072e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0729
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0729
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
test ebx, ebx
je 0x7ff645ca0751
lea r8, [rbp + 0x190]
lea rdx, [0x7ff645cfa5f0]
lea rcx, [rbp - 0x40]
call fcn.7ff645c34540
mov rcx, rax
call fcn.7ff645c9cb80
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x58]
call fcn.7ff645c3af30
mov rdx, rax
mov rcx, rdi
call fcn.7ff645c9f800
mov dword [rsp + 0x30], 0xfdfee9e8
mov dword [rsp + 0x34], 0xd2d3fa
mov byte [rsp + 0x38], 1
xor esi, esi
mov ecx, esi
nop word [rax + rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 7
jb 0x7ff645ca0790
mov byte [rsp + 0x38], sil
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x37]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.7ff645c23bd0
nop
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff645ca07e5
mov byte [rbp + 0x140], 1
call fcn.7ff645c1f920
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff645ca07ec
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff645ca0802
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff645c3af10
mov rcx, rax
jmp 0x7ff645ca0807
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 0x7ff645ca0853
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca084e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca084e
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
test bl, bl
je 0x7ff645ca093c
mov dword [rsp + 0x48], 0xf1fbf2f2
mov word [rsp + 0x4c], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 4
jb 0x7ff645ca0870
mov byte [rsp + 0x4d], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x40]
call fcn.7ff645c23bd0
nop
movzx ecx, byte [rbp + 0x140]
test cl, cl
jne 0x7ff645ca08c5
mov byte [rbp + 0x140], 1
call fcn.7ff645c1f920
mov qword [rbp + 0x148], rax
movzx ecx, byte [rbp + 0x140]
jmp 0x7ff645ca08cc
mov rax, qword [rbp + 0x148]
cmp cl, 1
jne 0x7ff645ca08df
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.7ff645c3af10
jmp 0x7ff645ca08e4
mov rax, qword [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.7ff645c3af30
mov rdx, rax
mov rcx, rdi
call fcn.7ff645c9f8b0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x7ff645ca093c
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0936
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0936
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
nop
test r14, r14
je 0x7ff645ca0975
sub r15, r14
cmp r15, 0x1000
jb 0x7ff645ca0969
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x7ff645ca0a0d
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.7ff645cf1240
nop
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea rax, [0x7ff645cfa5e8]
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.7ff645c46ed0
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 0x7ff645ca0a1a
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0a14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0a14
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff645cf1240
nop
movzx edx, byte [rbp + 0x140]
lea rcx, [rbp + 0x148]
call fcn.7ff645c33ea0
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x7ff645ca0a72
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0a6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0a6d
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
mov qword [rbp + 0x160], rsi
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], 0
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
jb 0x7ff645ca0ad1
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0acb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0acb
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x7ff645ca0b15
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff645ca0b10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff645ca0b10
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff645cf1240
mov qword [rbp + 0x180], rsi
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x7ff645ca0b6a
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x7ff645ca0b65
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff645ca0bef
mov rcx, r8
call fcn.7ff645cf1240
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x7ff645ca0bb4
inc rdx
mov rcx, qword [r13]
cmp rdx, 0x1000
jb 0x7ff645ca0baf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff645ca0bf6
mov rcx, r8
call fcn.7ff645cf1240
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], 0xf
mov byte [r13], 0
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.7ff645cf1220
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.7ff645bd28a0
int3