Function at 0x18000a990
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 [0x18008c590]
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.180058470
mov rbx, rax
lea rax, vtable.NKZ::CInFileStream.0
test rbx, rbx
je 0x18000a9fe
mov dword [rbx + 8], r15d
mov qword [rbx], rax
mov qword [rbx + 0x10], 0xffffffffffffffff
jmp 0x18000aa01
mov rbx, r15
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x18000aa15
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
cmp qword [r12 + 0x20], 8
jb 0x18000aa24
mov rdx, qword [r12 + 8]
jmp 0x18000aa29
lea rdx, [r12 + 8]
mov rcx, rbx
call fcn.1800081f0
mov edi, eax
test eax, eax
je 0x18000aa4c
test rbx, rbx
je 0x18000aa45
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x18000aeaf
mov ecx, 0x20
call fcn.180058470
mov rdi, rax
test rax, rax
je 0x18000aa9d
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 0x18000aaa0
test rbx, rbx
je 0x18000aa88
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x18000aa97
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x10], rbx
jmp 0x18000aaa0
mov rdi, r15
mov qword [rsp + 0x20], rdi
test rdi, rdi
je 0x18000aab4
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 0x18000aae0
mov esi, 0x80070057
jmp 0x18000aaf3
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.180002380
mov esi, eax
test eax, eax
je 0x18000ab17
test rdi, rdi
je 0x18000ab02
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x18000ab10
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x18000aeaf
movzx esi, word [rsp + 0x60]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000ab34
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test si, si
jne 0x18000ab43
mov eax, 0x80004005
jmp 0x18000aeaf
mov ebp, r15d
sub si, 1
je 0x18000aeaa
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.1800097d0
test eax, eax
je 0x18000ae98
cmp si, 1
jne 0x18000ac36
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 0x18000abf2
mov word [rsp + 0x20], bx
lea r9d, [rax + 1]
or r8, 0xffffffffffffffff
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.18000c130
or r8, 0xffffffffffffffff
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180007660
mov r8d, 4
lea rdx, str..exe
lea rcx, [rsp + 0x40]
call fcn.18000c2c0
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.18000ce10
test eax, eax
js 0x18000ad9d
cmp dword [rsp + 0x28], 0x7ea5a6b
jne 0x18000ad9d
mov ebp, dword [rsp + 0x20]
mov ecx, 0x18
call fcn.180058470
mov rbx, rax
test rax, rax
je 0x18000ac60
mov dword [rax + 8], r15d
lea rax, vtable.NKZ::CInFileStream.0
mov qword [rbx], rax
mov qword [rbx + 0x10], 0xffffffffffffffff
jmp 0x18000ac63
mov rbx, r15
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x18000ac77
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.1800081f0
test eax, eax
js 0x18000ae41
test ebp, ebp
je 0x18000acb5
mov rax, qword [rbx]
mov edx, ebp
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [rax + 0x20]
test eax, eax
js 0x18000adb8
mov ecx, 0x20
call fcn.180058470
test rax, rax
je 0x18000acd6
mov edx, ebp
mov r8, rbx
mov rcx, rax
call fcn.18000cfb0
mov rdi, rax
jmp 0x18000acd9
mov rdi, r15
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x18000aced
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 0x18000ae0f
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.180002380
test eax, eax
js 0x18000ae0f
cmp word [rsp + 0x90], si
jne 0x18000ade2
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.180007960
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000ad73
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ad85
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
mov eax, 0xffff
add si, ax
je 0x18000aeaa
mov ebx, 0x2e
jmp 0x18000ab60
cmp qword [rsp + 0x60], 8
jb 0x18000ae62
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
jmp 0x18000ae62
test rbx, rbx
je 0x18000adc7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ae62
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
jmp 0x18000ae62
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000adfb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ae62
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
jmp 0x18000ae62
test rdi, rdi
je 0x18000ae1e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x18000ae2d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ae62
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
jmp 0x18000ae62
test rbx, rbx
je 0x18000ae50
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x60], 8
jb 0x18000ae62
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r15
mov word [rsp + 0x48], r15w
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.180009310
nop
cmp qword [rsp + 0x60], 8
jb 0x18000aeaa
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
jmp 0x18000aeaa
cmp qword [rsp + 0x60], 8
jb 0x18000aeaa
mov rcx, qword [rsp + 0x48]
call fcn.180057d7c
mov dword [r14], ebp
xor eax, eax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180057da0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret