Function at 0x14004f960
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r15
sub rsp, 0x50
mov rbp, r8
mov r15, rdx
mov rsi, rcx
test r8, r8
jne 0x14004f992
xor eax, eax
mov dword [rcx], 1
mov dword [rcx + 0x10], eax
mov qword [rcx + 8], rax
mov rax, rcx
add rsp, 0x50
pop r15
pop rsi
pop rbp
ret
xor edx, edx
mov qword [rsp + 0x70], rbx
mov rcx, rbp
lea r8d, [rdx + 2]
call fcn.1400e7d18
mov rcx, rbp
call fcn.1400e9c10
xor r8d, r8d
xor edx, edx
mov rcx, rbp
mov rbx, rax
call fcn.1400e7d18
test rbx, rbx
jns 0x14004f9e2
mov rbx, qword [rsp + 0x70]
xor eax, eax
mov dword [rsi + 0x10], eax
mov qword [rsi + 8], rax
mov rax, rsi
mov dword [rsi], 2
add rsp, 0x50
pop r15
pop rsi
pop rbp
ret
mov qword [rsp + 0x78], rdi
lea rcx, [rbx + 1]
mov qword [rsp + 0x80], r14
call fcn.1400e9cb4
mov rdi, rax
test rax, rax
jne 0x14004fa12
mov dword [rsi + 0x10], eax
mov dword [rsi], 3
mov qword [rsi + 8], rax
jmp 0x14004fb83
mov r9, rbp
mov r8, rbx
mov edx, 1
mov rcx, rdi
call fcn.1400e79e0
cmp rax, rbx
je 0x14004fa46
mov rcx, rdi
call fcn.1400e3bf4
xor eax, eax
mov dword [rsi], 2
mov dword [rsi + 0x10], eax
mov qword [rsi + 8], rax
jmp 0x14004fb83
cmp rbx, 4
jb 0x14004fb50
movzx r8d, byte [rdi]
movzx edx, byte [rdi + 1]
movzx ecx, byte [rdi + 2]
movzx eax, byte [rdi + 3]
test r8b, r8b
jne 0x14004fa91
test dl, dl
jne 0x14004fa8c
cmp cl, 0xfe
jne 0x14004fa80
cmp al, 0xff
jne 0x14004fb50
mov ecx, 6
jmp 0x14004fb5c
test cl, cl
jne 0x14004fb50
cmp al, 0x3c
jmp 0x14004fa70
cmp dl, 0x3c
jmp 0x14004fabb
cmp r8b, 0xff
jne 0x14004fab2
cmp dl, 0xfe
jne 0x14004fb50
test cl, cl
jne 0x14004faa8
test al, al
je 0x14004fadd
mov ecx, 2
jmp 0x14004fb5c
cmp r8b, 0xfe
jne 0x14004facb
cmp dl, 0xff
jne 0x14004fb50
mov ecx, 3
jmp 0x14004fb5c
cmp r8b, 0x3c
jne 0x14004fb50
test dl, dl
jne 0x14004fae4
test cl, cl
jne 0x14004faa8
test al, al
jne 0x14004faa8
mov ecx, 5
jmp 0x14004fb5c
cmp dl, 0x3f
jne 0x14004fb50
cmp cl, 0x78
jne 0x14004fb50
cmp al, 0x6d
jne 0x14004fb50
cmp rbx, 6
jb 0x14004fb50
cmp byte [rdi + 4], 0x6c
jne 0x14004fb50
lfence
movzx eax, byte [rdi + 5]
lea r10, [0x1401370b0]
test byte [rax + r10], 8
je 0x14004fb50
mov ecx, 6
cmp rbx, 7
jbe 0x14004fb50
mov r8d, 1
lea rdx, [rdi + 6]
sub r8, rdi
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp al, 0x3f
je 0x14004fb50
cmp al, 0x65
jne 0x14004fb41
cmp byte [rdx + 1], 0x6e
je 0x14004fba1
inc rdx
inc rcx
lea rax, [r8 + rdx]
cmp rax, rbx
jb 0x14004fb30
mov byte [rbx + rdi], 0
mov ecx, 1
inc rbx
mov rax, qword [rsp + 0x98]
mov r9, rdi
mov qword [rsp + 0x48], rax
mov r8, r15
mov dword [rsp + 0x30], ecx
mov rdx, r15
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call fcn.14004f730
mov rdi, qword [rsp + 0x78]
mov rax, rsi
mov r14, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop r15
pop rsi
pop rbp
ret
cmp rcx, rbx
jae 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x6e
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x63
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x6f
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x64
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x69
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x6e
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], 0x67
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fb50
lfence
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
test byte [rax + r10], 8
je 0x14004fc58
inc rcx
cmp rcx, rbx
jb 0x14004fc40
jmp 0x14004fb50
cmp al, 0x3d
jne 0x14004fb50
inc rcx
cmp rcx, rbx
jae 0x14004fc87
lfence
nop dword [rax + rax]
movzx eax, byte [rcx + rdi]
test byte [rax + r10], 8
je 0x14004fd5f
inc rcx
cmp rcx, rbx
jb 0x14004fc70
mov r8b, 0x27
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], r8b
jne 0x14004fb50
inc rcx
mov r9, rcx
lea rdx, [rcx + rdi]
cmp rcx, rbx
jae 0x14004fcc3
lfence
nop
movzx eax, byte [rcx + rdi]
test byte [rax + r10], 0x40
je 0x14004fcc3
inc rcx
cmp rcx, rbx
jb 0x14004fcb0
mov rax, rcx
sub rax, r9
cmp rcx, rbx
jae 0x14004fb50
cmp byte [rcx + rdi], r8b
jne 0x14004fb50
cmp rax, 0xa
jne 0x14004fd70
movzx eax, byte [rdx]
or al, 0x20
cmp al, 0x69
jne 0x14004fb50
movzx eax, byte [rdx + 1]
or al, 0x20
cmp al, 0x73
jne 0x14004fb50
movzx eax, byte [rdx + 2]
or al, 0x20
cmp al, 0x6f
jne 0x14004fb50
cmp byte [rdx + 3], 0x2d
jne 0x14004fb50
cmp byte [rdx + 4], 0x38
jne 0x14004fb50
cmp byte [rdx + 5], 0x38
jne 0x14004fb50
cmp byte [rdx + 6], 0x35
jne 0x14004fb50
cmp byte [rdx + 7], 0x39
jne 0x14004fb50
cmp byte [rdx + 8], 0x2d
jne 0x14004fb50
cmp byte [rdx + 9], 0x31
jne 0x14004fb50
mov ecx, 9
jmp 0x14004fb5c
cmp al, 0x22
jne 0x14004fc87
movzx r8d, al
jmp 0x14004fc93
cmp rax, 6
jne 0x14004fb50
movzx eax, byte [rdx]
or al, 0x20
cmp al, 0x6c
jne 0x14004fb50
movzx eax, byte [rdx + 1]
or al, 0x20
cmp al, 0x61
jne 0x14004fb50
movzx eax, byte [rdx + 2]
or al, 0x20
cmp al, 0x74
jne 0x14004fb50
movzx eax, byte [rdx + 3]
or al, 0x20
cmp al, 0x69
jne 0x14004fb50
movzx eax, byte [rdx + 4]
or al, 0x20
cmp al, 0x6e
jne 0x14004fb50
cmp byte [rdx + 5], 0x31
jne 0x14004fb50
mov ecx, 9
jmp 0x14004fb5c