Function at 0x140017020
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor esi, esi
lea rdx, [0x14004f494]
mov r15d, esi
mov ebp, esi
mov rdi, r9
mov r13, r8
mov r12, rcx
call fcn.14002592c
mov r14, rax
test rax, rax
je 0x1400170c4
xor edx, edx
mov r8d, 2
mov rcx, rax
call fcn.140027084
mov rcx, r14
call fcn.140026cd0
xor r8d, r8d
movsxd r15, eax
xor edx, edx
mov rcx, r14
call fcn.140027084
mov rcx, r15
call fcn.140025f20
mov r9, r14
mov r8d, 1
mov rdx, r15
mov rcx, rax
mov rbp, rax
call fcn.14002738c
cmp rax, 1
je 0x1400170bc
mov rcx, rbp
call fcn.140025f10
mov ebp, esi
mov rcx, r14
call fcn.140025a5c
test rbp, rbp
je 0x1400170dc
mov eax, 0x5a4d
cmp word [rbp], ax
je 0x1400170e3
mov rcx, rbp
call fcn.140025f10
xor eax, eax
jmp 0x14001754b
mov eax, dword [rbp + 0x3c]
mov r11d, dword [rax + rbp + 0x58]
lea r14, [rax + rbp]
test r11d, r11d
je 0x140017186
cmp r15d, dword [r14 + 0x50]
je 0x140017186
add eax, 0x58
mov r9d, r15d
mov rdx, rsi
mov r8, rsi
test r15d, r15d
je 0x140017152
mov r10d, eax
movabs rbx, 0x100000000
cmp r8, r10
je 0x140017149
mov ecx, dword [r8 + rbp]
mov rax, rdx
shr rax, 0x20
add rcx, rax
mov edx, edx
add rdx, rcx
cmp rdx, rbx
jbe 0x140017149
mov rcx, rdx
mov edx, edx
shr rcx, 0x20
add rdx, rcx
add r8, 4
cmp r8, r9
jl 0x140017120
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, r15d
cmp r11d, r9d
je 0x140017186
mov r8d, r11d
lea rcx, str._ninvalid_checksum:__s__lx___lx_n_n
mov rdx, r12
call fcn.140001350
mov eax, dword [r14 + 0x50]
mov ecx, 0x14c
mov dword [rsp + 0x58], eax
cmp word [r14 + 4], cx
jne 0x1400171a0
mov r12d, dword [r14 + 0x34]
jmp 0x1400171a4
mov r12, qword [r14 + 0x30]
mov rcx, rax
call fcn.140025f20
mov r8d, dword [r14 + 0x54]
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.14003e500
mov eax, 0x14c
mov ecx, pe_nt_image_headers64
cmp word [r14 + 4], ax
mov r15d, 0xf8
cmovne r15d, ecx
add r15, r14
cmp si, word [r14 + 6]
jae 0x140017222
nop dword [rax]
nop word [rax + rax]
movzx eax, si
lea rcx, [rax + rax*4]
mov eax, dword [r15 + rcx*8 + 0x10]
test eax, eax
je 0x140017218
mov edx, dword [r15 + rcx*8 + 0x14]
mov r8d, eax
mov ecx, dword [r15 + rcx*8 + 0xc]
add rdx, rbp
add rcx, rbx
call fcn.14003e500
inc si
cmp si, word [r14 + 6]
jb 0x1400171f0
mov rcx, rbp
call fcn.140025f10
mov ebp, dword [rbx + 0x3c]
mov rax, rbx
sub rax, r12
add rbp, rbx
mov r10, r13
sub r10, r12
test r13, r13
cmove r10, rax
test r10, r10
je 0x140017548
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 0x140017548
mov eax, dword [rsi + rbp + 0x18]
test eax, eax
je 0x140017548
cmp dword [rbx + rax], 0
lea rdx, [rbx + rax]
je 0x140017548
lea r11, [rdx + rcx]
cmp rdx, r11
jae 0x140017300
mov eax, dword [rdx + 4]
test eax, eax
je 0x1400172fa
lea r9, [rax - 8]
shr r9, 1
lea r8, [rdx + 8]
je 0x1400172ef
nop word [rax + rax]
movzx eax, word [r8]
movzx ecx, ax
shr cx, 0xc
cmp cx, 0xa
jne 0x1400172d1
mov ecx, dword [rdx]
and eax, 0xfff
add rax, rbx
add qword [rcx + rax], r10
jmp 0x1400172e5
cmp cx, 3
jne 0x1400172e5
mov ecx, dword [rdx]
and eax, 0xfff
add rax, rbx
add dword [rcx + rax], r10d
add r8, 2
sub r9, 1
jne 0x1400172b0
mov eax, dword [rdx + 4]
add rdx, rax
cmp rdx, r11
jb 0x140017293
mov r8d, 0x14c
lea rcx, [rbp + 0xc8]
cmp word [rbp + 4], r8w
je 0x140017315
lea rcx, [rbp + 0xd8]
mov eax, dword [rcx]
test eax, eax
je 0x140017548
mov edx, dword [rcx + 4]
cmp edx, 0x108
jb 0x140017548
cmp eax, dword [rsp + 0x58]
ja 0x140017548
cmp dword [rax + rbx], edx
jne 0x140017548
mov ecx, dword [rax + rbx + 0xe0]
test ecx, ecx
je 0x140017548
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 0x140017548
nop dword [rax]
mov rcx, qword [rsi]
test rcx, rcx
je 0x140017548
cmp rcx, 7
je 0x140017535
mov edx, dword [rsi + 8]
lea rax, [rsi + 0xc]
cmp rcx, 5
jne 0x1400173f7
lea r10, [rax + rdx]
cmp rax, r10
jae 0x140017535
cmp dword [rax], 0
je 0x140017535
mov r9d, dword [rax + 4]
lea r8, [rax + 8]
add r9, rax
cmp r8, r9
jae 0x1400173e7
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 0x1400173c0
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x1400173a0
jmp 0x140017535
cmp rcx, 4
jne 0x140017478
lea r10, [rax + rdx]
cmp rax, r10
jae 0x140017535
nop word [rax + rax]
cmp dword [rax], 0
je 0x140017535
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x140017535
lea r9, [rax + rcx]
lea r8, [rax + 8]
cmp r8, r9
jae 0x140017468
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 0x140017440
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x140017410
jmp 0x140017535
cmp rcx, 3
jne 0x1400174e7
lea r10, [rdx + rax]
cmp rax, r10
jae 0x140017535
nop dword [rax + rax]
cmp dword [rax], 0
je 0x140017535
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x140017535
lea r8, [rax + 8]
lea r9, [r8 + rcx]
cmp r8, r9
jae 0x1400174da
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 0x1400174b1
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r10
jb 0x140017490
jmp 0x140017535
lea r11, [rdx + rax]
cmp rax, r11
jae 0x140017535
cmp dword [rax], 0
je 0x140017535
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x140017535
lea r10, [rax + rcx]
lea r9, [rax + 8]
cmp r9, r10
jae 0x14001752a
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 0x140017510
mov ecx, dword [rax + 4]
add rax, rcx
cmp rax, r11
jb 0x1400174f0
mov eax, dword [rsi + 8]
add rsi, 0xc
add rsi, rax
cmp rsi, rbp
jb 0x140017370
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret