Function at 0x180084884
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor ebx, ebx
movsxd r14, r8d
xor r12d, r12d
mov rbp, rdx
mov rsi, rcx
mov r15, rcx
test rcx, rcx
je 0x180084b6c
lea r13, [rcx + 0x48]
mov rax, qword [r13]
mov qword [rsp + 0x30], r13
test rax, rax
je 0x1800848e5
mov r8, rdx
mov dword [rsp + 0x28], 1
and dword [rsp + 0x20], ebx
lea edx, [rbx + 2]
mov r9d, r14d
call rax
mov ebx, eax
test eax, eax
jle 0x180084b6e
mov rdi, rsi
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x1800848e5
mov rdx, qword [0x1800f8b28]
or r13d, 0xffffffff
test ebx, ebx
js 0x180084b44
mov rax, qword [rdi + 8]
test rax, rax
je 0x18008492e
mov r9, qword [rax + 0x110]
test r9, r9
je 0x18008492e
mov r8d, r14d
mov rdx, rbp
mov rcx, rdi
call r9
mov rdx, qword [0x1800f8b28]
mov ebx, eax
cmp byte [rdi + 0x6c], 7
jne 0x18008496f
test ebx, ebx
jle 0x18008496f
test r12d, r12d
jle 0x18008496f
lea r9, [rsp + 0x80]
mov dword [rsp + 0x80], r12d
mov r8, rbp
mov edx, r12d
mov rcx, rbp
call fcn.1800a2760
mov ebx, dword [rsp + 0x80]
test eax, eax
mov rdx, qword [0x1800f8b28]
cmovne ebx, r13d
cmp byte [rdi + 0x6c], 5
jne 0x1800849a9
mov r8d, r14d
lea rdx, [rsp + 0x98]
mov rcx, rdi
call fcn.1800851b0
movsxd rbx, eax
test eax, eax
jle 0x1800849a2
mov rdx, qword [rsp + 0x98]
mov r8, rbx
mov rcx, rbp
call fcn.1800baef0
mov rdx, qword [0x1800f8b28]
cmp byte [rdi + 0x6c], 4
jne 0x1800849c6
mov r8d, r14d
mov rdx, rbp
mov rcx, rdi
call fcn.180084770
mov rdx, qword [0x1800f8b28]
mov ebx, eax
cmp byte [rdi + 0x6c], 6
jne 0x1800849ea
mov r9, qword [rdi + 0x30]
mov r8, r14
mov edx, 1
mov rcx, rbp
call fcn.1800cb9a8
mov rdx, qword [0x1800f8b28]
mov rbx, rax
cmp byte [rdi + 0x6c], 3
jne 0x180084a5b
cmp dword [r15 + 0x64], esi
jne 0x180084a58
mov rcx, qword [rdi + 0x30]
mov r8d, r14d
and dword [rdi + 0x68], 0xffffffef
mov rdx, rbp
call fcn.180080058
mov edx, eax
test eax, eax
je 0x180084a45
test eax, eax
jns 0x180084a4d
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x180084a45
mov eax, dword [rcx + 0x520]
lea ecx, [rax + 0x147]
test ecx, 0xfffffffb
je 0x180084a3f
cmp eax, 0xfffffea9
je 0x180084a45
add eax, 0xfffffffe
cmp eax, 1
ja 0x180084a45
or dword [rdi + 0x68], 0x10
jmp 0x180084a4d
mov dword [r15 + 0x64], 1
mov ebx, edx
mov rdx, qword [0x1800f8b28]
jmp 0x180084a5b
mov ebx, r13d
cmp byte [rdi + 0x6c], 8
jne 0x180084b27
test ebx, ebx
jle 0x180084b27
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x180084ab4
cmp dword [rcx + 0x240], esi
je 0x180084a85
mov eax, 0x357
jmp 0x180084ab6
lea rax, [0x1800f8b20]
test rdx, rdx
je 0x180084aa7
mov r8d, dword [rcx + 0x230]
cmp r8d, dword [rax]
je 0x180084aaf
add rax, 0x10
cmp qword [rax + 8], rsi
jne 0x180084a98
mov eax, dword [rcx + 0x230]
jmp 0x180084ab6
mov eax, dword [rax + 4]
jmp 0x180084ab6
mov eax, esi
cmp eax, 0x357
jne 0x180084b0e
test rcx, rcx
je 0x180084b09
test rbp, rbp
je 0x180084b09
cmp qword [rcx + 0x238], rsi
jne 0x180084af0
cmp dword [rcx + 0x240], esi
jne 0x180084adc
mov ecx, esi
jmp 0x180084b04
mov r8d, ebx
mov rdx, rbp
call fcn.1800acb40
test eax, eax
mov ecx, esi
sete cl
jmp 0x180084afd
mov r8d, ebx
mov rdx, rbp
call fcn.18007fbb4
mov ecx, eax
mov rdx, qword [0x1800f8b28]
cmp ecx, 1
je 0x180084b27
mov ebx, r13d
jmp 0x180084b27
movsxd r8, ebx
mov rdx, rbp
call fcn.18007fbb4
mov rdx, qword [0x1800f8b28]
cmp eax, 1
cmovne ebx, r13d
cmp rdi, r15
je 0x180084b44
mov rdi, qword [rdi + 0x10]
test ebx, ebx
mov eax, ebx
cmovle eax, r12d
mov r12d, eax
test rdi, rdi
jne 0x1800848fc
mov r13, qword [rsp + 0x30]
mov rax, qword [r13]
test rax, rax
je 0x180084b6c
mov dword [rsp + 0x28], ebx
mov r9d, r14d
mov r8, rbp
mov dword [rsp + 0x20], esi
mov edx, 0x82
mov rcx, r15
call rax
mov ebx, eax
mov eax, ebx
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret