Function at 0x40238d
Capabilities:
Get common file path

Disassembly:
jmp 0x406b9d
push ebp
lea ebp, [esp - 0xdd4]
sub esp, 0xe54
mov eax, dword [0x46c134]
xor eax, ebp
mov dword [ebp + 0xdd0], eax
mov eax, dword [ebp + 0xde0]
push ebx
push edi
mov edi, dword [ebp + 0xddc]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], eax
call fcn.00402dce
cmp eax, 1
jne 0x406be0
xor eax, eax
jmp 0x407049
push esi
xor esi, esi
cmp edi, esi
je 0x407043
cmp word [edi], si
je 0x407043
push str.desktop
push edi
call fcn.00424b86
pop ecx
pop ecx
test eax, eax
jne 0x406c24
call fcn.0040117c
push eax
push esi
push str.desktopshortcuts
push str.installinfo
call dword [0x4708c8]
test eax, eax
je 0x407038
xor eax, eax
mov ebx, 0x206
push ebx
mov word [ebp + 0x3a8], ax
lea eax, [ebp + 0x3aa]
push esi
push eax
call fcn.004246b0
xor eax, eax
push ebx
mov word [ebp + 0x1a0], ax
lea eax, [ebp + 0x1a2]
push esi
push eax
call fcn.004246b0
xor eax, eax
mov edi, 0x40e
push edi
mov word [ebp + 0x9c0], ax
lea eax, [ebp + 0x9c2]
push esi
push eax
call fcn.004246b0
xor eax, eax
push edi
mov word [ebp + 0x5b0], ax
lea eax, [ebp + 0x5b2]
push esi
push eax
call fcn.004246b0
mov ecx, dword [ebp - 0x7c]
add esp, 0x30
call fcn.00401785
mov edi, dword [0x470a40]
test eax, eax
push esi
lea eax, [ebp + 0x3a8]
je 0x406cf2
push esi
push eax
push esi
call edi
test eax, eax
je 0x40703c
push esi
push 2
lea eax, [ebp + 0x1a0]
push eax
push esi
call edi
test eax, eax
je 0x40703c
lea eax, [ebp + 0x3a8]
push 0x5c
push eax
call fcn.0042472a
xor ecx, ecx
mov word [eax + 2], cx
lea eax, [ebp + 0x3a8]
push str.All_UsersDesktop
push eax
call fcn.00424c19
add esp, 0x10
jmp 0x406d15
push 0x19
push eax
push esi
call edi
test eax, eax
je 0x40703c
push esi
push 0x17
lea eax, [ebp + 0x1a0]
push eax
push esi
call edi
test eax, eax
je 0x40703c
push str.desktop
push dword [ebp - 0x78]
call fcn.00424b86
pop ecx
test eax, eax
pop ecx
lea eax, [ebp + 0x3a8]
je 0x406d34
lea eax, [ebp + 0x1a0]
push eax
lea eax, [ebp + 0x9c0]
push eax
call fcn.00424c47
pop ecx
pop ecx
lea eax, [ebp + 0x9c0]
push eax
call fcn.00424686
cmp word [ebp + eax*2 + 0x9be], 0x5c
pop ecx
je 0x406d6e
lea eax, [ebp + 0x9c0]
push 0x45afcc
push eax
call fcn.00424c19
pop ecx
pop ecx
push 0x104
lea eax, [ebp + 0x5b0]
push eax
xor edi, edi
inc edi
push edi
push esi
push 2
call fcn.00401d57
test eax, eax
jne 0x40703c
push esi
call fcn.00402b5d
push edi
mov dword [ebp - 0x6c], eax
call fcn.00402b5d
push 2
mov dword [ebp - 0x74], eax
call fcn.00402b5d
add esp, 0xc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x6c], esi
jne 0x406dd1
mov eax, dword [ebp + 0xde4]
xor ecx, ecx
and al, 1
cmp al, 1
sete cl
mov dword [ebp - 0x6c], ecx
cmp ecx, esi
je 0x406dd1
push ecx
push esi
call fcn.00402950
pop ecx
pop ecx
cmp dword [ebp - 0x74], esi
jne 0x406df5
mov eax, dword [ebp + 0xde4]
xor ecx, ecx
and al, 2
cmp al, 2
sete cl
mov dword [ebp - 0x74], ecx
cmp ecx, esi
je 0x406df5
push ecx
push edi
call fcn.00402950
pop ecx
pop ecx
cmp dword [ebp - 0x70], esi
jne 0x406e1a
mov eax, dword [ebp + 0xde4]
xor ecx, ecx
and al, 4
cmp al, 4
sete cl
mov dword [ebp - 0x70], ecx
cmp ecx, esi
je 0x406e1a
push ecx
push 2
call fcn.00402950
pop ecx
pop ecx
lea eax, [ebp + 0x5b0]
push 0x45afcc
push eax
call fcn.00424c19
mov eax, dword [ebp - 0x80]
pop ecx
pop ecx
cmp eax, esi
je 0x406e4a
cmp word [eax], si
je 0x406e4a
push eax
lea eax, [ebp + 0x9c0]
push eax
call fcn.00424c19
pop ecx
pop ecx
jmp 0x406ebb
push str.startmenu
push dword [ebp - 0x78]
call fcn.00424b86
pop ecx
pop ecx
test eax, eax
jne 0x406ebb
call fcn.0040117c
mov edi, eax
cmp edi, esi
je 0x406eb8
push edi
call fcn.00424686
pop ecx
test eax, eax
jbe 0x406eb8
xor eax, eax
push ebx
mov word [ebp - 0x68], ax
lea eax, [ebp - 0x66]
push esi
push eax
call fcn.004246b0
add esp, 0xc
push edi
push 0x104
lea eax, [ebp - 0x68]
push eax
push 0x45af78
push str.startmenudir
push str.installinfo
call dword [0x4708cc]
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x9c0]
push eax
call fcn.00424c19
pop ecx
pop ecx
xor edi, edi
inc edi
mov ebx, dword [ebp - 0x7c]
cmp dword [ebp - 0x6c], esi
je 0x406edd
cmp dword [ebx], esi
je 0x406edd
push esi
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00401334
cmp dword [ebp - 0x74], esi
je 0x406efd
cmp dword [ebx + 4], esi
je 0x406efd
push edi
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00401334
cmp dword [ebp - 0x70], esi
je 0x406f1e
cmp dword [ebx + 8], esi
je 0x406f1e
push 2
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00401334
push str.startmenu
push dword [ebp - 0x78]
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
call fcn.00424b86
pop ecx
pop ecx
test eax, eax
jne 0x407038
call fcn.0040108c
test eax, eax
jne 0x406f5d
push 0xa
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00401334
push 3
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
push 9
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
push 5
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
push 0x100002e
call fcn.00401217
cmp eax, edi
jne 0x406fd0
call fcn.0040249b
test eax, eax
jne 0x406fd0
push 4
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
lea eax, [ebp + 0x5b0]
push 0x5c
push eax
call fcn.0042472a
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp + 0x5b0]
push 0x5c
push eax
call fcn.0042472a
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp + 0x5b0]
push 0x45aff0
push eax
call fcn.00424c19
add esp, 0x18
push 6
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
push 7
lea eax, [ebp + 0x9c0]
push eax
lea eax, [ebp + 0x5b0]
push eax
mov ecx, ebx
call fcn.00402761
xor eax, eax
jmp 0x407048
mov eax, 0x80004005
jmp 0x407048
mov eax, 0x80070057
pop esi
mov ecx, dword [ebp + 0xdd0]
pop edi
xor ecx, ebp
pop ebx
call fcn.004246a0
add ebp, 0xdd4
leave
ret 0xc