Function at 0x14008bed0
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b8
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x1401787a0]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r12, r9
mov r13, r8
mov rdi, rdx
mov r15, rcx
mov r14, qword [rsp + 0x220]
lea rcx, [rsp + 0x40]
call fcn.140002bb0
nop
mov rax, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
xor esi, esi
cmp dword [rax - 0x10], esi
jne 0x14008bf7f
mov r9, r14
mov r8, r12
mov rdx, r13
mov rcx, qword [r15 + 8]
call fcn.14008dfd0
test eax, eax
jne 0x14008c290
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName___return_FALSE__1__kGetIniFileName_returned_FALSE._n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
or rbx, rbx
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008bf78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
call fcn.140097090
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14008bf9e
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x68]
lea r8, str.IniFileName
lea rdx, [0x140133050]
mov rcx, rdi
call fcn.140063300
test eax, eax
jne 0x14008bff6
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
lea rcx, str.__CCommonFunction::kStdAfxGetPrivateProfile_return_FALSE._n
call fcn.140062f80
mov rdx, rdi
lea rcx, str.__pszDSCFilePath_s_n
call fcn.140062f80
mov rax, qword [rsp + 0x68]
cmp dword [rax - 0x10], 0
je 0x14008c271
call fcn.140097090
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14008c024
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x70], rsi
lea r8, [rsp + 0x70]
lea rdx, str._:
mov rcx, qword [rsp + 0x68]
call fcn.1400c7344
mov rdx, rax
test rax, rax
je 0x14008c0f1
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.1400017b0
lea rcx, [rsp + 0x30]
call fcn.140010940
lea rcx, [rsp + 0x30]
call fcn.140010890
mov rdi, qword [rsp + 0x30]
lea rcx, [rdi - 0x18]
mov rbp, qword [r13]
sub rbp, 0x18
cmp rcx, rbp
je 0x14008c0f1
cmp dword [rbp + 0x10], 0
jl 0x14008c0e2
mov rax, qword [rbp]
cmp qword [rcx], rax
jne 0x14008c0e2
call fcn.140001a90
mov rdi, rax
mov ecx, ebx
lock xadd dword [rbp + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14008c0d3
mov rcx, qword [rbp]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r13], rax
mov rdi, qword [rsp + 0x30]
jmp 0x14008c0f1
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
mov rcx, r13
call fcn.1400017b0
lea r8, [rsp + 0x70]
lea rdx, str._:
xor ecx, ecx
call fcn.1400c7344
mov rdx, rax
test rax, rax
je 0x14008c1a4
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.1400017b0
lea rcx, [rsp + 0x30]
call fcn.140010940
lea rcx, [rsp + 0x30]
call fcn.140010890
mov rdi, qword [rsp + 0x30]
lea rcx, [rdi - 0x18]
mov rbp, qword [r12]
sub rbp, 0x18
cmp rcx, rbp
je 0x14008c1a4
cmp dword [rbp + 0x10], 0
jl 0x14008c195
mov rax, qword [rbp]
cmp qword [rcx], rax
jne 0x14008c195
call fcn.140001a90
mov rdi, rax
mov ecx, ebx
lock xadd dword [rbp + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14008c186
mov rcx, qword [rbp]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r12], rax
mov rdi, qword [rsp + 0x30]
jmp 0x14008c1a4
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
mov rcx, r12
call fcn.1400017b0
lea r8, [rsp + 0x70]
lea rdx, str._:
xor ecx, ecx
call fcn.1400c7344
mov rdx, rax
test rax, rax
je 0x14008c256
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.1400017b0
lea rcx, [rsp + 0x30]
call fcn.140010940
lea rcx, [rsp + 0x30]
call fcn.140010890
mov rdi, qword [rsp + 0x30]
lea rcx, [rdi - 0x18]
mov rbp, qword [r14]
sub rbp, 0x18
cmp rcx, rbp
je 0x14008c256
cmp dword [rbp + 0x10], 0
jl 0x14008c246
mov rax, qword [rbp]
cmp qword [rcx], rax
jne 0x14008c246
call fcn.140001a90
mov rdi, rax
mov ecx, ebx
lock xadd dword [rbp + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14008c238
mov rcx, qword [rbp]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r14], rax
mov rdi, qword [rsp + 0x30]
jmp 0x14008c256
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.1400017b0
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c271
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c290
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140097090
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14008c2af
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
call fcn.140097090
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14008c2e0
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, [0x140133f3c]
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c31d
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400651a0
jmp 0x14008ca08
lea rdx, [0x140133f38]
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c50c
call fcn.140097090
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x14008c353
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.140064b60
test eax, eax
jne 0x14008c411
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
lea rcx, str.__CCommonFunction::kStdAfxGetSystemDirectory_return_FALSE._n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c3ad
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c3cd
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c3ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c40a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov r8, qword [rsp + 0x50]
cmp dword [r8 - 0x10], 0x104
jb 0x14008c4d1
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
mov rdx, qword [rsp + 0x50]
mov edx, dword [rdx - 0x10]
inc edx
mov r8d, 0x104
lea rcx, str.__Buffer_size_be_lack._need__d__expect__d__n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c46d
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c48d
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c4ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c4ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400c8668
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008ca08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14008ca08
lea rdx, str.66000
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c54c
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x90]
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
jmp 0x14008ca08
lea rdx, str.66001
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c58c
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x90]
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryA
jmp 0x14008ca08
lea rdx, str.root
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c7be
call fcn.140097090
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x14008c5c2
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.140064b60
test eax, eax
jne 0x14008c680
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
lea rcx, str.__CCommonFunction::kStdAfxGetSystemDirectory_return_FALSE._n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c61c
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c63c
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c65c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c679
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov r8, qword [rsp + 0x60]
cmp dword [r8 - 0x10], 0x104
jb 0x14008c740
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx - 0x10]
inc edx
mov r8d, 0x104
lea rcx, str.__Buffer_size_be_lack._need__d__expect__d__n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c6dc
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c6fc
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c71c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c739
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400c8668
lea r8, [rsp + 0x48]
mov edx, 2
lea rcx, [rsp + 0x90]
call fcn.140063d60
lea r9, [rsp + 0x38]
mov r8, qword [r14]
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.140088370
mov r8, qword [rsp + 0x38]
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400c8668
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008ca08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14008ca08
lea rdx, str.temp
mov rcx, qword [r12]
call fcn.1400c772c
test eax, eax
jne 0x14008c819
lea rdx, [rsp + 0x90]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r9, [rsp + 0x38]
mov r8, qword [r14]
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.140088370
mov r8, qword [rsp + 0x38]
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400c8668
jmp 0x14008ca08
call fcn.140075480
test eax, eax
jne 0x14008c9f6
call fcn.140097090
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x14008c844
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.140064b60
test eax, eax
jne 0x14008c902
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
lea rcx, str.__CCommonFunction::kStdAfxGetSystemDirectory_return_FALSE._n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c89e
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c8be
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c8de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c8fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov r8, qword [rsp + 0x58]
cmp dword [r8 - 0x10], 0x104
jb 0x14008c9c2
lea rcx, str.CCandidateDriverInfomation::kGetIniFileName_n
call fcn.140062f80
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx - 0x10]
inc edx
mov r8d, 0x104
lea rcx, str.__Buffer_size_be_lack._need__d__expect__d__n
call fcn.140062f80
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c95e
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c97e
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008c99e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008c9bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14008ca91
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400c8668
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008ca08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14008ca08
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.1400651a0
xor eax, eax
mov rcx, rbx
lea rdi, [rsp + 0x90]
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x90]
mov rcx, r12
call fcn.1400017b0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008ca4f
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, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008ca6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14008ca8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1400c6ac0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret