Function at 0x4bc324
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x109
push 0
push 0
dec ecx
jne 0x4bc32d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405f48
mov eax, dword [ebp - 8]
call fcn.00405f48
mov eax, dword [ebp - 0xc]
call fcn.00405f48
xor eax, eax
push ebp
push 0x4bc69a
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x830]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004b916c
mov eax, dword [ebp - 0x830]
mov edx, 0x4bc6b4
call fcn.00406594
je 0x4bc39c
lea eax, [ebp - 4]
mov edx, 0x4bc6b4
call fcn.0040629c
call fcn.0040f368
fstp qword [ebp - 0x28]
wait
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x18]
mov edx, 0x4bc6c4
call fcn.00410028
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x18]
call fcn.00405fb4
xor ebx, ebx
mov eax, dword [ebp - 8]
push eax
push 1
mov eax, dword [ebp - 0xc]
push eax
push ebx
mov ecx, 0x4bc6f0
mov edx, Ordinal_2
xor eax, eax
call fcn.004bcfcc
lea eax, [ebp - 0x834]
mov ecx, 0x4bc734
mov edx, dword [ebp - 8]
call fcn.0040631c
mov eax, dword [ebp - 0x834]
push eax
push 1
mov eax, dword [ebp - 0x10]
push eax
push ebx
mov ecx, 0x4bc6f0
mov edx, Ordinal_2
xor eax, eax
call fcn.004bcfcc
xor eax, eax
push ebp
push 0x4bc495
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x838]
mov ecx, 0x4bc74c
mov edx, dword [ebp - 4]
call fcn.0040631c
mov ecx, dword [ebp - 0x838]
mov dl, 1
mov eax, dword [0x42d1ac]
call fcn.0042d270
mov ebx, eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov edx, 0x4bc770
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x83c]
mov ecx, 0x4bc734
mov edx, dword [ebp - 8]
call fcn.0040631c
mov ecx, dword [ebp - 0x83c]
mov edx, 0x4bc770
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 4]
mov eax, ebx
call fcn.0040428c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bc49f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4bc4b7
lea edx, [ebp - 0x14]
mov eax, 0x4bc78c
call fcn.00414640
cmp dword [ebp - 0x1c], 1
jne 0x4bc4e2
push 0
push 0x23
lea eax, [ebp - 0x82a]
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathW
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x82a]
mov ecx, 0x401
call fcn.00406148
lea ecx, [ebp - 0x840]
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.004b916c
mov eax, dword [ebp - 0x840]
mov edx, 0x4bc6b4
call fcn.00406594
jne 0x4bc55f
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4bc524
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x4bc524
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x14]
call fcn.004056d0
mov ebx, eax
test ebx, ebx
je 0x4bc52f
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x848]
mov edx, dword [ebp - 0x14]
call fcn.004061c4
mov eax, dword [ebp - 0x848]
lea ecx, [ebp - 0x844]
mov edx, ebx
dec edx
call fcn.0040a33c
mov edx, dword [ebp - 0x844]
lea eax, [ebp - 0x14]
call fcn.004061b0
mov eax, dword [ebp - 0x14]
call fcn.0040cd8c
test al, al
je 0x4bc642
lea eax, [ebp - 0x14]
mov edx, 0x4bc7b8
call fcn.0040629c
xor eax, eax
push ebp
push 0x4bc59c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
call fcn.0040cdb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bc5a6
mov eax, dword [ebp - 0x14]
call fcn.0040cd8c
test al, al
je 0x4bc642
xor eax, eax
push ebp
push 0x4bc638
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x84c]
mov ecx, 0x4bc7d4
mov edx, dword [ebp - 0x14]
call fcn.0040631c
mov ecx, dword [ebp - 0x84c]
mov dl, 1
mov eax, dword [0x42d1ac]
call fcn.0042d270
mov ebx, eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov edx, 0x4bc770
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x850]
mov ecx, 0x4bc734
mov edx, dword [ebp - 8]
call fcn.0040631c
mov ecx, dword [ebp - 0x850]
mov edx, 0x4bc770
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 4]
mov eax, ebx
call fcn.0040428c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bc642
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jne 0x4bc4a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bc6a1
lea eax, [ebp - 0x850]
mov edx, 2
call fcn.00405f58
lea eax, [ebp - 0x848]
mov edx, 2
call fcn.00405b18
lea eax, [ebp - 0x840]
mov edx, 5
call fcn.00405f58
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00405f58
ret