Function at 0x482b73
Capabilities:
Get common file path

Disassembly:
mov eax, 0x5991eb
call fcn.00595790
sub esp, 0x210
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x482c4e
and word [ebp - 0x21c], 0
push ebx
push edi
push 0x208
lea eax, [ebp - 0x21a]
push 0
push eax
call fcn.0049c520
add esp, 0xc
mov ebx, str._ALLUSERSPROFILE_
push ebx
xor ecx, ecx
call fcn.00401336
or edi, 0xffffffff
cmp eax, edi
jne 0x482bea
mov ebx, str._APPDATA_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
jne 0x482bea
mov ebx, str._TEMP_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482bfa
lea eax, [ebp - 0x21c]
push eax
push ebx
call fcn.004831ca
pop ecx
jmp 0x482c78
mov ebx, str._SYSTEM_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482c1f
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x482c42
mov ebx, str._WINDOWS_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482c5b
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
ja 0x482cf2
xor eax, eax
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
leave
ret
mov ebx, str._CUR_MODULE_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482c7f
lea eax, [ebp - 0x21c]
push eax
call fcn.00483123
test eax, eax
pop ecx
je 0x482c4a
jmp 0x482cf2
mov ebx, str._CUR_EXE_MODULE_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482caa
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x482c4a
jmp 0x482ce5
mov ebx, str._CUR_DIR_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482d02
push 0x20a
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.0049c520
add esp, 0xc
push 0x105
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x21c]
push eax
push ebx
push esi
call fcn.0047dfe6
jmp 0x482d72
mov ebx, str._DUBA_
push ebx
xor ecx, ecx
call fcn.00401336
cmp eax, edi
je 0x482c4a
call fcn.0044fa8a
test eax, eax
je 0x482c4a
lea eax, [ebp + 8]
push eax
call fcn.0044fb1f
pop ecx
and dword [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00480755
push dword [ebp + 8]
push ebx
push esi
call fcn.0047dfe6
lea eax, [ebp + 8]
push eax
push esi
call fcn.00482e10
test eax, eax
pop ecx
pop ecx
jne 0x482d64
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
jmp 0x482c4a
mov dword [ebp - 4], edi
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
push 0x3f
xor ecx, ecx
call fcn.0043244e
mov ebx, eax
cmp ebx, edi
je 0x482df6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004a0a64
pop ecx
jmp 0x482de7
and word [ebp - 0x10], 0
xor eax, eax
lea edi, [ebp - 0xe]
stosw word es:[edi], ax
call fcn.004a0a71
and eax, 0x8000000f
jns 0x482dad
dec eax
or eax, 0xfffffff0
inc eax
push eax
lea eax, [ebp - 0x10]
push 0x5f0d28
push eax
call fcn.004849ba
movzx edi, word [ebp - 0x10]
add esp, 0xc
test ebx, ebx
jl 0x482e05
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
cmp ebx, eax
mov dword [ebp + 8], eax
jge 0x482e05
call fcn.0044fea0
mov word [eax + ebx*2], di
mov eax, dword [ebp + 8]
mov edx, esi
call fcn.004011d8
inc ebx
mov ecx, ebx
mov eax, esi
call fcn.00484a0c
cmp ax, 0x3f
je 0x482d90
mov eax, esi
call fcn.00481c9f
xor eax, eax
inc eax
jmp 0x482c4c
push 0x80070057
call fcn.0040131e
int3