Function at 0x18000a8d0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xf0], rbx
mov rax, qword [0x18008b590]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r14, r9
mov r13, r8
mov r12, rdx
xor r15d, r15d
mov dword [r9], r15d
lea ecx, [r15 + 0x18]
call fcn.180058910
mov rbx, rax
lea rax, vtable.NKZ::CInFileStream.0
test rbx, rbx
je 0x18000a93e
mov dword [rbx + 8], r15d
mov qword [rbx], rax
mov qword [rbx + 0x10], 0xffffffffffffffff
jmp 0x18000a941
mov rbx, r15
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x18000a955
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
cmp qword [r12 + 0x20], 8
jb 0x18000a964
mov rdx, qword [r12 + 8]
jmp 0x18000a969
lea rdx, [r12 + 8]
mov rcx, rbx
call fcn.180008140
mov edi, eax
test eax, eax
je 0x18000a98c
test rbx, rbx
je 0x18000a985
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x18000adef
mov ecx, 0x20
call fcn.180058910
mov rdi, rax
test rax, rax
je 0x18000a9dd
mov dword [rax + 8], r15d
lea rax, vtable.NKZ::CInOffsetFileStream.0
mov qword [rdi], rax
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
cmp qword [rdi + 0x10], rbx
je 0x18000a9e0
test rbx, rbx
je 0x18000a9c8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x18000a9d7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x10], rbx
jmp 0x18000a9e0
mov rdi, r15
mov qword [rsp + 0x20], rdi
test rdi, rdi
je 0x18000a9f4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], ax
test rdi, rdi
jne 0x18000aa20
mov esi, 0x80070057
jmp 0x18000aa33
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.180002300
mov esi, eax
test eax, eax
je 0x18000aa57
test rdi, rdi
je 0x18000aa42
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x18000aa50
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x18000adef
movzx esi, word [rsp + 0x60]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000aa74
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test si, si
jne 0x18000aa83
mov eax, 0x80004005
jmp 0x18000adef
mov ebp, r15d
sub si, 1
je 0x18000adea
mov ebx, 0x2e
nop word [rax + rax]
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r15
mov word [rsp + 0x48], r15w
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.180009710
test eax, eax
je 0x18000add8
cmp si, 1
jne 0x18000ab76
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x18000ab32
mov word [rsp + 0x20], bx
lea r9d, [rax + 1]
or r8, 0xffffffffffffffff
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.18000c090
or r8, 0xffffffffffffffff
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180007510
mov r8d, 4
lea rdx, str..exe
lea rcx, [rsp + 0x40]
call fcn.18000c220
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x20]
call fcn.18000cd30
test eax, eax
js 0x18000acdd
cmp dword [rsp + 0x28], 0x7ea5a6b
jne 0x18000acdd
mov ebp, dword [rsp + 0x20]
mov ecx, 0x18
call fcn.180058910
mov rbx, rax
test rax, rax
je 0x18000aba0
mov dword [rax + 8], r15d
lea rax, vtable.NKZ::CInFileStream.0
mov qword [rbx], rax
mov qword [rbx + 0x10], 0xffffffffffffffff
jmp 0x18000aba3
mov rbx, r15
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x18000abb7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.180008140
test eax, eax
js 0x18000ad81
test ebp, ebp
je 0x18000abf5
mov rax, qword [rbx]
mov edx, ebp
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [rax + 0x20]
test eax, eax
js 0x18000acf8
mov ecx, 0x20
call fcn.180058910
test rax, rax
je 0x18000ac16
mov edx, ebp
mov r8, rbx
mov rcx, rax
call fcn.18000ced0
mov rdi, rax
jmp 0x18000ac19
mov rdi, r15
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x18000ac2d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov word [rsp + 0x98], ax
test rdi, rdi
je 0x18000ad4f
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.180002300
test eax, eax
js 0x18000ad4f
cmp word [rsp + 0x90], si
jne 0x18000ad22
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.180007810
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000acb3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000acc5
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
mov eax, 0xffff
add si, ax
je 0x18000adea
mov ebx, 0x2e
jmp 0x18000aaa0
cmp qword [rsp + 0x60], 8
jb 0x18000ada2
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
jmp 0x18000ada2
test rbx, rbx
je 0x18000ad07
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ada2
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
jmp 0x18000ada2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000ad3b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ada2
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
jmp 0x18000ada2
test rdi, rdi
je 0x18000ad5e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000ad6d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ada2
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
jmp 0x18000ada2
test rbx, rbx
je 0x18000ad90
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ada2
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r15
mov word [rsp + 0x48], r15w
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.180009250
nop
cmp qword [rsp + 0x60], 8
jb 0x18000adea
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
jmp 0x18000adea
cmp qword [rsp + 0x60], 8
jb 0x18000adea
mov rcx, qword [rsp + 0x48]
call fcn.18005821c
mov dword [r14], ebp
xor eax, eax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180058240
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret