Function at 0x140072680
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x578
mov qword [rsp + 0x128], 0xfffffffffffffffe
movaps xmmword [rsp + 0x560], xmm6
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x550], rax
mov qword [rsp + 0x70], r9
movzx ebx, r8w
mov rbp, rdx
mov r15, rcx
mov esi, dword [rsp + 0x5e0]
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdx
lea r9, str.lpszPrnName_s__wEifIdx_u__pAryProgman_x__dwType_u
lea r8, str.GetProgman
lea rdx, str.CScriptFileIF
mov rcx, qword [rcx + 0x40]
call fcn.140080c70
xor r13d, r13d
mov dword [rsp + 0x20], ebx
lea r9, str.wEifIdx_u
lea r8, str.GetEifWalk
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x14007274b
cmp word [rax + 0x10], bx
jbe 0x14007274b
movzx ecx, bx
mov rax, qword [r15]
mov r14, qword [rax + rcx*8]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x20], r14
lea r9, [0x1400facf8]
lea r8, str.GetEifWalk
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test r14, r14
je 0x1400736a0
call fcn.14009d5e8
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140072796
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
lea rdx, str.progman
or r12, 0xffffffffffffffff
test rdx, 0xffffffffffff0000
jne 0x1400727df
movzx edi, dx
mov ecx, edi
call fcn.1400a1868
test rax, rax
je 0x140072800
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14000a990
mov rbx, qword [rsp + 0x48]
jmp 0x140072800
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x48]
call fcn.140003940
mov rbx, qword [rsp + 0x48]
cmp esi, 1
jne 0x1400728a2
xor eax, eax
mov rcx, r12
lea r12, str..final
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rsi, r12
sub rsi, rbx
sar rsi, 1
mov r13d, dword [rbx - 0x10]
lea edi, [r13 + rcx - 1]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, edx
jge 0x140072856
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140003510
mov rbx, qword [rsp + 0x48]
cmp rsi, r13
ja 0x14007285f
lea r12, [rbx + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbx + r13*2]
mov r9, rdx
mov r8, r12
call fcn.1400cd500
test edi, edi
js 0x140072897
cmp edi, dword [rbx - 0xc]
jg 0x140072897
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
mov r14, qword [rsp + 0x58]
or r12, 0xffffffffffffffff
jmp 0x140072941
mov ecx, 0x80070057
call fcn.1400034f0
int3
cmp esi, 2
jne 0x140072941
xor eax, eax
mov rcx, r12
lea r12, str..url
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rsi, r12
sub rsi, rbx
sar rsi, 1
mov r13d, dword [rbx - 0x10]
lea edi, [r13 + rcx - 1]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, edx
jge 0x1400728f8
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140003510
mov rbx, qword [rsp + 0x48]
cmp rsi, r13
ja 0x140072901
lea r12, [rbx + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbx + r13*2]
mov r9, rdx
mov r8, r12
call fcn.1400cd500
test edi, edi
js 0x140072936
cmp edi, dword [rbx - 0xc]
jg 0x140072936
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
mov r14, qword [rsp + 0x58]
or r12, 0xffffffffffffffff
jmp 0x140072941
mov ecx, 0x80070057
call fcn.1400034f0
int3
call fcn.14009d5e8
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140072960
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x68], rax
test rbp, rbp
je 0x1400729b2
test rbp, 0xffffffffffff0000
jne 0x14007299e
movzx edi, bp
mov ecx, edi
call fcn.1400a1868
test rax, rax
je 0x1400729c5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000a990
jmp 0x1400729c5
xor eax, eax
mov rcx, r12
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
jmp 0x1400729b4
xor ecx, ecx
mov r8d, ecx
mov rdx, rbp
lea rcx, [rsp + 0x68]
call fcn.140003940
nop
lea rsi, str.strings
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x48]
mov rdx, r14
mov rcx, r15
call fcn.1400797e0
mov r13d, eax
mov dword [rsp + 0x60], eax
test eax, eax
je 0x14007365d
call fcn.14009d5e8
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140072a1c
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
movsd xmm6, qword [0x14010a8f8]
mov rbx, qword [rsp + 0x70]
nop
nop
xor eax, eax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x68]
mov r13d, eax
mov dword [rsp + 0x50], eax
xor r12d, r12d
test eax, eax
je 0x1400735b1
nop
test r12d, r12d
jne 0x140072e2b
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, str.pInfWalk_x__strVal_x__nIdx_u__lpszStringSec_s
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor ebp, ebp
mov rax, qword [r14]
lea r8, [rsp + 0x40]
lea edx, [rbp + 1]
mov rcx, r14
call qword [rax + 0x108]
test eax, eax
je 0x140072b8e
mov ebp, 1
mov esi, ebp
nop
nop
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea r9, str.lpsz_s
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor edi, edi
test rbx, rbx
je 0x140072b46
mov dx, 0x25
mov rcx, rbx
call fcn.1400ce0c0
mov rbx, rax
test rax, rax
je 0x140072b46
mov dx, 0x25
mov rcx, rax
call fcn.1400cec70
cmp rbx, rax
setb dil
mov dword [rsp + 0x20], edi
lea r9, [0x1400fb428]
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test edi, edi
je 0x140072b8e
test esi, esi
je 0x140072b8e
lea r9, str.strings
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, r15
call fcn.14007a690
mov esi, eax
jmp 0x140072af0
mov dword [rsp + 0x20], ebp
lea r9, [0x1400fb428]
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test ebp, ebp
je 0x140072f83
mov r9w, 0x22
mov r8w, 0x2c
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x38]
call fcn.140010520
mov rbp, rax
test rax, rax
je 0x140072f83
mov rcx, qword [rax + 0x10]
test rcx, rcx
jle 0x140072bf7
test rcx, rcx
jle 0x140073620
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
jmp 0x140072bf9
xor edx, edx
test rdx, rdx
je 0x140072c0f
mov rcx, qword [r15 + 0x38]
call fcn.140013c20
mov qword [rsp + 0x98], rax
mov rax, qword [rbp + 0x10]
cmp rax, 1
jle 0x140072c2d
cmp rax, 1
jle 0x140073626
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 8]
jmp 0x140072c2f
xor ecx, ecx
test rcx, rcx
je 0x140072c44
cmp word [rcx], 0
je 0x140072c44
call fcn.14002b1a0
movzx edi, ax
jmp 0x140072c49
mov edi, reloc.OLEAUT32.dll_SafeArrayUnaccessData
lea rcx, [rsp + 0x88]
call qword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
jne 0x140072d06
movzx edx, di
lea r8, [rsp + 0x80]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x140072cf8
lea rdx, [rsp + 0x340]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov edx, 0x104
lea rcx, [rsp + 0x130]
lea rdi, [rsp + 0x340]
lea rax, [rsp + 0x130]
sub rdi, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140072cd4
movzx eax, word [rdi + rcx]
test ax, ax
je 0x140072cd4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140072cb0
jmp 0x140072cd9
test rdx, rdx
jne 0x140072cdd
sub rcx, 2
mov word [rcx], 0
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x80]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rbx, qword [r15 + 0x38]
xor esi, esi
mov ecx, 0x3fffffff
lea rax, [rsp + 0x130]
nop
nop
cmp word [rax], si
je 0x140072d31
add rax, 2
sub rcx, 1
jne 0x140072d20
jmp 0x140072d57
test rcx, rcx
je 0x140072d57
mov eax, 0x3fffffff
sub rax, rcx
mov qword [rsp + 0x110], rax
add rax, rax
add rax, 2
mov qword [rsp + 0xe8], rax
jmp 0x140072d61
xor eax, eax
mov qword [rsp + 0xe8], rax
movsxd rdi, eax
test eax, eax
je 0x140072e0f
mov r8, rdi
mov edx, 8
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r11, rax
test rax, rax
je 0x140072e0f
shr rdi, 1
mov r9d, esi
je 0x140072d9a
cmp rdi, 0x7fffffff
jbe 0x140072da0
mov r9d, 0x80070057
test r9d, r9d
js 0x140072df7
mov rcx, rax
xor r9d, r9d
test rdi, rdi
je 0x140072dea
mov edx, 0x7ffffffe
sub rdx, rdi
lea r8, [rsp + 0x130]
sub r8, rax
lea rax, [rdx + rdi]
test rax, rax
je 0x140072de5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140072de5
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x140072dc3
jmp 0x140072dea
test rdi, rdi
jne 0x140072df4
sub rcx, 2
mov r9d, 0x8007007a
mov word [rcx], si
test r9d, r9d
jne 0x140072e01
mov rsi, r11
jmp 0x140072e0f
mov r8, r11
xor edx, edx
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0xa0], rsi
mov rax, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140072f83
cmp r12d, 1
jne 0x140072f7d
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 2
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, str.pInfWalk_x__strVal_x__nIdx_u__lpszStringSec_s
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor ebp, ebp
mov rax, qword [r14]
lea r8, [rsp + 0x40]
lea edx, [rbp + 2]
mov rcx, r14
call qword [rax + 0x108]
test eax, eax
je 0x140072f3f
mov ebp, r12d
mov esi, r12d
lea r13, str.strings
nop
nop
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea r9, str.lpsz_s
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor edi, edi
test rbx, rbx
je 0x140072ef6
mov dx, 0x25
mov rcx, rbx
call fcn.1400ce0c0
mov rbx, rax
test rax, rax
je 0x140072ef6
mov dx, 0x25
mov rcx, rax
call fcn.1400cec70
cmp rbx, rax
setb dil
mov dword [rsp + 0x20], edi
lea r9, [0x1400fb428]
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test edi, edi
je 0x140072f3a
test esi, esi
je 0x140072f3a
mov r9, r13
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, r15
call fcn.14007a690
mov esi, eax
jmp 0x140072ea0
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x20], ebp
lea r9, [0x1400fb428]
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test ebp, ebp
je 0x140072f83
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x38]
call fcn.140013c20
mov qword [rsp + 0xa8], rax
jmp 0x140072f83
cmp r12d, 2
jae 0x140072fa8
add r12d, 1
cmp r12d, r13d
lea rsi, str.strings
jb 0x140072a80
mov rbx, qword [rsp + 0x70]
lea rsi, str.strings
jmp 0x1400735b1
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x68]
add eax, 0xfffffffe
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
call fcn.1400e97f0
cvttsd2si eax, xmm0
mov dword [rsp + 0x78], eax
xor r14d, r14d
mov dword [rsp + 0x50], r14d
test eax, eax
jle 0x1400735a7
nop
nop
xor eax, eax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
xor r12d, r12d
lea eax, [r14 + r14*2]
lea r13d, [rax + rax + 3]
mov dword [rsp + 0x90], r13d
mov r14, qword [rsp + 0x58]
nop
nop
lea edi, [r13 + r12]
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], edi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, str.pInfWalk_x__strVal_x__nIdx_u__lpszStringSec_s
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor ebp, ebp
mov rax, qword [r14]
lea r8, [rsp + 0x40]
mov edx, edi
mov rcx, r14
call qword [rax + 0x108]
test eax, eax
je 0x140073138
mov ebp, 1
mov esi, ebp
lea r13, str.strings
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea r9, str.lpsz_s
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081070
xor edi, edi
test rbx, rbx
je 0x1400730ec
mov dx, 0x25
mov rcx, rbx
call fcn.1400ce0c0
mov rbx, rax
test rax, rax
je 0x1400730ec
mov dx, 0x25
mov rcx, rax
call fcn.1400cec70
cmp rbx, rax
setb dil
mov dword [rsp + 0x20], edi
lea r9, [0x1400fb428]
lea r8, str.IsMacro
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test edi, edi
je 0x140073130
test esi, esi
je 0x140073130
mov r9, r13
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, r15
call fcn.14007a690
mov esi, eax
jmp 0x140073096
mov r13d, dword [rsp + 0x90]
mov dword [rsp + 0x20], ebp
lea r9, [0x1400fb428]
lea r8, str.GetStringFieldEx
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140081270
test ebp, ebp
je 0x1400734b0
test r12d, r12d
jne 0x14007327c
mov rbx, qword [rsp + 0x40]
mov rbp, qword [r15 + 0x38]
xor esi, esi
test rbx, rbx
je 0x14007326f
mov ecx, 0x3fffffff
mov rax, rbx
cmp word [rax], si
je 0x140073198
add rax, 2
sub rcx, 1
jne 0x140073187
jmp 0x1400731be
test rcx, rcx
je 0x1400731be
mov eax, 0x3fffffff
sub rax, rcx
mov qword [rsp + 0x118], rax
add rax, rax
add rax, 2
mov qword [rsp + 0x100], rax
jmp 0x1400731c8
xor eax, eax
mov qword [rsp + 0x100], rax
movsxd rdi, eax
test eax, eax
je 0x14007326f
mov r8, rdi
mov edx, 8
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r11, rax
test rax, rax
je 0x14007326f
shr rdi, 1
mov r8d, esi
je 0x140073202
cmp rdi, 0x7fffffff
jbe 0x140073208
mov r8d, 0x80070057
test r8d, r8d
js 0x140073256
mov rcx, rax
xor r8d, r8d
test rdi, rdi
je 0x140073249
mov edx, 0x7ffffffe
sub rdx, rdi
sub rbx, rax
lea rax, [rdx + rdi]
test rax, rax
je 0x140073244
movzx eax, word [rbx + rcx]
test ax, ax
je 0x140073244
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x140073223
jmp 0x140073249
test rdi, rdi
jne 0x140073253
sub rcx, 2
mov r8d, 0x8007007a
mov word [rcx], si
test r8d, r8d
jne 0x140073260
mov rsi, r11
jmp 0x14007326f
mov r8, r11
xor edx, edx
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0xb8], rsi
jmp 0x1400734b0
cmp r12d, 1
jne 0x140073399
mov rbx, qword [rsp + 0x40]
mov rbp, qword [r15 + 0x38]
xor esi, esi
test rbx, rbx
je 0x14007338c
mov ecx, 0x3fffffff
mov rax, rbx
cmp word [rax], si
je 0x1400732b3
add rax, 2
sub rcx, 1
jne 0x1400732a2
jmp 0x1400732d9
test rcx, rcx
je 0x1400732d9
mov eax, 0x3fffffff
sub rax, rcx
mov qword [rsp + 0x108], rax
add rax, rax
add rax, 2
mov qword [rsp + 0xf8], rax
jmp 0x1400732e3
xor eax, eax
mov qword [rsp + 0xf8], rax
movsxd rdi, eax
test eax, eax
je 0x14007338c
mov r8, rdi
mov edx, 8
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r11, rax
test rax, rax
je 0x14007338c
shr rdi, 1
mov r8d, esi
je 0x14007331d
cmp rdi, 0x7fffffff
jbe 0x140073323
mov r8d, 0x80070057
test r8d, r8d
js 0x140073373
mov rcx, rax
xor r8d, r8d
test rdi, rdi
je 0x140073366
mov edx, 0x7ffffffe
sub rdx, rdi
sub rbx, rax
nop
lea rax, [rdx + rdi]
test rax, rax
je 0x140073361
movzx eax, word [rbx + rcx]
test ax, ax
je 0x140073361
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x140073340
jmp 0x140073366
test rdi, rdi
jne 0x140073370
sub rcx, 2
mov r8d, 0x8007007a
mov word [rcx], si
test r8d, r8d
jne 0x14007337d
mov rsi, r11
jmp 0x14007338c
mov r8, r11
xor edx, edx
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0xc0], rsi
jmp 0x1400734b0
cmp r12d, 2
jne 0x1400733ba
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x38]
call fcn.140013c20
mov qword [rsp + 0xc8], rax
jmp 0x1400734b0
cmp r12d, 3
jne 0x1400733db
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x38]
call fcn.140013c20
mov qword [rsp + 0xd0], rax
jmp 0x1400734b0
cmp r12d, 4
jne 0x1400733fc
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x38]
call fcn.140013c20
mov qword [rsp + 0xd8], rax
jmp 0x1400734b0
cmp r12d, 5
jne 0x1400734b0
mov rdi, qword [rsp + 0x40]
mov ecx, 0x7fffffff
lea rax, [0x1400fc3a8]
cmp word [rax], 0
je 0x140073429
add rax, 2
sub rcx, 1
jne 0x140073417
jmp 0x140073440
test rcx, rcx
je 0x140073440
mov eax, 0x7fffffff
sub rax, rcx
mov qword [rsp + 0xf0], rax
jmp 0x14007344a
xor eax, eax
mov qword [rsp + 0xf0], rax
movsxd r8, eax
mov rdx, rdi
lea rcx, [0x1400fc3a8]
call fcn.1400ce2c0
test eax, eax
jne 0x140073478
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.1400cf260
mov edi, eax
jmp 0x140073483
mov rcx, rdi
call fcn.1400cf2a0
mov rdi, rax
call fcn.1400cf300
cmp dword [rax], 0x22
je 0x140073497
call fcn.1400cf300
cmp dword [rax], 0x16
jne 0x14007349e
mov rdi, 0xffffffff80000000
xor eax, eax
cmp edi, 0x80000000
cmovne eax, edi
mov dword [rsp + 0xe0], eax
add r12d, 1
cmp r12d, 6
lea rsi, str.strings
jl 0x140073030
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
mov r14d, dword [rsp + 0x50]
jne 0x140073521
mov ecx, 0x30
call fcn.140091360
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140073517
mov rcx, rax
call fcn.1400aa430
nop
lea rax, method.CPtrArray.virtual_0
mov qword [rdi], rax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rdi + 0x28], rax
jmp 0x140073519
xor edi, edi
mov qword [rsp + 0xb0], rdi
mov edx, 8
lea r8d, [rdx + 0x28]
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x140073579
mov r9d, 0x30
lea r8, [rsp + 0xb8]
mov rdx, r9
mov rcx, rax
call fcn.1400cd500
test eax, eax
jne 0x14007356a
mov r8, rbx
mov rdx, qword [rdi + 0x10]
mov rcx, rdi
call fcn.1400aa678
jmp 0x140073579
mov r8, rbx
xor edx, edx
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r14d, 1
mov dword [rsp + 0x50], r14d
cmp r14d, dword [rsp + 0x78]
lea rsi, str.strings
jl 0x140072fe0
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
lea rsi, str.strings
jmp 0x1400735b1
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
mov edx, 8
lea r8d, [rdx + 0x18]
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x140073609
mov r9d, 0x20
lea r8, [rsp + 0x98]
mov rdx, r9
mov rcx, rax
call fcn.1400cd500
test eax, eax
jne 0x1400735fa
mov r8, rdi
mov rdx, qword [rbx + 0x10]
mov rcx, rbx
call fcn.1400aa678
jmp 0x140073609
mov r8, rdi
xor edx, edx
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [r14]
mov rdx, qword [rsp + 0x68]
mov rcx, r14
call qword [rax + 0x58]
test eax, eax
je 0x14007362c
jmp 0x140072a40
call fcn.1400a0610
int3
call fcn.1400a0610
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
or r12, 0xffffffffffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140073658
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r13d, dword [rsp + 0x60]
jmp 0x14007365d
mov r13d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007367f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x1400736a0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x20], r13d
lea r9, [0x1400fb428]
lea r8, str.GetProgman
lea rdx, str.CScriptFileIF
mov rcx, qword [r15 + 0x40]
call fcn.140080e70
mov eax, r13d
mov rcx, qword [rsp + 0x550]
xor rcx, rsp
call fcn.1400cd6e0
movaps xmm6, xmmword [rsp + 0x560]
add rsp, 0x578
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret