Function at 0x140053e40
Capabilities:
Create thread

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov rcx, qword [0x140071cf0]
call fcn.140056880
xor esi, esi
test al, al
je 0x140054239
mov rdi, qword [0x140071ce0]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp - 0x20], ymm0
lea rdx, str.XDefiant.exe
lea rbx, [rbp - 0x20]
mov r8d, 0xc
mov rcx, rbx
vzeroupper
call fcn.1400545c0
mov rcx, rdi
mov rdx, rbx
call fcn.140051180
mov ebx, eax
mov rax, qword [rbp - 8]
cmp rax, 8
jb 0x140053ef0
mov rcx, qword [rbp - 0x20]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140053eeb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005424d
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.140056ad0
test bl, bl
je 0x140054239
mov rdi, qword [0x140071d40]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp - 0x20], ymm0
lea rdx, str.XDefiant.exe
lea rbx, [rbp - 0x20]
mov r8d, 0xc
mov rcx, rbx
vzeroupper
call fcn.1400545c0
mov rcx, rdi
mov rdx, rbx
call fcn.140054b50
mov ebx, eax
mov rax, qword [rbp - 8]
cmp rax, 8
jb 0x140053f77
mov rcx, qword [rbp - 0x20]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140053f72
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005424d
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.140056ad0
test bl, bl
je 0x140054239
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
mov dword [rbp - 0x2c], 0
mov ecx, 0x20
call fcn.140056a8c
movabs rdi, 0x200000001
mov qword [rax], rdi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rbp - 0x10], rax
mov ecx, 1
call fcn.140056a8c
mov rbx, rax
lea rsi, [rbp - 0x18]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x1400548f0]
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 [rbp - 0x20], rax
test rax, rax
je 0x140054253
cmp dword [rbp - 0x18], 0
je 0x140054268
vmovups xmm0, xmmword [rbp - 0x20]
vmovaps xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x140054272
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
lea rcx, [rbp - 0x20]
call fcn.1400546b0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140054061
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x140054061
lock dec dword [rcx]
jne 0x140054061
call fcn.140056ac8
cmp dword [rbp - 0x18], 0
jne 0x140054247
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
mov dword [rbp - 0x30], 0
mov ecx, 0x20
call fcn.140056a8c
mov qword [rax], rdi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rbp - 0x10], rax
mov ecx, 1
call fcn.140056a8c
mov rbx, rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x140054950]
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 [rbp - 0x20], rax
test rax, rax
je 0x14005427c
cmp dword [rbp - 0x18], 0
je 0x140054291
vmovups xmm0, xmmword [rbp - 0x20]
vmovaps xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14005429b
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
lea rcx, [rbp - 0x20]
call fcn.1400546b0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14005413f
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14005413f
lock dec dword [rcx]
jne 0x14005413f
call fcn.140056ac8
cmp dword [rbp - 0x18], 0
jne 0x140054247
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
mov dword [rbp - 0x34], 0
mov ecx, 0x20
call fcn.140056a8c
mov qword [rax], rdi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov qword [rbp - 0x10], rax
mov ecx, 1
call fcn.140056a8c
mov rdi, rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x1400549b0]
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 [rbp - 0x20], rax
test rax, rax
je 0x1400542a5
cmp dword [rbp - 0x18], 0
je 0x1400542ba
vmovups xmm0, xmmword [rbp - 0x20]
vmovaps xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x1400542c4
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
lea rcx, [rbp - 0x20]
call fcn.1400546b0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14005421d
mov eax, 0xfffffffe
lock xadd dword [rcx + 4], eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14005421d
lock dec dword [rcx]
jne 0x14005421d
call fcn.140056ac8
cmp dword [rbp - 0x18], 0
jne 0x140054247
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
mov eax, esi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop rbp
ret
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]
mov qword [rbp - 0x28], rbx
mov dword [rbp - 0x18], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov qword [rbp - 0x28], rbx
mov dword [rbp - 0x18], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov qword [rbp - 0x28], rdi
mov dword [rbp - 0x18], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3