Function at 0x4bbb80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4b
push 0
push 0
dec ecx
jne 0x4bbb89
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov esi, edx
mov edi, eax
xor eax, eax
push ebp
push 0x4bc004
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
call fcn.00406278
mov word [ebp - 0x20a], 0
push 0
push esi
lea eax, [ebp - 0x20a]
push eax
push edi
call sub.shell32.dll_SHGetSpecialFolderPathW
test eax, eax
je 0x4bbbe3
mov eax, ebx
lea edx, [ebp - 0x20a]
mov ecx, 0x105
call fcn.00406478
mov eax, dword [ebx]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4bbbfa
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jg case.0x4bbc16.27
add esi, 0xffffffe6
cmp esi, 0x11
ja case.0x4bbc16.27
movzx esi, byte [esi + 0x4bbc1d]
jmp dword [esi*4 + 0x4bbc2f]
lea edx, [ebp - 0x214]
mov eax, 0x4bc020
call fcn.00417004
mov eax, dword [ebp - 0x214]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x218]
call fcn.004168cc
mov eax, dword [ebp - 0x218]
mov edx, ebx
call fcn.0040dc20
mov eax, dword [0x5668d8]
cmp dword [eax], 5
jle 0x4bbcc6
push dword [ebx]
push 0x4bc060
lea eax, [ebp - 0x21c]
call fcn.004bb5b8
push dword [ebp - 0x21c]
mov eax, ebx
mov edx, 3
call fcn.00406830
jmp case.0x4bbc16.27
push dword [ebx]
push 0x4bc07c
lea eax, [ebp - 0x220]
call fcn.004bb5b8
push dword [ebp - 0x220]
mov eax, ebx
mov edx, 3
call fcn.00406830
jmp case.0x4bbc16.27
call fcn.004bdb80
test al, al
je 0x4bbd17
lea edx, [ebp - 0x224]
mov eax, 0x4bc0bc
call fcn.00417004
mov eax, dword [ebp - 0x224]
mov edx, ebx
call fcn.0040ca38
jmp 0x4bbd34
lea edx, [ebp - 0x228]
mov eax, 0x4bc0ec
call fcn.00417004
mov eax, dword [ebp - 0x228]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x22c]
call fcn.004168cc
mov eax, dword [ebp - 0x22c]
mov edx, ebx
call fcn.0040dc20
call fcn.004bdb80
test al, al
je 0x4bbd79
mov eax, ebx
mov edx, 0x4bc114
call fcn.0040668c
jmp case.0x4bbc16.27
mov eax, ebx
mov edx, 0x4bc14c
call fcn.0040668c
jmp case.0x4bbc16.27
call fcn.004bdb80
test al, al
je 0x4bbdb2
lea edx, [ebp - 0x230]
mov eax, 0x4bc178
call fcn.00417004
mov eax, dword [ebp - 0x230]
mov edx, ebx
call fcn.0040ca38
jmp 0x4bbdcf
lea edx, [ebp - 0x234]
mov eax, 0x4bc1b4
call fcn.00417004
mov eax, dword [ebp - 0x234]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x238]
call fcn.004168cc
mov eax, dword [ebp - 0x238]
mov edx, ebx
call fcn.0040dc20
call fcn.004bdb80
test al, al
je 0x4bbe14
mov eax, ebx
mov edx, 0x4bc1e8
call fcn.0040668c
jmp case.0x4bbc16.27
mov eax, ebx
mov edx, 0x4bc238
call fcn.0040668c
jmp case.0x4bbc16.27
lea edx, [ebp - 0x23c]
mov eax, 0x4bc27c
call fcn.00417004
mov eax, dword [ebp - 0x23c]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x240]
call fcn.004168cc
mov eax, dword [ebp - 0x240]
mov edx, ebx
call fcn.0040dc20
mov eax, dword [0x5668d8]
cmp dword [eax], 5
jle 0x4bbea5
push dword [ebx]
push 0x4bc060
lea eax, [ebp - 0x244]
call fcn.004bb5b8
push dword [ebp - 0x244]
push 0x4bc298
mov eax, ebx
mov edx, 4
call fcn.00406830
jmp case.0x4bbc16.27
push dword [ebx]
push 0x4bc07c
lea eax, [ebp - 0x248]
call fcn.004bb5b8
push dword [ebp - 0x248]
push 0x4bc2c8
mov eax, ebx
mov edx, 4
call fcn.00406830
jmp case.0x4bbc16.27
lea edx, [ebp - 0x24c]
mov eax, 0x4bc2f8
call fcn.00417004
mov eax, dword [ebp - 0x24c]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x250]
call fcn.004168cc
mov eax, dword [ebp - 0x250]
mov edx, ebx
call fcn.0040dc20
mov eax, dword [0x5668d8]
cmp dword [eax], 5
jle 0x4bbf53
push dword [ebx]
push 0x4bc060
lea eax, [ebp - 0x254]
call fcn.004bb5b8
push dword [ebp - 0x254]
push 0x4bc320
mov eax, ebx
mov edx, 4
call fcn.00406830
jmp case.0x4bbc16.27
push dword [ebx]
push 0x4bc07c
lea eax, [ebp - 0x258]
call fcn.004bb5b8
push dword [ebp - 0x258]
push 0x4bc34c
mov eax, ebx
mov edx, 4
call fcn.00406830
jmp case.0x4bbc16.27
lea edx, [ebp - 0x25c]
mov eax, 0x4bc39c
call fcn.00417004
mov eax, dword [ebp - 0x25c]
mov edx, ebx
call fcn.0040ca38
cmp dword [ebx], 0
jne case.0x4bbc16.27
push 0x4bc038
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x260]
call fcn.004168cc
mov eax, dword [ebp - 0x260]
mov edx, ebx
call fcn.0040dc20
mov eax, dword [0x5668d8]
cmp dword [eax], 5
jle 0x4bbfda
mov eax, ebx
mov edx, 0x4bc3c0
call fcn.0040668c
jmp case.0x4bbc16.27
mov eax, ebx
mov edx, 0x4bc3e8
call fcn.0040668c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bc00b
lea eax, [ebp - 0x260]
mov edx, 0x14
call fcn.00406270
ret