Function at 0x140045250
Capabilities:
Create thread
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r15, r8
mov r13, rdx
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x50], edi
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rsi, qword [rbp - 0x18]
mov qword [rsp + 0x60], rsi
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x60], rax
mov dword [rbp + 0x78], edi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r12d, edi
mov qword [rbp - 0x80], rdi
mov rdi, qword [rsp + 0x78]
cmp rsi, rax
jae 0x14004547a
nop dword [rax]
nop word [rax + rax]
mov r9d, Ordinal_50
lea r8, [rbp - 0x50]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp rax, 0x30
jne 0x140045450
cmp dword [rbp - 0x30], 0x1000
jne 0x140045450
mov eax, dword [rbp - 0x2c]
add eax, 0xfffffffe
test eax, 0xfffffffd
jne 0x140045450
mov r14, rsi
mov qword [rsp + 0x58], rsi
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x140045454
lea rax, [rbp + 0x78]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r13
mov r15, rsi
mov r13, rsi
nop dword [rax]
mov rsi, rbx
mov eax, 0x100000
cmp rbx, rax
cmova rsi, rax
mov qword [rsp + 0x68], rsi
cmp rdi, r12
je 0x1400453df
mov ecx, Ordinal_60
call fcn.14015cd48
lea rcx, [rbp + 0x78]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x70]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x68]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r14
mov rcx, qword [rbp + 0x60]
mov qword [rax + 0x28], rcx
lea rcx, [0x140044f60]
mov qword [rax + 0x30], rcx
mov qword [rsp + 0x68], rax
or dword [rsp + 0x50], 1
lea r14, [rdi + 8]
mov qword [rsp + 0x28], r14
xor r13d, r13d
mov dword [rsp + 0x20], r13d
mov r9, rax
lea r8, [0x140090f40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14004546b
add rdi, 0x10
mov qword [rsp + 0x78], rdi
jmp 0x14004542b
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14008fe10
mov r15, r13
mov r12, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x78]
lea r14, [rsi + r15]
mov r15, r14
mov qword [rsp + 0x58], r14
sub rbx, rsi
mov r13, r14
jne 0x140045340
mov rsi, qword [rsp + 0x60]
mov r15, qword [rbp + 0x70]
mov r13, qword [rbp + 0x68]
mov rbx, qword [rbp - 0x38]
add rsi, rbx
mov qword [rsp + 0x60], rsi
cmp rsi, qword [rbp - 0x60]
jae 0x14004547a
mov rbx, qword [rbp + 0x60]
jmp 0x1400452d0
mov dword [r14], r13d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rsi, qword [rsp + 0x70]
mov rbx, rsi
cmp rsi, rdi
je 0x1400454cf
nop word [rax + rax]
cmp dword [rbx + 8], 0
je 0x140045539
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbx + 8], eax
je 0x14004552d
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x60], xmm0
xor edx, edx
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll__Thrd_join]
test eax, eax
jne 0x140045521
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
add rbx, 0x10
cmp rbx, rdi
jne 0x140045490
mov ebx, dword [rbp + 0x78]
test rsi, rsi
je 0x140045557
mov rax, rsi
cmp rsi, rdi
je 0x1400454f2
cmp dword [rax + 8], 0
jne 0x140045545
add rax, 0x10
cmp rax, rdi
jne 0x1400454e3
sub r12, rsi
and r12, 0xfffffffffffffff0
mov rax, rsi
cmp r12, 0x1000
jb 0x14004554c
add r12, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004554c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, 2
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
mov rdx, r12
mov rcx, rsi
call fcn.14015d09c
mov eax, ebx
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret