Function at 0x14009c500
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffe0
mov rax, qword [0x140114500]
xor rax, rbp
mov qword [rsp + 0x1d0], rax
mov rcx, qword [0x1401145a0]
call fcn.14009d200
movabs rax, 0xd833dc5fa74a8bc3
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
movabs rax, 0x919c1c0c07025664
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc8], rax
movabs rax, 0x83a010be94b394c4
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xd0], rax
movabs rax, 0x9c5ece57a54fc68a
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xd8], rax
movabs rax, 0xc5660c8f78cd1360
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xe0], rax
movabs r15, 0x13020bbcf40b6ad3
mov qword [rsp + 0xe8], r15
movabs r14, 0x90478d2a48c8267b
mov qword [rsp + 0xf0], r14
movabs r12, 0x2fdf1ee3162f52df
mov qword [rsp + 0xf8], r12
movabs r13, 0x76f2f8e526558168
mov qword [rsp + 0x100], r13
movabs rax, 0x8a66a0b04693aeb2
mov qword [rsp + 0x108], rax
movabs rcx, 0xd847dc2da7258b85
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x160], rcx
movabs rcx, 0x91f91c78076b560a
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x168], rcx
movabs rcx, 0x83c510d794df9487
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x170], rcx
movabs rcx, 0x9c09ce7aa53bc6e4
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x178], rcx
movabs rcx, 0xc5520cb978a31309
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x180], rcx
movabs rcx, 0x136b0bd4f4586afe
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x188], rcx
movabs rcx, 0x90298d4348b8260b
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x190], rcx
movabs rcx, 0x2fa71e86160152b8
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x198], rcx
movabs rcx, 0x76f2f8e52655810d
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0x160]
vmovaps ymm0, ymmword [rsp + 0xc0]
vxorps ymm0, ymm0, ymmword [rax]
vmovaps ymmword [rsp + 0xc0], ymm0
vmovaps ymm0, ymmword [rsp + 0xe0]
vxorps ymm0, ymm0, ymmword [rax + 0x20]
vmovaps ymmword [rsp + 0xe0], ymm0
vmovaps xmm0, xmmword [rsp + 0x100]
vxorps xmm0, xmm0, xmmword [rax + 0x40]
vmovaps xmmword [rsp + 0x100], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps ymmword [rsp + 0x160], ymm0
mov rbx, qword [0x140114650]
lea rdi, [rsp + 0xc0]
mov rcx, rdi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
lea rsi, [rsp + 0x160]
mov rcx, rsi
mov rdx, rdi
mov r8, rax
call fcn.140009160
mov rcx, rbx
mov rdx, rsi
call fcn.14009e940
mov ebx, eax
mov rax, qword [rsp + 0x178]
cmp rax, 8
jb 0x14009c7e2
mov rcx, qword [rsp + 0x160]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x14009c7dd
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14009d1ef
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test bl, bl
je 0x14009cd37
mov rcx, qword [0x140114618]
call fcn.14000b8a0
mov qword [rsp + 0xc0], 0
lea rsi, [rsp + 0xc8]
mov dword [rsp + 0xc8], 0
mov ecx, 0x20
call fcn.1400a1c64
movabs rcx, 0x200000001
mov qword [rax], rcx
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rsp + 0xd0], rax
mov ecx, 1
call fcn.1400a1c64
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x14009da60]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x14009d1d4
cmp dword [rsp + 0xc8], 0
je 0x14009d1ca
vmovups xmm0, xmmword [rsp + 0xc0]
vmovaps xmmword [rsp + 0x160], xmm0
lea rsi, [rsp + 0x160]
mov rcx, rsi
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14009d1ca
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 0
lea rcx, [rsp + 0xc0]
call fcn.14009d860
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14009c905
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14009c905
lock dec dword [rcx]
jne 0x14009c905
call fcn.1400a1ca0
cmp dword [rsp + 0xc8], 0
jne 0x14009d1e9
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0x100], r13
mov r14, qword [rsp + 0x90]
mov qword [rsp + 0x108], r14
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x160], r15
mov r12, qword [rsp + 0x80]
mov qword [rsp + 0x168], r12
mov r13, qword [rsp + 0x78]
mov qword [rsp + 0x170], r13
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], r14
vmovaps ymm0, ymmword [rsp + 0xc0]
vxorps ymm0, ymm0, ymmword [rsi]
vmovaps ymmword [rsp + 0xc0], ymm0
vmovaps ymm0, ymmword [rsp + 0xe0]
vxorps ymm0, ymm0, ymmword [rsi + 0x20]
vmovaps ymmword [rsp + 0xe0], ymm0
vmovaps xmm0, xmmword [rsp + 0x100]
vxorps xmm0, xmm0, xmmword [rsi + 0x40]
mov rbx, qword [0x1401145a0]
vmovaps xmmword [rsp + 0x100], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps ymmword [rsp + 0x160], ymm0
lea rdi, [rsp + 0xc0]
mov rcx, rdi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
lea rsi, [rsp + 0x160]
mov rcx, rsi
mov rdx, rdi
mov r8, rax
call fcn.140009160
mov rcx, rbx
mov rdx, rsi
call fcn.1400974e0
mov ebx, eax
mov rax, qword [rsp + 0x178]
cmp rax, 8
jb 0x14009caf2
mov rcx, qword [rsp + 0x160]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x14009caed
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14009d1ef
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test bl, bl
je 0x14009cf41
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 0
mov ecx, 0x20
call fcn.1400a1c64
movabs rdi, 0x200000001
mov qword [rax], rdi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rsp + 0xd0], rax
mov ecx, 1
call fcn.1400a1c64
lea rsi, [rsp + 0xc8]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x14009da90]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x14009d1d4
cmp dword [rsp + 0xc8], 0
je 0x14009d1ca
vmovups xmm0, xmmword [rsp + 0xc0]
vmovaps xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x160]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14009d1ca
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 0
lea rcx, [rsp + 0xc0]
call fcn.14009d860
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14009cc06
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14009cc06
lock dec dword [rcx]
jne 0x14009cc06
call fcn.1400a1ca0
cmp dword [rsp + 0xc8], 0
jne 0x14009d1e9
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 0
mov ecx, 0x20
call fcn.1400a1c64
mov qword [rax], rdi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rsp + 0xd0], rax
mov ecx, 1
call fcn.1400a1c64
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x14009dac0]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x14009d1d4
cmp dword [rsp + 0xc8], 0
je 0x14009d1ca
vmovups xmm0, xmmword [rsp + 0xc0]
vmovaps xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x160]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14009d1ca
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 0
lea rcx, [rsp + 0xc0]
call fcn.14009d860
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14009cd0e
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14009cd0e
lock dec dword [rcx]
jne 0x14009cd0e
call fcn.1400a1ca0
cmp dword [rsp + 0xc8], 0
jne 0x14009d1e9
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
xor esi, esi
cmp eax, 0xffffffff
sete sil
jmp 0x14009d1a4
movabs rax, 0xd847dc5fc857f9c0
mov qword [rsp + 0x150], rax
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x158], rdx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rdx
vmovaps xmm0, xmmword [rsp + 0x150]
vxorps xmm0, xmm0, xmmword [rdi]
vmovaps xmmword [rsp + 0x150], xmm0
movabs rax, 0xac67b848cb4ceac3
mov qword [rsp + 0xc0], rax
movabs rax, 0xf48d7d1d75087665
mov qword [rsp + 0xc8], rax
movabs rax, 0xe6a17eb2e6fff5a7
mov qword [rsp + 0xd0], rax
movabs rax, 0xef67a75ac255af96
mov qword [rsp + 0xd8], rax
movabs rax, 0xb57220dc1bcd727d
mov qword [rsp + 0xe0], rax
movabs rax, 0x72062bb187390f92
mov qword [rsp + 0xe8], rax
movabs rax, 0xb04cff363b984360
mov qword [rsp + 0xf0], rax
movabs rax, 0x4aca7fe136643acc
mov qword [rsp + 0xf8], rax
movabs rax, 0x128097870626e82d
mov qword [rsp + 0x100], rax
movabs rax, 0xfd46d3c323ffdcd7
mov qword [rsp + 0x108], rax
movabs rax, 0x17fb9d1887dd5b26
mov qword [rsp + 0x110], rax
movabs rax, 0x3f6e8c745d1e354d
mov qword [rsp + 0x118], rax
movabs rax, 0x9f327e34121a9fa8
mov qword [rsp + 0x120], rax
movabs rax, 0x9161bd6c2c5af866
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rdx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x170], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x178], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x198], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x1a0], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x1a8], rcx
movabs rcx, 0x379ff86fe8b9354f
mov qword [rsp + 0x1b0], rcx
movabs rcx, 0x5302f9127d7a5b2c
mov qword [rsp + 0x1b8], rcx
movabs rcx, 0x9f1c10516275bfd1
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rax
jmp 0x14009d129
movabs rax, 0xd847dc5fc857f9c0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], r12
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r12
vmovaps xmm0, xmmword [rsp + 0x150]
vxorps xmm0, xmm0, xmmword [rdi]
vmovaps xmmword [rsp + 0x150], xmm0
movabs rax, 0xac67b848cb4ceac3
mov qword [rsp + 0xc0], rax
movabs rax, 0xff8c711568087665
mov qword [rsp + 0xc8], rax
movabs rax, 0xeab230b2e0bef7ee
mov qword [rsp + 0xd0], rax
movabs rax, 0xd929ab12d11bae90
mov qword [rsp + 0xd8], rax
movabs rax, 0xa4267fd711835a4f
mov qword [rsp + 0xe0], rax
movabs rax, 0x76037ff4d83d0990
mov qword [rsp + 0xe8], rax
movabs rax, 0xe948e06301fe632b
mov qword [rsp + 0xf0], rax
movabs rax, 0xfc27ca6626e3c98
mov qword [rsp + 0xf8], rax
movabs rax, 0x19d29c804234ee61
mov qword [rsp + 0x100], rax
movabs rax, 0xdd46d2c529ea8ec0
mov qword [rsp + 0x108], rax
movabs rax, 0x5ebf8b1887dd5b26
mov qword [rsp + 0x110], rax
movabs rax, 0x3f63d97d120e7b5f
mov qword [rsp + 0x118], rax
movabs rax, 0x9f1c3e350707daa5
mov qword [rsp + 0x120], rax
movabs rax, 0x9161bd6c2c5af866
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], r13
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x178], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x198], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], r14
movabs rcx, 0x379ff86fe8b9354f
mov qword [rsp + 0x1b0], rcx
movabs rcx, 0x5302f9127d7a5b2c
mov qword [rsp + 0x1b8], rcx
movabs rcx, 0x9f1c10516275bfd1
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rax
vmovaps ymm0, ymmword [rsp + 0xc0]
vxorps ymm0, ymm0, ymmword [rsi]
vmovaps ymmword [rsp + 0xc0], ymm0
vmovaps ymm0, ymmword [rsp + 0xe0]
vxorps ymm0, ymm0, ymmword [rsi + 0x20]
vmovaps ymmword [rsp + 0xe0], ymm0
vmovaps ymm0, ymmword [rsp + 0x100]
vxorps ymm0, ymm0, ymmword [rsi + 0x40]
vmovaps ymmword [rsp + 0x100], ymm0
vmovaps xmm0, xmmword [rsp + 0x120]
vxorps xmm0, xmm0, xmmword [rsi + 0x60]
vmovaps xmmword [rsp + 0x120], xmm0
xor esi, esi
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x150]
xor ecx, ecx
xor r9d, r9d
vzeroupper
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rcx, qword [rsp + 0x1d0]
xor rcx, rbp
call fcn.1400a1e40
mov eax, esi
lea rsp, [rbp + 0x158]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov dword [rsp + 0xc8], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3