Function at 0x140006580
Capabilities:
Execute command

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x140022040]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov r12, rdx
mov r13, rcx
xor r14d, r14d
mov dword [rsp + 0x28], r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm1
mov ecx, 0x20
call fcn.1400162d0
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [0x14001e7b0]
movdqa xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x14001c7a0]
movups xmmword [rax], xmm1
mov byte [rax + 0x10], r14b
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x60], xmm1
mov ecx, 0x20
call fcn.1400162d0
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [0x14001e7d0]
movdqa xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x14001c7b8]
movups xmmword [rax], xmm1
movzx ecx, word [0x14001c7c8]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], r14b
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x14001e790]
movdqa xmmword [rbp - 0x80], xmm1
movsd xmm0, qword [0x14001c7d0]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x14001c7d8]
mov dword [rsp + 0x78], eax
movzx eax, word [0x14001c7dc]
mov word [rsp + 0x7c], ax
mov byte [rsp + 0x7e], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x14001e780]
movdqa xmmword [rbp - 0x60], xmm1
movsd xmm0, qword [0x14001c7e0]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x14001c7e8]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x14001c7ec]
mov byte [rbp - 0x64], al
mov byte [rbp - 0x63], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x40], xmm1
mov ecx, 0x20
call fcn.1400162d0
mov qword [rbp - 0x50], rax
movdqa xmm0, xmmword [0x14001e7d0]
movdqa xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [0x14001c7f0]
movups xmmword [rax], xmm1
movzx ecx, word [0x14001c800]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x14001e790]
movdqa xmmword [rbp - 0x20], xmm1
movsd xmm0, qword [0x14001c808]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [0x14001c810]
mov dword [rbp - 0x28], eax
movzx eax, word [0x14001c814]
mov word [rbp - 0x24], ax
mov byte [rbp - 0x22], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp], xmm1
mov ecx, 0x20
call fcn.1400162d0
mov qword [rbp - 0x10], rax
movdqa xmm0, xmmword [0x14001e7b0]
movdqa xmmword [rbp], xmm0
movups xmm1, xmmword [0x14001c818]
movups xmmword [rax], xmm1
mov byte [rax + 0x10], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
movdqa xmm1, xmmword [0x14001e7a0]
movdqa xmmword [rbp + 0x20], xmm1
movsd xmm0, qword [0x14001c830]
movsd qword [rbp + 0x10], xmm0
mov eax, dword [0x14001c838]
mov dword [rbp + 0x18], eax
movzx eax, word [0x14001c83c]
mov word [rbp + 0x1c], ax
movzx eax, byte [0x14001c83e]
mov byte [rbp + 0x1e], al
mov byte [rbp + 0x1f], r14b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r14
mov ecx, 0x100
call fcn.1400162d0
mov rbx, rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
lea rcx, [rax + 0x100]
mov qword [rbp + 0x60], rcx
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x30]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], rbx
lea rax, [rbp + 0x50]
mov qword [rbp + 0x40], rax
mov rdx, rdi
mov rcx, rbx
call fcn.140015190
add rbx, 0x20
mov qword [rbp + 0x38], rbx
add rdi, 0x20
lea rax, [rbp + 0x30]
cmp rdi, rax
jne 0x140006803
mov rdx, rbx
mov rcx, rbx
call fcn.140015c20
mov qword [rbp + 0x58], rbx
lea r9, [0x140015130]
mov edx, 0x20
mov r8d, 8
lea rcx, [rsp + 0x30]
call fcn.14001630c
call fcn.1400061b0
lea r15, [r13 + 0x20]
lea rdx, [0x1400222d8]
cmp r15, rdx
je 0x140006882
cmp qword [0x1400222f0], 0xf
cmova rdx, qword [0x1400222d8]
mov r8, qword [0x1400222e8]
mov rcx, r15
call fcn.140015570
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
cmp dword [0x1400220c0], 3
jg 0x140007a21
lea rsi, [r12 + 0x28]
nop dword [rax + rax]
mov dword [r13], r14d
mov dword [r12], r14d
mov dword [0x140022bb4], r14d
mov dword [0x140022b94], r14d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdq
idiv dword [0x1400220c4]
movsxd rbx, edx
shl rbx, 5
mov rax, qword [rbp + 0x50]
lea r8, [rax + rbx]
cmp rsi, r8
je 0x140006904
mov rdx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x1400068f4
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rsi
call fcn.140015570
mov rax, qword [rbp + 0x50]
add rbx, rax
mov r14, qword [rbp + 0x58]
lea rdi, [rbx + 0x20]
cmp rdi, r14
je 0x140006990
cmp rbx, rdi
je 0x14000697f
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140006953
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000694e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140007a75
mov rcx, r8
call fcn.14001661c
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0xf
mov byte [rdi], al
add rbx, 0x20
add rdi, 0x20
cmp rdi, r14
jne 0x140006914
mov r14, qword [rbp + 0x58]
mov rdx, qword [r14 - 8]
cmp rdx, 0xf
jbe 0x1400069cb
mov rcx, qword [r14 - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x1400069c6
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140007a75
mov rcx, r8
call fcn.14001661c
xor ebx, ebx
mov qword [r14 - 0x10], rbx
mov qword [r14 - 8], 0xf
mov byte [r14 - 0x20], bl
sub qword [rbp + 0x58], 0x20
dec dword [0x1400220c4]
mov ecx, dword [0x1400220c0]
sub ecx, 1
je 0x140006c93
sub ecx, 1
je 0x140006b0d
cmp ecx, 1
jne 0x140006e0e
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [r13 + 0x10]
call fcn.140013470
lea rdi, [0x140022c60]
mov rdx, rdi
cmp qword [0x140022c78], 0xf
cmova rdx, qword [0x140022c60]
mov r8, qword [0x140022c70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022c78], 0xf
cmova r14, qword [0x140022c60]
mov rdi, qword [0x140022c70]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b25
cmp rdi, 0xf
jbe 0x140006b92
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140006ab1
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140006ae8
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140006ace
xor eax, eax
jmp 0x140006c21
cmp rcx, 0x1000
jb 0x140006c1c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b1f
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a7c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006c21
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [r13 + 0x10]
call fcn.1400125d0
lea rdi, [0x140022c40]
mov rdx, rdi
cmp qword [0x140022c58], 0xf
cmova rdx, qword [0x140022c40]
mov r8, qword [0x140022c50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022c58], 0xf
cmova r14, qword [0x140022c40]
mov rdi, qword [0x140022c50]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b31
cmp rdi, 0xf
ja 0x140006bab
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140006c3e
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140006bca
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140006bfa
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140006be4
xor eax, eax
jmp 0x140006c21
cmp rcx, 0x1000
jb 0x140006c1c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b2b
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a83
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006c21
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
lea rcx, [rbp + 0x30]
call fcn.140005d80
cmp qword [rsi + 0x18], 0xf
mov rdx, rsi
jbe 0x140006c54
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
lea rdx, [0x140015ad0]
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]
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
add dword [r12 + 0x10], 5
jmp 0x140006e0e
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [r13 + 0x10]
call fcn.140011580
lea rdi, [0x140023520]
mov rdx, rdi
cmp qword [0x140023538], 0xf
cmova rdx, qword [0x140023520]
mov r8, qword [0x140023530]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140023538], 0xf
cmova r14, qword [0x140023520]
mov rdi, qword [0x140023530]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b19
cmp rdi, 0xf
ja 0x140006d31
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140006dc4
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140006d50
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140006d80
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140006d6a
xor eax, eax
jmp 0x140006da7
cmp rcx, 0x1000
jb 0x140006da2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b37
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a8a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006da7
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
lea rcx, [rbp + 0x30]
call fcn.140005d80
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140006dda
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
lea rdx, [0x140015ad0]
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]
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
lea rdi, [0x140022d20]
mov rdx, rdi
cmp qword [0x140022d38], 0xf
cmova rdx, qword [0x140022d20]
mov r8, qword [0x140022d30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022d38], 0xf
cmova r14, qword [0x140022d20]
mov rdi, qword [0x140022d30]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b8b
cmp rdi, 0xf
ja 0x140006e96
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140006f27
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140006eb5
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140006ee5
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140006ecf
xor eax, eax
jmp 0x140006f0c
cmp rcx, 0x1000
jb 0x140006f07
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b3d
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a91
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006f0c
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x30]
call fcn.140005d80
lea rcx, [r13 + 0xc]
call fcn.140008420
mov ebx, dword [r13 + 0xc]
mov r8d, 8
call fcn.140014f70
cmp qword [0x1400221b8], 0
je 0x140006fa1
mov edx, ebx
lea rbx, [0x140022130]
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]
mov rcx, rax
lea rdx, [0x140015ad0]
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]
lea rcx, [0x140022138]
call fcn.1400154b0
test rax, rax
jne 0x140006fa1
mov rax, qword [0x140022130]
movsxd rcx, dword [rax + 4]
add rcx, rbx
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
xor ebx, ebx
mov ecx, ebx
cmp r8d, 0x32
setl cl
add ecx, 2
mov dword [r12 + 0xc], ecx
lea rdx, [0x14001c790]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015720
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
lea ecx, [r8 + 1]
mov dword [0x140022ba4], ecx
mov eax, ebx
cmp ecx, 0x28
setle al
inc eax
mov dword [0x140022ba0], eax
lea rdi, [0x140022d60]
mov r8, qword [0x140022d70]
mov rdx, rdi
cmp ecx, 0x28
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jle 0x140007191
cmp qword [0x140022d78], 0xf
cmova rdx, qword [0x140022d60]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022d78], 0xf
cmova r14, qword [0x140022d60]
mov rdi, qword [0x140022d70]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b49
cmp rdi, 0xf
ja 0x1400070c1
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140007154
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x1400070e0
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140007110
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1400070fa
xor eax, eax
jmp 0x140007137
cmp rcx, 0x1000
jb 0x140007132
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b43
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a98
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140007137
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
lea rcx, [rbp + 0x30]
call fcn.140005d80
mov rdx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x14000716a
mov rdx, qword [r15]
mov r8, qword [r15 + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
lea rdx, [0x14001c794]
mov rcx, rax
call fcn.140015720
mov rdx, r15
jmp 0x1400072cc
cmp qword [0x140022d78], 0xf
cmova rdx, qword [0x140022d60]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022d78], 0xf
cmova r14, qword [0x140022d60]
mov rdi, qword [0x140022d70]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b85
cmp rdi, 0xf
ja 0x140007201
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140007294
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140007220
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140007250
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x14000723a
xor eax, eax
jmp 0x140007277
cmp rcx, 0x1000
jb 0x140007272
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b4f
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007a9f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140007277
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
lea rcx, [rbp + 0x30]
call fcn.140005d80
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400072aa
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
lea rdx, [0x14001c794]
mov rcx, rax
call fcn.140015720
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
mov rdx, r12
mov rcx, r13
call fcn.14000f560
lea rdi, [0x140022cc0]
mov rdx, rdi
cmp qword [0x140022cd8], 0xf
cmova rdx, qword [0x140022cc0]
mov r8, qword [0x140022cd0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140022cd8], 0xf
cmova r14, qword [0x140022cc0]
mov rdi, qword [0x140022cd0]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b7f
cmp rdi, 0xf
ja 0x140007370
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140007403
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x14000738f
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400073bf
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1400073a9
xor eax, eax
jmp 0x1400073e6
cmp rcx, 0x1000
jb 0x1400073e1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b55
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007aa6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400073e6
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
lea rcx, [rbp + 0x30]
call fcn.140005d80
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, [0x140022d00]
cmp qword [0x140022d18], 0xf
cmova rdx, qword [0x140022d00]
mov r8, qword [0x140022d10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
lea rdx, [0x140022d00]
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
mov eax, ebx
cmp dword [0x140022ba0], 1
sete al
inc eax
mov dword [0x140022ba0], eax
mov dword [0x140022bb4], ebx
mov rdx, r12
mov rcx, r13
call fcn.14000f560
lea rdi, [0x140023140]
mov rdx, rdi
cmp qword [0x140023158], 0xf
cmova rdx, qword [0x140023140]
mov r8, qword [0x140023150]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
mov r14, rdi
cmp qword [0x140023158], 0xf
cmova r14, qword [0x140023140]
mov rdi, qword [0x140023150]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140007b79
cmp rdi, 0xf
ja 0x140007515
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x1400075a6
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140007534
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140007564
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x14000754e
xor eax, eax
jmp 0x14000758b
cmp rcx, 0x1000
jb 0x140007586
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b5b
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007aad
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000758b
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x30]
call fcn.140005d80
mov rdx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x1400075bc
mov rdx, qword [r15]
mov r8, qword [r15 + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
mov dl, 0x20
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015900
mov edx, dword [r13]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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]
mov ebx, dword [r13]
mov r8d, 8
call fcn.140014f70
lea r14, [0x140022130]
cmp qword [0x1400221b8], 0
je 0x14000766b
mov edx, ebx
mov rcx, r14
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]
mov rcx, rax
lea rdx, [0x140015ad0]
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]
lea rcx, [0x140022138]
call fcn.1400154b0
mov edi, 2
test rax, rax
jne 0x140007670
mov rax, qword [0x140022130]
movsxd rcx, dword [rax + 4]
add rcx, r14
xor r8d, r8d
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
jmp 0x140007670
mov edi, 2
mov dl, 0x20
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015900
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x14000768b
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
lea rdx, [0x14001a848]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015720
mov edx, dword [r12]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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]
mov rcx, rax
lea rdx, [0x14001c798]
call fcn.140015720
mov ebx, dword [r12]
mov r8d, 8
call fcn.140014f70
cmp qword [0x1400221b8], 0
je 0x140007740
mov edx, ebx
mov rcx, r14
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]
mov rcx, rax
lea rdx, [0x140015ad0]
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]
lea rcx, [0x140022138]
call fcn.1400154b0
test rax, rax
jne 0x140007740
mov rax, qword [0x140022130]
movsxd rcx, dword [rax + 4]
add rcx, r14
xor r8d, r8d
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov eax, dword [r13]
cmp eax, dword [r12]
jle 0x1400078a4
lea rbx, [0x140022d80]
mov rdx, rbx
cmp qword [0x140022d98], 0xf
cmova rdx, qword [0x140022d80]
mov r8, qword [0x140022d90]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov r14, rbx
cmp qword [0x140022d98], 0xf
cmova r14, qword [0x140022d80]
mov rdi, qword [0x140022d90]
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x140007b67
cmp rdi, 0xf
ja 0x1400077d8
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x140007865
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400077f7
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140007823
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
je 0x14000784a
cmp rcx, 0x1000
jb 0x140007845
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b61
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007ab4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000784a
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x30]
call fcn.140005d80
mov rdx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x14000787b
mov rdx, qword [r15]
mov r8, qword [r15 + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.140015190
mov rcx, rax
call fcn.140005d80
jmp 0x1400079d9
jl 0x140007ad9
cmp dword [rsp + 0x28], 2
je 0x140007ac2
lea rbx, [0x140023100]
mov rdx, rbx
cmp qword [0x140023118], 0xf
cmova rdx, qword [0x140023100]
mov r8, qword [0x140023110]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015eb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov r14, rbx
cmp qword [0x140023118], 0xf
cmova r14, qword [0x140023100]
mov rdi, qword [0x140023110]
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x140007b73
cmp rdi, 0xf
ja 0x14000793f
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x30], xmm0
jmp 0x1400079cc
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x14000795e
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14000798a
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
je 0x1400079b1
cmp rcx, 0x1000
jb 0x1400079ac
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007b6d
mov rcx, rax
call fcn.1400162d0
mov rcx, rax
test rax, rax
je 0x140007abb
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400079b1
call fcn.1400162d0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x30]
call fcn.140005d80
inc dword [rsp + 0x28]
lea rdx, [0x140015ad0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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]
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [0x14001c784]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [0x1400220c0]
inc eax
mov dword [0x1400220c0], eax
xor r14d, r14d
cmp eax, 3
jle 0x1400068b0
mov edi, r14d
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140007af0
mov rdx, qword [rbp + 0x58]
call fcn.140015c20
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x50]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007aeb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007aeb
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]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edi, 1
jmp 0x140007a24
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
jmp 0x140007a24
call fcn.14001661c
mov eax, edi
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1400162b0
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140003bd0
nop
call fcn.140003b30
int3
call fcn.140003bd0
int3
call fcn.140003b30
int3
call fcn.140003bd0
int3
call fcn.140003b30
int3
call fcn.140003b30
int3
call fcn.140003b30
int3
call fcn.140003bd0
int3
call fcn.140003b30
int3
call fcn.140003b30
int3
call fcn.140003b30
int3
call fcn.140003b30
int3
call fcn.140003bd0
int3
call fcn.140003b30
int3
call fcn.140003bd0
int3
call fcn.140003bd0
int3
call fcn.140003bd0
int3
call fcn.140003bd0
int3
call fcn.140003bd0
int3