Function at 0x14009dd40
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3f0
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rsp + 0x440], rbx
mov rax, qword [0x14025e510]
xor rax, rsp
mov qword [rsp + 0x3e0], rax
movzx r13d, r9b
movzx r15d, r8b
mov r14, rdx
mov rbx, rcx
mov qword [rsp + 0x60], rcx
xor r12d, r12d
mov esi, r12d
or rbp, 0xffffffffffffffff
cmp qword [rcx + 0x9e8], rsi
jle 0x14009de1c
nop
mov edx, esi
mov rcx, rbx
call fcn.1400818b0
mov r12, rax
cmp dword [rax + 0xc], 0xffffffff
jne 0x14009de0b
mov rbx, qword [rax]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x3d8]
mov qword [rbx + 0x3d8], rcx
mov edi, dword [rbx + 0xa34]
mov dword [rbx + 0xa34], ebp
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x588]
mov dword [rbx + 0xa34], edi
mov rax, qword [rbx]
movzx r9d, r13b
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x498]
mov rcx, r12
call fcn.14007e840
mov rbx, qword [rsp + 0x60]
inc esi
movsxd rax, esi
cmp rax, qword [rbx + 0x9e8]
jl 0x14009dda0
xor r12d, r12d
lea rdi, [rbx + 0x9d8]
mov r8, rbp
xor edx, edx
mov rcx, rdi
call fcn.140094cc0
test r14, r14
jne 0x14009de3c
mov al, 1
jmp 0x14009ee84
and byte [rbx + 0x3cc], 0xfe
and r15b, 1
or byte [rbx + 0x3cc], r15b
test byte [rbx + 0x3cc], 1
je 0x14009de5e
mov qword [rbx + 0x3e8], r12
xor r12b, r12b
mov dword [rsp + 0x48], ebp
xor ebx, ebx
mov esi, ebx
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetMenuItemCount]
mov r15d, eax
mov r8, rbp
xor edx, edx
mov rcx, rdi
call fcn.140094cc0
test r15d, r15d
jle 0x14009dfbc
nop dword [rax]
mov edx, ebx
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetMenuItemID]
add eax, 0xffff1ef0
cmp eax, 0xf
ja 0x14009deba
cmp dword [rsp + 0x48], 0
jge 0x14009dfb1
mov dword [rsp + 0x48], esi
jmp 0x14009dfb1
mov rdi, qword [rsp + 0x60]
mov rdx, rdi
lea rcx, [rsp + 0xa0]
call fcn.140091d40
nop
mov rdx, qword [rdi + 0x3d8]
mov qword [rsp + 0x178], rdx
mov byte [rsp + 0x20], r13b
mov r9d, ebx
mov r8, r14
lea rcx, [rsp + 0xa0]
call fcn.14009d860
mov edx, dword [rsp + 0xac]
test edx, edx
sete al
test r12b, r12b
je 0x14009df1e
test al, al
je 0x14009df1e
lea rcx, [rsp + 0xa0]
call fcn.140082730
jmp 0x14009dfb1
movzx r12d, al
cmp edx, 0xffffffff
jne 0x14009df88
mov edx, ebx
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov rcx, rax
call fcn.14001880c
mov rdi, rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx + 0x3d8]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x3d8], rdx
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
movzx r9d, r13b
xor r8d, r8d
mov rdx, rdi
call qword [rax + 0x498]
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x60]
mov qword [rdx + 0x3e8], rdi
mov rax, qword [rdi]
movzx r9d, r13b
lea r8, [rsp + 0xa0]
mov edx, ebp
mov rcx, rdi
call qword [rax + 0x640]
inc esi
lea rcx, [rsp + 0xa0]
call fcn.140082730
inc ebx
cmp ebx, r15d
jl 0x14009de90
xor esi, esi
mov dword [rsp + 0x5c], esi
cmp dword [rsp + 0x48], esi
jl 0x14009ee74
test r13b, r13b
jne 0x14009ee74
call fcn.14000b840
mov rcx, qword [rax + 8]
mov r15, qword [rcx + 0x110]
mov qword [rsp + 0x90], r15
test r15, r15
je 0x14009ee74
movsxd rbx, dword [r15 + 8]
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x1d0]
call fcn.14002fb80
lea rdx, [rsp + 0x1d0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor eax, eax
mov rcx, rbp
lea rdi, [rsp + 0x1d0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x58], esi
xor r12d, r12d
mov r14, r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], rbx
test ebx, ebx
jle 0x14009ee74
lea rsi, [0x1401dd700]
call fcn.140008c24
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
je 0x14009ee69
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r10, [rax + 0x18]
mov qword [rsp + 0x38], r10
mov r13, rsi
shr r13, 0x10
test r13, r13
jne 0x14009e0c2
movzx edi, si
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14009e1de
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400060a0
jmp 0x14009e1de
xor eax, eax
mov rcx, rbp
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14009e138
lea rdx, [r10 - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14009e1de
cmp dword [rdx + 0x10], eax
jge 0x14009e10b
cmp dword [r10 - 0xc], eax
jl 0x14009ec72
mov dword [r10 - 0x10], r12d
mov rax, qword [rsp + 0x38]
mov word [rax], r12w
jmp 0x14009e1de
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009e121
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
jmp 0x14009e1de
mov esi, dword [r10 - 0x10]
lea r8, [0x1401dd700]
mov rbx, r8
sub rbx, r10
sar rbx, 1
mov ecx, 1
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edi
or eax, ecx
jge 0x14009e177
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140004ec0
mov r10, qword [rsp + 0x38]
lea r8, [0x1401dd700]
cmp rbx, rsi
ja 0x14009e19b
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [r10 + rbx*2]
movsxd rdx, dword [r10 - 0xc]
add rdx, rdx
mov r9, rsi
mov rcx, r10
call fcn.14002fa64
jmp 0x14009e1b4
movsxd rax, edi
lea rsi, [rax + rax]
movsxd rdx, dword [r10 - 0xc]
add rdx, rdx
mov r9, rsi
mov rcx, r10
call fcn.14002f9cc
test edi, edi
js 0x14009ee5e
mov rax, qword [rsp + 0x38]
cmp edi, dword [rax - 0xc]
jg 0x14009ee5e
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x38]
mov word [rsi + rax], r12w
lea rsi, [0x1401dd700]
call fcn.140008c24
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
je 0x14009ee53
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
test r13, r13
jne 0x14009e233
movzx edi, si
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14009e331
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400060a0
jmp 0x14009e331
xor eax, eax
mov rcx, rbp
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14009e2a3
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14009e331
cmp dword [rdx + 0x10], eax
jge 0x14009e276
cmp dword [rbx - 0xc], eax
jl 0x14009ec7d
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14009e331
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009e28c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
jmp 0x14009e331
mov r12d, dword [rbx - 0x10]
sub rsi, rbx
sar rsi, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14009e2cf
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140004ec0
mov rbx, qword [rsp + 0x50]
cmp rsi, r12
ja 0x14009e2f3
movsxd rax, edi
lea r12, [rax + rax]
lea r8, [rbx + rsi*2]
movsxd rdx, dword [rbx - 0xc]
add rdx, rdx
mov r9, r12
mov rcx, rbx
call fcn.14002fa64
jmp 0x14009e313
movsxd rax, edi
lea r12, [rax + rax]
movsxd rdx, dword [rbx - 0xc]
add rdx, rdx
mov r9, r12
lea r8, [0x1401dd700]
mov rcx, rbx
call fcn.14002f9cc
test edi, edi
js 0x14009ee48
cmp edi, dword [rbx - 0xc]
jg 0x14009ee48
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r12 + rbx], ax
xor r12d, r12d
call fcn.140008c24
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
je 0x14009ee3d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x30], rsi
test r13, r13
jne 0x14009e392
lea rax, [0x1401dd700]
movzx edi, ax
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14009e49a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400060a0
mov rsi, qword [rsp + 0x30]
jmp 0x14009e49a
xor eax, eax
mov rcx, rbp
lea r8, [0x1401dd700]
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14009e409
lea rdx, [rsi - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14009e49a
cmp dword [rdx + 0x10], eax
jge 0x14009e3dc
cmp dword [rsi - 0xc], eax
jl 0x14009ec88
mov dword [rsi - 0x10], r12d
mov word [rsi], r12w
jmp 0x14009e49a
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009e3f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x30], rsi
jmp 0x14009e49a
mov r12d, dword [rsi - 0x10]
mov rbx, r8
sub rbx, rsi
sar rbx, 1
mov ecx, 1
sub ecx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, edi
or eax, ecx
jge 0x14009e43f
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140004ec0
mov rsi, qword [rsp + 0x30]
lea r8, [0x1401dd700]
cmp rbx, r12
ja 0x14009e463
movsxd rax, edi
lea r12, [rax + rax]
lea r8, [rsi + rbx*2]
movsxd rdx, dword [rsi - 0xc]
add rdx, rdx
mov r9, r12
mov rcx, rsi
call fcn.14002fa64
jmp 0x14009e47c
movsxd rax, edi
lea r12, [rax + rax]
movsxd rdx, dword [rsi - 0xc]
add rdx, rdx
mov r9, r12
mov rcx, rsi
call fcn.14002f9cc
test edi, edi
js 0x14009ee32
cmp edi, dword [rsi - 0xc]
jg 0x14009ee32
mov dword [rsi - 0x10], edi
xor eax, eax
mov word [r12 + rsi], ax
xor r12d, r12d
call fcn.140008c24
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
je 0x14009ee27
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
test r13, r13
jne 0x14009e502
lea rax, [0x1401dd700]
movzx edi, ax
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14009e61e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400060a0
mov rbx, qword [rsp + 0x40]
lea r8, [0x1401dd700]
jmp 0x14009e625
xor eax, eax
mov rcx, rbp
lea r8, [0x1401dd700]
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14009e585
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14009e625
cmp dword [rdx + 0x10], eax
jge 0x14009e54c
cmp dword [rbx - 0xc], eax
jl 0x14009ec93
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14009e625
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009e562
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov rsi, qword [rsp + 0x30]
lea r8, [0x1401dd700]
jmp 0x14009e625
mov r13d, dword [rbx - 0x10]
mov r12, r8
sub r12, rbx
sar r12, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14009e5bb
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140004ec0
mov rbx, qword [rsp + 0x40]
lea r8, [0x1401dd700]
cmp r12, r13
ja 0x14009e5df
movsxd rax, edi
lea r13, [rax + rax]
lea r8, [rbx + r12*2]
movsxd rdx, dword [rbx - 0xc]
add rdx, rdx
mov r9, r13
mov rcx, rbx
call fcn.14002fa64
jmp 0x14009e5f8
movsxd rax, edi
lea r13, [rax + rax]
movsxd rdx, dword [rbx - 0xc]
add rdx, rdx
mov r9, r13
mov rcx, rbx
call fcn.14002f9cc
test edi, edi
js 0x14009ee1c
cmp edi, dword [rbx - 0xc]
jg 0x14009ee1c
mov dword [rbx - 0x10], edi
xor r12d, r12d
mov word [r13 + rbx], r12w
lea r8, [0x1401dd700]
jmp 0x14009e625
lea r8, [0x1401dd700]
mov rax, qword [r15 + 0x10]
mov rdx, qword [rax + r14*8]
cmp dword [rdx - 0x10], 0
je 0x14009e63d
test rdx, rdx
jne 0x14009e640
mov ecx, r12d
jmp 0x14009e651
mov rdx, r8
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
lea rcx, [rsp + 0x50]
call fcn.140005080
mov rax, qword [r15]
mov dword [rsp + 0x28], 1
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x20], ecx
lea r9, [rsp + 0x1d0]
mov edi, dword [rsp + 0x58]
mov r8d, edi
lea rdx, [rsp + 0x38]
mov rcx, r15
call qword [rax + 0x10]
mov rdx, qword [rsp + 0x38]
mov r9d, dword [rdx - 0x10]
test r9d, r9d
je 0x14009eba4
mov rdi, qword [rsp + 0x50]
lea r13, [rdi - 0x10]
mov r8d, dword [r13]
test r8d, r8d
je 0x14009eba0
cmp byte [0x1402728a7], 0
je 0x14009e73c
lea rcx, [rdi - 0x18]
lea r12, [rsi - 0x18]
cmp rcx, r12
je 0x14009e7af
cmp dword [r12 + 0x10], 0
jl 0x14009e723
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x14009e723
call fcn.1400049b0
mov rsi, rax
mov ecx, ebp
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009e706
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
jmp 0x14009e7af
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140005080
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x14009e7af
lea rcx, [rdx - 0x18]
lea r12, [rsi - 0x18]
cmp rcx, r12
je 0x14009e7af
cmp dword [r12 + 0x10], 0
jl 0x14009e798
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x14009e798
call fcn.1400049b0
mov rsi, rax
mov ecx, ebp
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009e77e
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
jmp 0x14009e7af
mov r8d, r9d
lea rcx, [rsp + 0x30]
call fcn.140005080
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
cmp byte [0x1402728a8], 0
je 0x14009e826
lea rcx, [rdi - 0x18]
lea r12, [rbx - 0x18]
cmp rcx, r12
je 0x14009e885
cmp dword [r12 + 0x10], 0
jl 0x14009e80e
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x14009e80e
call fcn.1400049b0
mov rbx, rax
mov ecx, ebp
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009e7fe
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 0x18
mov qword [rsp + 0x40], rbx
mov rsi, qword [rsp + 0x30]
jmp 0x14009e885
mov r8d, dword [r13]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140005080
mov rbx, qword [rsp + 0x40]
jmp 0x14009e885
lea rcx, [rdx - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14009e885
cmp dword [rdi + 0x10], 0
jl 0x14009e872
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14009e872
call fcn.1400049b0
mov rbx, rax
mov ecx, ebp
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009e862
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 0x18
mov qword [rsp + 0x40], rbx
mov rsi, qword [rsp + 0x30]
jmp 0x14009e885
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140005080
mov rbx, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x58]
lea r14d, [r12 + 0xe110]
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov r15, qword [rsp + 0x60]
mov rdx, qword [r15 + 0x3d8]
call fcn.14005ae50
mov rdi, rax
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov r8d, r14d
mov rdx, rdi
call fcn.140055b40
mov r13, rax
test rax, rax
jne 0x14009e91b
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov rdx, qword [r15 + 0x3d8]
call fcn.14005ae50
mov rdi, rax
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov r8d, r14d
mov rdx, rdi
call fcn.140055b10
mov r13, rax
test rax, rax
je 0x14009ec9e
inc r12d
cmp r12d, 0xa
jge 0x14009e93c
lea rcx, [r13 + 0x20]
mov r9, rsi
mov r8d, r12d
lea rdx, str._d__s
call fcn.140005d30
jmp 0x14009e971
mov eax, 0x66666667
imul r12d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
mov r9d, r12d
sub r9d, eax
lea rcx, [r13 + 0x20]
mov qword [rsp + 0x20], rsi
mov r8d, edx
lea rdx, str._d_d__s
call fcn.140005d30
call fcn.140008c24
xor esi, esi
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14009edec
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.140008c24
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14009ede1
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rcx, [0x140272710]
call fcn.14005e6a0
mov rdi, qword [rax]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8d, 0x7534
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [rdi + pe_nt_image_headers64]
test al, al
jne 0x14009ea17
xor eax, eax
mov rcx, rbp
lea rdi, str.Recent_file__d
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Recent_file__d
lea rcx, [rsp + 0x70]
call fcn.140005080
lea rcx, [0x140272710]
call fcn.14005e6a0
mov rdi, qword [rax]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8d, 0x7535
lea rdx, [rsp + 0x68]
mov rcx, rax
call qword [rdi + pe_nt_image_headers64]
test al, al
jne 0x14009ea6d
xor eax, eax
mov rcx, rbp
lea rdi, str.Recent_file__d____s__
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Recent_file__d____s__
lea rcx, [rsp + 0x68]
call fcn.140005080
lea rcx, [r13 + 0x28]
mov r8d, r12d
mov rdx, qword [rsp + 0x70]
call fcn.140005d30
mov r9, rbx
mov r8d, r12d
mov rdx, qword [rsp + 0x68]
lea rcx, [r13 + 0x30]
call fcn.140005d30
lea rcx, [r13 + 0x38]
lea rdx, [r13 + 0x30]
call fcn.140004ac0
mov edi, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x48]
lea r8d, [rdi + rbx]
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov edx, r14d
mov rcx, r15
call fcn.14007a8e0
test eax, eax
je 0x14009ed1d
mov esi, dword [rsp + 0x5c]
inc esi
mov dword [rsp + 0x5c], esi
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009eaf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009eb18
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009eb38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009eb58
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009eb78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ec3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14009ec3a
mov edi, dword [rsp + 0x58]
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ebbf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ebdf
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ebff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ec2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x48]
mov esi, dword [rsp + 0x5c]
jmp 0x14009ec3a
mov r15, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x48]
mov esi, dword [rsp + 0x5c]
inc edi
mov dword [rsp + 0x58], edi
mov rdi, qword [rsp + 0x78]
inc rdi
mov qword [rsp + 0x78], rdi
cmp rdi, qword [rsp + 0x80]
jge 0x14009edf7
mov r14, rdi
mov r15, qword [rsp + 0x90]
lea rsi, [0x1401dd700]
jmp 0x14009e066
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ecb9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ecd9
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ecf9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x38]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x14009ed16
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor al, al
jmp 0x14009ee84
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ed3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ed5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ed7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009ed9d
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, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009edbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x38]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x14009edda
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor al, al
jmp 0x14009ee84
mov ecx, 0x80004005
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
nop
test esi, esi
jle 0x14009ee74
lea r8d, [rsi + rbx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor edx, edx
mov rcx, r15
call fcn.14007a8e0
test eax, eax
jne 0x14009ee74
jmp 0x14009ee84
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
nop
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
int3
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x5c0]
mov al, 1
mov rcx, qword [rsp + 0x3e0]
xor rcx, rsp
call fcn.14002f990
mov rbx, qword [rsp + 0x440]
add rsp, 0x3f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret