Function at 0x180016430
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x290], rbx
mov rax, qword [0x18015f460]
xor rax, rsp
mov qword [rsp + 0x248], rax
mov r13, r9
movsxd rdi, r8d
mov r12, rdx
mov rbp, qword [rsp + 0x2b0]
mov rsi, qword [0x1801625b8]
mov eax, dword [rsi + 0x114]
test eax, eax
jne 0x180016bdd
mov rcx, rsi
call fcn.1800197f0
mov r14d, eax
test r12, r12
je 0x180016bd8
test edi, edi
jle 0x180016bd8
test r13, r13
je 0x180016bd8
test rbp, rbp
je 0x180016bd8
lea ecx, [rdi + 0x400]
cmp dword [rbp], ecx
jl 0x180016bd8
lea rcx, [0x18012eb74]
call fcn.1800010d0
mov qword [rsp + 0x20], rax
lea r9, [0x18012eb74]
mov r8, qword [rsi + 0x18]
xor edx, edx
mov rcx, rsi
call fcn.180009f10
test eax, eax
je 0x180016bd1
mov rcx, rsi
call fcn.180002b30
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180016bd1
test al, 0x10
je 0x180016bd1
lea rcx, [rsp + 0xc0]
call fcn.180031cf0
mov rbx, rax
lea r8, [0x18012eca8]
mov rdx, rsi
lea rcx, [rsp + 0x138]
call fcn.1800086e0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.180008650
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
mov r15, qword [rsi + 0xb8]
lea rcx, [rsp + 0x110]
call fcn.180003c30
nop
mov r8, rdi
mov rdx, r12
lea rcx, [rsp + 0xc0]
call fcn.180012eb0
nop
lea rcx, [rsp + 0xc0]
call fcn.180003090
mov rbx, rax
lea rcx, [rsi + 0xe8]
call fcn.180002b30
mov r8, rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov edx, edi
mov rcx, rbx
call fcn.1800478c0
mov ebx, eax
test eax, eax
je 0x180016601
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
lea rcx, [rsp + 0x160]
call fcn.180028470
nop
mov r8, r15
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x110]
call fcn.180032820
mov ebx, eax
test eax, eax
je 0x180016691
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
mov eax, dword [rsp + 0x168]
cmp eax, 1
jne 0x180016706
mov ebx, 0x118
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
cmp r14d, eax
je 0x180016713
mov rcx, rsi
call fcn.180033b10
xor r8d, r8d
mov edx, edi
mov rcx, r12
call fcn.1800333c0
mov ebx, eax
test eax, eax
je 0x180016798
lea rcx, [rsp + 0x220]
call fcn.180002b30
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
mov rcx, rsi
call fcn.180002b30
mov r9, rax
movzx r8d, byte [rsi + 0x110]
mov rdx, r15
lea rcx, [rsp + 0x138]
call fcn.180031260
nop
lea r9, [rsp + 0x138]
mov r8d, edi
mov rdx, r12
lea rcx, [rsp + 0xe8]
call fcn.180031460
nop
lea rcx, [rsp + 0xe8]
call fcn.180007e90
mov rdi, rax
lea rcx, [rsp + 0xe8]
call fcn.180002b30
mov rbx, rax
lea rcx, [rsp + 0x220]
call fcn.180002b30
mov r12, rax
mov r8d, edi
mov rdx, rbx
mov rcx, rax
call fcn.1800239c0
test eax, eax
je 0x180016821
mov ebx, 0x111
jmp 0x18001682b
mov rcx, r12
call fcn.180033bd0
xor ebx, ebx
test ebx, ebx
je 0x1800168c1
lea rcx, [rsp + 0x220]
call fcn.180002b30
nop
lea rcx, [rsp + 0xe8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
lea rcx, [rsp + 0xe8]
call fcn.180007e90
movsxd rcx, dword [rbp]
mov edx, 5
cmp rcx, rax
cmovb ebx, edx
lea rcx, [rsp + 0xe8]
call fcn.180007e90
mov dword [rbp], eax
test ebx, ebx
je 0x180016975
lea rcx, [rsp + 0xe8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.180007cc0
mov rcx, rax
call fcn.18004e2a0
mov rbx, rax
lea rcx, [rax + 0x38]
lea rdx, [rsp + 0x138]
call fcn.180003c80
mov ebx, dword [rbx + 8]
test ebx, ebx
je 0x180016a29
lea rcx, [rsp + 0xe8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rdx, [0x18012eb74]
lea rcx, [rsp + 0x70]
call fcn.180002ab0
mov rdi, rax
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x48]
call fcn.180007cc0
mov rbx, rax
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.180007cc0
nop
mov byte [rsp + 0x20], 0
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.180019190
mov ebx, eax
test eax, eax
je 0x180016b17
lea rcx, [rsp + 0xe8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
jmp 0x180016bc0
lea rcx, [rsp + 0xe8]
call fcn.180007e90
mov rbx, rax
lea rcx, [rsp + 0xe8]
call fcn.180002b30
mov rdx, rax
mov r8, rbx
mov rcx, r13
call fcn.1800cbb10
xor ebx, ebx
lea rcx, [rsp + 0xe8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x138]
call fcn.180002b10
nop
lea rax, vtable.LicenseInfo.0
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x1f0]
call fcn.180002b10
lea rcx, [rsp + 0x1c0]
call fcn.180002b10
lea rcx, [rsp + 0x198]
call fcn.180002b10
lea rcx, [rsp + 0x170]
call fcn.180002b10
nop
lea rcx, [rsp + 0xc0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x110]
call fcn.180002b10
nop
lea rcx, [rsp + 0x220]
call fcn.180002b10
mov eax, ebx
jmp 0x180016bdd
mov eax, 0x109
jmp 0x180016bdd
mov eax, 3
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.1800c9b90
mov rbx, qword [rsp + 0x290]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret