Function at 0x180002e90
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rbp, qword [rsp + 0x140]
xor r13d, r13d
add edx, 0xfffffefe
cmp edx, 0x27
mov esi, r9d
mov rdi, r8
lea r14d, [r13 + 1]
mov r12, rcx
mov r10d, r13d
mov r8d, r13d
mov r9d, r13d
lea r15, [0x180029c65]
ja case.0x180002ef9.272
mov eax, edx
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x3488]
add rcx, rdx
jmp rcx
mov rdx, rbp
mov rcx, rdi
call fcn.1800029cc
jmp 0x180003440
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
lea rcx, [rsp + 0x58]
xor edx, edx
mov r8d, 0x8c
mov qword [rsp + 0x50], r13
call sub.ntdll.dll_memset
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.1800090e4
cmp eax, r13d
mov ebx, eax
jne 0x180003442
lea r8, [rsp + 0x50]
mov r9d, 0x94
mov edx, 0x10
mov rcx, r12
call fcn.18000fa4c
cmp eax, r13d
je 0x180002f79
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.18000facc
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180003442
mov rdx, qword [0x180026808]
lea r8, [rsp + 0x38]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp eax, r13d
mov ebx, eax
jne 0x180002fc9
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x40]
lea rcx, [0x1800291b8]
call fcn.1800045f0
mov ebx, eax
cmp ebx, r13d
jne 0x180003442
mov r12, qword [rsp + 0x40]
mov r8d, dword [0x180026800]
mov edx, dword [rsp + 0x128]
mov rcx, r12
xor r9d, r9d
call fcn.18001b72c
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, r13d
je 0x180003047
mov rcx, qword [0x1800266e0]
cmp rcx, r13
je 0x180003017
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1800266e0], r13
mov r9d, 5
mov r8d, esi
mov rdx, rdi
mov rcx, r12
call fcn.180013e34
cmp eax, r13d
mov ebx, eax
jne 0x18000304c
call fcn.180003f10
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1800016c8
jmp 0x18000304c
mov ebx, 2
mov r8, r12
jmp 0x1800032d7
mov r9d, r14d
mov edx, esi
mov rcx, rdi
call fcn.180001948
jmp 0x1800030b3
mov eax, r14d
lock xadd dword [0x1800266f0], eax
add eax, r14d
cmp eax, r14d
jle 0x180003083
lock add dword [0x1800266f0], 0xffffffff
jmp case.0x180002ef9.272
mov edx, 0x117
mov rcx, rdi
call fcn.180002650
jmp 0x180003440
mov r10d, r14d
mov r8d, r10d
mov edx, esi
mov rcx, rdi
call fcn.180001f10
jmp 0x1800030b3
call fcn.1800017ec
jmp 0x1800030b3
call fcn.180001834
mov ebx, eax
cmp eax, r13d
jmp 0x180003226
lea rcx, [0x18000124c]
xor edx, edx
mov r8, rbp
call fcn.1800028ec
jmp 0x180003440
lea rcx, [0x180002464]
jmp 0x1800030c4
lea rcx, [fcn.180002488]
jmp 0x1800030c4
lea rcx, [0x18000253c]
jmp 0x1800030c4
mov edx, esi
mov rcx, rdi
call fcn.18000f6a4
jmp case.0x180002ef9.272
cmp qword [0x1800267f8], r13
je 0x180003112
lea rcx, [rsp + 0x30]
call fcn.18000f804
jmp 0x180003115
mov eax, r13d
cmp eax, r13d
mov dword [rsp + 0x128], eax
je 0x180003169
cmp r12, r13
je 0x180003150
mov r8, qword [rsp + 0x30]
mov r9d, eax
mov edx, 0x10
mov rcx, r12
call fcn.18000fa4c
cmp eax, r13d
je 0x180003150
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.18000facc
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x1800266d0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x180002ef9.272
mov ebx, 0x12
jmp 0x180003454
mov r8d, r14d
cmp r8d, r13d
cmovne r12, r13
mov rcx, r12
call fcn.180002c04
jmp 0x180003440
cmp rdi, r13
jne 0x18000319d
lea rcx, [0x1800291af]
xor edx, edx
call fcn.1800046bc
mov dword [0x180026928], r13d
xor ecx, ecx
mov dword [0x1800269d8], r13d
call fcn.180002c04
mov r9d, 4
mov r8d, r14d
mov ecx, dword [0x180025ff0]
mov dword [0x180026928], r8d
mov dword [0x1800269d8], r8d
movzx r8d, word [0x180025ff4]
xor edx, edx
mov byte [rsp + 0x20], 0xff
and r8w, 0xfffb
or r8w, r9w
mov r9b, 0xff
call fcn.18000522c
cmp rdi, r13
mov ebx, eax
je 0x180003223
mov r8d, dword [0x180026800]
xor r9d, r9d
mov edx, esi
mov rcx, rdi
call fcn.18001b6e8
lea rcx, [0x1800291af]
mov r9d, 3
mov r8d, esi
mov rdx, rdi
call fcn.1800046bc
cmp ebx, r13d
jne 0x180003442
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1800016c8
jmp 0x180003442
lea rcx, [0x180001c7c]
jmp 0x1800030c4
cmp rdi, r13
je case.0x180002ef9.272
cmp rbp, r13
je case.0x180002ef9.272
mov r9d, 4
cmp esi, r9d
jne case.0x180002ef9.272
mov r8d, dword [rdi]
mov rdx, rbp
mov rcx, r15
call fcn.1800016c8
jmp case.0x180002ef9.272
mov rcx, qword [0x180026740]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x30]
call fcn.180013dcc
cmp eax, r13d
mov ebx, eax
jne 0x180003442
mov r9d, dword [rsp + 0x128]
mov r8, qword [rsp + 0x30]
mov edx, 0x10
mov rcx, r12
call fcn.18000fa4c
cmp eax, r13d
je 0x1800032d2
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.18000facc
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x1800266d0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180003442
mov rcx, qword [0x180026740]
call fcn.180014678
jmp 0x180003440
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
mov r8d, r14d
mov edx, esi
mov rcx, rdi
call fcn.180002ac4
jmp 0x180003440
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
mov r8d, 7
jmp 0x180003311
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
mov r8d, 3
jmp 0x180003311
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
mov r8d, 0xd
jmp 0x180003311
lea rcx, [0x180002a88]
jmp 0x1800030c4
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
mov edx, esi
mov rcx, rdi
mov ebx, 0x57
call fcn.180004584
cmp eax, r13d
je 0x180003442
lea r9d, [rbx - 0x54]
lea rcx, [0x1800291ab]
mov r8d, esi
mov rdx, rdi
call fcn.1800046bc
jmp 0x180003440
mov eax, dword [0x1800266dc]
cmp eax, r13d
jne case.0x180002ef9.272
cmp rdi, r13
je case.0x180002ef9.272
mov r9d, 4
cmp esi, r9d
jne case.0x180002ef9.272
mov edx, dword [rdi]
lea rcx, [0x18000258c]
jmp 0x1800030c6
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, 0x28
jne case.0x180002ef9.272
mov rcx, rdi
call fcn.1800051c0
jmp 0x180003440
cmp rdi, r13
je case.0x180002ef9.272
cmp esi, r13d
je case.0x180002ef9.272
cmp esi, 0xc
mov ebx, 0x57
jbe 0x180003442
mov r9d, dword [rdi + 4]
movzx edx, word [rdi]
movzx r8d, word [rdi + 2]
lea rax, [rdx + r9]
lea rcx, [rax + r8 + 0xc]
cmp rsi, rcx
jne 0x180003442
mov eax, dword [rdi + 8]
lea rcx, [rdi + 0xc]
add rdx, rcx
mov dword [rsp + 0x20], eax
add r8, rdx
call fcn.180009d94
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x18000344f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, r13d
je 0x180003462
mov r8d, ebx
mov rdx, rbp
mov rcx, r15
call fcn.1800016c8
lea r11, [rsp + 0xf0]
mov eax, r14d
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret