Function at 0x1400f8120
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov rax, qword [0x14020c050]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0x24], r9d
mov rsi, r8
mov rdi, rdx
mov rbp, rcx
mov qword [rsp + 0x28], rcx
mov rcx, qword [rcx + 0x4b0]
add rcx, 0x30
mov edx, r9d
call fcn.1400fc650
mov r15, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400f8f15
xor bl, bl
xor r13b, r13b
mov byte [rsp + 0x20], r13b
cmp byte [rsp + 0x120], bl
jne 0x1400f81b0
mov rdx, rdi
mov rcx, rax
call fcn.1400778a0
movzx ebx, al
cmp byte [rsp + 0x128], 0
jne 0x1400f81cd
mov rdx, rsi
mov rcx, r15
call fcn.1400778a0
movzx r13d, al
mov byte [rsp + 0x20], al
test bl, bl
jne 0x1400f81da
test r13b, r13b
je 0x1400f8f15
mov rax, qword [r15 + 0x68]
sub rax, qword [r15 + 0x60]
sar rax, 3
mov qword [rsp + 0x48], rax
cdqe
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x68], rcx
mov edx, dword [rsp + 0x10c]
test bl, bl
je 0x1400f833d
test rax, rax
jle 0x1400f833d
mov ebp, ecx
mov r13, qword [rsp + 0x28]
nop dword [rax + rax]
mov rax, qword [r15 + 0x60]
mov ebx, dword [rax + rbp*8]
cmp ebx, esi
jne 0x1400f823c
mov ecx, dword [rsp + 0x114]
cmp dword [rax + rbp*8 + 4], ecx
je 0x1400f831f
mov r14d, dword [rax + rbp*8 + 4]
mov r12d, edx
cmp edi, ebx
cmovle r12d, r14d
cmovle r14d, edx
mov r15d, edi
cmovle r15d, ebx
cmovle ebx, edi
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, r13
mov r8d, r15d
mov edx, ebx
call fcn.140027690
test al, al
je 0x1400f8313
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r13
mov r8d, r15d
mov edx, ebx
call fcn.14002ace0
mov rdx, qword [rax]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov r8d, r12d
mov edx, r14d
call fcn.140027690
test al, al
je 0x1400f8313
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r13
mov r8d, r15d
mov edx, ebx
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r12d
mov edx, r14d
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
cmp dword [rax + 0x18], ecx
jne 0x1400f8313
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r13
mov r8d, r15d
mov edx, ebx
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r12d
mov edx, r14d
call qword [rax + 0x10]
mov dword [rax + 0x18], 0xffffffff
mov edx, dword [rsp + 0x10c]
mov r15, qword [rsp + 0x30]
inc rbp
mov rax, qword [rsp + 0x40]
cmp rbp, rax
jl 0x1400f8220
movzx r13d, byte [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
xor ecx, ecx
test r13b, r13b
je 0x1400f84ba
test rax, rax
jle 0x1400f84ba
mov r14, rcx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r15 + 0x60]
mov rcx, qword [rax + r14*8]
mov rax, rcx
shr rax, 0x20
cmp ecx, edi
jne 0x1400f837b
cmp eax, edx
je 0x1400f84a4
mov r12d, eax
cmp esi, ecx
cmovle r12d, dword [rsp + 0x114]
mov ebp, ecx
cmovle ebp, esi
mov r15d, dword [rsp + 0x114]
cmovle r15d, eax
mov ebx, esi
cmovle ebx, ecx
mov r13, qword [rsp + 0x28]
mov r8, qword [r13 + 8]
movsxd rdx, dword [r8 + 4]
cmp ebp, dword [rdx + r13 + 0x10]
jge 0x1400f86a8
cmp ebx, dword [rdx + r13 + 0x14]
jge 0x1400f86a8
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [rdx + r13 + 0x18]
movsxd rdx, ebx
mov rax, qword [rax + rcx*8]
mov ecx, dword [rax + rdx*4]
shr ecx, 0x1f
xor cl, 1
je 0x1400f8498
movsxd rax, dword [r8 + 0xc]
lea rcx, [r13 + 8]
add rcx, rax
mov r8d, ebx
mov edx, ebp
call fcn.14002ace0
mov rdx, qword [rax]
mov rax, qword [rdx + 8]
movsxd r8, dword [rax + 4]
cmp r12d, dword [r8 + rdx + 0x10]
jge 0x1400f8679
cmp r15d, dword [r8 + rdx + 0x14]
jge 0x1400f8679
movsxd rax, r12d
lea rcx, [rax + rax*2]
mov rax, qword [r8 + rdx + 0x18]
movsxd rdx, r15d
mov rax, qword [rax + rcx*8]
mov ecx, dword [rax + rdx*4]
shr ecx, 0x1f
xor cl, 1
je 0x1400f8498
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r13
mov r8d, ebx
mov edx, ebp
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r15d
mov edx, r12d
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
cmp dword [rax + 0x18], ecx
jne 0x1400f8498
mov rax, qword [r13 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r13
mov r8d, ebx
mov edx, ebp
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r15d
mov edx, r12d
call qword [rax + 0x10]
mov dword [rax + 0x18], 0xffffffff
mov edx, dword [rsp + 0x10c]
mov r15, qword [rsp + 0x30]
inc r14
mov rax, qword [rsp + 0x40]
cmp r14, rax
jl 0x1400f8360
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
cmp ebx, 1
jle 0x1400f89f1
xor ecx, ecx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0x38], 0xffffffff
lea rdx, [rax + 0x1f]
shr rdx, 5
lea r8, [rsp + 0x38]
lea rcx, [rsp + 0x80]
call fcn.140008e70
xor r12d, r12d
mov qword [rsp + 0x98], r12
mov r14, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.140008650
nop
lea r10d, [rbx - 1]
mov dword [rsp + 0x50], r10d
test r10d, r10d
jle 0x1400f8828
mov ecx, 1
mov qword [rsp + 0x48], rcx
mov edx, r12d
mov qword [rsp + 0x70], rdx
mov r8, qword [r15 + 0x60]
add r8, rdx
mov qword [rsp + 0x60], r8
lea eax, [r12 + 1]
mov dword [rsp + 0x54], eax
mov r13d, eax
mov r12, rcx
cmp rcx, r14
jge 0x1400f8801
lea r9, [r8 + 4]
mov r10, qword [rsp + 0x28]
lea rbx, [r10 + 8]
mov qword [rsp + 0x58], rbx
nop word [rax + rax]
mov rax, qword [r15 + 0x60]
mov edx, dword [r8]
mov r11d, dword [rax + r12*8]
lea rcx, [rax + 4]
lea rcx, [rcx + r12*8]
mov rax, r9
cmp edx, r11d
cmovle rax, rcx
mov eax, dword [rax]
mov dword [rsp + 0x3c], eax
cmovle rcx, r9
mov r9d, dword [rcx]
mov dword [rsp + 0x38], r9d
mov r9d, edx
cmovle r9d, r11d
cmovle r11d, edx
mov r8, qword [rbx]
movsxd rdx, dword [r8 + 4]
add rdx, r10
cmp r11d, dword [rdx + 0x10]
jge 0x1400f89ba
cmp r9d, dword [rdx + 0x14]
jge 0x1400f89ba
movsxd rax, r11d
lea rcx, [rax + rax*2]
lea r10, [rcx*8]
mov rcx, qword [rdx + 0x18]
movsxd rax, r9d
lea rdx, [rax*4]
mov rax, qword [rcx + r10]
mov ecx, dword [rdx + rax]
shr ecx, 0x1f
xor cl, 1
je 0x1400f87ca
movsxd r8, dword [r8 + 0xc]
add r8, rbx
mov rax, qword [r8 + 8]
movsxd rcx, dword [rax + 4]
mov r14d, dword [rcx + r8 + 0x10]
cmp r11d, r14d
jge 0x1400f898b
mov ebx, dword [rcx + r8 + 0x14]
cmp r9d, ebx
jge 0x1400f898b
mov rax, qword [rcx + r8 + 0x18]
mov rcx, qword [r10 + rax]
movsxd r15, dword [rdx + rcx]
mov ebp, r15d
shr ebp, 0x1f
xor bpl, 1
je 0x1400f86d7
cmp r11d, r14d
jge 0x1400f88fe
cmp r9d, ebx
jge 0x1400f88fe
mov rax, qword [r8 + 0x10]
lea rdx, [rax + r15*8]
jmp 0x1400f86db
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
lea rdx, [r8 + 0x28]
mov rdx, qword [rdx]
mov rax, qword [rdx + 8]
movsxd r10, dword [rax + 4]
add r10, rdx
movsxd rax, dword [rsp + 0x38]
cmp eax, dword [r10 + 0x10]
jge 0x1400f895c
movsxd rdx, dword [rsp + 0x3c]
cmp edx, dword [r10 + 0x14]
jge 0x1400f895c
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x18]
mov rax, qword [rax + rcx*8]
mov ecx, dword [rax + rdx*4]
shr ecx, 0x1f
xor cl, 1
je 0x1400f87c0
test bpl, bpl
je 0x1400f8743
cmp r11d, r14d
jge 0x1400f892d
cmp r9d, ebx
jge 0x1400f892d
mov rax, qword [r8 + 0x10]
lea rcx, [rax + r15*8]
jmp 0x1400f8747
lea rcx, [r8 + 0x28]
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x38]
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
mov r15, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
cmp dword [rax + 0x18], ecx
jne 0x1400f87ca
movsxd rdx, dword [rsp + 0x68]
mov rcx, rdx
shr rcx, 5
mov rax, qword [rsp + 0x80]
lea r8, [rax + rcx*4]
movzx ecx, dl
and cl, 0x1f
mov edx, 1
shl edx, cl
not edx
and dword [r8], edx
movsxd rdx, r13d
mov rcx, rdx
shr rcx, 5
mov rax, qword [rsp + 0x80]
lea r8, [rax + rcx*4]
movzx ecx, dl
and cl, 0x1f
mov edx, 1
shl edx, cl
not edx
and dword [r8], edx
jmp 0x1400f87ca
mov r15, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
inc r13d
inc r12
cmp r12, qword [rsp + 0x40]
mov r10, qword [rsp + 0x28]
mov r8, qword [rsp + 0x60]
lea r9, [r8 + 4]
jl 0x1400f8590
mov r10d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x54]
mov r12d, eax
mov qword [rsp + 0x68], r12
add rdx, 8
mov qword [rsp + 0x70], rdx
inc rcx
mov qword [rsp + 0x48], rcx
cmp eax, r10d
jl 0x1400f8551
mov rbp, qword [rsp + 0x28]
mov r9, qword [rsp + 0x80]
cmp r10d, 0xffffffff
jle 0x1400f88b6
nop word [rax + rax]
movsxd rdx, r10d
movzx eax, dl
and al, 0x1f
movzx ecx, al
shr rdx, 5
mov eax, dword [r9 + rdx*4]
bt eax, ecx
jae 0x1400f88ad
mov ecx, r10d
mov rax, qword [r15 + 0x60]
lea rax, [rax + rcx*8]
mov r8, qword [r15 + 0x68]
lea rdx, [rax + 8]
cmp rdx, r8
je 0x1400f88a5
lea rcx, [rdx + 4]
sub rax, rdx
nop word [rax + rax]
mov edx, dword [rcx - 4]
mov dword [rax + rcx - 4], edx
mov edx, dword [rcx]
mov dword [rcx + rax], edx
lea rcx, [rcx + 8]
lea rdx, [rcx - 4]
cmp rdx, r8
jne 0x1400f8880
mov r8, qword [r15 + 0x68]
mov r9, qword [rsp + 0x80]
lea rax, [r8 - 8]
mov qword [r15 + 0x68], rax
dec r10d
cmp r10d, 0xffffffff
jg 0x1400f8840
test r9, r9
je 0x1400f89f1
mov rdx, qword [rsp + 0x90]
sub rdx, r9
and rdx, 0xfffffffffffffffc
mov rax, r9
cmp rdx, 0x1000
jb 0x1400f89e9
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400f89e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
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]
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
mov rcx, r9
call fcn.14014a730
mov rbx, qword [r15 + 0x60]
mov rax, qword [r15 + 0x68]
sub rax, rbx
sar rax, 3
cmp eax, 2
jge 0x1400f8f15
test eax, eax
jle 0x1400f8d2b
mov rbx, qword [rbx]
mov qword [rsp + 0x60], rbx
mov rax, rbx
shr rax, 0x20
mov r12d, dword [rsp + 0x10c]
cmp ebx, edi
jne 0x1400f8a35
cmp eax, r12d
je 0x1400f8bd1
mov r14d, eax
cmp edi, ebx
cmovle r14d, r12d
mov ebp, ebx
cmovle ebp, edi
cmovle r12d, eax
cmovle edi, ebx
mov r15, qword [rsp + 0x28]
mov r9, qword [r15 + 8]
movsxd rdx, dword [r9 + 4]
cmp ebp, dword [rdx + r15 + 0x10]
jge 0x1400f8e46
cmp edi, dword [rdx + r15 + 0x14]
jge 0x1400f8e46
movsxd rax, ebp
lea rcx, [rax + rax*2]
lea r8, [rcx*8]
movsxd rax, edi
lea r10, [rax*4]
mov rax, qword [rdx + r15 + 0x18]
mov rcx, qword [rax + r8]
cmp dword [r10 + rcx], 0
jl 0x1400f8bd6
movsxd r9, dword [r9 + 0xc]
add r9, r15
mov rax, qword [r9 + 0x10]
movsxd rcx, dword [rax + 4]
cmp ebp, dword [rcx + r9 + 0x18]
jge 0x1400f8ba2
cmp edi, dword [rcx + r9 + 0x1c]
jge 0x1400f8ba2
mov rax, qword [rcx + r9 + 0x20]
mov rcx, qword [rax + r8]
movsxd rax, dword [r10 + rcx]
test eax, eax
js 0x1400f8ade
mov rcx, rax
mov rax, qword [r9 + 0x18]
lea rdx, [rax + rcx*8]
jmp 0x1400f8ae2
lea rdx, [r9 + 0x30]
mov rdx, qword [rdx]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
cmp r14d, dword [rcx + rdx + 0x10]
jge 0x1400f8b73
cmp r12d, dword [rcx + rdx + 0x14]
jge 0x1400f8b73
movsxd rax, r14d
lea r8, [rax + rax*2]
mov rax, qword [rcx + rdx + 0x18]
movsxd rdx, r12d
mov rax, qword [rax + r8*8]
cmp dword [rax + rdx*4], 0
jl 0x1400f8bd6
mov r8d, edi
mov edx, ebp
lea rcx, [r9 + 8]
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r12d
mov edx, r14d
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
cmp dword [rax + 0x18], ecx
jne 0x1400f8bd6
mov rax, qword [r15 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r15
mov r8d, edi
mov edx, ebp
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r12d
mov edx, r14d
call qword [rax + 0x10]
mov dword [rax + 0x18], 0xffffffff
jmp 0x1400f8bd6
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
mov r15, qword [rsp + 0x28]
mov edi, dword [rsp + 0x64]
mov eax, dword [rsp + 0x114]
cmp ebx, esi
jne 0x1400f8bed
cmp edi, eax
je 0x1400f8d26
mov r14d, eax
cmp esi, ebx
cmovle r14d, edi
cmovle edi, eax
mov ebp, esi
cmovle ebp, ebx
cmovle ebx, esi
mov r9, qword [r15 + 8]
movsxd rdx, dword [r9 + 4]
cmp ebx, dword [rdx + r15 + 0x10]
jge 0x1400f8e17
cmp ebp, dword [rdx + r15 + 0x14]
jge 0x1400f8e17
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea r8, [rcx*8]
movsxd rax, ebp
lea r10, [rax*4]
mov rax, qword [rdx + r15 + 0x18]
mov rcx, qword [rax + r8]
cmp dword [r10 + rcx], 0
jl 0x1400f8d26
movsxd r9, dword [r9 + 0xc]
add r9, r15
mov rax, qword [r9 + 0x10]
movsxd rcx, dword [rax + 4]
cmp ebx, dword [rcx + r9 + 0x18]
jge 0x1400f8de8
cmp ebp, dword [rcx + r9 + 0x1c]
jge 0x1400f8de8
mov rax, qword [rcx + r9 + 0x20]
mov rcx, qword [rax + r8]
movsxd rax, dword [r10 + rcx]
test eax, eax
js 0x1400f8c90
mov rcx, rax
mov rax, qword [r9 + 0x18]
lea rdx, [rax + rcx*8]
jmp 0x1400f8c94
lea rdx, [r9 + 0x30]
mov rdx, qword [rdx]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
cmp edi, dword [rcx + rdx + 0x10]
jge 0x1400f8db9
cmp r14d, dword [rcx + rdx + 0x14]
jge 0x1400f8db9
movsxd rax, edi
lea r8, [rax + rax*2]
mov rax, qword [rcx + rdx + 0x18]
movsxd rdx, r14d
mov rax, qword [rax + r8*8]
cmp dword [rax + rdx*4], 0
jl 0x1400f8d26
mov r8d, ebp
mov edx, ebx
lea rcx, [r9 + 8]
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r14d
mov edx, edi
call qword [rax + 0x10]
mov r9d, dword [rsp + 0x24]
cmp dword [rax + 0x18], r9d
jne 0x1400f8e75
mov rax, qword [r15 + 8]
movsxd rcx, dword [rax + 0xc]
add rcx, 8
add rcx, r15
mov r8d, ebp
mov edx, ebx
call fcn.14002ace0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r8d, r14d
mov edx, edi
call qword [rax + 0x10]
mov dword [rax + 0x18], 0xffffffff
mov rbp, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x24]
mov rcx, qword [rbp + 0x3a8]
add rcx, 0x180
mov rdx, qword [rcx + 0x10]
mov rax, rcx
mov r8, qword [rcx + 0x18]
cmp r8, 0x10
jb 0x1400f8d52
mov rax, qword [rcx]
cmp rdx, 8
jne 0x1400f8d68
mov rax, qword [rax]
cmp rax, qword [str._CRYSTAL]
je 0x1400f8f11
cmp r8, 0x10
jb 0x1400f8d71
mov rcx, qword [rcx]
cmp rdx, 8
jne 0x1400f8d87
mov rax, qword [rcx]
cmp rax, qword [str._COMPARE]
je 0x1400f8f11
mov rdi, qword [rbp + 0x4b0]
mov rax, qword [rdi + 0x50]
mov rcx, qword [rax]
mov rbx, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400f8e9a
cmp dword [rax + 0x20], r9d
jge 0x1400f8e7f
mov rax, qword [rax + 0x10]
jmp 0x1400f8e85
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]
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
mov rbp, qword [rsp + 0x28]
jmp 0x1400f8d30
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400f8da6
cmp rbx, rcx
je 0x1400f8e9a
cmp r9d, dword [rbx + 0x20]
jge 0x1400f8e9d
mov rbx, rcx
cmp rbx, rcx
je 0x1400f8f11
lea rcx, [rdi + 0x30]
call fcn.140067540
mov rax, rbx
mov rdx, qword [rbx + 0x10]
cmp byte [rdx + 0x19], 0
je 0x1400f8ed7
mov rcx, qword [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400f8eec
cmp rax, qword [rcx + 0x10]
jne 0x1400f8eec
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400f8ec2
jmp 0x1400f8eec
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
jne 0x1400f8eec
mov rax, qword [rdx]
mov rdx, rax
cmp byte [rax + 0x19], 0
je 0x1400f8ee0
mov rdx, rbx
mov rcx, qword [rdi + 0x50]
call fcn.1400193a0
mov rbx, rax
lea rcx, [rax + 0x28]
call fcn.1400660d0
mov edx, 0xd0
mov rcx, rbx
call fcn.14014a730
mov al, 1
jmp 0x1400f8f17
xor al, al
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14014a6d0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret