Function at 0x18002f88c
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x520
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov qword [rbp + 0x530], rbx
mov rax, qword [0x180295a70]
xor rax, rbp
mov qword [rbp + 0x4d0], rax
mov r14, rdx
mov r12, rcx
mov qword [rbp + 8], rcx
xor edi, edi
cmp qword [rcx], rdi
je 0x18002df39
or edx, 0xffffffff
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, qword [r12 + 0x10]
neg rax
sbb esi, esi
not esi
and esi, 0x80004005
mov dword [rbp], esi
cmp r14, rdi
je 0x18002df5d
cmp word [r14], di
je 0x18002df5d
mov al, 1
jmp 0x18002df60
mov al, dil
cmp byte [r12 + 0x20], dil
jne 0x18002e56e
cmp al, dil
je 0x18002e56e
cmp esi, edi
jge 0x18002e2b1
call qword [0x1802886b0]
mov r15d, eax
mov word [rbp + 0xb0], di
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xb2]
call fcn.1801603e0
mov r8d, 0x104
lea rdx, [rbp + 0xb0]
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rsi, str.asapsdk_x64.dll
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18002dff3
mov rdx, rdi
movabs r13, 0xffffffffffffff0
jmp 0x18002e060
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002e011
movabs r13, 0xffffffffffffff0
mov rcx, r13
jmp 0x18002e01b
movabs r13, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180188080
sub rsp, rcx
lea rbx, [rsp + 0x40]
cmp rbx, rdi
je 0x18002e05d
mov word [rbx], di
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rsi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x18002e060
mov rdx, rdi
lea rcx, [rbp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
jne 0x18002e160
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0xb0]
call fcn.1801603e0
mov r8d, 0x410
lea rdx, str.ACB3FAA1_462D_475C_AC34_B1BD33673C0D
lea rcx, [rbp + 0x50]
call fcn.18003ae70
nop
lea rcx, [rbp + 0x50]
call fcn.180038df0
or r9, 0xffffffffffffffff
mov r8, rax
mov edx, 0x105
lea rcx, [rbp + 0xb0]
call fcn.1801612d0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18002e0e9
mov rdx, rdi
jmp 0x18002e140
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002e0fb
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180188080
sub rsp, rcx
lea rbx, [rsp + 0x40]
cmp rbx, rdi
je 0x18002e13d
mov word [rbx], di
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rsi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x18002e140
mov rdx, rdi
lea rcx, [rbp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ebx, eax
lea rcx, [rbp + 0x50]
call fcn.18003a3b0
cmp ebx, edi
je 0x18002e27d
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18002e17f
mov rsi, rdi
jmp 0x18002e1e7
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002e191
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180188080
sub rsp, rcx
lea rbx, [rsp + 0x40]
cmp rbx, rdi
je 0x18002e1e4
mov byte [rbx], dil
lea eax, [r9 + r9]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
lea r8, [rbp + 0xb0]
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb rsi, rsi
and rsi, rbx
jmp 0x18002e1e7
mov rsi, rdi
cmp r14, rdi
jne 0x18002e1f1
mov rcx, rdi
jmp 0x18002e270
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18002e20c
mov rcx, rdi
jmp 0x18002e270
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002e21e
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180188080
sub rsp, rcx
lea rbx, [rsp + 0x40]
cmp rbx, rdi
je 0x18002e26d
mov byte [rbx], dil
lea eax, [r9 + r9]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, r14
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb rcx, rcx
and rcx, rbx
jmp 0x18002e270
mov rcx, rdi
lea rdx, [r12 + 8]
mov r8, rsi
call fcn.180028dcc
mov rax, qword [r12 + 0x10]
neg rax
sbb esi, esi
not esi
and esi, 0x80004005
mov dword [rbp], esi
jmp 0x18002e2a7
cmp esi, edi
jl 0x18002e557
jmp 0x18002e2bb
movabs r13, 0xffffffffffffff0
mov rcx, qword [r12 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov r11d, eax
cmp eax, 1
je 0x18002e327
neg eax
sbb esi, esi
and esi, 0x80000000
movzx eax, r11w
or esi, eax
or esi, 0xe40000
mov dword [rbp], esi
lea rbx, [0x18018cba8]
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rdi
mov rcx, qword [r12 + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
call qword [rax + 0x30]
lea rcx, [r12 + 0x18]
mov rdx, qword [rbp + 0x28]
call fcn.180004bc4
nop
mov qword [rbp + 0x20], rbx
mov rcx, qword [rbp + 0x28]
cmp rcx, rdi
je 0x18002e327
call fcn.180160500
nop
jmp 0x18002e33c
cmp esi, edi
jl 0x18002e557
call qword [0x1802886b0]
mov r14d, eax
mov qword [rbp + 0x10], rdi
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.180003368
cmp qword [rbp + 0x10], rdi
jne 0x18002e36c
lea rcx, [rbp + 0x10]
call fcn.180003e24
nop
lea rcx, [rbp + 0x10]
call fcn.18000421c
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.180005e48
nop
lea rcx, str..urlcache
call fcn.18015fd20
mov r8d, eax
lea rdx, str..urlcache
lea rcx, [rbp + 0x18]
call fcn.18000e0dc
mov word [rbp + 0x2c0], di
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x2c2]
call fcn.1801603e0
mov r8d, 0x104
lea rdx, [rbp + 0x2c0]
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
jne 0x18002e47e
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x2c0]
call fcn.1801603e0
mov r8d, 0x410
lea rdx, str.ACB3FAA1_462D_475C_AC34_B1BD33673C0D
lea rcx, [rbp + 0x80]
call fcn.18003ae70
nop
lea rcx, [rbp + 0x80]
call fcn.180038df0
or r9, 0xffffffffffffffff
mov r8, rax
mov edx, 0x105
lea rcx, [rbp + 0x2c0]
call fcn.1801612d0
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ebx, eax
lea rcx, [rbp + 0x80]
call fcn.18003a3b0
cmp ebx, edi
je 0x18002e51f
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18002e49d
mov rdx, rdi
jmp 0x18002e505
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002e4af
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180188080
sub rsp, rcx
lea rbx, [rsp + 0x40]
cmp rbx, rdi
je 0x18002e502
mov byte [rbx], dil
lea eax, [r9 + r9]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
lea r8, [rbp + 0x2c0]
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x18002e505
mov rdx, rdi
mov rcx, qword [r12 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x130]
nop
jmp 0x18002e51f
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
cmp eax, edi
jg 0x18002e540
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x10]
cmp rcx, rdi
je 0x18002e54f
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov byte [r12 + 0x20], 1
jmp 0x18002e56e
mov r9, qword [r12 + 0x18]
mov r8d, esi
lea rdx, str.CommtouchInitialize___failed_with_hr__0x_08X._m_csError___s
mov rcx, r12
call fcn.18001bb90
cmp qword [r12], rdi
je 0x18002e57e
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, esi
mov rcx, qword [rbp + 0x4d0]
xor rcx, rbp
call fcn.1801604e0
mov rbx, qword [rbp + 0x530]
lea rsp, [rbp + 0x4e0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
jmp 0x18002dee4