Function at 0x48a57c
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x460
mov eax, dword [0x56afe8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x20c]
mov ebx, ecx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x20c]
mov esi, 0x104
push esi
push eax
push dword [0x577c88]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x53d634
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x444]
call fcn.004108e3
lea eax, [ebp - 0x444]
push 0x5739d0
push eax
call fcn.004a0ce4
pop ecx
pop ecx
lea ecx, [ebp - 0x444]
mov dword [ebx + 0x64], eax
call fcn.00410d88
push str.GetDisks
push dword [ebx + 0x64]
lea eax, [ebp - 0x460]
push eax
call fcn.004899fd
add esp, 0xc
lea eax, [ebp - 0x414]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x527fb4
lea ecx, [ebp - 0x450]
call fcn.00402af5
push 0x53d668
lea ecx, [ebp - 0x448]
call fcn.00402af5
mov edi, dword [ebp - 0x460]
mov eax, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x450]
cmp edi, eax
je 0x48a81a
and dword [ebp - 0x41c], 0
lea eax, [edi + 0x1c]
and dword [ebp - 0x418], 0
lea ecx, [ebp - 0x42c]
push eax
call fcn.0041992a
and dword [ebp - 0x434], 0
lea ecx, [ebp - 0x444]
and dword [ebp - 0x430], 0
push edi
call fcn.0041992a
push 0x527fb4
push esi
call sub.msvcrt.dll_wcscmp
pop ecx
pop ecx
test eax, eax
jne 0x48a6fd
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
jb 0x48a6c4
mov eax, dword [ebp - 0x42c]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x48a6fd
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
jb 0x48a6eb
mov eax, dword [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x450]
call fcn.00404527
mov esi, dword [ebp - 0x450]
call fcn.00403a64
push eax
lea ecx, [ebp - 0x454]
call fcn.00402a6b
cmp dword [ebp - 0x418], 8
lea ecx, [ebp - 0x42c]
jb 0x48a723
mov ecx, dword [ebp - 0x42c]
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
jb 0x48a738
mov eax, dword [ebp - 0x444]
push ecx
push eax
lea eax, [ebp - 0x454]
push 0x53d674
push eax
call fcn.00415254
add esp, 0x10
lea eax, [ebp - 0x42c]
cmp dword [ebp - 0x418], 8
jb 0x48a763
mov eax, dword [ebp - 0x42c]
push eax
mov ecx, ebx
call fcn.0048a900
push dword [ebp - 0x454]
push 0
push 0x143
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
jb 0x48a796
mov eax, dword [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x44c]
call fcn.00402af5
lea ecx, [ebp - 0x448]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00402d75
mov ecx, dword [ebp - 0x44c]
lea ecx, [ecx - 0x10]
call fcn.004042e9
push 0x53d684
call sub.msvcrt.dll_wcslen
pop ecx
push eax
push 0x53d684
lea ecx, [ebp - 0x448]
call fcn.00402d75
mov ecx, dword [ebp - 0x454]
lea ecx, [ecx - 0x10]
call fcn.004042e9
lea ecx, [ebp - 0x444]
call fcn.00410d88
lea ecx, [ebp - 0x42c]
call fcn.00410d88
push 0x34
pop eax
add edi, eax
mov eax, dword [ebp - 0x45c]
cmp edi, eax
jne 0x48a667
mov edi, dword [ebp - 0x460]
sub eax, edi
push 0x34
cdq
pop ecx
idiv ecx
cmp eax, 1
jbe 0x48a8a5
push esi
mov ecx, ebx
call fcn.0048a900
mov eax, dword [ebp - 0x448]
lea ecx, [ebp - 0x448]
xor edi, edi
mov eax, dword [eax - 0xc]
dec eax
push eax
push edi
lea eax, [ebp - 0x44c]
push eax
call fcn.004216b7
push eax
lea ecx, [ebp - 0x448]
call fcn.00402bd6
mov ecx, dword [ebp - 0x44c]
lea ecx, [ecx - 0x10]
call fcn.004042e9
push 0x53d688
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.00413428
add esp, 0xc
push dword [eax]
push edi
push 0x143
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x44c]
lea ecx, [ecx - 0x10]
call fcn.004042e9
jmp 0x48a8a7
xor edi, edi
push edi
push edi
push 0x146
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
dec eax
push eax
push 0x14e
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x448]
lea eax, [ebx + 0x60]
add ecx, 0xfffffff0
mov dword [ebx + 0x5c], eax
call fcn.004042e9
lea ecx, [esi - 0x10]
call fcn.004042e9
lea ecx, [ebp - 0x460]
call fcn.0048afce
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00522d04
leave
ret