Function at 0x408dfe
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x530
mov dword [ebp - 0x528], 0
push 0x104
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov ecx, dword [ebp + 0x10]
and ecx, 0xff
test ecx, ecx
jne 0x408e46
push 0x41bf58
lea edx, [ebp - 0x418]
push edx
call fcn.0040dc80
add esp, 8
jmp 0x408e5a
push 0x41bf70
lea eax, [ebp - 0x418]
push eax
call fcn.0040dc80
add esp, 8
cmp dword [0x420a88], 0
je 0x408e98
cmp dword [ebp + 0xc], 0xffffffff
jne 0x408e98
push 1
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x418]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
push 2
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040652e
add esp, 0x2c
mov dword [ebp + 0xc], eax
push 0x41bf7c
lea edx, [ebp - 0x418]
push edx
call fcn.0040eb35
add esp, 8
mov dword [ebp - 0x524], eax
cmp dword [ebp - 0x524], 0
jne 0x408ec3
mov eax, dword [ebp + 0xc]
jmp 0x409159
mov eax, dword [ebp - 0x524]
push eax
push 0x104
lea ecx, [ebp - 0x208]
push ecx
call fcn.0040edc0
add esp, 0xc
test eax, eax
je 0x409147
movsx edx, byte [ebp - 0x208]
cmp edx, 0x5b
jne 0x408f18
push 9
push 0x41bf80
lea eax, [ebp - 0x208]
push eax
call fcn.004168c0
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x528], eax
jmp 0x409142
cmp dword [ebp - 0x528], 0
je 0x409142
push 5
push 0x41bf8c
lea ecx, [ebp - 0x208]
push ecx
call fcn.004168c0
add esp, 0xc
test eax, eax
jne 0x408f4d
lea edx, [ebp - 0x203]
mov dword [ebp - 0x52c], edx
jmp 0x408f7f
push 4
push 0x41bf94
lea eax, [ebp - 0x208]
push eax
call fcn.004168c0
add esp, 0xc
test eax, eax
jne 0x408f75
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x52c], ecx
jmp 0x408f7f
mov dword [ebp - 0x52c], 0
cmp dword [ebp - 0x52c], 0
je 0x409142
mov edx, dword [ebp - 0x52c]
movsx eax, byte [edx]
test eax, eax
je 0x409142
push 0x2c
mov ecx, dword [ebp - 0x52c]
push ecx
call fcn.0040df20
add esp, 8
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jne 0x408fd4
push 0xa
mov edx, dword [ebp - 0x52c]
push edx
call fcn.0040df20
add esp, 8
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
je 0x408fe6
mov eax, dword [ebp - 0x530]
mov byte [eax], 0
push 0
mov ecx, dword [ebp - 0x52c]
push ecx
call fcn.00403360
add esp, 8
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
movsx eax, byte [edx]
test eax, eax
je 0x40913d
lea ecx, [ebp - 0x310]
push ecx
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x314]
push eax
call fcn.004038ca
add esp, 0xc
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
push ecx
push 0xffffffffffffffff
push 0
push 1
push 0x1002
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [ebp - 0x520], eax
lea eax, [ebp - 0x51c]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x314]
push edx
mov eax, dword [ebp - 0x52c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00406381
add esp, 0x14
and eax, 0xff
test eax, eax
je 0x409119
cmp dword [ebp + 0xc], 0xffffffff
jne 0x4090cc
mov edx, dword [ebp + 0x10]
and edx, 0xff
push edx
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x418]
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.0040652e
add esp, 0x2c
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0x10]
and ecx, 0xff
push ecx
lea edx, [ebp - 0x51c]
push edx
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x314]
push edx
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x52c]
push ecx
push 3
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x520]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040652e
add esp, 0x2c
cmp dword [ebp - 0x530], 0
je 0x409133
mov edx, dword [ebp - 0x530]
add edx, 1
mov dword [ebp - 0x52c], edx
jmp 0x40913d
mov dword [ebp - 0x52c], 0x420b80
jmp 0x408f8c
jmp 0x408ec3
mov eax, dword [ebp - 0x524]
push eax
call fcn.0040e94e
add esp, 4
mov eax, dword [ebp + 0xc]
mov esp, ebp
pop ebp
ret