Function at 0x140048740
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x3e0
movaps xmmword [rax - 0x38], xmm6
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x140062040]
xor rax, rsp
mov qword [rbp + 0x360], rax
xor r12d, r12d
movaps xmm6, xmmword [0x140057d30]
mov rbx, qword [0x140062d90]
mov dword [rbp + 0x178], 0x15
movups xmm0, xmmword [rbx + 0x1868]
movups xmmword [rbp + 0x17c], xmm0
lea rcx, [rbx + 0x1eb8]
lea rdx, [rbp + 0x178]
call fcn.140023cd0
movups xmmword [rbx + 0x1868], xmm6
mov rbx, qword [0x140062d90]
mov dword [rbp + 0x190], 0x16
movups xmm0, xmmword [rbx + 0x1878]
movups xmmword [rbp + 0x194], xmm0
lea rcx, [rbx + 0x1eb8]
lea rdx, [rbp + 0x190]
call fcn.140023cd0
movups xmmword [rbx + 0x1878], xmm6
movaps xmm6, xmmword [0x140057d40]
mov rbx, qword [0x140062d90]
mov dword [rbp + 0x160], 0x17
movups xmm0, xmmword [rbx + 0x1888]
movups xmmword [rbp + 0x164], xmm0
lea rcx, [rbx + 0x1eb8]
lea rdx, [rbp + 0x160]
call fcn.140023cd0
movups xmmword [rbx + 0x1888], xmm6
lea rdx, [0x140062340]
cmp qword [0x140062358], 0xf
cmova rdx, qword [0x140062340]
movabs rax, 0x8fe96bb4ccbf4b2b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs r15, 0xd8e82465225c5c74
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs r13, 0x8f9a4e94f6fb026f
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x2b0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2b8], rax
movdqa xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x40]
call fcn.14003a220
movabs rsi, 0xc9ee3be498b2214c
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xd8e824654630391d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x2d0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2d8], rax
movdqa xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp + 0x2d0]
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp + 8], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r14, [0x140062db0]
mov r8, r14
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003ef00
lea rdi, [r12 - 1]
test al, al
je 0x1400489bf
mov rbx, rdi
nop dword [rax]
inc rbx
cmp byte [r14 + rbx], r12b
jne 0x140048960
mov rax, qword [0x1400622d8]
cmp rbx, rax
ja 0x1400489ad
lea rsi, [0x1400622c0]
cmp rax, 0xf
cmova rsi, qword [0x1400622c0]
mov qword [0x1400622d0], rbx
mov r8, rbx
mov rdx, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], r12b
movabs rsi, 0xc9ee3be498b2214c
jmp 0x1400489bf
mov r9, r14
mov rdx, rbx
lea rcx, [0x1400622c0]
call fcn.1400496b0
movss xmm6, dword [0x140057c3c]
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140011670
movabs rax, 0x8fde07d0d68c6721
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x2c0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2c8], rax
movdqa xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x50]
call fcn.14003a220
mov qword [rbp + 0x10], r12
movabs rax, 0xcbba28fb998b5122
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0xd8e82465225c183d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x230], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x238], rax
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x60]
call fcn.14003ac40
movabs rbx, 0x35dc1977ec668cd2
movabs r14, 0xdbba13dbb0b54b34
test al, al
je 0x140048d16
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov edx, 5
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x120], rax
movabs rax, 0xb78e040143392e1c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x128], rax
movabs rax, 0xaebb4ab2e286f153
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x130], rax
movabs rax, 0x5ac5087310c04e8e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x138], rax
movabs rax, 0xaa4923eb212edeb3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x140], rax
movabs rax, 0xc603f8d93f20107e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x148], rax
movabs rax, 0x90346cd85f2ff314
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x150], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x158], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x2e0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2e8], rax
movabs rax, 0xc8d425c291ebd121
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
movabs rax, 0x29a47f5374a92aae
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2f8], rax
movabs rax, 0xd93a4688425bad93
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x300], rax
movabs rax, 0xa3719bf9464c6518
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x308], rax
movabs rax, 0x90346cf63b4a8775
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x310], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x318], rax
vmovdqu ymm0, ymmword [rbp + 0x120]
vpxor ymm1, ymm0, ymmword [rbp + 0x2e0]
vmovdqa ymmword [rbp + 0x120], ymm1
vmovdqu ymm0, ymmword [rbp + 0x140]
vpxor ymm1, ymm0, ymmword [rbp + 0x300]
vmovdqa ymmword [rbp + 0x140], ymm1
lea rdx, [rbp + 0x120]
vzeroupper
call fcn.1400494a0
lea rdx, [0x140049670]
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 ecx, 8
call fcn.14004fa44
lea rcx, [0x14004a960]
mov qword [rax], rcx
mov qword [rbp + 0x220], rax
lea rcx, [rbp + 0x218]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140049880]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x210], rax
test rax, rax
je 0x140048f6f
mov qword [rbp + 0x220], r12
cmp dword [rbp + 0x218], 0
je 0x140048f63
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x1b0], xmm0
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140048f63
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1d0], xmm0
movdqa xmmword [rbp + 0x210], xmm0
movabs rbx, 0xd8e824652272725a
movabs r14, 0xe8f427f29994723c
cmp byte [0x140062d89], 0
je 0x140048d8e
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140011670
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
movdqa xmm0, xmmword [rbp + 0x70]
xorps xmm0, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x70]
call fcn.14003a220
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x258], rax
movdqa xmm0, xmmword [rbp + 0x80]
xorps xmm0, xmmword [rbp + 0x250]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rbp + 0x80]
call fcn.14003a220
lea rdx, [0x140062360]
cmp qword [0x140062378], 0xf
cmova rdx, qword [0x140062360]
movabs rax, 0xafa00ac6b7b44022
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rax, 0xd8e82465225c2f51
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x260], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x90]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x90]
call fcn.14003a220
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0xd8e824574630391d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x270], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x278], rax
movdqa xmm0, xmmword [rbp + 0xa0]
xorps xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0x18], 0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea rsi, [0x140062eb0]
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0xa0]
call fcn.14003ef00
test al, al
je 0x140048f94
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140048f16
mov rax, qword [0x1400622f8]
cmp rdi, rax
ja 0x140048f82
lea rbx, [0x1400622e0]
cmp rax, 0xf
cmova rbx, qword [0x1400622e0]
mov qword [0x1400622f0], rdi
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
movabs rbx, 0xd8e824652272725a
jmp 0x140048f94
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x218], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov r9, rsi
mov rdx, rdi
lea rcx, [0x1400622e0]
call fcn.1400496b0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140011670
movabs rax, 0xced50cd9d68c6721
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0xd8e82465225c1826
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x280], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x288], rax
movdqa xmm0, xmmword [rbp + 0xb0]
xorps xmm0, xmmword [rbp + 0x280]
movdqa xmmword [rbp + 0xb0], xmm0
lea rcx, [rbp + 0xb0]
call fcn.14003a220
mov qword [rbp + 0x20], 0
movabs rax, 0xc2ba28fb998b5122
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0xd8e82421701d1336
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x290], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x298], rax
movdqa xmm0, xmmword [rbp + 0xc0]
xorps xmm0, xmmword [rbp + 0x290]
movdqa xmmword [rbp + 0xc0], xmm0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xc0]
call fcn.14003ac40
test al, al
je 0x14004930f
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov edx, 5
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0xdbba13dbb0b54b34
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
movabs rax, 0xb78e040143392e1c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
movabs rax, 0xaebb4ab2e286f153
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf0], rax
movabs rax, 0x9c00d321bcb478e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf8], rax
movabs rax, 0xba5933fb6228cce4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0x8308f78c203f167d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
movabs rax, 0xbe5009825a2ff516
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
movabs rdx, 0x35dc1977ec668cd2
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x320], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x328], rax
movabs rax, 0xc8d425c291ebd121
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x330], rax
movabs rax, 0x29a47f5374a92aae
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x338], rax
movabs rax, 0xd93a4688425bad93
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x340], rax
movabs rax, 0xa3719bf9464c6518
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x348], rax
movabs rax, 0x90346cf63b4a8775
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x350], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x358], rax
vmovdqu ymm0, ymmword [rbp + 0xe0]
vpxor ymm1, ymm0, ymmword [rbp + 0x320]
vmovdqa ymmword [rbp + 0xe0], ymm1
vmovdqu ymm0, ymmword [rbp + 0x100]
vpxor ymm1, ymm0, ymmword [rbp + 0x340]
vmovdqa ymmword [rbp + 0x100], ymm1
lea rdx, [rbp + 0xe0]
vzeroupper
call fcn.1400494a0
lea rdx, [0x140049670]
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 ecx, 8
call fcn.14004fa44
lea rcx, [0x14004e570]
mov qword [rax], rcx
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x208]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140049880]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x200], rax
test rax, rax
je 0x14004947f
mov qword [rbp + 0x1f0], r12
cmp dword [rbp + 0x208], 0
je 0x140049473
movaps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x1c0], xmm0
lea rcx, [rbp + 0x1c0]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140049473
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1e0], xmm0
movdqa xmmword [rbp + 0x200], xmm0
cmp byte [0x140062d8b], 0
je 0x14004939e
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140011670
mov qword [rbp + 0x1f0], r14
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0x1f0], rbx
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x1f0], r13
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x1f0], r15
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x2a8], rax
movdqa xmm0, xmmword [rbp + 0xd0]
xorps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0xd0]
call fcn.14003a220
mov r8, qword [0x140062d90]
movsxd rax, dword [r8 + 0x1eb8]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1ec0]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1718], xmm0
movsxd rcx, dword [r8 + 0x1eb8]
lea eax, [rcx - 1]
mov dword [r8 + 0x1eb8], eax
lea rax, [rcx - 2]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1ec0]
movsxd rax, dword [rcx + rdx*4]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 + 4]
movups xmmword [r8 + rax*8 + 0x1718], xmm0
movsxd rcx, dword [r8 + 0x1eb8]
lea eax, [rcx - 1]
mov dword [r8 + 0x1eb8], eax
lea rax, [rcx - 2]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1ec0]
movsxd rax, dword [rcx + rdx*4]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 + 4]
movups xmmword [r8 + rax*8 + 0x1718], xmm0
dec dword [r8 + 0x1eb8]
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.14004f400
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x208], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3