Function at 0x14009aea0
Capabilities:
Get common file path
Move file

Disassembly:
mov r11, rsp
push r13
push r14
push r15
sub rsp, 0x3b0
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rax, qword [0x1401c7ef8]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov rdi, rdx
xor r14d, r14d
mov dword [rsp + 0x34], r14d
lea rdx, [r11 - 0x2a0]
mov rcx, rdi
call fcn.14009aa40
nop
lea rdx, [rsp + 0x100]
mov rcx, rdi
call fcn.140069170
nop
lea rdx, [rsp + 0xd8]
mov rcx, rdi
call fcn.140044510
nop
lea rdx, [rsp + 0xb0]
mov rcx, rdi
call fcn.14009a9e0
nop
cmp qword [rsp + 0x138], r14
je 0x14009c880
cmp qword [rsp + 0x110], r14
je 0x14009c880
cmp qword [rsp + 0xe8], r14
je 0x14009c880
cmp qword [rsp + 0xc0], r14
je 0x14009c880
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, 0x10
cmovae rdx, rdi
mov r8, qword [rsp + 0xc0]
add r8, rdx
lea rdx, [rsp + 0xb0]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x208], 7
mov qword [rsp + 0x200], r14
mov word [rsp + 0x1f0], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x1f0]
call fcn.14005bcf0
nop
lea rdx, [rsp + 0xd8]
mov rdi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xf0]
cmp rcx, 0x10
cmovae rdx, rdi
mov r8, qword [rsp + 0xe8]
add r8, rdx
lea rdx, [rsp + 0xd8]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x190], 7
mov qword [rsp + 0x188], r14
mov word [rsp + 0x178], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x178]
call fcn.14005bcf0
nop
lea rcx, [rsp + 0x68]
call fcn.1400658a0
nop
lea rdx, [rsp + 0x1f0]
cmp qword [rsp + 0x208], 8
cmovae rdx, qword [rsp + 0x1f0]
lea rcx, [rsp + 0x178]
cmp qword [rsp + 0x190], 8
cmovae rcx, qword [rsp + 0x178]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov r9, qword [0x1401d0b58]
mov r8, qword [rax]
lea rdx, str._s_s_s._s
lea rcx, [rsp + 0x40]
call fcn.14000ee80
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b0dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x190], 8
jb 0x14009b0f4
mov rcx, qword [rsp + 0x178]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x190], 7
mov qword [rsp + 0x188], r14
mov word [rsp + 0x178], r14w
cmp qword [rsp + 0x208], 8
jb 0x14009b129
mov rcx, qword [rsp + 0x1f0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, 0x10
cmovae rdx, rdi
mov r8, qword [rsp + 0xc0]
add r8, rdx
lea rdx, [rsp + 0xb0]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x230], 7
mov qword [rsp + 0x228], r14
mov word [rsp + 0x218], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x218]
call fcn.14005bcf0
nop
lea r8, [rsp + 0xd8]
mov rdi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xf0]
cmp rcx, 0x10
cmovae r8, rdi
add r8, qword [rsp + 0xe8]
lea rdx, [rsp + 0xd8]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x168], 7
mov qword [rsp + 0x160], r14
mov word [rsp + 0x150], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x150]
call fcn.14005bcf0
nop
lea r9, [rsp + 0x218]
cmp qword [rsp + 0x230], 8
cmovae r9, qword [rsp + 0x218]
lea r8, [rsp + 0x150]
cmp qword [rsp + 0x168], 8
cmovae r8, qword [rsp + 0x150]
lea rdx, str._s._s.dll
lea rcx, [rsp + 0x50]
call fcn.14000ee80
nop
cmp qword [rsp + 0x168], 8
jb 0x14009b276
mov rcx, qword [rsp + 0x150]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x168], 7
mov qword [rsp + 0x160], r14
mov word [rsp + 0x150], r14w
cmp qword [rsp + 0x230], 8
jb 0x14009b2ab
mov rcx, qword [rsp + 0x218]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r9, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov r8, rbx
lea rdx, str._s_s
lea rcx, [rsp + 0x58]
call fcn.14000ee80
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x320], 7
mov qword [rsp + 0x318], r14
mov word [rsp + 0x308], r14w
xor eax, eax
mov rcx, r13
mov rsi, qword [rsp + 0x58]
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x308]
call fcn.1400067c0
nop
lea rcx, [rsp + 0x308]
call fcn.140038380
movzx edi, al
cmp qword [rsp + 0x320], 8
jb 0x14009b36a
mov rcx, qword [rsp + 0x308]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009b607
lea rcx, [rsi - 0x18]
mov qword [rsp + 0x80], rcx
call fcn.140001b90
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.14009ae20
test eax, eax
je 0x14009b46e
lea rdx, [rsp + 0x100]
mov rdi, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x118]
cmp rcx, 0x10
cmovae rdx, rdi
mov r8, qword [rsp + 0x110]
add r8, rdx
lea rdx, [rsp + 0x100]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x1e0], 7
mov qword [rsp + 0x1d8], r14
mov word [rsp + 0x1c8], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x1c8]
call fcn.14005bcf0
nop
mov r15d, 1
mov esi, r15d
mov dword [rsp + 0x34], r15d
lea rdx, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 8
cmovae rdx, qword [rsp + 0x1c8]
mov eax, r14d
test rdx, rdx
setne al
test eax, eax
jne 0x14009b455
mov ecx, 0x80004005
call fcn.140001000
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14009b47d
mov byte [rsp + 0x30], sil
jmp 0x14009b482
mov r15d, 1
mov rdi, qword [rsp + 0x48]
mov esi, dword [rsp + 0x34]
mov byte [rsp + 0x30], 0
test sil, 1
je 0x14009b4a7
and esi, 0xfffffffe
mov dword [rsp + 0x34], esi
cmp qword [rsp + 0x1e0], 8
jb 0x14009b4a7
mov rcx, qword [rsp + 0x1c8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp byte [rsp + 0x30], 0
je 0x14009b611
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b4ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, r13d
mov rdx, qword [rsp + 0x80]
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b4ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b50f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009b530
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009b548
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009b57c
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009b5b0
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
cmp qword [rsp + 0x140], 0x10
jb 0x14009b5e4
mov rcx, qword [rsp + 0x128]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x140], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x138], r14
mov byte [rsp + 0x128], 0
mov al, 1
jmp 0x14009c936
mov r15d, 1
mov esi, dword [rsp + 0x34]
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdx, [rax + 0x18]
mov qword [rsp + 0x38], rdx
sub r15d, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, 0x105
or eax, r15d
jge 0x14009b650
mov edx, 0x105
lea rcx, [rsp + 0x38]
call fcn.140001b30
mov rdx, qword [rsp + 0x38]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
sete dil
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rcx - 0xc]
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14009c749
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx - 0xc]
jg 0x14009c749
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov word [rax + rcx*2], r14w
test dil, dil
je 0x14009b7e5
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b6c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b6e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b702
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b723
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009b744
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009b75c
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009b790
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009b7c4
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
jmp 0x14009c91c
mov qword [rsp + 0x2d0], 7
mov qword [rsp + 0x2c8], r14
mov word [rsp + 0x2b8], r14w
xor eax, eax
mov rcx, r13
mov rdx, qword [rsp + 0x38]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x2b8]
call fcn.1400067c0
nop
lea rcx, [rsp + 0x2b8]
call fcn.140038380
test al, al
sete dil
cmp qword [rsp + 0x2d0], 8
jb 0x14009b852
mov rcx, qword [rsp + 0x2b8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009ba4f
mov qword [rsp + 0x280], 7
mov qword [rsp + 0x278], r14
mov word [rsp + 0x268], r14w
xor eax, eax
mov rcx, r13
mov rdx, qword [rsp + 0x38]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x268]
call fcn.1400067c0
nop
xor edx, edx
lea rcx, [rsp + 0x268]
call fcn.1400d9fb0
test al, al
sete dil
cmp qword [rsp + 0x280], 8
jb 0x14009b8ca
mov rcx, qword [rsp + 0x268]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009ba4f
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b8f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b915
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b936
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009b957
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009b978
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009b990
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009b9c4
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009b9f8
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
cmp qword [rsp + 0x140], 0x10
jb 0x14009ba2c
mov rcx, qword [rsp + 0x128]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x140], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x138], r14
mov byte [rsp + 0x128], 0
xor al, al
jmp 0x14009c936
mov r8, qword [rsp + 0x50]
lea rdx, [0x14012adbc]
lea rcx, [rsp + 0x38]
call fcn.140006b90
lea r8, [rsp + 0x128]
mov rdi, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x140]
cmp rcx, 0x10
cmovae r8, rdi
add r8, qword [rsp + 0x138]
lea rdx, [rsp + 0x128]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x258], 7
mov qword [rsp + 0x250], r14
mov word [rsp + 0x240], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x240]
call fcn.14005bcf0
nop
or esi, 2
mov dword [rsp + 0x34], esi
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 8
cmovae rdx, qword [rsp + 0x240]
lea rcx, [rsp + 0x60]
call fcn.14000fdc0
nop
or esi, 4
mov dword [rsp + 0x34], esi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x50
xor r9d, r9d
mov r8d, 0x20000
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.1400175e0
test al, al
je 0x14009bc18
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
call fcn.140001b90
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa0]
call fcn.14009ae20
test eax, eax
je 0x14009bc18
lea r8, [rsp + 0x100]
mov rdi, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x118]
cmp rcx, 0x10
cmovae r8, rdi
add r8, qword [rsp + 0x110]
lea rdx, [rsp + 0x100]
cmp rcx, 0x10
cmovae rdx, rdi
mov qword [rsp + 0x1b8], 7
mov qword [rsp + 0x1b0], r14
mov word [rsp + 0x1a0], r14w
movzx r9d, byte [rsp + 0x30]
lea rcx, [rsp + 0x1a0]
call fcn.14005bcf0
nop
or esi, 8
mov dword [rsp + 0x34], esi
lea rdx, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 8
cmovae rdx, qword [rsp + 0x1a0]
mov eax, r14d
test rdx, rdx
setne al
test eax, eax
jne 0x14009bc04
mov ecx, 0x80004005
call fcn.140001000
int3
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14009bc18
mov dil, 1
jmp 0x14009bc1b
xor dil, dil
test sil, 8
je 0x14009bc5d
and esi, 0xfffffff7
mov dword [rsp + 0x34], esi
cmp qword [rsp + 0x1b8], 8
jb 0x14009bc40
mov rcx, qword [rsp + 0x1a0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x1b8], 7
mov qword [rsp + 0x1b0], r14
mov word [rsp + 0x1a0], r14w
test sil, 4
je 0x14009bc93
and esi, 0xfffffffb
mov dword [rsp + 0x34], esi
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009bc8a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x40]
test sil, 2
je 0x14009bcb1
cmp qword [rsp + 0x258], 8
jb 0x14009bcb1
mov rcx, qword [rsp + 0x240]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009c2fe
mov qword [rsp + 0x2f8], 7
mov qword [rsp + 0x2f0], r14
mov word [rsp + 0x2e0], r14w
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x2e0]
call fcn.1400067c0
nop
lea rcx, [rsp + 0x2e0]
call fcn.140038380
test al, al
sete dil
cmp qword [rsp + 0x2f8], 8
jb 0x14009bd25
mov rcx, qword [rsp + 0x2e0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009bf57
mov qword [rsp + 0x2a8], 7
mov qword [rsp + 0x2a0], r14
mov word [rsp + 0x290], r14w
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x290]
call fcn.1400067c0
nop
xor edx, edx
lea rcx, [rsp + 0x290]
call fcn.1400d9fb0
test al, al
sete dil
cmp qword [rsp + 0x2a8], 8
jb 0x14009bd9b
mov rcx, qword [rsp + 0x290]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x14009bf57
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x330]
call fcn.140008ee0
nop
xor edx, edx
mov rcx, rax
call fcn.1400d9230
nop
cmp qword [rsp + 0x348], 8
jb 0x14009bddb
mov rcx, qword [rsp + 0x330]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009bdfc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009be1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009be3e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009be5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009be80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009be98
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009becc
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009bf00
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
cmp qword [rsp + 0x140], 0x10
jb 0x14009bf34
mov rcx, qword [rsp + 0x128]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x140], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x138], r14
mov byte [rsp + 0x128], 0
xor al, al
jmp 0x14009c936
lea rdx, [0x14012adb0]
lea rcx, [rsp + 0x98]
call fcn.14000fdc0
nop
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.14000fac0
mov rdi, rax
lea rdx, [0x14012adb0]
lea rcx, [rsp + 0x78]
call fcn.14000fdc0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000fac0
mov rdx, qword [rdi]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
mov edi, eax
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009bfd7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009bff8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c01c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c03f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14009c1a7
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c068
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c0aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c0cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009c0ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009c104
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009c138
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009c16c
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
cmp qword [rsp + 0x140], 0x10
jb 0x14009c1a0
mov rcx, qword [rsp + 0x128]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov al, 1
jmp 0x14009c936
mov rbx, qword [rsp + 0x40]
jmp 0x14009c2fe
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x358]
call fcn.140008ee0
nop
xor edx, edx
mov rcx, rax
call fcn.1400d9230
nop
cmp qword [rsp + 0x370], 8
jb 0x14009c334
mov rcx, qword [rsp + 0x358]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rdx, rbx
lea rcx, [rsp + 0x380]
call fcn.140008ee0
nop
xor edx, edx
mov rcx, rax
call fcn.1400d9230
nop
cmp qword [rsp + 0x398], 8
jb 0x14009c369
mov rcx, qword [rsp + 0x380]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c38a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c3ab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c3cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c3ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009c40e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009c426
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009c45a
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009c48e
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
jmp 0x14009c91c
mov ecx, 0x80070057
call fcn.140001000
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c779
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c79a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009c7bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14009c7dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x14009c7f4
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
xor r14d, r14d
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], r14b
cmp qword [rsp + 0xf0], 0x10
jb 0x14009c82b
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009c85f
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
jmp 0x14009c91c
cmp qword [rsp + 0xc8], 0x10
jb 0x14009c898
mov rcx, qword [rsp + 0xb0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0xc8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xc0], r14
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x14009c8cc
mov rcx, qword [rsp + 0xd8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
cmp qword [rsp + 0x118], 0x10
jb 0x14009c900
mov rcx, qword [rsp + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
cmp qword [rsp + 0x140], 0x10
jb 0x14009c934
mov rcx, qword [rsp + 0x128]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
xor al, al
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.1400d6f80
lea r11, [rsp + 0x3b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret