Function at 0x1402e8000
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140424a38]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, rcx
lea r8, [rbp - 0x38]
mov rdx, rcx
mov ecx, 0x434f4d4d
call fcn.1402e7e90
test eax, eax
je 0x1402e834b
cmp dword [rbp - 0x38], 0x12
jb 0x1402e834b
mov r9, qword [rbx]
lea rcx, [rbp - 0x3c]
mov edx, 1
lea r8d, [rdx + 1]
call fcn.1403364cc
cmp rax, 2
jb 0x1402e834b
mov r9, qword [rbx]
lea rcx, [rbp - 0x40]
mov edx, 1
lea r8d, [rdx + 3]
call fcn.1403364cc
cmp rax, 4
jb 0x1402e834b
mov r9, qword [rbx]
lea rcx, [rbp - 0x3a]
mov edx, 1
lea r8d, [rdx + 1]
call fcn.1403364cc
cmp rax, 2
jb 0x1402e834b
mov r9, qword [rbx]
lea rcx, [rbp - 0x30]
mov edx, 1
lea r8d, [rdx + 9]
call fcn.1403364cc
cmp rax, 0xa
jb 0x1402e834b
mov ecx, dword [rbp - 0x40]
mov edx, ecx
rol word [rbp - 0x3c], 8
mov eax, ecx
rol word [rbp - 0x3a], 8
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov qword [rsp + 0x88], rsi
movzx esi, byte [rbp - 0x2a]
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl esi, 8
movzx ecx, byte [rbp - 0x2e]
shl eax, 8
shl ecx, 8
mov qword [rsp + 0x90], r15
movzx r15d, byte [rbp - 0x30]
mov edi, r15d
shr edx, 8
or edx, eax
shr edi, 7
movzx eax, byte [rbp - 0x2f]
and r15d, 0x7f
shl r15d, 8
or r15d, eax
movaps xmmword [rsp + 0x50], xmm6
movzx eax, byte [rbp - 0x2d]
or ecx, eax
mov dword [rbp - 0x40], edx
movzx eax, byte [rbp - 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbp - 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbp - 0x29]
or esi, eax
movzx eax, byte [rbp - 0x28]
shl esi, 8
or esi, eax
movzx eax, byte [rbp - 0x27]
shl esi, 8
or esi, eax
test r15d, r15d
jne 0x1402e817b
test ecx, ecx
jne 0x1402e819c
test esi, esi
jne 0x1402e819c
test edi, edi
je 0x1402e8176
movsd xmm6, qword [0x1403b4068]
jmp 0x1402e81da
xorps xmm6, xmm6
jmp 0x1402e81da
cmp r15d, 0x7fff
jne 0x1402e819c
test edi, edi
je 0x1402e8192
movsd xmm6, qword [0x14039b3e0]
jmp 0x1402e81da
movsd xmm6, qword [0x14039b3d0]
jmp 0x1402e81da
mov eax, ecx
lea edx, [r15 - 0x401e]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
call fcn.140331f64
movaps xmm6, xmm0
mov eax, esi
xorps xmm0, xmm0
lea edx, [r15 - 0x403e]
cvtsi2sd xmm0, rax
call fcn.140331f64
addsd xmm6, xmm0
test edi, edi
je 0x1402e81da
xorps xmm6, xmmword [0x14039b430]
mov eax, dword [rbp - 0x40]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov qword [rbx + 0x30], rax
movzx eax, word [rbp - 0x3c]
mov dword [rbx + 0x1c], eax
movzx eax, word [rbp - 0x3a]
mov dword [rbx + 0x14], eax
add eax, 7
shr eax, 3
cmp dword [rbp - 0x38], 0x16
movsd qword [rbx + 0x28], xmm6
movaps xmm6, xmmword [rsp + 0x50]
mov dword [rbx + 0x10], eax
jb 0x1402e8339
cmp dword [rbx + 0x70], 0x43464941
jne 0x1402e8339
mov r9, qword [rbx]
lea rcx, [rbp - 0x34]
mov edx, 1
lea r8d, [rdx + 3]
call fcn.1403364cc
cmp rax, 4
jb 0x1402e834b
mov eax, dword [rbp - 0x34]
cmp eax, 0x6d63706c
ja 0x1402e828b
je 0x1402e82e9
sub eax, 0x32334c46
je 0x1402e8274
sub eax, 0x2020
je 0x1402e8274
sub eax, 0x131ae2e8
je 0x1402e82e9
sub eax, 0x11f2fcf3
jmp 0x1402e829e
mov dword [rbx + 0x74], 0x32334c46
mov dword [rbx + 0x10], 4
mov dword [rbx + 0x14], 0x20
jmp 0x1402e82f0
sub eax, 0x736f7774
je 0x1402e82e9
sub eax, 0x107f7ff
je 0x1402e82dc
sub eax, 0x2e9fcee
je 0x1402e82c5
cmp eax, 0x14
je 0x1402e82ae
mov dword [rbx + 0x74], 0xffffffff
jmp 0x1402e82f4
mov dword [rbx + 0x74], 0x57414c55
mov dword [rbx + 0x10], 2
mov dword [rbx + 0x14], 0xe
jmp 0x1402e82f4
mov dword [rbx + 0x74], 0x57414c41
mov dword [rbx + 0x10], 2
mov dword [rbx + 0x14], 0xd
jmp 0x1402e82f4
or dword [rbx + 8], 8
mov dword [rbx + 0x74], 0x454e4f4e
jmp 0x1402e82f4
mov dword [rbx + 0x74], 0x454e4f4e
or dword [rbx + 8], 4
cmp dword [rbp - 0x38], 0x16
jbe 0x1402e8344
test byte [rbx + 8], 0x20
je 0x1402e8344
mov rcx, qword [rbx]
call fcn.140335fa4
test eax, eax
js 0x1402e8344
mov edi, eax
not edi
and edi, 1
add edi, eax
test edi, edi
jle 0x1402e8344
nop dword [rax]
mov rcx, qword [rbx]
dec edi
call fcn.1403360ac
test eax, eax
js 0x1402e834b
test edi, edi
jg 0x1402e8320
mov eax, 1
jmp 0x1402e8350
or dword [rbx + 8], 4
mov dword [rbx + 0x74], 0x454e4f4e
mov eax, 1
jmp 0x1402e8350
mov eax, 0xffffffff
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.140322a80
add rsp, 0x60
pop rdi
pop rbx
pop rbp
ret