Function at 0x14007f4f0
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x128
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x98]
xor esi, esi
mov r8, rcx
mov rcx, qword [rbp + 0x90]
mov dword [r9], esi
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], r9
mov qword [rbp - 0x28], rax
mov r14d, esi
mov dword [rcx], esi
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x80], esi
test rdx, rdx
je 0x14007fbf9
lea rdx, [0x140183378]
mov rcx, r8
call fcn.1400fafe4
mov rbx, rax
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14007fb9d
mov edi, 1
lea r8d, [rsi + 8]
lea rcx, [rbp - 0x18]
mov edx, edi
mov r9, rax
call fcn.1400fabdc
cmp rax, 8
jne 0x14007fb95
lea rcx, [rbp - 0x18]
xor edx, edx
mov r8, rax
call fcn.14016d060
test eax, eax
jne 0x14007fb95
lea rcx, [0x14018a220]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14016d130
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.14016c6e0
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x70], rax
test rcx, rcx
je 0x14007fb83
test rax, rax
je 0x14007fb83
lea rdx, [fcn.1400fe9b0]
mov r8d, 0x100
call fcn.14016e490
mov rdx, rsp
mov rcx, rax
call fcn.1400feab0
mov rbx, qword [rbp - 0x60]
test eax, eax
jne 0x14007fb7f
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.14016ce90
mov rcx, qword [rsp + 0x58]
lea edx, [rsi + 8]
call fcn.14016d030
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.14016d700
mov rcx, qword [rsp + 0x58]
call fcn.140171fb0
mov rcx, qword [rsp + 0x58]
call fcn.140171f70
mov rcx, qword [rsp + 0x58]
call fcn.140171f20
mov rcx, qword [rsp + 0x58]
mov r8d, edi
mov edx, 0xff
call fcn.1401725d0
mov rcx, qword [rsp + 0x58]
call fcn.140172640
mov rcx, qword [rsp + 0x58]
call fcn.140172650
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.14016dcc0
mov rax, qword [rsp + 0x70]
mov r12d, dword [rax]
mov edi, dword [rax + 4]
mov rax, qword [rbp - 0x30]
mov dword [rax], r12d
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x48], r12
mov dword [rax], edi
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.140172b70
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
movzx eax, al
mov dword [rbp - 0x50], eax
call fcn.140172cb0
mov r13, rax
mov r14, rax
imul r13, rdi
test r12d, r12d
jle 0x14007f6ea
test edi, edi
jle 0x14007f6ea
test eax, eax
jg 0x14007f6ed
mov r13, rsi
test r13d, r13d
jle 0x14007fbd0
cmp r12, 0x182b8
ja 0x14007fbd0
cmp rdi, 0x182b8
ja 0x14007fbd0
xor edx, edx
mov rax, r13
div rdi
cmp rax, r14
jb 0x14007fbd0
movabs rax, 0x7ffffffb58
cmp r13, rax
ja 0x14007fbd0
mov rcx, r13
call fcn.1400fa250
mov rcx, r13
mov qword [rbp - 0x70], rax
call fcn.1400fa250
mov rcx, r13
mov qword [rbp - 0x40], rax
call fcn.1400fa250
lea rbx, [rdi*8]
mov rcx, rbx
mov qword [rbp - 0x58], rax
call fcn.1400fa250
mov rcx, rbx
mov rsi, rax
call fcn.1400fa250
mov rbx, qword [rbp - 0x70]
mov r15, rax
test rbx, rbx
je 0x14007fb7b
cmp qword [rbp - 0x40], 0
je 0x14007fb7b
cmp qword [rbp - 0x58], 0
je 0x14007fb7b
test rsi, rsi
je 0x14007fb7b
test rax, rax
je 0x14007fb7b
mov rdx, qword [rsp + 0x70]
xor eax, eax
mov ecx, 1
mov dword [rbp - 0x78], ecx
mov word [rbp - 0x7c], cx
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x68], r12d
xor r12d, r12d
mov eax, 0xa
mov dword [rsp + 0x60], edi
mov dword [rbp - 0x68], r12d
mov word [rsp + 0x64], ax
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x51], r12b
call fcn.140172b90
mov rdx, qword [rsp + 0x70]
mov ecx, r12d
test al, al
lea r9, [rbp - 0x68]
setne cl
lea r8, [rbp - 0x78]
mov dword [rbp - 0x64], ecx
mov rcx, qword [rsp + 0x58]
call fcn.140172b30
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14007f824
mov eax, dword [rbp - 0x68]
mov dword [rcx], eax
mov edx, r12d
test rdi, rdi
je 0x14007f847
mov rcx, r12
nop
mov rax, rcx
inc edx
imul rax, r14
add rax, rbx
mov qword [rsi + rcx*8], rax
mov ecx, edx
cmp rcx, rdi
jb 0x14007f830
mov edx, r12d
test rdi, rdi
je 0x14007f877
mov r8, qword [rbp - 0x40]
mov rcx, r12
nop word [rax + rax]
mov rax, rcx
inc edx
imul rax, r14
add rax, r8
mov qword [r15 + rcx*8], rax
mov ecx, edx
cmp rcx, rdi
jb 0x14007f860
mov r14d, dword [rbp - 0x80]
mov ecx, 0x1000
cmp dword [rbp - 0x78], ecx
cmovb ecx, dword [rbp - 0x78]
test ecx, ecx
je 0x14007fb3c
movss xmm7, dword [0x140187888]
nop word [rax + rax]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.14016d510
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x51]
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.140172bb0
mov edx, dword [rsp + 0x78]
mov r8, qword [rbp - 0x48]
mov eax, dword [rsp + 0x68]
mov r9d, 0
cmp rdx, r8
cmovae edx, r9d
add eax, edx
mov dword [rsp + 0x78], edx
cmp rax, r8
jb 0x14007f936
mov ecx, r8d
mov eax, r9d
sub ecx, edx
cmovne eax, ecx
mov dword [rsp + 0x68], eax
mov edx, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x60]
cmp rdx, rdi
cmovae edx, r9d
add ecx, edx
mov dword [rsp + 0x7c], edx
mov eax, ecx
cmp rax, rdi
jb 0x14007f960
mov ecx, edi
mov eax, r9d
sub ecx, edx
cmovne eax, ecx
mov dword [rsp + 0x60], eax
movzx ecx, word [rsp + 0x64]
test cx, cx
jne 0x14007f974
mov ecx, 0x64
mov word [rsp + 0x64], cx
movzx eax, word [rbp - 0x7c]
movd xmm6, eax
movzx eax, cx
movd xmm0, eax
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
mulss xmm6, xmm7
cmp r12d, dword [rbp - 0x64]
jne 0x14007f9b1
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x51], r9b
mov ecx, eax
cmp al, 2
mov eax, 1
cmove ecx, eax
mov byte [rsp + 0x50], cl
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.14016d630
cmp byte [rsp + 0x50], 2
jne 0x14007f9d4
mov rcx, qword [rbp - 0x58]
mov r8, r13
mov rdx, rbx
call fcn.1400fb0e0
cmp byte [rsp + 0x51], 1
jne 0x14007fa12
mov ecx, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x48]
mov eax, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x78]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov rdx, r15
call fcn.14007f350
jmp 0x14007fa56
xor edx, edx
mov ebx, edx
cmp dword [rsp + 0x60], edx
jbe 0x14007fa56
nop dword [rax]
mov eax, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x7c]
mov edx, ebx
mov rdx, qword [r15 + rdx*8]
lea r8d, [rax*4]
mov eax, dword [rsp + 0x78]
lea ecx, [rax*4]
add r9d, ebx
add rcx, qword [rsi + r9*8]
call fcn.1400fb0e0
inc ebx
cmp ebx, dword [rsp + 0x60]
jb 0x14007fa20
cmp r14d, 0x1000
jge 0x14007fac2
cmp dword [rbp - 0x64], 1
jne 0x14007fa6a
test r12d, r12d
je 0x14007fabb
mov rcx, qword [rbp - 0x38]
mov r9d, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
movsxd rax, r14d
mov r8, rdi
lea rbx, [rax + rax*2]
add rbx, rbx
cvttss2si eax, xmm6
mov dword [rcx + rbx*8 + 0x14], 0
mov dword [rcx + rbx*8 + 0x20], eax
mov eax, dword [rbp + 0x80]
mov dword [rcx + rbx*8 + 0x18], 4
mov byte [rcx + rbx*8 + 0x1c], 0
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14007fc00
mov rcx, qword [rbp - 0x38]
mov qword [rcx + rbx*8 + 8], rax
inc r14d
mov dword [rbp - 0x80], r14d
cmp byte [rsp + 0x50], 2
jne 0x14007fade
mov rbx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x58]
mov r8, r13
mov rcx, rbx
call fcn.1400fb0e0
jmp 0x14007fb24
cmp byte [rsp + 0x50], 1
jne 0x14007fb20
xor eax, eax
mov ebx, eax
cmp dword [rsp + 0x60], eax
jbe 0x14007fb20
nop
mov eax, dword [rsp + 0x68]
mov edx, dword [rsp + 0x7c]
add edx, ebx
lea r8d, [rax*4]
mov eax, dword [rsp + 0x78]
lea ecx, [rax*4]
add rcx, qword [rsi + rdx*8]
xor edx, edx
call fcn.1400f9ab0
inc ebx
cmp ebx, dword [rsp + 0x60]
jb 0x14007faf0
mov rbx, qword [rbp - 0x70]
mov ecx, 0x1000
inc r12d
cmp dword [rbp - 0x78], ecx
cmovb ecx, dword [rbp - 0x78]
cmp r12d, ecx
jb 0x14007f8a0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.14016d390
mov rcx, r15
call fcn.1400f97e8
mov rcx, rsi
call fcn.1400f97e8
mov rcx, qword [rbp - 0x58]
call fcn.1400f97e8
mov rcx, qword [rbp - 0x40]
call fcn.1400f97e8
mov rcx, rbx
call fcn.1400f97e8
mov rbx, qword [rbp - 0x60]
jmp 0x14007fb83
mov rbx, qword [rbp - 0x60]
mov r14d, dword [rbp - 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
xor r8d, r8d
call fcn.14016d180
mov rcx, rbx
call fcn.1400fa904
mov eax, r14d
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400f9a80
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x100]
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.14016d390
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
xor r8d, r8d
call fcn.14016d180
mov rcx, rbx
call fcn.1400fa904
xor eax, eax
jmp 0x14007fba0