Function at 0x18004cf20
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9c8
movaps xmmword [rax - 0x58], xmm6
mov rbp, r8
mov r8d, dword [rsp + 0xa38]
mov r10, rdx
movaps xmmword [rax - 0x68], xmm7
mov rdx, rcx
movaps xmmword [rax - 0x78], xmm8
mov ecx, r8d
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
imul eax, r8d, 0x160
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x64], eax
cmp r8d, eax
ja 0x18004d988
movsd xmm11, qword [rsp + 0x68]
movsd xmm15, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x50]
movsd xmm14, qword [rsp + 0x98]
movsd xmm12, qword [rsp + 0x90]
movsd xmm13, qword [rsp + 0xa10]
movsd xmm10, qword [rsp + 0xb0]
movsd xmm7, qword [rsp + 0xa10]
movsd xmm6, qword [rsp + 0x48]
movsd xmm8, qword [rsp + 0xa10]
nop
cmp ecx, 0x19aa
ja 0x18004d960
je 0x18004d943
mov eax, ecx
sub eax, 0x92
je 0x18004d932
sub eax, 0xc
je 0x18004db11
sub eax, 0x40
je 0x18004d07a
cmp eax, 0xa
jne 0x18004daf0
mov rdx, qword [rbp + 8]
xorps xmm0, xmm0
mov rax, qword [rbp]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], rdx
test rdx, rdx
jne 0x18004daf0
mov rdx, qword [rsp + 0xa10]
movups xmmword [rdx], xmm0
jmp 0x18004d993
lea rcx, [rsp + 0x160]
mov r8d, 0x7c0
lea rdx, [0x18009f790]
call fcn.18006ba90
movsd xmm9, qword [rsp + 0xb8]
lea r9, [rsp + 0x160]
mov r14d, dword [rsp + 0x38]
xor r10d, r10d
mov dword [rsp + 0x34], r10d
nop dword [rax]
nop word [rax + rax]
mov r10d, dword [rsp + 0x3c]
mov r8d, 0xe
nop dword [rax + rax]
mov eax, r8d
sub eax, 0xe
je 0x18004d10c
sub eax, 0x54
je 0x18004d0fb
cmp eax, 0x54
jne 0x18004d110
movsxd rdx, r10d
movsxd rcx, r14d
mov rax, qword [rbp + rdx*8]
mov qword [rbp + rcx*8], rax
movsd qword [rbp + rdx*8], xmm9
jmp 0x18004d110
movzx r10d, word [r9 + 2]
movsxd rax, r14d
movsd xmm9, qword [rbp + rax*8]
jmp 0x18004d110
movzx r14d, word [r9]
add r8d, 0x54
cmp r8d, 0x10a
jb 0x18004d0d0
mov dword [rsp + 0x3c], r10d
add r9, 4
mov r10d, dword [rsp + 0x34]
inc r10d
movsd qword [rsp + 0xb8], xmm9
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x34], r10d
cmp r10d, 0x1f0
jb 0x18004d0c0
movsd xmm9, qword [rsp + 0x70]
lea r15, [rbp + 0x2000]
mov r14d, dword [rsp + 0x30]
mov rdx, rbp
cmp rbp, r15
jae 0x18004d244
movsd xmm9, qword [rsp + 0xc8]
movsd xmm10, qword [rsp + 0xc0]
mov eax, 0xc9
cmp eax, 0xc9
je 0x18004d1f7
cmp eax, 0x9b76
je 0x18004d1c3
cmp eax, 0x13623
je 0x18004d1b3
cmp eax, 0x1d0d0
jne 0x18004d202
movaps xmm0, xmm9
addsd xmm0, xmm10
movsd qword [rdx + 8], xmm0
jmp 0x18004d202
movaps xmm0, xmm9
subsd xmm0, xmm10
movsd qword [rdx + 0x18], xmm0
jmp 0x18004d202
movsd xmm2, qword [rdx + 8]
addsd xmm2, qword [rdx]
movsd xmm1, qword [rdx + 0x18]
movsd xmm10, qword [rdx + 0x10]
subsd xmm10, xmm1
addsd xmm1, qword [rdx + 0x10]
movaps xmm0, xmm2
subsd xmm0, xmm1
addsd xmm1, xmm2
movsd qword [rdx + 0x10], xmm0
movsd qword [rdx], xmm1
jmp 0x18004d202
movsd xmm9, qword [rdx]
subsd xmm9, qword [rdx + 8]
add eax, 0x9aad
cmp eax, 0x26ab4
jbe 0x18004d187
add rdx, 0x20
movsd qword [rsp + 0xc0], xmm10
movsd qword [rsp + 0xc8], xmm9
cmp rdx, r15
jb 0x18004d182
movsd xmm9, qword [rsp + 0x70]
movsd xmm10, qword [rsp + 0xb0]
xor edi, edi
xor r11d, r11d
mov dword [rsp + 0x34], edi
mov qword [rsp + 0xa8], r11
nop word [rax + rax]
mov ecx, edi
mov r8d, 1
rol r8d, cl
xor r12d, r12d
mov dword [rsp + 0x30], r8d
lea r13d, [r12 + 6]
nop dword [rax + rax]
cmp r12d, 5
ja case.0x18004d2b2.2
movsxd rsi, dword [rsp + 0x3c]
lea rcx, [0x180000000]
mov ecx, dword [rcx + r12*4 + 0x4db44]
lea rax, [0x180000000]
movsxd r10, dword [rsp + 0x58]
add rcx, rax
movsxd r9, dword [rsp + 0x38]
jmp rcx
xorps xmm11, xmm11
movsd qword [rsp + 0x68], xmm11
jmp case.0x18004d2b2.2
movsd xmm11, qword [rsp + 0xd8]
movsd xmm6, qword [rsp + 0xd0]
nop word [rax + rax]
mov ecx, 0x57
mov eax, ecx
sub eax, 0x57
je 0x18004d3de
sub eax, 1
je 0x18004d3aa
sub eax, 1
je 0x18004d377
sub eax, 1
je 0x18004d349
cmp eax, 1
jne 0x18004d3e9
movaps xmm0, xmm12
movsxd rax, r14d
addsd xmm0, xmm14
shl rax, 3
movaps xmm1, xmm11
subsd xmm1, xmm15
movsd qword [rbx], xmm0
movaps xmm0, xmm11
addsd xmm0, xmm15
movsd qword [rbx + r10*8], xmm1
movsd qword [rbx + r9*8], xmm0
add rbx, rax
add rdx, rax
jmp 0x18004d3e9
movsd xmm14, qword [rbx + rsi*8]
movaps xmm0, xmm12
movsd xmm15, qword [rbx + r10*8]
mulsd xmm14, qword [0x18009f580]
mulsd xmm15, qword [0x18009f580]
subsd xmm0, xmm14
movsd qword [rbx + rsi*8], xmm0
jmp 0x18004d3e9
movaps xmm0, xmm13
movaps xmm1, xmm13
subsd xmm0, xmm6
addsd xmm1, xmm6
movsd qword [rdx + r10*8], xmm0
movsd qword [rdx + r9*8], xmm1
movsd xmm12, qword [rbx]
movaps xmm11, xmm12
subsd xmm11, qword [rbx + r9*8]
addsd xmm12, qword [rbx + r9*8]
jmp 0x18004d3e9
movsd xmm2, qword [rdx + r9*8]
movsd xmm1, qword [rdx + r10*8]
addsd xmm2, qword [rdx]
movsd xmm6, qword [rdx + rsi*8]
subsd xmm6, xmm1
addsd xmm1, qword [rdx + rsi*8]
movaps xmm0, xmm2
subsd xmm0, xmm1
addsd xmm1, xmm2
movsd qword [rdx + rsi*8], xmm0
movsd qword [rdx], xmm1
jmp 0x18004d3e9
movsd xmm13, qword [rdx]
subsd xmm13, qword [rdx + r9*8]
inc ecx
cmp ecx, 0x5c
jb 0x18004d2e5
movsd qword [rsp + 0xd0], xmm6
movsd qword [rsp + 0xd8], xmm11
movsd qword [rsp + 0xa0], xmm15
movsd qword [rsp + 0x98], xmm14
movsd qword [rsp + 0x90], xmm12
cmp rdx, r15
jb 0x18004d2e0
movsd xmm7, qword [0x18009f570]
lea rsi, [0x180000000]
movsd xmm9, qword [rsi + r11*8 + 0x94f40]
movsd xmm10, qword [rsi + r11*8 + 0x94fe0]
movsd xmm6, qword [rsp + 0x48]
movsd xmm11, qword [rsp + 0x68]
jmp case.0x18004d2b2.2
mov eax, dword [rsp + 0x3c]
mov rdx, rbp
mov ecx, dword [rsp + 0x38]
add eax, ecx
sar ecx, 1
mov dword [rsp + 0x58], eax
movsxd rax, ecx
mov dword [rsp + 0x5c], ecx
lea rbx, [rax*8]
add rbx, rbp
jmp case.0x18004d2b2.2
mov ecx, dword [rsp + 0x5c]
cmp ecx, 1
jle case.0x18004d2b2.2
movsd xmm15, qword [rsp + 0x118]
lea r11, [r9*8 - 8]
movsd xmm14, qword [rsp + 0x110]
lea rdi, [rbp + 8]
movsd xmm12, qword [rsp + 0x108]
add r11, rbp
lea ebp, [rcx - 1]
nop word [rax + rax]
mov r8d, 0x78
cmp r8d, 0x78
je 0x18004d81d
cmp r8d, 0x10f
je 0x18004d7d8
cmp r8d, 0x1a6
je 0x18004d7d3
cmp r8d, 0x23d
jne 0x18004d833
nop word [rax + rax]
mov ecx, 0x11a
nop word [rax + rax]
cmp ecx, 0x22260
ja 0x18004d6b5
je 0x18004d69e
cmp ecx, 0x11a
je 0x18004d669
cmp ecx, 0x6e28
je 0x18004d653
cmp ecx, 0xdb36
je 0x18004d5ee
cmp ecx, 0x14844
je 0x18004d58e
cmp ecx, 0x1b552
jne 0x18004d7b0
movsd xmm6, qword [rsp + 0xe0]
movsd xmm0, qword [rsp + 0xe8]
mulsd xmm6, xmm7
mulsd xmm0, xmm11
addsd xmm6, xmm0
jmp 0x18004d7b0
movsd xmm0, qword [rdx + rsi*8]
movsd xmm1, qword [rbx + rsi*8]
movaps xmm3, xmm0
addsd xmm0, xmm6
movaps xmm2, xmm1
subsd xmm2, xmm8
addsd xmm1, xmm8
subsd xmm3, xmm6
movaps xmm8, xmm0
movsd qword [rsp + 0xe0], xmm0
movaps xmm0, xmm2
mulsd xmm8, xmm11
mulsd xmm0, xmm7
movsd qword [rsp + 0x100], xmm3
movsd qword [rsp + 0xe8], xmm2
movsd qword [rsp + 0xf8], xmm1
subsd xmm8, xmm0
jmp 0x18004d7b0
movaps xmm0, xmm6
movsd xmm6, qword [rbx + r10*8]
addsd xmm0, qword [rdx]
movsd qword [rsp + 0x80], xmm0
movsd xmm0, qword [rbx]
movaps xmm1, xmm0
addsd xmm0, xmm8
subsd xmm1, xmm8
movsd qword [rsp + 0x78], xmm0
movaps xmm0, xmm6
movsd qword [rsp + 0x88], xmm1
movsd xmm1, qword [rdx + r10*8]
movaps xmm8, xmm1
mulsd xmm0, xmm14
mulsd xmm8, xmm15
mulsd xmm6, xmm15
mulsd xmm1, xmm14
subsd xmm8, xmm0
addsd xmm6, xmm1
jmp 0x18004d7b0
movsd xmm2, qword [rdx]
subsd xmm2, xmm6
movsd qword [rsp + 0xf0], xmm2
jmp 0x18004d7b0
movsd xmm6, qword [rdx + r9*8]
movsd xmm1, qword [rbx + r9*8]
movaps xmm8, xmm6
movaps xmm0, xmm1
mulsd xmm8, xmm15
mulsd xmm0, xmm14
mulsd xmm6, xmm14
mulsd xmm1, xmm15
subsd xmm8, xmm0
addsd xmm6, xmm1
jmp 0x18004d7b0
movsd xmm0, qword [rsp + 0x80]
subsd xmm0, xmm6
movsd qword [rdx + rsi*8], xmm0
jmp 0x18004d7b0
cmp ecx, 0x28f6e
je 0x18004d78b
cmp ecx, 0x2fc7c
je 0x18004d729
cmp ecx, 0x3698a
je 0x18004d6ef
cmp ecx, 0x3d698
jne 0x18004d7b0
movsxd rax, r14d
shl rax, 3
add rbx, rax
add rdx, rax
jmp 0x18004d7b0
movsd xmm0, qword [rsp + 0x78]
movsd xmm1, qword [rsp + 0xf0]
addsd xmm0, xmm6
subsd xmm1, xmm8
movsd qword [rbx], xmm0
movaps xmm0, xmm8
addsd xmm0, qword [rsp + 0xf0]
movsd qword [rdx + r10*8], xmm1
movsd qword [rdx + r9*8], xmm0
jmp 0x18004d7b0
addsd xmm8, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x100]
movsd xmm6, qword [rsp + 0x100]
mulsd xmm0, xmm11
movsd qword [rbx + r9*8], xmm8
movsd xmm8, qword [rsp + 0xf8]
mulsd xmm8, xmm7
mulsd xmm6, xmm7
subsd xmm8, xmm0
movsd xmm0, qword [rsp + 0xf8]
mulsd xmm0, xmm11
addsd xmm6, xmm0
movsd xmm0, qword [rsp + 0x78]
subsd xmm0, xmm6
movsd qword [rbx + rsi*8], xmm0
jmp 0x18004d7b0
movsd xmm0, qword [rsp + 0x80]
movsd xmm1, qword [rsp + 0x88]
addsd xmm0, xmm6
subsd xmm1, xmm8
movsd qword [rdx], xmm0
movsd qword [rbx + r10*8], xmm1
add ecx, 0x6d0e
cmp ecx, 0x4428c
jbe 0x18004d520
movsd qword [rsp + 0x48], xmm6
cmp rdx, r15
jb 0x18004d510
jmp 0x18004d833
mov rbx, r11
jmp 0x18004d833
movaps xmm1, xmm12
movaps xmm0, xmm9
mulsd xmm0, xmm11
movaps xmm14, xmm7
mov rdx, rdi
mulsd xmm1, xmm10
movaps xmm15, xmm7
mulsd xmm14, xmm7
movaps xmm11, xmm1
addsd xmm11, xmm0
movaps xmm0, xmm11
mulsd xmm15, xmm11
mulsd xmm0, xmm11
addsd xmm15, xmm15
subsd xmm14, xmm0
jmp 0x18004d833
movaps xmm12, xmm7
movaps xmm0, xmm10
mulsd xmm0, xmm11
mulsd xmm7, xmm9
subsd xmm7, xmm0
add r8d, 0x97
cmp r8d, 0x2d4
jb 0x18004d4d6
sub r11, 8
movsd qword [rsp + 0x108], xmm12
add rdi, 8
movsd qword [rsp + 0x110], xmm14
movsd qword [rsp + 0x118], xmm15
movsd qword [rsp + 0x68], xmm11
sub rbp, 1
jne 0x18004d4d0
movsd xmm12, qword [rsp + 0x90]
movsd xmm14, qword [rsp + 0x98]
movsd xmm15, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x30]
mov r11, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x34]
mov rbp, qword [rsp + 0xa20]
jmp case.0x18004d2b2.2
rol r8d, 2
add edi, 2
add r11, 2
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0xa8], r11
lea eax, [r8 + r8]
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], eax
lea r14d, [rax + rax]
inc r12d
sub r13, 1
jne 0x18004d280
movsd qword [rsp + 0xb0], xmm10
movsd qword [rsp + 0x70], xmm9
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x50], rbx
cmp r14d, 0x400
jl 0x18004d260
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0xa38]
mov r10, qword [rsp + 0xa18]
jmp 0x18004daf0
mov qword [rsp + 0x158], 0
jmp 0x18004daf0
mov eax, dword [r9]
mov dword [rsp + 0x150], eax
mov rax, qword [r9]
shr rax, 0x20
mov dword [rsp + 0x154], eax
jmp 0x18004daf0
cmp ecx, 0x28c8
je 0x18004da40
cmp ecx, 0x32c2
je 0x18004d9e9
cmp ecx, 0x50a8
jne 0x18004daf0
mov rdx, qword [rsp + 0xa10]
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rdx], xmm0
mov rax, rdx
lea r11, [rsp + 0x9c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdi, qword [rsp + 0xa30]
lea rax, [rsp + 0x140]
mov rcx, qword [rbp]
lea r9, [rsp + 0x60]
mov rdx, r10
mov qword [rsp + 0x20], rax
mov r8d, dword [rdi]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18004db35
mov eax, dword [rdi]
cmp dword [rsp + 0x60], eax
jne 0x18004db35
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0xa38]
mov r10, qword [rsp + 0xa18]
jmp 0x18004daf0
mov rax, qword [rsp + 0x120]
movups xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x18004da5d
mov qword [rbp + 8], rax
jmp 0x18004dae7
mov r14d, dword [rsp + 0x40]
mov eax, 0xd3
mov rbx, qword [rsp + 0x128]
nop
cmp eax, 0xd3
je 0x18004da84
cmp eax, 0x169
jne 0x18004dace
mov dword [rbp + 0x10], r14d
jmp 0x18004dace
mov r9d, dword [rbp + 0x10]
inc r9d
mov qword [rbp + 8], 0
mov edx, dword [rbx + 8]
mov dword [rsp + 0x40], r9d
cmp r9d, edx
jae 0x18004dabf
mov r8, qword [rbx]
mov rcx, qword [r8 + r9*8]
test rcx, rcx
jne 0x18004dabb
inc r9d
mov dword [rsp + 0x40], r9d
cmp r9d, edx
jb 0x18004daa3
jmp 0x18004dabf
mov qword [rbp + 8], rcx
mov r14d, dword [rsp + 0x40]
mov eax, 0xd3
mov ecx, 0x28c8
add eax, 0x96
cmp eax, 0x1ff
jb 0x18004da70
mov rbx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0xa38]
movdqa xmmword [rsp + 0x130], xmm0
imul eax, r8d, 0x2c
add ecx, eax
mov dword [rsp + 0x44], ecx
cmp ecx, dword [rsp + 0x64]
ja 0x18004d980
mov r9, qword [rsp + 0xa28]
jmp 0x18004d010
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0xa10]
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rax], xmm0
jmp 0x18004d996
mov edx, dword [rdi]
lea rcx, str.void_glUniformMatrix3x4dv__d___d___s___s_
call fcn.18002cc20
int3