Function at 0x140046310
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx - 0x30]
mov rdi, rcx
movsxd rbx, edx
movsxd r11, r8d
movsxd r10, dword [rax + 4]
add r10, rcx
cmp ebx, dword [r10 - 0x28]
jge 0x14004180d
cmp r11d, dword [r10 - 0x24]
jge 0x14004180d
mov r9, qword [rcx - 0x28]
lea rdx, [rbx + rbx*2]
mov rax, qword [r10]
sub rax, qword [r10 - 8]
sar rax, 3
movsxd r8, eax
mov rax, qword [r10 - 0x20]
mov rax, qword [rax + rdx*8]
movsxd rdx, dword [rax + r11*4]
mov rax, qword [r9 + r8*8 - 8]
mov r8d, r11d
mov qword [r9 + rdx*8], rax
mov edx, ebx
add qword [rcx - 0x20], 0xfffffffffffffff8
mov rax, qword [rcx - 0x30]
movsxd rcx, dword [rax + 4]
add rcx, 0xffffffffffffffd0
add rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140026400
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 qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rax, qword [rcx - 0x30]
mov ebp, r8d
mov r14d, edx
mov rsi, rcx
movsxd r9, dword [rax + 8]
cmp byte [r9 + rcx + 0x88], 0
je 0x140041e30
movsxd rax, dword [r9 + rcx + 0x8c]
test eax, eax
js 0x140041dec
imul rdx, rax, 0x78
add rdx, qword [r9 + rcx + 0x58]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, r14d
call fcn.140027690
test al, al
jne 0x140041e30
mov rax, qword [rsi - 0x38]
lea rcx, [rsi - 0x30]
mov qword [rsp + 0x30], rbx
mov r8d, ebp
mov qword [rsp + 0x38], rdi
mov rbx, qword [rax]
mov rax, qword [rsi - 0x30]
movsxd rdx, dword [rax + 0xc]
add rcx, rdx
mov edx, r14d
call fcn.14002ace0
mov r9, rax
lea rcx, [rsi - 0x38]
mov r8d, ebp
mov edx, r14d
call rbx
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rax, qword [rsi - 0x30]
mov r8d, ebp
add rsi, 8
mov edx, r14d
movsxd rcx, dword [rax + 0xc]
add rcx, rsi
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp 0x140041790
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
mov edi, r8d
mov rcx, qword [rcx - 0x18]
mov esi, edx
movsxd r9, dword [rcx + 8]
cmp byte [r9 + rbx + 0xa0], 0
je 0x14004286d
movsxd rax, dword [r9 + rbx + 0xa4]
test eax, eax
js 0x14004288e
imul rdx, rax, 0x78
add rdx, qword [r9 + rbx + 0x70]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, esi
call fcn.140027690
test al, al
je 0x14004288e
mov rcx, qword [rbx - 0x18]
movsxd rax, dword [rcx + 0xc]
mov r8d, edi
lea rcx, [rbx - 0x18]
mov edx, esi
add rcx, rax
call fcn.14002ace0
lea rcx, [rbx - 0x10]
mov rdx, qword [rax]
call fcn.140043e30
mov rax, qword [rbx - 0x18]
mov r8d, edi
add rbx, 0x20
mov edx, esi
movsxd rcx, dword [rax + 0x10]
add rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x140041d90
movsxd rax, dword [rcx - 4]
sub rcx, rax
jmp 0x140042810