Function at 0x140017caf
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r9
mov rbx, r8
mov r15, rdx
mov qword [rsp + 0x38], rcx
jb 0x140017ac8
jae 0x140017ac8
call 0x158430615
mov rax, qword [r9 + 0x18]
mov rsi, qword [r9 + 0x28]
mov r12d, 0xffffffff
lea r13, [rsp + 0x34]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], r8
jnp 0x140017aea
jp 0x140017aea
call 0x188c30436
sub ecx, esi
mov rcx, rax
sub rcx, rsi
cmp rcx, 0x1ff
ja 0x140017ca9
jl 0x140017b02
jge 0x140017b02
call 0x142bfbc6c
add byte [rax - 0x7f], cl
mov byte [rax], 2
add byte [rax], al
mov r14w, 2
add rsi, 0x200
jb 0x140017d80
jl 0x140017b19
jge 0x140017b19
call 0x14ff1b465
add dword [rdi + 0x77000001], 3
cmp rax, rsi
jae 0x140017ca9
ja 0x140017b27
jbe 0x140017b27
call 0x128fb0473
mov ecx, 0x75000009
add esi, dword [rcx + rax - 0x18]
mov rcx, rdi
call 0x1400184e8
jne 0x140017b34
je 0x140017b34
call 0x1b4d07a80
or cl, byte [rax + 0xf]
mov ebp, 0xf08348c6
invalid
dec rsi
je 0x140017b43
bsr rax, rsi
xor rax, 0x3f
jmp 0x140017b48
mov eax, 0x40
test ax, ax
je 0x140017d80
jo 0x140017b56
jno 0x140017b56
call 0x10129bc0b
mov cl, 0x40
sub cl, al
mov ebp, 1
shl rbp, cl
test cl, 0x40
mov eax, 0
cmovne rbp, rax
mov rsi, qword [rdi + 0x18]
mov r15, qword [rdi]
mov r13, qword [rdi + 8]
jnp 0x140017b7e
jp 0x140017b7e
call 0x1648e06ce
mov eax, 0x79000000
add edi, dword [rax + 1]
mov r9, qword [rsp + 0xb8]
jns 0x140017b8b
js 0x140017b8b
call 0x141737f02
jae 0x140017b90
jb 0x140017b90
call 0x141777f0b
ja 0x140017b95
jbe 0x140017b95
call 0x14ff800e1
test byte [rsi + 0x4c000000], ch
mov esp, dword [rdi + 0x10]
test rsi, rsi
je 0x140017c4c
mov r12, qword [rdi + 0x10]
mov rax, qword [r13 + 8]
jno 0x140017bab
jo 0x140017bab
call 0x1644e04fb
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rbp
mov rcx, r15
mov rdx, r12
mov r8, rsi
xor r9d, r9d
call rax
test al, 1
jne 0x140017c40
jl 0x140017bd1
jge 0x140017bd1
call 0x14047071e
mov rax, qword [r13]
jo 0x140017bda
jno 0x140017bda
call 0x188fb052a
mov edx, ebp
mov rcx, r15
mov rdx, rbp
xor r8d, r8d
mov r9, qword [rsp + 0x40]
call rax
test rax, rax
je 0x140017d76
mov rbx, rax
call 0x140017bfc
add al, ch
cmp rbp, rsi
mov r8, rsi
cmovb r8, rbp
jg 0x140017c0c
jle 0x140017c0c
call 0x18cc30558
mov edx, esp
mov rcx, rax
mov rdx, r12
call fcn.1400027aa
mov rax, qword [r13 + 0x10]
ja 0x140017c20
jbe 0x140017c20
call 0x1644e076c
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov rdx, r12
mov r8, rsi
xor r9d, r9d
call rax
mov r12, rbx
mov rbx, qword [rsp + 0x48]
jne 0x140017c45
je 0x140017c45
call 0x1417f7fc8
jg 0x140017c4a
jle 0x140017c4a
call 0xc94dbd39
jl 0x140017c74
jmp 0x140017c8c
mov qword [rsp + 0x58], r15
pop rax
mov qword [rsp + 0x60], r13
jae 0x140017c5b
jb 0x140017c5b
call 0x1644e09a7
push 0x24548d48
pop rax
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov r8, rbp
call fcn.14001838d
movzx r14d, word [rsp + 0x70]
jno 0x140017c78
add esi, dword [rax + 1]
jo 0x140017c78
call 0x1417c7ff6
jp 0x140017c7d
jnp 0x140017c7d
call 0x13686c1e7
test r14w, r14w
jne 0x140017d80
mov r12, qword [rsp + 0x68]
lea r13, [rsp + 0x34]
jns 0x140017c96
js 0x140017c96
call 0x1506905e6
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], rbp
mov r15, qword [rsp + 0x50]
mov r12d, 0xffffffff
call 0x140017caf
add al, ch
mov rcx, rdi
call fcn.1400185f2
cmp rdx, 0x1ff
ja 0x140017cdb
jl 0x140017cc6
jge 0x140017cc6
call 0x128fb0612
sbb cl, byte [rax]
add byte [rax], al
mov rcx, rdi
call 0x1400184e8
js 0x140017cd3
jns 0x140017cd3
call 0x128fb061f
invalid
mov rcx, rdi
call fcn.1400185f2
mov r8, rdx
jp 0x140017ce3
jnp 0x140017ce3
call 0x14173805a
jae 0x140017ce8
jb 0x140017ce8
call 0x18de3b638
cmovae eax, esp
cmp rdx, r12
cmovae r8, r12
jb 0x140017cf4
jae 0x140017cf4
call 0x1645e0640
and byte [rcx + rcx*4 - 7], cl
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov rdx, rax
mov r9, r13
call sub.KERNEL32.dll_ReadFile
test eax, eax
je 0x140017d2a
jl 0x140017d10
jge 0x140017d10
call 0x17425f19f
mov esi, dword [rsp + 0x34]
add rsi, qword [rdi + 0x28]
mov rax, qword [rdi + 0x18]
jg 0x140017d21
jle 0x140017d21
call 0x16879066d
mov qword [rdi + 0x28], rsi
jmp 0x140017ae5
jno 0x140017d2f
jo 0x140017d2f
call 0x142360a1b
add byte [rsi - 0x7d], ah
clc
insd dword [rdi], dx
call sub.KERNEL32.dll_GetLastError
cmp ax, 0x6d
je 0x140017d51
movzx eax, ax
cmp eax, 0x3e5
jne 0x140017d65
jno 0x140017d49
jo 0x140017d49
call 0xfaf682d8
invalid
mov eax, dword [0x140003844]
jmp 0x140017d5c
jl 0x140017d56
jge 0x140017d56
call 0xfaed82e5
invalid
mov eax, dword [0x140003848]
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
jmp 0x140017d8e
jns 0x140017d6a
js 0x140017d6a
call 0x1644608b6
cmp byte [rsi - 0x39], ah
add byte [rsi], cl
add bl, ch
sbb byte [rax + 3], bh
mov rax, qword [rsp + 0x38]
mov word [rax], 0xe
jmp 0x140017d8e
js 0x140017d7b
jns 0x140017d7b
call 0x1418080fd
jle 0x140017d80
jg 0x140017d80
call 0x1417c80fe
jp 0x140017d85
jnp 0x140017d85
call 0x1644608d1
cmp byte [rsi + 0x44], ah
mov dword [rax], esi
mov rax, qword [rsp + 0x38]
mov word [rax], r14w
ja 0x140017d93
jbe 0x140017d93
call 0x1b8c600df
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret