Function at 0x14007af30
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x580
mov qword [rsp + 0x130], 0xfffffffffffffffe
mov qword [rsp + 0x5d0], rbx
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x570], rax
mov r15, rdx
mov r14, rcx
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
lea r9, str.strPath_s
lea r8, str.ChangeDefinePath
lea rdx, str.CScriptFileIF
mov rcx, qword [rcx + 0x40]
call fcn.140081070
xor ebp, ebp
mov r13d, ebp
mov rdi, qword [r15]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], ebp
jl 0x14007afc0
cmp rax, qword [rdi - 0x18]
jne 0x14007afc0
lea rsi, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14007affe
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x14007afdc
call fcn.140003620
int3
mov eax, dword [rdi - 0x10]
mov dword [rsi + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rsi + 0x18]
call fcn.1400cd500
lea rdi, [rsi + 0x18]
mov qword [rsp + 0x30], rdi
mov ebx, 0x7fffffff
mov rcx, rbx
lea rax, [0x1401069f8]
cmp word [rax], 0
je 0x14007b028
add rax, 2
sub rcx, 1
jne 0x14007b016
jmp 0x14007b03d
test rcx, rcx
je 0x14007b03d
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0x110], rax
jmp 0x14007b048
mov rax, rbp
mov qword [rsp + 0x110], rax
movsxd r8, eax
lea rdx, [0x1401069f8]
mov rcx, rdi
call fcn.1400ce2c0
or r12d, 0xffffffff
test eax, eax
je 0x14007b903
mov rcx, rbx
lea rax, [0x140106a00]
cmp word [rax], 0
je 0x14007b082
add rax, 2
sub rcx, 1
jne 0x14007b070
jmp 0x14007b097
test rcx, rcx
je 0x14007b097
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x14007b0a2
mov rax, rbp
mov qword [rsp + 0x90], rax
movsxd r8, eax
lea rdx, [0x140106a00]
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
je 0x14007b903
mov rcx, rbx
lea rax, [0x140104764]
cmp word [rax], 0
je 0x14007b0d8
add rax, 2
sub rcx, 1
jne 0x14007b0c6
jmp 0x14007b0ed
test rcx, rcx
je 0x14007b0ed
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0x118], rax
jmp 0x14007b0f8
mov rax, rbp
mov qword [rsp + 0x118], rax
movsxd r8, eax
lea rdx, [0x140104764]
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
jne 0x14007b257
test rdi, rdi
je 0x14007b224
lea rdx, [0x140104764]
mov rcx, rdi
call fcn.1400cfaf0
lea rcx, [rdi + rax*2]
mov rax, rbp
cmp word [rcx], ax
cmovne rax, rcx
test rax, rax
je 0x14007b224
cmp word [rax], 0x5c
je 0x14007b1f1
call fcn.14009d5e8
mov rcx, rax
mov eax, ebp
test rcx, rcx
setne al
test eax, eax
jne 0x14007b16a
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rax, qword [r14 + 0x30]
mov r8, qword [rax + 0x108]
cmp dword [r8 - 0x10], 0
cmove r8, rbp
lea r9, [0x1400fc394]
lea rdx, str._s_s
lea rcx, [rsp + 0x50]
call fcn.14000a800
mov dword [rsp + 0x20], ebp
mov rdi, qword [rsp + 0x50]
mov r9, rdi
lea r8, [0x140104764]
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
lea rdx, [rdi - 0x18]
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x14007bdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x30]
jmp 0x14007bdff
mov rax, qword [r14 + 0x30]
mov r9, qword [rax + 0x108]
cmp dword [r9 - 0x10], 0
cmove r9, rbp
mov dword [rsp + 0x20], ebp
lea r8, [0x140104764]
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
jmp 0x14007bdff
mov rax, qword [r14 + 0x30]
mov r9, qword [rax + 0x108]
cmp dword [r9 - 0x10], 0
cmove r9, rbp
mov dword [rsp + 0x20], ebp
lea r8, [0x140104764]
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
jmp 0x14007bdff
mov rcx, rbx
lea rax, [0x14010393c]
cmp word [rax], 0
je 0x14007b273
add rax, 2
sub rcx, 1
jne 0x14007b261
jmp 0x14007b288
test rcx, rcx
je 0x14007b288
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x14007b293
mov rax, rbp
mov qword [rsp + 0xa0], rax
movsxd r8, eax
lea rdx, [0x14010393c]
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
jne 0x14007b4cb
mov rcx, rbx
lea rax, str._0xBFFF
cmp word [rax], 0
je 0x14007b2c9
add rax, 2
sub rcx, 1
jne 0x14007b2b7
jmp 0x14007b2db
test rcx, rcx
je 0x14007b2db
sub rbx, rcx
mov qword [rsp + 0x100], rbx
jmp 0x14007b2e6
mov rbx, rbp
mov qword [rsp + 0x100], rbx
movsxd r8, ebx
lea rdx, str._0xBFFF
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
jne 0x14007b32f
mov rax, qword [r14 + 0x30]
mov r9, qword [rax + 0x118]
cmp dword [r9 - 0x10], 0
cmove r9, rbp
mov dword [rsp + 0x20], ebp
lea r8, str._0xBFFF
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
jmp 0x14007bdff
lea rdx, [0x14010393c]
mov rcx, rdi
call fcn.1400cfaf0
mov rsi, rax
call fcn.14009d5e8
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b360
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], esi
mov r9w, 0x5c
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rcx, qword [r14 + 0x38]
call fcn.140010850
mov rdi, qword [rsp + 0x38]
cmp dword [rdi - 0x10], 0
je 0x14007b4a1
call fcn.14009d5e8
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b3ba
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, esi
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x30]
call fcn.14000a4f0
nop
mov r9, rdi
mov r8, qword [rax]
lea rdx, str._s_s
lea rcx, [rsp + 0x60]
call fcn.14000a800
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b41e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r8d, r8d
mov rdx, qword [rsp + 0x38]
mov rcx, qword [r14 + 0x38]
call fcn.140010360
mov rdi, qword [rsp + 0x60]
cmp rax, 0xffffffff80000000
je 0x14007b479
cmp eax, 0x101d0
jg 0x14007b479
mov r8d, eax
lea rdx, [rsp + 0x150]
mov rcx, qword [r14 + 0x38]
call fcn.140014250
test eax, eax
je 0x14007b479
mov dword [rsp + 0x20], ebp
lea r9, [rsp + 0x150]
mov r8, rdi
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b49c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
jmp 0x14007b4a1
mov rdi, qword [rsp + 0x38]
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007bdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x30]
jmp 0x14007bdff
mov rcx, rbx
lea rbp, [0x140103944]
mov rax, rbp
cmp word [rax], 0
je 0x14007b4ea
add rax, 2
sub rcx, 1
jne 0x14007b4d8
jmp 0x14007b4ff
test rcx, rcx
je 0x14007b4ff
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0x128], rax
jmp 0x14007b509
xor eax, eax
mov qword [rsp + 0x128], rax
movsxd r8, eax
mov rdx, rbp
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
jne 0x14007b8f8
mov rdx, rbp
mov rcx, rdi
call fcn.1400cfaf0
mov rsi, rax
call fcn.14009d5e8
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b54c
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], esi
mov r9w, 0x5c
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [r14 + 0x38]
call fcn.140010850
mov rdx, qword [rsp + 0x40]
cmp dword [rdx - 0x10], 0
je 0x14007b695
call fcn.14009d5e8
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b5a6
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov r8d, esi
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.14000a4f0
nop
mov r9, qword [rsp + 0x40]
mov r8, qword [rax]
lea rdx, str._s_s
lea rcx, [rsp + 0x70]
call fcn.14000a800
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b60c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r14 + 0x38]
call fcn.140010360
mov rdi, qword [rsp + 0x70]
cmp rax, 0xffffffff80000000
je 0x14007b66b
cmp eax, 0x101d0
jg 0x14007b66b
mov r8d, eax
lea rdx, [rsp + 0x150]
mov rcx, qword [r14 + 0x38]
call fcn.140014250
test eax, eax
je 0x14007b66b
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x150]
mov r8, rdi
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b687
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r13d, r13d
jne 0x14007b8c9
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, qword [r14 + 0x38]
call fcn.140012ed0
test eax, eax
jne 0x14007b8c9
mov rcx, rbx
lea rax, [0x1400fc394]
cmp word [rax], 0
je 0x14007b6c5
add rax, 2
sub rcx, 1
jne 0x14007b6b3
jmp 0x14007b6da
test rcx, rcx
je 0x14007b6da
mov rdx, rbx
sub rdx, rcx
mov qword [rsp + 0x80], rdx
jmp 0x14007b6e4
xor edx, edx
mov qword [rsp + 0x80], rdx
mov rcx, rbx
mov rax, rbp
nop
nop
cmp word [rax], 0
je 0x14007b702
add rax, 2
sub rcx, 1
jne 0x14007b6f0
jmp 0x14007b717
test rcx, rcx
je 0x14007b717
mov rax, rbx
sub rax, rcx
mov qword [rsp + 0xd0], rax
jmp 0x14007b721
xor eax, eax
mov qword [rsp + 0xd0], rax
mov r9d, edx
mov r8d, eax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.14000a650
nop
xor edx, edx
lea rdi, [0x1400fc394]
mov rsi, qword [rax]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14007b755
sbb edx, edx
sbb edx, 0xffffffff
xor edi, edi
test edx, edx
sete dil
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b781
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14007b80e
mov rax, rbx
nop
cmp word [rbp], 0
je 0x14007b7a3
add rbp, 2
sub rax, 1
jne 0x14007b790
jmp 0x14007b7b5
test rax, rax
je 0x14007b7b5
sub rbx, rax
mov qword [rsp + 0xe0], rbx
jmp 0x14007b7bf
xor ebx, ebx
mov qword [rsp + 0xe0], rbx
mov r8d, ebx
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x30]
call fcn.14000a4c0
nop
mov rdx, rax
mov rcx, r15
call fcn.140003850
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b8c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007b8c3
mov rax, rbx
cmp word [rbp], 0
je 0x14007b824
add rbp, 2
sub rax, 1
jne 0x14007b811
jmp 0x14007b836
test rax, rax
je 0x14007b836
sub rbx, rax
mov qword [rsp + 0xf0], rbx
jmp 0x14007b840
xor ebx, ebx
mov qword [rsp + 0xf0], rbx
mov r8d, ebx
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.14000a4c0
nop
mov r8, rax
lea rdx, [0x1400fc394]
lea rcx, [rsp + 0x88]
call fcn.14007e250
nop
mov rdx, rax
mov rcx, r15
call fcn.140003850
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b89f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b8c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r13d, 1
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007bdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x30]
jmp 0x14007bdff
mov r13d, 1
jmp 0x14007bdff
lea rdx, [0x140106a00]
mov rcx, rdi
call fcn.1400cfaf0
mov rsi, rax
call fcn.14009d5e8
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b934
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x20], esi
mov r9w, 0x5c
lea r8, [rsp + 0x48]
mov rdx, rdi
mov rcx, qword [r14 + 0x38]
call fcn.140010850
mov rdi, qword [rsp + 0x48]
cmp dword [rdi - 0x10], 0
je 0x14007bdd7
call fcn.14009d5e8
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14007b98e
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, esi
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x30]
call fcn.14000a4f0
nop
mov r9, rdi
mov r8, qword [rax]
lea rdx, str._s_s
lea rcx, [rsp + 0x58]
call fcn.14000a800
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007b9f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbx
lea rax, [0x140106a08]
nop
cmp word [rax], 0
je 0x14007ba12
add rax, 2
sub rcx, 1
jne 0x14007ba00
jmp 0x14007ba27
test rcx, rcx
je 0x14007ba27
mov rdx, rbx
sub rdx, rcx
mov qword [rsp + 0xb8], rdx
jmp 0x14007ba32
mov rdx, rbp
mov qword [rsp + 0xb8], rdx
mov rcx, rbx
lea rax, [0x140106a10]
nop
cmp word [rax], 0
je 0x14007ba52
add rax, 2
sub rcx, 1
jne 0x14007ba40
jmp 0x14007ba67
test rcx, rcx
je 0x14007ba67
mov rbp, rbx
sub rbp, rcx
mov qword [rsp + 0xc8], rbp
jmp 0x14007ba6f
mov qword [rsp + 0xc8], rbp
movsxd r8, edx
lea rdx, [0x140106a08]
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1400ce2c0
mov rsi, qword [rsp + 0x58]
test eax, eax
jne 0x14007bb72
mov dx, 0x3b
mov rcx, rdi
call fcn.1400ce0c0
lea rdi, [rax + 2]
mov rcx, rbx
lea rax, [0x1400fc3a8]
nop
cmp word [rax], 0
je 0x14007bac2
add rax, 2
sub rcx, 1
jne 0x14007bab0
jmp 0x14007bad4
test rcx, rcx
je 0x14007bad4
sub rbx, rcx
mov qword [rsp + 0xd8], rbx
jmp 0x14007bade
xor ebx, ebx
mov qword [rsp + 0xd8], rbx
movsxd r8, ebx
mov rdx, rdi
lea rcx, [0x1400fc3a8]
call fcn.1400ce2c0
test eax, eax
jne 0x14007bb0c
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x140]
mov rcx, rdi
call fcn.1400cf260
mov edi, eax
jmp 0x14007bb17
mov rcx, rdi
call fcn.1400cf2a0
mov rdi, rax
call fcn.1400cf300
cmp dword [rax], 0x22
je 0x14007bb2b
call fcn.1400cf300
cmp dword [rax], 0x16
jne 0x14007bb32
mov rdi, 0xffffffff80000000
cmp edi, 0x80000000
je 0x14007bcc2
cmp rdi, 0x25
jne 0x14007bb4e
mov edi, 0x29
jmp 0x14007bccf
cmp rdi, 0x26
jne 0x14007bb5e
mov edi, 0x2a
jmp 0x14007bccf
cmp rdi, 0x2b
jne 0x14007bcc2
mov edi, 0x2c
jmp 0x14007bccf
movsxd r8, ebp
lea rdx, [0x140106a10]
mov rcx, rdi
call fcn.1400ce2c0
test eax, eax
jne 0x14007bc31
mov dx, 0x3b
mov rcx, rdi
call fcn.1400ce0c0
lea rdi, [rax + 2]
mov rcx, rbx
lea rax, [0x1400fc3a8]
cmp word [rax], 0
je 0x14007bbb8
add rax, 2
sub rcx, 1
jne 0x14007bba6
jmp 0x14007bbca
test rcx, rcx
je 0x14007bbca
sub rbx, rcx
mov qword [rsp + 0xe8], rbx
jmp 0x14007bbd4
xor ebx, ebx
mov qword [rsp + 0xe8], rbx
movsxd r8, ebx
mov rdx, rdi
lea rcx, [0x1400fc3a8]
call fcn.1400ce2c0
test eax, eax
jne 0x14007bc02
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x148]
mov rcx, rdi
call fcn.1400cf260
mov edi, eax
jmp 0x14007bc0d
mov rcx, rdi
call fcn.1400cf2a0
mov rdi, rax
call fcn.1400cf300
cmp dword [rax], 0x22
je 0x14007bc25
call fcn.1400cf300
cmp dword [rax], 0x16
jne 0x14007bcc2
mov rdi, 0xffffffff80000000
jmp 0x14007bcc2
mov rcx, rbx
lea rax, [0x1400fc3a8]
nop
nop
cmp word [rax], 0
je 0x14007bc52
add rax, 2
sub rcx, 1
jne 0x14007bc40
jmp 0x14007bc64
test rcx, rcx
je 0x14007bc64
sub rbx, rcx
mov qword [rsp + 0xf8], rbx
jmp 0x14007bc6e
xor ebx, ebx
mov qword [rsp + 0xf8], rbx
movsxd r8, ebx
mov rdx, rdi
lea rcx, [0x1400fc3a8]
call fcn.1400ce2c0
test eax, eax
jne 0x14007bc9c
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x138]
mov rcx, rdi
call fcn.1400cf260
mov edi, eax
jmp 0x14007bca7
mov rcx, rdi
call fcn.1400cf2a0
mov rdi, rax
call fcn.1400cf300
cmp dword [rax], 0x22
je 0x14007bcbb
call fcn.1400cf300
cmp dword [rax], 0x16
jne 0x14007bcc2
mov rdi, 0xffffffff80000000
cmp rdi, 0xffffffff80000000
je 0x14007bdaf
xor ebx, ebx
lea rcx, [rsp + 0x78]
call qword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
jne 0x14007bdaf
movzx edx, di
lea r8, [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x14007bd7e
lea rdx, [rsp + 0x360]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov edx, 0x104
lea rcx, [rsp + 0x150]
xor r8d, r8d
lea rdi, [rsp + 0x360]
lea rax, [rsp + 0x150]
sub rdi, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14007bd56
movzx eax, word [rcx + rdi]
test ax, ax
je 0x14007bd56
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14007bd32
jmp 0x14007bd5b
test rdx, rdx
jne 0x14007bd65
sub rcx, 2
mov r8d, 0x8007007a
mov word [rcx], bx
test r8d, r8d
sete bl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x68]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
je 0x14007bdaf
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x150]
mov r8, rsi
mov rdx, r15
mov rcx, qword [r14 + 0x38]
call fcn.140010dd0
mov r13d, eax
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007bdd2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x48]
jmp 0x14007bdd7
mov rdi, qword [rsp + 0x48]
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007bdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x30]
jmp 0x14007bdff
mov rdi, qword [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea r9, [0x1400fb428]
lea r8, str.ChangeDefinePath
lea rdx, str.CScriptFileIF
mov rcx, qword [r14 + 0x40]
call fcn.140081270
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x14007be3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r13d
mov rcx, qword [rsp + 0x570]
xor rcx, rsp
call fcn.1400cd6e0
mov rbx, qword [rsp + 0x5d0]
add rsp, 0x580
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret