Function at 0x410aa9
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x601ff0]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0xc], esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], edi
cmp eax, 0x113
jne 0x410c12
mov ecx, 0x10f7
cmp edi, ecx
jne 0x410b2a
push ecx
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
call fcn.00412012
push 0x3ea
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
xor ebx, ebx
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
push 0x3e8
push 0x21
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
jmp 0x410f13
cmp edi, 0x21
jne 0x410eeb
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
xor ebx, ebx
lea eax, [esp + 0x28]
push eax
push ebx
push ebx
push 0x2e
push ebx
mov byte [esp + 0x3c], bl
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push 0x5db458
mov esi, 0x104
lea eax, [esp + 0x2c]
push esi
push eax
call fcn.0057c7e2
add esp, 0xc
lea eax, [esp + 0x28]
push 0x5db464
push esi
push eax
call fcn.0057c7e2
add esp, 0xc
lea eax, [esp + 0x28]
push str.Custom
push esi
push eax
call fcn.0057c7e2
add esp, 0xc
lea eax, [esp + 0x28]
push str.Custom.sfx
push esi
push eax
call fcn.0057c7e2
pop ecx
pop ecx
lea eax, [esp + 0x2c]
mov edx, str.ShadowSet
push str.Sfx.ini
push eax
mov ecx, 0x5db498
call fcn.0040e371
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0xc
push str.DWM_Notification_Window
push 0x5db4bc
call edi
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x410bf7
push 0x9c4
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.DWM_Notification_Window
push 0x5db4bc
call edi
mov esi, eax
test esi, esi
je 0x410b23
push ebx
push ebx
push 0x31a
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x410b23
cmp eax, 0x110
jne 0x410ea2
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3ea
push dword [esi + 0x20]
call ebx
push 0x401
push dword [esi + 0x20]
call ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
push 1
push dword [0x61db40]
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x402
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x403
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x404
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x405
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db60]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x409
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x408
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
push 1
push str.GREY
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call dword [sym.imp.USER32.dll_SetPropA]
mov eax, dword [esp + 0x10]
push 0x40a
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [0x61db34]
mov esi, eax
push 0x30
push esi
call ebx
mov ebx, dword [sym.imp.USER32.dll_SetPropA]
push 1
push str.GREY
push esi
call ebx
mov ecx, esi
call fcn.00426ec0
push 0x428bf4
push 0xfffffffffffffffc
push esi
call edi
push eax
push 0x5d8a0c
push esi
call ebx
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp eax, 0x14
jne 0x410ecf
lea eax, [esp + 0x18]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_FillRect]
xor eax, eax
inc eax
jmp 0x410f13
cmp eax, 0x136
je 0x410ef9
cmp eax, 0x138
je 0x410ef9
cmp eax, 0x134
je 0x410ef9
cmp eax, 0x133
je 0x410ef9
push dword [ebp + 0x10]
mov ecx, esi
push edi
push eax
call fcn.0043542c
jmp 0x410f13
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
xor ebx, ebx
push ebx
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00570fd6
mov esp, ebp
pop ebp
ret 0xc