Function at 0x14017a1e0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor edi, edi
movsxd r14, r8d
xor r15d, r15d
mov rbp, rdx
mov rbx, rcx
mov r13, rcx
test rcx, rcx
je 0x14017a56d
mov rax, qword [rcx + 0x58]
lea r12, [rcx + 0x58]
mov qword [rsp + 0x30], r12
test rax, rax
je 0x14017a240
mov r8, rdx
mov dword [rsp + 0x28], 1
lea edx, [rdi + 2]
mov dword [rsp + 0x20], edi
mov r9d, r14d
call rax
mov edi, eax
test eax, eax
jle 0x14017a56f
nop dword [rax]
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14017a25c
cmp byte [rbx + 0x7c], 3
je 0x14017a25c
mov rbx, rax
test rax, rax
jne 0x14017a240
jmp 0x14017a546
mov qword [rsp + 0x88], rsi
lea r12, [0x140000000]
mov esi, 0xffffffff
test edi, edi
js 0x14017a539
mov rax, qword [rbx + 8]
test rax, rax
je 0x14017a29e
mov r9, qword [rax + 0x110]
test r9, r9
je 0x14017a29e
mov r8d, r14d
mov rdx, rbp
mov rcx, rbx
call r9
jmp 0x14017a51a
movzx edx, byte [rbx + 0x7c]
lea eax, [rdx - 2]
cmp eax, 6
ja case.default.0x14017a2bb
cdqe
mov ecx, dword [r12 + rax*4 + 0x17a580]
add rcx, r12
jmp rcx
test r15d, r15d
jle case.default.0x14017a2bb
lea r9, [rsp + 0x80]
mov dword [rsp + 0x80], r15d
mov r8, rbp
mov edx, r15d
mov rcx, rbp
call fcn.14020df90
mov edi, dword [rsp + 0x80]
test eax, eax
cmovne edi, esi
jmp case.default.0x14017a2bb
mov edi, 0xfffffffe
cmp dl, 4
jne 0x14017a306
xor edi, edi
jmp case.default.0x14017a2bb
mov rsi, qword [rbx + 0x20]
test rsi, rsi
je 0x14017a3a4
test r14d, r14d
jne 0x14017a334
movsxd rax, dword [rsi + 0x68]
add rax, qword [rsi + 0x30]
mov qword [rsp + 0x98], rax
xor edi, edi
mov esi, 0xffffffff
jmp case.default.0x14017a2bb
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.14017a1a0
mov edi, eax
test eax, eax
jne 0x14017a356
mov esi, 0xffffffff
mov edi, esi
jmp case.default.0x14017a2bb
cmp r14d, edi
cmovl edi, r14d
add dword [rsi + 0x68], edi
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx + 0x60]
cmp dword [rcx + 0x68], eax
jne 0x14017a38a
mov dword [rcx + 0x68], 0
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx + 0x60]
cmp dword [rcx + 0x64], eax
jne 0x14017a38a
mov dword [rcx + 0x64], 0
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx + 0x64]
cmp dword [rcx + 0x68], eax
jne 0x14017a3a4
mov dword [rcx + 0x68], 0
mov rax, qword [rbx + 0x20]
mov dword [rax + 0x64], 0
test edi, edi
jle 0x14017a32a
mov rdx, qword [rsp + 0x98]
mov rcx, rbp
movsxd r8, edi
call fcn.140284ff0
mov esi, 0xffffffff
jmp case.default.0x14017a2bb
mov r8d, r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140179c70
jmp 0x14017a51a
mov r9, qword [rbx + 0x30]
test r9, r9
je 0x14017a3f9
mov r8, r14
mov edx, 1
mov rcx, rbp
call fcn.14028c8fc
mov rdi, rax
jmp case.default.0x14017a2bb
mov edi, 0xffffff52
jmp case.default.0x14017a2bb
cmp dword [r13 + 0x74], 0
jne 0x14017a505
mov rcx, qword [rbx + 0x30]
mov r8d, r14d
and dword [rbx + 0x78], 0xffffffef
mov rdx, rbp
call fcn.140180790
mov edx, eax
test eax, eax
je 0x14017a462
test eax, eax
jns 0x14017a46a
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14017a462
mov eax, dword [rcx + 0x390]
lea ecx, [rax + 0x147]
test ecx, 0xfffffffb
je 0x14017a457
cmp eax, 0xfffffea9
je 0x14017a462
add eax, 0xfffffffe
cmp eax, 1
ja 0x14017a462
or dword [rbx + 0x78], 0x10
mov edi, edx
jmp case.default.0x14017a2bb
mov dword [r13 + 0x74], 1
mov edi, edx
jmp case.default.0x14017a2bb
mov r9, qword [rbx + 0x30]
test r9, r9
je 0x14017a4bd
cmp dword [r9 + 0x240], 0
jne 0x14017a4c7
cmp qword [0x140302b58], 0
lea rax, [0x140302b50]
je 0x14017a4af
mov ecx, dword [r9 + 0x230]
nop dword [rax]
cmp ecx, dword [rax]
je 0x14017a4b8
add rax, 0x10
cmp qword [rax + 8], 0
jne 0x14017a4a0
mov ecx, dword [r9 + 0x230]
jmp 0x14017a4bf
mov ecx, dword [rax + 4]
jmp 0x14017a4bf
xor ecx, ecx
cmp ecx, 0x357
jne 0x14017a4f2
test r9, r9
je 0x14017a505
test rbp, rbp
je 0x14017a505
cmp dword [r9 + 0x240], 0
mov rdx, rbp
mov rcx, r9
je 0x14017a4ed
mov r8d, edi
call fcn.1401ce230
test eax, eax
jmp 0x14017a503
mov r8d, edi
jmp 0x14017a4fb
movsxd r8, edi
mov rdx, rbp
mov rcx, r9
call fcn.14017cc90
cmp eax, 1
je case.default.0x14017a2bb
mov edi, esi
jmp case.default.0x14017a2bb
mov ecx, dword [rbx + 0x70]
xor r9d, r9d
mov r8d, r14d
mov rdx, rbp
call fcn.140207050
mov edi, eax
cmp rbx, r13
je 0x14017a539
mov rbx, qword [rbx + 0x10]
test edi, edi
mov eax, edi
cmovle eax, r15d
mov r15d, eax
test rbx, rbx
jne 0x14017a270
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x88]
mov rax, qword [r12]
test rax, rax
je 0x14017a56d
mov dword [rsp + 0x28], edi
mov r9d, r14d
mov r8, rbp
mov dword [rsp + 0x20], 0
mov edx, 0x82
mov rcx, r13
call rax
mov edi, eax
mov eax, edi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret