Function at 0x140116970
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
movsxd r14, edx
mov rsi, rcx
mov edx, dword [rcx + 0x424]
mov r11d, r14d
movsxd rbp, r8d
mov eax, r14d
cmp edx, ebp
cmovne r11d, ebp
lea r8, [rax*8]
mov rax, qword [rcx + 0x3d8]
mov r9, qword [rax]
mov rax, qword [r9 + r8]
mov qword [rsp + 0x60], rax
mov eax, ebp
mov r13, qword [r9 + rax*8]
lea rdi, [rax*8]
mov r9, qword [rcx + 0x3b8]
mov rbx, qword [r9 + 0xf0]
cmp dword [rbx + r14*4], 0
jl 0x1401169ff
mov rax, qword [r9 + 0x80]
movsxd rcx, dword [rax + r14*4]
test ecx, ecx
js 0x1401169ff
mov rax, qword [r9 + 0x98]
cmp dword [rax + rcx*4], 0xffffffff
setne r12b
jmp 0x140116a1c
mov rax, qword [r9 + 0x188]
mov rcx, qword [rax]
mov rax, qword [rcx + r8]
mov rcx, qword [rax + 0x1a8]
movzx r12d, byte [rcx + 0x178]
cmp dword [rbx + rbp*4], 0
lea r8, [rbp*4]
mov qword [rsp + 0x68], r15
jl 0x140116a4f
mov rax, qword [r9 + 0x80]
movsxd rcx, dword [r8 + rax]
test ecx, ecx
js 0x140116a4f
mov rax, qword [r9 + 0x98]
cmp dword [rax + rcx*4], 0xffffffff
setne r15b
jmp 0x140116a6c
mov rax, qword [r9 + 0x188]
mov rcx, qword [rax]
mov rax, qword [rcx + rdi]
mov rcx, qword [rax + 0x1a8]
movzx r15d, byte [rcx + 0x178]
cmp dword [rsi + 0x428], 1
jne 0x140116b59
test edx, edx
js 0x140116a8f
test r12b, r12b
je 0x140116cae
test r15b, r15b
je 0x140116cae
mov rax, qword [rsi + 0x228]
movsxd rax, dword [rax + 4]
cmp r14d, dword [rax + rsi + 0x230]
jge 0x140116b2a
cmp ebp, dword [rax + rsi + 0x234]
jge 0x140116b2a
mov rax, qword [rax + rsi + 0x238]
lea rcx, [r14 + r14*2]
mov rcx, qword [rax + rcx*8]
cmp dword [r8 + rcx], 0
jge 0x140116cae
test edx, edx
js 0x140116ad4
xor ebx, ebx
jmp 0x140116af1
mov ebx, 1
mov edx, r14d
mov r8d, ebx
mov rcx, r9
call fcn.14011eb90
mov r9, qword [rsi + 0x3b8]
mov r11d, ebp
mov r8d, ebx
mov edx, r11d
mov rcx, r9
call fcn.14011eb90
mov rax, qword [rsi + 0x228]
mov r8d, ebp
mov edx, r14d
movsxd rcx, dword [rax + 4]
add rcx, 0x228
add rcx, rsi
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rsp + 0x60]
jmp 0x140116c1f
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.matrix_out_of_memory1
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
mov rdi, qword [rsp + 0x60]
test edx, edx
js 0x140116b8a
mov rax, qword [rdi + 0x1a8]
cmp byte [rax + 0x178], 0
je 0x140116cae
mov rax, qword [r13 + 0x1a8]
cmp byte [rax + 0x178], 0
je 0x140116cae
mov rax, qword [rsi + 0x228]
movsxd rax, dword [rax + 4]
cmp r14d, dword [rax + rsi + 0x230]
jge 0x140116ccc
cmp ebp, dword [rax + rsi + 0x234]
jge 0x140116ccc
mov rax, qword [rax + rsi + 0x238]
lea rcx, [r14 + r14*2]
mov rcx, qword [rax + rcx*8]
cmp dword [r8 + rcx], 0
jl 0x140116cae
test edx, edx
js 0x140116bd3
xor ebx, ebx
jmp 0x140116bf0
mov ebx, 0xfffffffe
mov edx, r14d
mov r8d, ebx
mov rcx, r9
call fcn.14011eb90
mov r9, qword [rsi + 0x3b8]
mov r11d, ebp
mov r8d, ebx
mov edx, r11d
mov rcx, r9
call fcn.14011eb90
mov rax, qword [rsi + 0x228]
mov r8d, ebp
mov edx, r14d
movsxd rcx, dword [rax + 4]
add rcx, 0x228
add rcx, rsi
mov rax, qword [rcx]
call qword [rax + 0x20]
test r12b, r12b
jne 0x140116c32
test r15b, r15b
jne 0x140116c32
cmp byte [rsi + 0x42d], r15b
jne 0x140116cae
mov rcx, qword [rdi + 0x1a8]
mov r8d, ebp
mov rax, qword [r13 + 0x1a8]
mov edx, r14d
movzx edi, byte [rcx + 0x178]
movzx ebx, byte [rax + 0x178]
mov byte [rcx + 0x178], r12b
mov rcx, rsi
mov rax, qword [r13 + 0x1a8]
mov byte [rax + 0x178], r15b
call fcn.140117cd0
mov ecx, dword [rsi + 0x428]
mov r9, rax
mov r10, qword [rsi]
mov r8, r13
mov rbp, qword [rsp + 0x60]
mov dword [rsp + 0x20], ecx
mov rdx, rbp
mov rcx, rsi
call qword [r10 + 0x10]
mov rax, qword [rbp + 0x1a8]
mov byte [rax + 0x178], dil
mov rax, qword [r13 + 0x1a8]
mov byte [rax + 0x178], bl
mov r15, qword [rsp + 0x68]
mov al, 1
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.matrix_out_of_memory1
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