Function at 0x10128f3e
Capabilities:
Get common file path

Disassembly:
push 0x254
mov eax, 0x1017e149
call fcn.1012b6ae
mov dword [ebp - 0x22c], ecx
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.1012db70
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push dword [ebp - 0x218]
call fcn.10137631
mov word [ebp - 0x218], ax
xor eax, eax
pop ecx
mov word [ebp - 0x214], ax
call fcn.10007945
push eax
lea ecx, [ebp - 0x230]
call fcn.10008bfd
mov dword [ebp - 4], 1
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x230]
push str.SELECT__FROM_Win32_EncryptableVolume_WHERE_DriveLetter____s_
push eax
call fcn.10014838
add esp, 0xc
mov dword [ebp - 0x21c], ebx
push 3
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x228]
mov esi, dword [ebp - 0x230]
push esi
call fcn.100c45fc
mov edi, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x234]
push 0x101b1e28
call fcn.1012811d
mov byte [ebp - 4], 5
mov edi, dword [edi]
test edi, edi
je 0x1012900d
mov edi, dword [edi]
jmp 0x1012900f
mov edi, ebx
mov eax, dword [eax]
test eax, eax
je 0x10129019
mov edx, dword [eax]
jmp 0x1012901b
mov edx, ebx
mov eax, dword [ebp - 0x22c]
lea esi, [ebp - 0x21c]
push esi
push ebx
push 0x30
mov eax, dword [eax + 8]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edi, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x230]
test ecx, ecx
je 0x10129057
call fcn.100cae31
mov dword [ebp - 0x234], ebx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x228]
test ecx, ecx
je 0x10129070
call fcn.100cae31
mov dword [ebp - 0x228], ebx
test edi, edi
jne 0x101293b8
cmp dword [ebp - 0x21c], edi
je 0x101293b8
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x220], ebx
mov byte [ebp - 4], 9
lea edx, [ebp - 0x238]
mov eax, dword [ebp - 0x21c]
push edx
lea edx, [ebp - 0x220]
push edx
mov ecx, dword [eax]
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x1012938c
cmp dword [ebp - 0x220], edi
je 0x1012938c
cmp dword [ebp - 0x238], 1
jne 0x1012938c
push 0x10
lea eax, [ebp - 0x248]
push ebx
push eax
call fcn.1012db70
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x25c]
mov eax, dword [ebp - 0x220]
push edx
lea edx, [ebp - 0x260]
push edx
mov ecx, dword [eax]
lea edx, [ebp - 0x248]
push edx
push ebx
push 0x101b1e2c
push eax
call dword [ecx + 0x10]
test eax, eax
je 0x1012915f
mov byte [ebp - 4], 9
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x10129146
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x1012915a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x101293cc
mov dword [ebp - 0x224], ebx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x228]
push str.GetConversionStatus
call fcn.100c45fc
mov byte [ebp - 4], 0x13
mov eax, dword [eax]
test eax, eax
je 0x10129187
mov edx, dword [eax]
jmp 0x10129189
mov edx, ebx
mov eax, dword [ebp - 0x22c]
lea edi, [ebp - 0x224]
push ebx
push edi
push ebx
mov eax, dword [eax + 8]
push ebx
push ebx
push edx
push dword [ebp - 0x240]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
mov edi, eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x228]
test ecx, ecx
je 0x101291c5
call fcn.100cae31
mov dword [ebp - 0x228], ebx
test edi, edi
jne 0x1012933b
cmp dword [ebp - 0x224], edi
je 0x1012933b
push 0x10
lea eax, [ebp - 0x258]
push ebx
push eax
call fcn.1012db70
add esp, 0xc
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x22c]
mov edi, dword [ebp - 0x224]
push str.ConversionStatus
call fcn.100c45fc
mov byte [ebp - 4], 0x19
mov ecx, dword [eax]
test ecx, ecx
je 0x10129220
mov ecx, dword [ecx]
jmp 0x10129222
mov ecx, ebx
mov eax, dword [edi]
lea edx, [ebp - 0x258]
push ebx
push ebx
push edx
push ebx
push ecx
push edi
call dword [eax + 0x10]
mov edi, eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x1012924e
call fcn.100cae31
mov dword [ebp - 0x22c], ebx
test edi, edi
je 0x101292b3
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x258]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x10129279
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x248]
push eax
call edi
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x1012929a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x101292ae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x101293cc
push 3
pop eax
cmp word [ebp - 0x258], ax
jne 0x101292ca
cmp dword [ebp - 0x250], 0
je 0x101292ca
mov bl, 1
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x258]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x101292f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x248]
push eax
call edi
push 3
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x10129314
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
test ecx, ecx
je 0x10129328
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.100078bc
mov al, bl
jmp 0x101293da
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x1012934f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 3
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x10129376
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x1012938a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x101293cc
push 3
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x101293a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x101293b6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x101293cc
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x101293cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.100078bc
xor al, al
call fcn.1012b658
ret