Function at 0x100af73
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x1011248]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [ebp - 0x460]
push eax
push 0x100343c
push 3
xor ebx, ebx
push ebx
push 0x1002ef4
mov dword [ebp - 0x460], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x100b218
cmp dword [ebp - 0x460], ebx
je 0x100b218
push ebx
call fcn.0100ccf2
push esi
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x464], ebx
call fcn.01007a20
mov eax, dword [ebp - 0x458]
mov edi, 0x1fe
mov esi, 0x100
cmp dword [eax - 0xc], ebx
jne 0x100b0ea
cmp dword [ebp - 0x45c], ebx
jne 0x100b19e
xor eax, eax
push 0x1ea
mov word [ebp - 0x1f0], ax
lea eax, [ebp - 0x1ee]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1f0]
push eax
push 0xf6
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x458]
call fcn.01006e1c
xor eax, eax
push edi
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x204]
push eax
push 0x6d
push dword [0x1011360]
call dword [sym.imp.USER32.dll_LoadStringW]
xor eax, eax
push edi
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x402]
push ebx
push eax
call sub.msvcrt.dll_memset
mov edi, dword [ebp - 0x458]
push edi
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x404]
push esi
push eax
call fcn.01007748
add esp, 0x1c
push 0x101133c
lea ecx, [ebp - 0x45c]
call fcn.010047db
push 0x64
push dword [0x1011360]
lea ecx, [ebp - 0x45c]
call fcn.010068e7
call fcn.0100b610
mov esi, dword [ebp - 0x45c]
push eax
push esi
lea eax, [ebp - 0x404]
push eax
jmp 0x100b272
push 0x104
lea ecx, [ebp - 0x458]
call fcn.01006309
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
test eax, eax
je 0x100b118
push dword [ebp - 0x458]
call fcn.0100ccf2
mov dword [ebp - 0x464], eax
jmp 0x100b179
xor eax, eax
push edi
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x100b179
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
test eax, eax
je 0x100b179
lea eax, [ebp - 0x204]
push eax
call fcn.0100ccf2
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x458]
call fcn.01006e1c
push 0xffffffffffffffff
lea ecx, [ebp - 0x458]
call fcn.010089a9
cmp dword [ebp - 0x464], ebx
je 0x100b049
cmp dword [ebp - 0x45c], ebx
je 0x100b049
call dword [sym.imp.WINMM.dll_waveInGetNumDevs]
test eax, eax
jbe 0x100b208
xor eax, eax
push 0x4e
mov word [ebp - 0x454], ax
lea eax, [ebp - 0x452]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x50
lea eax, [ebp - 0x454]
push eax
push ebx
call dword [sym.imp.WINMM.dll_waveInGetDevCapsW]
test eax, eax
jne 0x100b208
test dword [ebp - 0x40c], 0x800
je 0x100b208
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
call fcn.0100445c
mov eax, dword [ebp - 0x460]
cmp eax, ebx
je 0x100b201
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x100b29e
call fcn.0100a33b
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
jmp 0x100b284
mov esi, 0x101133c
push esi
lea ecx, [ebp - 0x464]
call fcn.010047db
push 0xd7
push dword [0x1011360]
lea ecx, [ebp - 0x464]
call fcn.010068e7
push esi
lea ecx, [ebp - 0x45c]
call fcn.010047db
push 0x64
push dword [0x1011360]
lea ecx, [ebp - 0x45c]
call fcn.010068e7
call fcn.0100b610
mov esi, dword [ebp - 0x45c]
mov edi, dword [ebp - 0x464]
push eax
push esi
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.0100445c
lea ecx, [edi - 0x10]
call fcn.0100445c
mov eax, dword [ebp - 0x460]
cmp eax, ebx
je 0x100b299
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100e7c7
leave
ret 4