Function at 0x14000d390
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor ebp, ebp
lea rdx, [0x140033da4]
mov r12d, ebp
mov esi, ebp
mov rdi, r9
mov r13, rcx
call fcn.140016778
mov r15, rax
test rax, rax
je 0x14000d446
xor edx, edx
mov r8d, 2
mov rcx, rax
call fcn.1400175a8
mov rcx, r15
call fcn.14001728c
xor r8d, r8d
mov r12d, eax
xor edx, edx
mov rcx, r15
call fcn.1400175a8
movsxd rcx, r12d
call fcn.140016140
mov rsi, rax
test r12d, r12d
jle 0x14000d43e
mov ebx, ebp
mov r14d, r12d
nop
mov edx, 1
lea rcx, [rsi + rbx]
mov r8d, edx
mov r9, r15
call fcn.1400178b0
cmp rax, 1
je 0x14000d435
mov rcx, rsi
call fcn.140015d10
mov rsi, rbp
inc rbx
sub r14, 1
jne 0x14000d410
mov rcx, r15
call fcn.1400168a8
test rsi, rsi
je 0x14000d45d
mov eax, 0x5a4d
cmp word [rsi], ax
je 0x14000d464
mov rcx, rsi
call fcn.140015d10
xor eax, eax
jmp 0x14000d8cb
mov eax, dword [rsi + 0x3c]
mov r11d, dword [rsi + rax + 0x58]
lea r14, [rsi + rax]
test r11d, r11d
je 0x14000d507
cmp r12d, dword [r14 + 0x50]
je 0x14000d507
add eax, 0x58
mov r9d, r12d
mov rdx, rbp
mov r8, rbp
test r12d, r12d
je 0x14000d4d3
mov r10d, eax
movabs rbx, 0x100000000
cmp r8, r10
je 0x14000d4ca
mov ecx, dword [rsi + r8]
mov rax, rdx
shr rax, 0x20
add rcx, rax
mov edx, edx
add rdx, rcx
cmp rdx, rbx
jbe 0x14000d4ca
mov rcx, rdx
mov edx, edx
shr rcx, 0x20
add rdx, rcx
add r8, 4
cmp r8, r9
jl 0x14000d4a1
movzx eax, dx
mov rcx, rdx
shr rcx, 0x10
add rcx, rax
mov rax, rcx
shr rax, 0x10
add eax, ecx
movzx r9d, ax
add r9d, r12d
cmp r11d, r9d
je 0x14000d507
mov r8d, r11d
lea rcx, str._ninvalid_checksum:__s__lx___lx_n_n
mov rdx, r13
call fcn.1400012c0
mov r13d, dword [r14 + 0x50]
mov eax, 0x14c
cmp word [r14 + 4], ax
jne 0x14000d51d
mov r12d, dword [r14 + 0x34]
jmp 0x14000d521
mov r12, qword [r14 + 0x30]
mov rcx, r13
call fcn.140016140
mov r8d, dword [r14 + 0x54]
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.140027f30
mov eax, 0x14c
mov ecx, 0x108
cmp word [r14 + 4], ax
mov r15d, 0xf8
cmovne r15d, ecx
add r15, r14
cmp bp, word [r14 + 6]
jae 0x14000d592
nop
movzx eax, bp
lea rcx, [rax + rax*4]
mov eax, dword [r15 + rcx*8 + 0x10]
test eax, eax
je 0x14000d588
mov edx, dword [r15 + rcx*8 + 0x14]
mov r8d, eax
mov ecx, dword [r15 + rcx*8 + 0xc]
add rdx, rsi
add rcx, rbx
call fcn.140027f30
inc bp
cmp bp, word [r14 + 6]
jb 0x14000d560
mov rcx, rsi
call fcn.140015d10
mov rcx, qword [rsp + 0x60]
mov rax, rbx
mov ebp, dword [rbx + 0x3c]
sub rax, r12
add rbp, rbx
mov r10, rcx
sub r10, r12
test rcx, rcx
cmove r10, rax
test r10, r10
je 0x14000d8c8
mov r8d, 0x14c
mov esi, 0x88
cmp word [rbp + 4], r8w
mov eax, 0x98
cmovne esi, eax
mov ecx, dword [rsi + rbp + 0x1c]
test ecx, ecx
je 0x14000d8c8
mov eax, dword [rsi + rbp + 0x18]
test eax, eax
je 0x14000d8c8
lea rdx, [rbx + rax]
mov eax, dword [rbx + rax]
cmp eax, 0xcdcdcdcd
je 0x14000d8c8
test eax, eax
je 0x14000d8c8
lea r11, [rdx + rcx]
cmp rdx, r11
jae 0x14000d680
mov eax, dword [rdx + 4]
test eax, eax
je 0x14000d67a
lea r9, [rax - 8]
shr r9, 1
lea r8, [rdx + 8]
je 0x14000d66f
nop dword [rax + rax]
movzx eax, word [r8]
movzx ecx, ax
shr cx, 0xc
cmp cx, 0xa
jne 0x14000d651
mov ecx, dword [rdx]
and eax, 0xfff
add rax, rbx
add qword [rcx + rax], r10
jmp 0x14000d665
cmp cx, 3
jne 0x14000d665
mov ecx, dword [rdx]
and eax, 0xfff
add rax, rbx
add dword [rcx + rax], r10d
add r8, 2
sub r9, 1
jne 0x14000d630
mov eax, dword [rdx + 4]
add rdx, rax
cmp rdx, r11
jb 0x14000d614
mov r8d, 0x14c
lea rcx, [rbp + 0xc8]
cmp word [rbp + 4], r8w
je 0x14000d695
lea rcx, [rbp + 0xd8]
mov eax, dword [rcx]
test eax, eax
je 0x14000d8c8
mov edx, dword [rcx + 4]
cmp edx, 0x108
jb 0x14000d8c8
cmp eax, r13d
ja 0x14000d8c8
cmp dword [rax + rbx], edx
jne 0x14000d8c8
mov ecx, dword [rax + rbx + 0xe0]
test ecx, ecx
je 0x14000d8c8
mov eax, dword [rsi + rbp + 0x18]
add rax, rbx
add rcx, rax
mov ebp, dword [rcx + 4]
lea rsi, [rcx + 8]
add rbp, rcx
cmp rsi, rbp
jae 0x14000d8c8
nop dword [rax]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000d8c8
cmp rcx, 7
je 0x14000d8b5
mov edx, dword [rsi + 8]
lea rax, [rsi + 0xc]
cmp rcx, 5
jne 0x14000d777
lea r10, [rax + rdx]
cmp rax, r10
jae 0x14000d8b5
cmp dword [rax], 0
je 0x14000d8b5
mov r9d, dword [rax + 4]
lea r8, [rax + 8]
add r9, rax
cmp r8, r9
jae 0x14000d767
nop dword [rax]
movzx edx, word [r8]
add r8, 2
mov ecx, dword [rax]
and edx, 0xfff
add rdx, rcx
mov ecx, dword [rdx + rdi]
mov dword [rdx + rbx], ecx
movzx ecx, byte [rdx + rdi + 4]
mov byte [rdx + rbx + 4], cl
cmp r8, r9
jb 0x14000d740
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x14000d720
jmp 0x14000d8b5
cmp rcx, 4
jne 0x14000d7f8
lea r10, [rax + rdx]
cmp rax, r10
jae 0x14000d8b5
nop word [rax + rax]
cmp dword [rax], 0
je 0x14000d8b5
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x14000d8b5
lea r9, [rax + rcx]
lea r8, [rax + 8]
cmp r8, r9
jae 0x14000d7e8
nop dword [rax]
nop word [rax + rax]
movzx edx, word [r8]
add r8, 2
mov ecx, dword [rax]
and edx, 0xfff
add rdx, rcx
mov ecx, dword [rdx + rdi]
mov dword [rdx + rbx], ecx
movzx ecx, word [rdx + rdi + 4]
mov word [rdx + rbx + 4], cx
cmp r8, r9
jb 0x14000d7c0
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x14000d790
jmp 0x14000d8b5
cmp rcx, 3
jne 0x14000d867
lea r10, [rdx + rax]
cmp rax, r10
jae 0x14000d8b5
nop dword [rax + rax]
cmp dword [rax], 0
je 0x14000d8b5
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x14000d8b5
lea r8, [rax + 8]
lea r9, [r8 + rcx]
cmp r8, r9
jae 0x14000d85a
mov edx, dword [r8]
add r8, 4
mov ecx, dword [rax]
and edx, 0xfff
add rdx, rcx
movsd xmm0, qword [rdx + rdi]
movsd qword [rdx + rbx], xmm0
mov ecx, dword [rdx + rdi + 8]
mov dword [rdx + rbx + 8], ecx
cmp r8, r9
jb 0x14000d831
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x14000d810
jmp 0x14000d8b5
lea r11, [rdx + rax]
cmp rax, r11
jae 0x14000d8b5
cmp dword [rax], 0
je 0x14000d8b5
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x14000d8b5
lea r10, [rax + rcx]
lea r9, [rax + 8]
cmp r9, r10
jae 0x14000d8aa
nop dword [rax]
movzx r8d, word [r9]
add r9, 2
mov ecx, dword [rax]
add r8, rcx
mov rcx, qword [r8 + rdi]
mov qword [r8 + rbx], rcx
cmp r9, r10
jb 0x14000d890
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r11
jb 0x14000d870
mov eax, dword [rsi + 8]
add rsi, 0xc
add rsi, rax
cmp rsi, rbp
jb 0x14000d6f0
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret