Function at 0x57cd60
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4b
push 0
push 0
dec ecx
jne 0x57cd69
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 0x57d1e4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
call fcn.00406edc
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 0x57cdc3
mov eax, ebx
lea edx, [ebp - 0x20a]
mov ecx, 0x105
call fcn.004070dc
mov eax, dword [ebx]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x57cdda
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jg case.0x57cdf6.27
add esi, 0xffffffe6
cmp esi, 0x11
ja case.0x57cdf6.27
movzx esi, byte [esi + 0x57cdfd]
jmp dword [esi*4 + 0x57ce0f]
lea edx, [ebp - 0x214]
mov eax, 0x57d200
call fcn.0047b4c0
mov eax, dword [ebp - 0x214]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x218]
call fcn.0047ad88
mov eax, dword [ebp - 0x218]
mov edx, ebx
call fcn.00471d98
mov eax, dword [0x67ce18]
cmp dword [eax], 5
jle 0x57cea6
push dword [ebx]
push 0x57d240
lea eax, [ebp - 0x21c]
call fcn.0057ccd8
push dword [ebp - 0x21c]
mov eax, ebx
mov edx, 3
call fcn.00407380
jmp case.0x57cdf6.27
push dword [ebx]
push 0x57d25c
lea eax, [ebp - 0x220]
call fcn.0057ccd8
push dword [ebp - 0x220]
mov eax, ebx
mov edx, 3
call fcn.00407380
jmp case.0x57cdf6.27
call fcn.0057cc0c
test al, al
je 0x57cef7
lea edx, [ebp - 0x224]
mov eax, 0x57d29c
call fcn.0047b4c0
mov eax, dword [ebp - 0x224]
mov edx, ebx
call fcn.004707ac
jmp 0x57cf14
lea edx, [ebp - 0x228]
mov eax, 0x57d2cc
call fcn.0047b4c0
mov eax, dword [ebp - 0x228]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x22c]
call fcn.0047ad88
mov eax, dword [ebp - 0x22c]
mov edx, ebx
call fcn.00471d98
call fcn.0057cc0c
test al, al
je 0x57cf59
mov eax, ebx
mov edx, 0x57d2f4
call fcn.00407230
jmp case.0x57cdf6.27
mov eax, ebx
mov edx, 0x57d32c
call fcn.00407230
jmp case.0x57cdf6.27
call fcn.0057cc0c
test al, al
je 0x57cf92
lea edx, [ebp - 0x230]
mov eax, 0x57d358
call fcn.0047b4c0
mov eax, dword [ebp - 0x230]
mov edx, ebx
call fcn.004707ac
jmp 0x57cfaf
lea edx, [ebp - 0x234]
mov eax, 0x57d394
call fcn.0047b4c0
mov eax, dword [ebp - 0x234]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x238]
call fcn.0047ad88
mov eax, dword [ebp - 0x238]
mov edx, ebx
call fcn.00471d98
call fcn.0057cc0c
test al, al
je 0x57cff4
mov eax, ebx
mov edx, 0x57d3c8
call fcn.00407230
jmp case.0x57cdf6.27
mov eax, ebx
mov edx, 0x57d418
call fcn.00407230
jmp case.0x57cdf6.27
lea edx, [ebp - 0x23c]
mov eax, 0x57d45c
call fcn.0047b4c0
mov eax, dword [ebp - 0x23c]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x240]
call fcn.0047ad88
mov eax, dword [ebp - 0x240]
mov edx, ebx
call fcn.00471d98
mov eax, dword [0x67ce18]
cmp dword [eax], 5
jle 0x57d085
push dword [ebx]
push 0x57d240
lea eax, [ebp - 0x244]
call fcn.0057ccd8
push dword [ebp - 0x244]
push 0x57d478
mov eax, ebx
mov edx, 4
call fcn.00407380
jmp case.0x57cdf6.27
push dword [ebx]
push 0x57d25c
lea eax, [ebp - 0x248]
call fcn.0057ccd8
push dword [ebp - 0x248]
push 0x57d4a8
mov eax, ebx
mov edx, 4
call fcn.00407380
jmp case.0x57cdf6.27
lea edx, [ebp - 0x24c]
mov eax, 0x57d4d8
call fcn.0047b4c0
mov eax, dword [ebp - 0x24c]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x250]
call fcn.0047ad88
mov eax, dword [ebp - 0x250]
mov edx, ebx
call fcn.00471d98
mov eax, dword [0x67ce18]
cmp dword [eax], 5
jle 0x57d133
push dword [ebx]
push 0x57d240
lea eax, [ebp - 0x254]
call fcn.0057ccd8
push dword [ebp - 0x254]
push 0x57d500
mov eax, ebx
mov edx, 4
call fcn.00407380
jmp case.0x57cdf6.27
push dword [ebx]
push 0x57d25c
lea eax, [ebp - 0x258]
call fcn.0057ccd8
push dword [ebp - 0x258]
push 0x57d52c
mov eax, ebx
mov edx, 4
call fcn.00407380
jmp case.0x57cdf6.27
lea edx, [ebp - 0x25c]
mov eax, 0x57d57c
call fcn.0047b4c0
mov eax, dword [ebp - 0x25c]
mov edx, ebx
call fcn.004707ac
cmp dword [ebx], 0
jne case.0x57cdf6.27
push 0x57d218
call sub.KERNEL32.DLL_GetModuleHandleW_2
lea edx, [ebp - 0x260]
call fcn.0047ad88
mov eax, dword [ebp - 0x260]
mov edx, ebx
call fcn.00471d98
mov eax, dword [0x67ce18]
cmp dword [eax], 5
jle 0x57d1ba
mov eax, ebx
mov edx, 0x57d5a0
call fcn.00407230
jmp case.0x57cdf6.27
mov eax, ebx
mov edx, 0x57d5c8
call fcn.00407230
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x57d1eb
lea eax, [ebp - 0x260]
mov edx, 0x14
call fcn.00406ed4
ret