Function at 0x1400069f0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x260]
sub rsp, 0x360
mov rax, qword [0x140035030]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov r12, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x80], rcx
xor esi, esi
mov dword [rsp + 0x30], esi
mov qword [rcx], rsi
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 7
mov word [rcx], si
mov dword [rsp + 0x30], 1
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x40]
call fcn.14000e080
mov r8d, 0x104
lea rdx, [rbp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], si
lea rax, [rbp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140006aa0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x78]
call fcn.140001ae0
mov dword [rsp + 0x30], 3
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
lea rdi, [rbp - 0x78]
mov r15, qword [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdi, r15
movabs rax, 0x7ffffffffffffffe
movabs rdx, 0x7fffffffffffffff
mov r14, qword [rbp - 0x68]
cmp r14, 8
jae 0x140006b0d
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x60], xmm0
mov ebx, 7
jmp 0x140006b8a
mov rbx, r14
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x140007358
add rcx, rcx
cmp rcx, 0x1000
jb 0x140006b63
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007358
mov rcx, rax
call fcn.14000b8c0
mov rcx, rax
test rax, rax
je 0x14000735e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006b72
test rcx, rcx
je 0x140006b6f
call fcn.14000b8c0
jmp 0x140006b72
mov rax, rsi
mov qword [rsp + 0x60], rax
lea r8, [r14*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.14000d9d0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rbx
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140004740
nop
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], 7
mov r8d, 9
lea rdx, [0x140030240]
lea rcx, [rbp - 0x38]
call fcn.140001ae0
lea rcx, [rbp - 0x38]
call fcn.140003d00
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.140003870
nop
mov r13, qword [rsp + 0x48]
mov rsi, r13
mov qword [rsp + 0x38], r13
cmp r13, qword [rsp + 0x50]
je 0x140006fcd
nop word [rax + rax]
xor r9d, r9d
mov qword [rbp - 0x38], r9
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x20], r9
mov r12, qword [rsi + 0x10]
mov rbx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140006c20
mov rbx, qword [rsi]
cmp r12, 8
jae 0x140006c3c
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x38], xmm0
mov r15d, 7
mov rdi, qword [rbp - 0x38]
jmp 0x140006ccf
mov r15, r12
or r15, 7
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
cmova r15, rax
lea rcx, [r15 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140007382
add rcx, rcx
cmp rcx, 0x1000
jb 0x140006ca3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007382
mov rcx, rax
call fcn.14000b8c0
test rax, rax
je 0x14000737c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140006cb5
test rcx, rcx
je 0x140006cb2
call fcn.14000b8c0
mov rdi, rax
jmp 0x140006cb5
mov rdi, r9
mov qword [rbp - 0x38], rdi
lea r8, [r12*2 + 2]
mov rdx, rbx
mov rcx, rdi
call fcn.14000d9d0
xor r9d, r9d
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x28], r12
mov r13, r12
lea r8, [rbp - 0x38]
cmp r15, 8
cmovae r8, rdi
lea rax, [rbp + 0x18]
cmp qword [rbp + 0x30], 8
cmovae rax, qword [rbp + 0x18]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140006d14
add rax, 2
test ecx, ecx
jne 0x140006d00
test edx, edx
jne 0x140006f70
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x48], r9
mov qword [rbp - 0x40], r9
lea rsi, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rsi, qword [rbp - 0x78]
cmp r14, 8
jae 0x140006d4b
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x58], xmm0
lea ebx, [rdx + 7]
jmp 0x140006dde
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140007376
add rcx, rcx
cmp rcx, 0x1000
jb 0x140006db5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007376
mov rcx, rax
call fcn.14000b8c0
mov rcx, rax
test rax, rax
je 0x14000736a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140006dc4
test rcx, rcx
je 0x140006dc1
call fcn.14000b8c0
jmp 0x140006dc4
mov rax, r9
mov qword [rbp - 0x58], rax
lea r8, [r14*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14000d9d0
xor r9d, r9d
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x48], r14
mov rax, rbx
sub rax, r14
cmp rax, 1
jb 0x140006e1c
lea rcx, [r14 + 1]
mov qword [rbp - 0x48], rcx
lea rax, [rbp - 0x58]
cmp rbx, 8
cmovae rax, qword [rbp - 0x58]
mov edx, 0x5c
mov word [rax + r14*2], dx
mov word [rax + rcx*2], r9w
lea rbx, [rbp - 0x58]
jmp 0x140006e3d
mov qword [rsp + 0x20], 1
lea r9, [0x14002f2f8]
mov edx, 1
lea rcx, [rbp - 0x58]
call fcn.1400099e0
mov rbx, rax
lea r9, [rbp - 0x38]
cmp r15, 8
cmovae r9, rdi
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rax, rdx
sub rax, rcx
cmp r12, rax
ja 0x140006e8e
lea r14, [rcx + r12]
mov qword [rbx + 0x10], r14
mov rsi, rbx
cmp rdx, 8
jb 0x140006e70
mov rsi, qword [rbx]
lea rcx, [rsi + rcx*2]
lea r8, [r12 + r12]
mov rdx, r9
call fcn.14000d9d0
xor r12d, r12d
mov word [rsi + r14*2], r12w
mov r14, qword [rbp - 0x68]
jmp 0x140006eb0
mov qword [rsp + 0x20], r12
mov rdx, r12
mov rcx, rbx
call fcn.1400099e0
mov rbx, rax
mov r15, qword [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x38]
xor r12d, r12d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0xe
jb 0x140006ef2
lea rsi, [rcx + 0xe]
mov qword [rbx + 0x10], rsi
cmp rdx, 8
jb 0x140006ed5
mov rbx, qword [rbx]
lea rcx, [rbx + rcx*2]
mov r8d, 0x1c
lea rdx, str.WeChatWin.dll
call fcn.14000d9d0
mov word [rbx + rsi*2], r12w
jmp 0x140006f0f
mov qword [rsp + 0x20], 0xe
lea r9, str.WeChatWin.dll
mov edx, 0xe
mov rcx, rbx
call fcn.1400099e0
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400070b8
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x140006f6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006f66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000736a
call fcn.14000bb4c
mov rsi, qword [rsp + 0x38]
cmp r15, 8
jb 0x140006fab
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140006fa3
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000737c
mov rcx, rdi
call fcn.14000bb4c
add rsi, 0x20
mov qword [rsp + 0x38], rsi
cmp rsi, qword [rsp + 0x50]
jne 0x140006c00
mov r12, qword [rsp + 0x40]
mov r15, qword [rbp - 0x78]
mov r13, qword [rsp + 0x48]
xor ebx, ebx
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x14000700f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000700a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007364
call fcn.14000bb4c
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], bx
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14000705f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000705a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007364
call fcn.14000bb4c
mov rsi, qword [rbp - 0x60]
cmp qword [r12 + 0x10], 0
jne 0x14000729c
lea r9, [rbp - 0x78]
cmp rsi, 8
cmovae r9, r15
mov rax, qword [r12 + 0x18]
cmp r14, rax
ja 0x140007284
mov qword [r12 + 0x10], r14
mov rdi, r12
cmp rax, 8
jb 0x14000709b
mov rdi, qword [r12]
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.14000d9d0
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x14000729c
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov r12, qword [rsp + 0x40]
mov rcx, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x140007113
lea rsi, [rcx + r14]
mov qword [r12 + 0x10], rsi
mov rbx, r12
cmp rdx, 8
jb 0x1400070f6
mov rbx, qword [r12]
lea rcx, [rbx + rcx*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.14000d9d0
xor r9d, r9d
mov word [rbx + rsi*2], r9w
mov rbx, r12
jmp 0x14000712d
mov qword [rsp + 0x20], r14
mov rdx, r14
mov rcx, r12
call fcn.1400099e0
mov rbx, rax
mov r14, qword [rbp - 0x68]
xor r9d, r9d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140007165
lea r8, [rcx + 1]
mov qword [rbx + 0x10], r8
mov rax, rbx
cmp rdx, 8
jb 0x140007155
mov rax, qword [rbx]
mov edx, 0x5c
mov word [rax + rcx*2], dx
mov word [rax + r8*2], r9w
jmp 0x140007185
mov qword [rsp + 0x20], 1
lea r9, [0x14002f2f8]
mov edx, 1
mov rcx, rbx
call fcn.1400099e0
mov rbx, rax
lea r9, [rbp - 0x38]
cmp r15, 8
cmovae r9, rdi
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rax, rdx
sub rax, rcx
cmp r13, rax
ja 0x1400071d1
lea rsi, [rcx + r13]
mov qword [rbx + 0x10], rsi
cmp rdx, 8
jb 0x1400071b5
mov rbx, qword [rbx]
lea rcx, [rbx + rcx*2]
lea r8, [r13*2]
mov rdx, r9
call fcn.14000d9d0
xor eax, eax
mov word [rbx + rsi*2], ax
jmp 0x1400071e9
mov qword [rsp + 0x20], r13
mov rdx, r13
mov rcx, rbx
call fcn.1400099e0
mov r15, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x140007229
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007224
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000736a
call fcn.14000bb4c
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], bx
cmp r15, 8
jb 0x140007276
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000726e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007370
mov rcx, rdi
call fcn.14000bb4c
mov r15, qword [rbp - 0x78]
mov r13, qword [rsp + 0x48]
jmp 0x140006fcf
mov qword [rsp + 0x20], r14
mov rdx, r14
mov rcx, r12
call fcn.1400099e0
mov r15, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x60]
test r13, r13
je 0x1400072e8
mov rdx, qword [rsp + 0x50]
mov rcx, r13
call fcn.140009ba0
mov rdx, qword [rsp + 0x58]
sub rdx, r13
and rdx, 0xffffffffffffffe0
mov rax, r13
cmp rdx, 0x1000
jb 0x1400072df
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007388
mov rcx, r13
call fcn.14000bb4c
nop
cmp rsi, 8
jb 0x14000731f
lea rdx, [rsi*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140007317
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007352
mov rcx, r15
call fcn.14000bb4c
mov rax, r12
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.14000b8a0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140011f28
nop
call fcn.140001140
int3
call fcn.140011f28
nop
call fcn.140011f28
nop
call fcn.140011f28
nop
call fcn.140011f28
nop
call fcn.140001140
nop
call fcn.140011f28
int3
call fcn.140001140
nop
call fcn.140011f28
int3