Function at 0x140040580
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc8
mov qword [rbp - 0x41], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x14020c050]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov r12, r9
mov qword [rbp - 0x49], r9
mov rsi, r8
mov qword [rbp - 0x59], r8
mov r9, rdx
mov qword [rbp - 0x79], rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
mov rax, qword [rcx + 0x40]
mov rbx, qword [rax + 0x98]
sub rbx, qword [rax + 0x90]
sar rbx, 3
mov qword [rbp - 0x71], rbx
mov r14, qword [rax + 8]
sub r14, qword [rax]
sar r14, 3
mov qword [rbp - 0x51], r14
xor r15d, r15d
mov dword [rbp - 0x31], r15d
test r14d, r14d
jle 0x140040a0a
xor ecx, ecx
xorps xmm7, xmm7
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x40]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8]
cmp dword [rcx + 0x30], 2
jne 0x1400409f7
mov rdx, qword [r9 + 8]
cmp qword [r9 + 0x10], rdx
je 0x140040649
mov dword [rdx], r15d
add qword [r9 + 8], 4
jmp 0x140040659
lea r8, [rbp - 0x31]
mov rcx, r9
call fcn.14001b470
mov r15d, dword [rbp - 0x31]
xor eax, eax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
movsd qword [rbp - 0x39], xmm7
movsxd rdx, ebx
lea r8, [rbp - 0x39]
lea rcx, [rbp - 0x29]
call fcn.140025cd0
nop
xor eax, eax
mov dword [rbp - 0x39], eax
test ebx, ebx
jle 0x140040897
mov rdx, qword [rdi + 0x40]
mov qword [rbp - 0x69], rdx
mov r9, qword [rdx + 0x90]
mov qword [rbp - 0x61], r9
xor r8d, r8d
mov ecx, eax
mov rax, qword [r9 + rax*8]
mov r12, qword [rax + 0x28]
sub r12, qword [rax + 0x20]
sar r12, 3
xor r14d, r14d
test r12d, r12d
jle 0x140040877
mov rax, qword [rdx + 0x90]
mov rcx, qword [rax + rcx*8]
mov r13, qword [rcx + 0x20]
nop dword [rax]
mov rcx, qword [r13 + r14*8]
mov edx, dword [rcx + 0x78]
cmp r15d, edx
je 0x14004085f
mov r9d, r15d
cmovle r9d, edx
cmovle edx, r15d
mov r10, qword [rdi + 0x50]
mov r11, qword [r10 + 0x20e8]
movsxd rcx, dword [r11 + 4]
cmp edx, dword [rcx + r10 + 0x20f0]
jge 0x140040a98
cmp r9d, dword [rcx + r10 + 0x20f4]
jge 0x140040a98
movsxd rax, edx
lea rdi, [rax + rax*2]
mov rax, qword [rcx + r10 + 0x20f8]
movsxd rsi, r9d
mov rax, qword [rax + rdi*8]
mov ecx, dword [rax + rsi*4]
shr ecx, 0x1f
xor cl, 1
je 0x14004085a
movsxd rax, dword [r11 + 0xc]
add rax, 0x20e8
add r10, rax
mov rax, qword [r10 + 8]
movsxd rax, dword [rax + 4]
mov ebx, dword [rax + r10 + 0x10]
cmp edx, ebx
jge 0x140040a69
mov r11d, dword [rax + r10 + 0x14]
cmp r9d, r11d
jge 0x140040a69
mov rax, qword [rax + r10 + 0x18]
mov rcx, qword [rax + rdi*8]
movsxd rcx, dword [rcx + rsi*4]
mov eax, ecx
shr eax, 0x1f
xor al, 1
je 0x14004079d
cmp edx, ebx
jge 0x140040a3a
cmp r9d, r11d
jge 0x140040a3a
mov rax, qword [r10 + 0x10]
lea r10, [rax + rcx*8]
jmp 0x1400407a1
add r10, 0x28
mov r11, qword [r10]
mov rax, qword [r11 + 8]
movsxd rcx, dword [rax + 4]
mov rax, qword [rcx + r11 + 0x38]
sub rax, qword [rcx + r11 + 0x30]
sar rax, 3
xor r10d, r10d
movsxd rdx, eax
cmp rdx, 4
jl 0x14004082c
mov rcx, qword [rbp - 0x29]
movsd xmm1, qword [r8 + rcx]
mov rax, qword [r11 + 0x10]
add rax, 0x10
lea r9, [rdx - 4]
shr r9, 2
inc r9
lea r10, [r9*4]
nop dword [rax + rax]
addsd xmm1, qword [rax - 0x10]
movsd qword [r8 + rcx], xmm1
addsd xmm1, qword [rax - 8]
movsd qword [r8 + rcx], xmm1
addsd xmm1, qword [rax]
movaps xmm0, xmm1
movsd qword [r8 + rcx], xmm1
movsd xmm1, qword [rax + 8]
addsd xmm1, xmm0
movsd qword [r8 + rcx], xmm1
add rax, 0x20
sub r9, 1
jne 0x1400407f0
cmp r10, rdx
jge 0x14004085a
mov r9, qword [rbp - 0x29]
movsd xmm0, qword [r8 + r9]
mov rax, qword [r11 + 0x10]
lea rcx, [rax + r10*8]
sub rdx, r10
addsd xmm0, qword [rcx]
movsd qword [r8 + r9], xmm0
add rcx, 8
sub rdx, 1
jne 0x140040846
mov rdi, qword [rsp + 0x28]
inc r14d
cmp r14d, r12d
jl 0x1400406d0
mov rbx, qword [rbp - 0x71]
mov rdx, qword [rbp - 0x69]
mov r9, qword [rbp - 0x61]
mov eax, dword [rbp - 0x39]
inc eax
mov dword [rbp - 0x39], eax
add r8, 8
cmp eax, ebx
jl 0x1400406a0
mov rsi, qword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
mov r12, qword [rbp - 0x49]
mov ecx, 0xffffffff
mov dword [rbp - 0x39], ecx
movaps xmm6, xmm7
xor edx, edx
xor eax, eax
mov r11, qword [rbp - 0x29]
cmp ebx, 4
jl 0x140040934
lea r10d, [rbx - 3]
lea r9d, [rcx + 3]
lea r8, [r11 + 0x10]
lea eax, [r10 - 1]
shr eax, 2
inc eax
shl rax, 2
nop dword [rax]
movsd xmm0, qword [r8 - 0x10]
comisd xmm6, xmm0
jbe 0x1400408e4
movaps xmm6, xmm0
mov ecx, edx
mov dword [rbp - 0x39], edx
movsd xmm0, qword [r8 - 8]
comisd xmm6, xmm0
jbe 0x1400408fa
movaps xmm6, xmm0
lea ecx, [r9 - 1]
mov dword [rbp - 0x39], ecx
movsd xmm0, qword [r8]
comisd xmm6, xmm0
jbe 0x14004090e
movaps xmm6, xmm0
mov ecx, r9d
mov dword [rbp - 0x39], ecx
movsd xmm0, qword [r8 + 8]
comisd xmm6, xmm0
jbe 0x140040924
movaps xmm6, xmm0
lea ecx, [r9 + 1]
mov dword [rbp - 0x39], ecx
add r8, 0x20
add edx, 4
add r9d, 4
cmp edx, r10d
jl 0x1400408d0
cmp edx, ebx
jge 0x140040958
lea rax, [r11 + rax*8]
movsd xmm0, qword [rax]
comisd xmm6, xmm0
jbe 0x14004094b
movaps xmm6, xmm0
mov ecx, edx
add rax, 8
inc edx
cmp edx, ebx
jl 0x14004093c
mov dword [rbp - 0x39], ecx
mov rdx, qword [rsi + 8]
cmp qword [rsi + 0x10], rdx
je 0x14004096b
mov dword [rdx], ecx
add qword [rsi + 8], 4
jmp 0x14004097a
lea r8, [rbp - 0x39]
mov rcx, rsi
call fcn.14001b470
mov ecx, dword [rbp - 0x39]
cmp ecx, 0xffffffff
je 0x1400409b5
comisd xmm7, xmm6
jbe 0x1400409b5
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r12]
lea rcx, [rax + rcx*8]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x1400409a8
mov dword [rdx], r15d
add qword [rcx + 8], 4
jmp 0x1400409b5
lea r8, [rbp - 0x31]
call fcn.14001b470
mov r15d, dword [rbp - 0x31]
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x1400409f3
mov rdx, qword [rbp - 0x19]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400409ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ac7
call fcn.14014a730
mov r9, qword [rbp - 0x79]
inc r15d
mov dword [rbp - 0x31], r15d
mov ecx, r15d
cmp r15d, r14d
jl 0x140040620
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.14014a6d0
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xa0]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, str.matrix_out_of_memory1
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400092d0
lea rdx, [0x1400094a0]
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, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str.matrix_out_of_memory1
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400092d0
lea rdx, [0x1400094a0]
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, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str.matrix_out_of_memory1
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400092d0
lea rdx, [0x1400094a0]
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, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3