Function at 0x180008cd0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x180044078]
xor rax, rsp
mov qword [rbp + 0xb8], rax
movzx esi, dl
mov r12, rcx
movdqa xmm0, xmmword [0x18002d730]
movdqu xmmword [rbp - 0x18], xmm0
xor r15d, r15d
mov word [rbp - 0x28], r15w
lea r8d, [r15 + 7]
lea rdx, str.VipUser
lea rcx, [rbp - 0x28]
call fcn.180002980
nop
lea rdx, [rbp - 0x28]
lea rcx, [0x180044fc8]
call fcn.1800085b0
mov rbx, rax
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x180008d93
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008d8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000986b
call fcn.180011494
movdqa xmm0, xmmword [0x18002d730]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r15w
test rbx, rbx
jne 0x180008ded
lea ecx, [rbx + 8]
call fcn.180011458
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180008dd8
xor eax, eax
mov qword [rbx], rax
mov rcx, rbx
call fcn.180008240
lea rax, vtable.CVipUser.0
mov qword [rbx], rax
jmp 0x180008ddb
mov rbx, r15
test rbx, rbx
je 0x180008dfe
mov rcx, rbx
call fcn.1800086d0
test rbx, rbx
je 0x180008dfe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
test al, al
jne 0x180009835
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], r15w
mov r8d, 0xc
lea rdx, str.HaoKaMin.exe
lea rcx, [rbp + 0x78]
call fcn.180002980
nop
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], 7
mov word [rbp + 0x58], r15w
mov r8d, 0xc
lea rdx, str.HaoKaMis.exe
lea rcx, [rbp + 0x58]
call fcn.180002980
nop
cmp qword [rbp + 0x88], 0
je 0x1800097fd
cmp qword [rbp + 0x68], 0
je 0x1800097fd
call fcn.1800098b0
mov rcx, rax
call fcn.180005620
test al, al
jne 0x1800097fd
call fcn.1800098b0
mov rcx, rax
call fcn.180004cd0
test al, al
jne 0x1800097fd
xor ecx, ecx
call fcn.180019b90
mov rdi, rax
call fcn.1800098b0
mov rcx, rax
mov r9d, 1
lea r8, str.6f593
lea rdx, str.AppSetting
call fcn.180003260
test eax, eax
jne 0x180008f76
call fcn.1800098b0
mov rcx, rax
call fcn.1800055e0
test al, al
jne 0x180008f76
call fcn.1800098b0
mov rcx, rax
xor r9d, r9d
lea r8, str.257e3
lea rdx, str.AppSetting
call fcn.180003260
mov ebx, eax
cmp eax, 0x64
jg 0x180008f76
call fcn.1800098b0
mov rcx, rax
xor r9d, r9d
lea r8, str.86e94
lea rdx, str.AppSetting
call fcn.180003260
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x180008f53
call fcn.1800098b0
mov rcx, rax
lea r9d, [rbx + 1]
lea r8, str.257e3
lea rdx, str.AppSetting
call fcn.1800063c0
call fcn.1800098b0
mov rcx, rax
mov r9d, edi
lea r8, str.86e94
lea rdx, str.AppSetting
call fcn.1800063c0
jmp 0x1800097fd
test sil, sil
jne 0x180008fd0
call fcn.1800098b0
mov rcx, rax
mov r9d, 0xffffffff
lea r8, str.9eb00
lea rdx, str.AppSetting
call fcn.180003260
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jle 0x1800097fd
call fcn.1800098b0
mov rcx, rax
mov r9d, edi
lea r8, str.9eb00
lea rdx, str.AppSetting
call fcn.1800063c0
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r15w
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r15w
xor r14b, r14b
call fcn.1800098b0
mov rcx, rax
xor r9d, r9d
lea r8, str.3a563
lea rdx, str.AppSetting
call fcn.180003260
mov ebx, eax
mov r8d, 0xc
lea rcx, [rbp - 8]
test al, 1
jne 0x18000903b
mov r14b, 1
lea rdx, str.HaoKaMin.exe
call fcn.180002980
lea rdx, [0x18002df68]
jmp 0x18000904e
lea rdx, str.HaoKaMis.exe
call fcn.180002980
lea rdx, [0x18002df70]
mov r8d, 3
lea rcx, [rbp - 0x68]
call fcn.180002980
call fcn.1800098b0
mov rcx, rax
call fcn.18000f220
movdqa xmm0, xmmword [0x18002d730]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r15w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180009083
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.180002980
nop
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
lea rcx, [rbp + 0x38]
call fcn.180002800
lea eax, [rbx + 1]
mov ebx, r15d
cmp eax, 0x3e8
cmovl ebx, eax
call fcn.1800098b0
mov rcx, rax
mov r9d, ebx
lea r8, str.3a563
lea rdx, str.AppSetting
call fcn.1800063c0
mov r15, qword [rbp + 0x10]
mov rbx, qword [rbp - 8]
mov r13, qword [rbp + 0x50]
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1800097a2
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
lea rdi, [rbp - 8]
cmp r15, 8
cmovae rdi, rbx
movabs rax, 0x7ffffffffffffffe
cmp rsi, 8
jae 0x18000913b
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x70], 7
mov ebx, 7
jmp 0x180009174
mov rbx, rsi
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x58]
call fcn.180002790
mov qword [rsp + 0x58], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.180013220
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rsi
lea rcx, [rsp + 0x58]
cmp rbx, 8
cmovae rcx, qword [rsp + 0x58]
call fcn.18000ccd0
test eax, eax
jne 0x180009781
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
lea rsi, [rbp + 0x38]
cmp r13, 8
cmovae rsi, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x48]
cmp rdi, 8
jae 0x1800091cb
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x70], 7
lea ebx, [rax + 7]
jmp 0x18000920d
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x78]
call fcn.180002790
mov qword [rsp + 0x78], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.180013220
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x78], rdi
lea rcx, [rsp + 0x78]
cmp rbx, 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18000928b
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
cmp dword [r12], 0
je 0x18000925c
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
mov r8b, 1
call fcn.18000c3a0
movzx eax, al
jmp 0x180009283
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
call fcn.18000c0d0
test eax, eax
jne 0x180009764
movdqa xmm0, xmmword [0x18002d6d0]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
mov r8d, 0x30
lea rdx, str.006889575465634354346341524614416810480440582525
lea rcx, [rbp - 0x28]
call fcn.180001760
nop
mov r8d, 0x30
lea rcx, [rbp - 0x28]
test r14b, r14b
lea rdx, str.006889575465634354346341524614416810480440582525
jne 0x1800092d0
lea rdx, str.112102685564620055356242534724506926493141591515
call fcn.180001760
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0x98]
call fcn.18000a490
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor esi, esi
mov qword [rsp + 0x40], rsi
movdqa xmm0, xmmword [0x18002d6d0]
movdqu xmmword [rbp + 0x28], xmm0
mov byte [rbp + 0x18], sil
lea r8d, [rsi + 1]
lea rdx, [0x18002dfe4]
lea rcx, [rbp + 0x18]
call fcn.180001760
nop
lea rdx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 0x10
cmovae rdx, qword [rbp + 0x98]
movdqa xmm0, xmmword [0x18002d6d0]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], sil
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180009355
lea rcx, [rbp - 0x48]
call fcn.180001760
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x48]
call fcn.18000e290
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x1800093b7
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800093b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009871
call fcn.180011494
movdqa xmm0, xmmword [0x18002d6d0]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x180009403
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800093fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009877
call fcn.180011494
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x1800096df
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180009423
mov rdx, qword [rbx]
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180009440
lea rcx, [rbp - 0x48]
call fcn.180001760
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x18]
call fcn.18000e9b0
mov rdi, rax
lea rax, [rsp + 0x58]
cmp rax, rdi
je 0x180009498
lea rcx, [rsp + 0x58]
call fcn.180002720
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 7
mov word [rdi], si
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x1800094d8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800094d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000987d
call fcn.180011494
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call fcn.18000ccd0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18000952a
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009525
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009883
call fcn.180011494
add rbx, 0x20
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
jne 0x180009416
mov rbx, qword [rsp + 0x30]
cmp rbx, rdi
je 0x1800096df
nop word [rax + rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18000955d
mov rdx, qword [rbx]
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180009574
lea rcx, [rbp - 0x48]
call fcn.180001760
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x18]
call fcn.18000e9b0
mov rdi, rax
lea rax, [rsp + 0x58]
cmp rax, rdi
je 0x1800095cc
lea rcx, [rsp + 0x58]
call fcn.180002720
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 7
mov word [rdi], si
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x18000960c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009607
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009889
call fcn.180011494
call fcn.1800098b0
mov rcx, rax
call fcn.18000f220
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180009620
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180002980
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0x78]
call fcn.180002800
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
cmp dword [r12], 0
je 0x18000968a
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
mov r8b, 1
call fcn.18000c3a0
movzx eax, al
jmp 0x1800096b0
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
call fcn.18000c0d0
nop
lea rcx, [rbp - 0x48]
test eax, eax
jne 0x1800096d0
call fcn.180001590
add rbx, 0x20
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x1800096da
jmp 0x180009550
call fcn.180001590
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18000974d
cmp rbx, rdi
je 0x180009706
nop dword [rax]
mov rcx, rbx
call fcn.180001590
add rbx, 0x20
cmp rbx, rdi
jne 0x1800096f0
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x180009737
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009865
mov rcx, rbx
call fcn.180011494
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
lea rcx, [rbp + 0x98]
call fcn.180001590
nop
lea rcx, [rbp - 0x28]
call fcn.180001590
nop
mov r8, qword [rbp - 0x70]
cmp r8, 8
jb 0x180009781
inc r8
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.1800065c0
nop
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x18000979e
inc r8
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.1800065c0
mov rbx, qword [rbp - 8]
cmp r13, 8
jb 0x1800097ba
lea r8, [r13 + 1]
mov rdx, qword [rbp + 0x38]
lea rcx, [rbp + 0x38]
call fcn.1800065c0
nop
mov r8, qword [rbp - 0x50]
cmp r8, 8
jb 0x1800097d4
inc r8
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.1800065c0
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], ax
cmp r15, 8
jb 0x1800097fd
lea r8, [r15 + 1]
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.1800065c0
nop
mov r8, qword [rbp + 0x70]
cmp r8, 8
jb 0x180009818
inc r8
mov rdx, qword [rbp + 0x58]
lea rcx, [rbp + 0x58]
call fcn.1800065c0
nop
mov r8, qword [rbp + 0x90]
cmp r8, 8
jb 0x180009835
inc r8
mov rdx, qword [rbp + 0x78]
lea rcx, [rbp + 0x78]
call fcn.1800065c0
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.1800115b0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180015e04
nop
call fcn.180015e04
nop
call fcn.180015e04
nop
call fcn.180015e04
nop
call fcn.180015e04
nop
call fcn.180015e04
nop
call fcn.180015e04
int3