Function at 0x419680
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x633754]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x10000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
push ebx
mov dword [ebp - 0x150], ebx
call dword [sym.imp.KERNEL32.dll_LocalSize]
mov edi, eax
push 0x637260
shr edi, 1
push edi
push ebx
push 0x5e02dc
mov dword [ebp - 0x14c], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push 1
push 0x5e02f0
push ebx
call fcn.00414090
test eax, eax
mov esi, 1
push 0
cmovne eax, esi
push 0x5e030c
push ebx
mov dword [0x640170], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e032c
push ebx
mov dword [0x64016c], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e034c
push ebx
mov dword [0x640168], eax
call fcn.00414090
mov ecx, dword [0x6389d0]
test eax, eax
push 0
cmovne ecx, esi
mov dword [0x6389cc], eax
push 0x5e0360
push ebx
mov dword [0x6389d0], ecx
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e037c
push ebx
mov dword [0x6389d0], eax
call fcn.00414090
add esp, 0x48
test eax, eax
cmovne eax, esi
mov dword [0x6389d4], eax
push 0x104
push 0x63ff60
push 0x6394f4
push 0x5e0394
push ebx
call fcn.00413fc0
add esp, 0x14
push esi
test eax, eax
jne 0x41979e
push 0x10
push 0x63ff60
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
jmp 0x4197b2
push 0x104
push 0
push 0x63ff60
call fcn.004158e0
add esp, 0x10
push 0x104
push 0x63fd40
push 0x6394f8
push 0x5e03ac
push ebx
call fcn.00413fc0
add esp, 0x14
test eax, eax
jne 0x4197e5
push 0x63fd40
push eax
push eax
push 5
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
jmp 0x4197fb
push 1
push 0x104
push 0
push 0x63fd40
call fcn.004158e0
add esp, 0x10
push 0
push 0x5e03c0
push ebx
call fcn.00414090
mov ecx, 2
cmp eax, ecx
push 0
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e03e0
cmovg eax, ecx
push ebx
mov dword [0x63c834], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e03f4
push ebx
mov dword [0x63c830], eax
mov dword [0x63c82c], eax
call fcn.00414090
cmp eax, 1
mov ecx, esi
push 0
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e0410
cmovg eax, ecx
push ebx
mov dword [0x63c828], eax
call fcn.00414090
mov ecx, 6
cmp eax, ecx
push 0x16
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e0430
cmovg eax, ecx
push ebx
mov dword [0x63c824], eax
call fcn.00414090
mov esi, eax
add esp, 0x3c
mov eax, 0x66666667
mov dword [ebp - 0x148], esi
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
add eax, eax
sub esi, eax
cmp esi, 2
jge 0x4198bb
test esi, esi
jg 0x4198c0
xor esi, esi
jmp 0x4198c0
mov esi, 2
mov eax, 0x51eb851f
imul dword [ebp - 0x148]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
add eax, eax
sub ecx, eax
cmp ecx, 2
jge 0x4198e9
test ecx, ecx
jg 0x4198ee
xor ecx, ecx
jmp 0x4198ee
mov ecx, 2
push 0
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*2]
push 0x5e0450
push ebx
mov dword [0x63c820], eax
call fcn.00414090
mov esi, 1
test eax, eax
push esi
cmovne eax, esi
push 0x5e0478
push ebx
mov dword [0x63c81c], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e0490
push ebx
mov dword [0x63c818], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e04ac
push ebx
mov dword [0x63c810], eax
call fcn.00414090
test eax, eax
push esi
cmovne eax, esi
push 0x5e04d8
push ebx
mov dword [0x63c808], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e04f0
push ebx
mov dword [0x63c814], eax
call fcn.00414090
add esp, 0x48
test eax, eax
cmovne eax, esi
mov dword [0x63c7bc], eax
push 0
push 0x5e0514
push ebx
call fcn.00414090
test eax, eax
push esi
cmovne eax, esi
push 0x5e0538
push ebx
mov dword [0x63c80c], eax
call fcn.00414090
test eax, eax
push esi
cmovne eax, esi
push 0x5e0554
push ebx
mov dword [0x63c804], eax
mov dword [0x63c800], eax
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e056c
push ebx
mov dword [0x63c7fc], eax
mov dword [0x63c7f8], eax
call fcn.00414090
test eax, eax
push 2
cmovne eax, esi
push 0x5e0594
push ebx
mov dword [0x63c7f4], eax
call fcn.00414090
mov esi, 0x100
cmp eax, esi
mov ecx, esi
push 0
cmovl ecx, eax
mov eax, 1
cmp ecx, eax
push 0x5e05a8
cmovg eax, ecx
push ebx
mov dword [0x63c7f0], eax
mov dword [0x63c7ec], eax
call fcn.00414090
add esp, 0x48
cmp eax, esi
cmovl esi, eax
xor eax, eax
test esi, esi
push 0
cmovg eax, esi
push 0x5e05c0
push ebx
mov dword [0x63c7e8], eax
mov dword [0x63c7e4], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0x48
cmovne eax, ecx
push 0x5e05dc
push ebx
mov dword [0x63c7e0], eax
call fcn.00414090
mov ecx, 0x1000
cmp eax, ecx
push 1
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e05fc
cmovg eax, ecx
push ebx
mov dword [0x63c7dc], eax
mov dword [0x63c7d8], eax
call fcn.00414090
mov esi, 2
cmp eax, esi
mov ecx, esi
push 0
cmovl ecx, eax
mov eax, 1
cmp ecx, eax
push 0x5e0618
cmovg eax, ecx
push ebx
mov dword [0x63c7d4], eax
call fcn.00414090
mov ecx, 1
test eax, eax
push ecx
cmovne eax, ecx
push 0x5e0640
push ebx
mov dword [0x63c7d0], eax
call fcn.00414090
mov ecx, 1
test eax, eax
push ecx
cmovne eax, ecx
push 0x5e0660
push ebx
mov dword [0x63c7cc], eax
call fcn.00414090
add esp, 0x48
mov ecx, 1
test eax, eax
cmovne eax, ecx
push 3
push 0x5e0680
mov dword [0x63c7b8], eax
push ebx
call fcn.00414090
push 0
push 0x5e06a0
push ebx
mov dword [0x63c7c8], eax
call fcn.00414090
push 1
push 0x5e06d4
push ebx
mov dword [0x63c7c4], eax
call fcn.00414090
push 0
push 0x5e0714
push ebx
mov dword [0x63c7c0], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e0734
push ebx
mov dword [0x63c7b4], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e0748
push ebx
mov dword [0x63c7b0], eax
call fcn.00414090
add esp, 0x48
mov dword [0x63c7ac], eax
push eax
push 1
call fcn.00410580
push eax
mov dword [0x63c7ac], eax
call fcn.004108b0
mov ecx, dword [0x63c7ac]
test eax, eax
push 0
mov eax, 6
cmove ecx, eax
push 0x5e0768
push ebx
mov dword [0x63c7ac], ecx
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e0794
push ebx
mov dword [0x63c7a8], eax
call fcn.00414090
mov ecx, 1
test eax, eax
push ecx
cmovne eax, ecx
push 0x5e07b4
push ebx
mov dword [0x63c7a4], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e07d0
push ebx
mov dword [0x63c7a0], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e07f0
push ebx
mov dword [0x63c79c], eax
call fcn.00414090
add esp, 0x48
mov ecx, esi
cmp eax, esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 1
cmovg eax, ecx
push 0x5e0810
push ebx
mov dword [0x63c798], eax
call fcn.00414090
test eax, eax
mov esi, 1
push 0
cmovne eax, esi
push 0x5e0830
push ebx
mov dword [0x63c794], eax
call fcn.00414090
test eax, eax
push esi
cmovne eax, esi
push 0x5e0854
push ebx
mov dword [0x63c790], eax
call fcn.00414090
mov ecx, 3
cmp eax, ecx
push 0
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e086c
cmovg eax, ecx
push ebx
mov dword [0x63c78c], eax
call fcn.00414090
cmp eax, esi
mov ecx, esi
push 3
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e0884
cmovg eax, ecx
push ebx
mov dword [0x63c788], eax
call fcn.00414090
mov ecx, 4
cmp eax, ecx
push 0xa
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0x5e08a4
cmovg eax, ecx
push ebx
mov dword [0x63c784], eax
call fcn.00414090
mov ecx, 0x14
add esp, 0x48
lea edx, [eax - 0xa]
mov eax, ecx
cmp edx, eax
cmovl eax, edx
cmp eax, 0xfffffff6
jle 0x419d02
cmp edx, ecx
cmovl ecx, edx
jmp 0x419d07
mov ecx, 0xfffffff6
push 0xffffffffffffffff
push 0x5e08b8
push ebx
mov dword [0x63c780], ecx
call fcn.00414090
or esi, 0xffffffff
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push 0x5e08d8
push ebx
mov dword [0x63c770], ecx
call fcn.00414090
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push 0x5e08f8
push ebx
mov dword [0x63c774], ecx
call fcn.00414090
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push 0x5e091c
push ebx
mov dword [0x63c778], ecx
call fcn.00414090
cmp eax, esi
push 0
cmovg esi, eax
push 0x5e0940
push ebx
mov dword [0x63c77c], esi
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e0970
push ebx
mov dword [0x63c760], eax
call fcn.00414090
add esp, 0x48
mov esi, 2
cmp eax, esi
mov ecx, esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 1
cmovg eax, ecx
push 0x5e0994
push ebx
mov dword [0x63c75c], eax
call fcn.00414090
test eax, eax
mov ecx, 1
push 0
cmovne eax, ecx
push 0x5e09b8
push ebx
mov dword [0x63c758], eax
call fcn.00414090
cmp eax, esi
push 0
cmovl esi, eax
xor eax, eax
test esi, esi
push 0x5e09d0
cmovg eax, esi
push ebx
mov dword [0x63c74c], eax
call fcn.00414090
test eax, eax
mov esi, 1
push 0
cmovne eax, esi
mov dword [0x63c748], eax
push 0x5e09e8
push ebx
call fcn.00414090
test eax, eax
push 0
cmovne eax, esi
push 0x5e0a08
push ebx
mov dword [0x63c744], eax
call fcn.00414090
add esp, 0x3c
test eax, eax
cmovne eax, esi
mov dword [0x63c740], eax
push str.SetLayeredWindowAttributes
push str.User32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x200
neg eax
push 0x63cea0
push 0x6394fc
sbb eax, eax
neg eax
push 0x5e0a54
push ebx
mov dword [0x63c73c], eax
call fcn.00413fc0
push esi
push 0x5e0a74
push ebx
call fcn.00414090
test eax, eax
push esi
cmovne eax, esi
push 0x5e0a8c
push ebx
mov dword [0x63c738], eax
call fcn.00414090
test eax, eax
push 0x100
cmovne eax, esi
push 0x5e0aa8
push ebx
mov dword [0x63c734], eax
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x106
cmovg ecx, eax
push 0x5e0acc
push ebx
mov dword [0x63c6ec], ecx
call fcn.00414090
add esp, 0x44
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push 0x100
push 0x5e0af0
push ebx
mov dword [0x63c6e8], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x106
cmovg ecx, eax
push 0x5e0b10
push ebx
mov dword [0x63c6e4], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x19c
cmovg ecx, eax
push 0x5e0b30
push ebx
mov dword [0x63c6e0], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x178
cmovg ecx, eax
push 0x5e0b50
push ebx
mov dword [0x63c6dc], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x180
cmovg ecx, eax
push 0x5e0b70
push ebx
mov dword [0x63c6d8], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x182
cmovg ecx, eax
push 0x5e0b94
push ebx
mov dword [0x63c6d4], ecx
call fcn.00414090
add esp, 0x48
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push 0x14e
push 0x5e0bb8
push ebx
mov dword [0x63c6d0], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0x13c
cmovg ecx, eax
push 0x5e0bdc
push ebx
mov dword [0x63c6cc], ecx
call fcn.00414090
xor ecx, ecx
test eax, eax
push 0
cmovg ecx, eax
push 0x5e0c00
push ebx
mov dword [0x63c6c8], ecx
call fcn.00414090
push 0
push 0x5e0c28
push ebx
mov dword [0x63c6c4], eax
call fcn.00414090
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
add esp, 0x30
mov dword [0x63c6c0], eax
push 0x637260
push edi
push ebx
push 0x5e0c50
call esi
push 0
push 0x5e0c64
push ebx
call fcn.00414090
push 0x40
push 0x63faa0
test eax, eax
mov ecx, 1
push 0x5e0c90
cmovne eax, ecx
push str.DefaultExtension
push ebx
mov dword [0x63c704], eax
call fcn.00413fc0
add esp, 0x20
push str.__t._
push 0x63faa0
call dword [sym.imp.SHLWAPI.dll_StrTrimW]
push 0x104
push 0x63fb20
push 0x639500
push str.DefaultDirectory
push ebx
call fcn.00413fc0
push 0x2800
push 0
push 0x63d2a0
call fcn.00546400
push 0x13fe
push 0x63d2a0
push 0x639504
push str.FileDlgFilters
push ebx
call fcn.00413fc0
push 0x7d0
push str.FileCheckInverval
push ebx
call fcn.00414090
add esp, 0x40
mov dword [0x63c754], eax
push 0x7d0
push str.AutoReloadTimeout
push ebx
call fcn.00414090
add esp, 0xc
mov dword [0x63c750], eax
push 0x637260
push edi
push ebx
push str.Toolbar_Images
call esi
push 0x104
push 0x63cc80
push 0x639508
push str.BitmapDefault
push ebx
call fcn.00413fc0
push 0x104
push 0x63ca60
push 0x63950c
push str.BitmapHot
push ebx
call fcn.00413fc0
push 0x104
push 0x63c840
push 0x639510
push str.BitmapDisabled
push ebx
call fcn.00413fc0
add esp, 0x3c
cmp dword [0x63946c], 0
jne 0x41a232
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
push 1
mov ebx, eax
call esi
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, eax
push edi
push ebx
lea eax, [ebp - 0x44]
push 0x5e0dc4
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0x84]
push 0x5e0ddc
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0xc4]
push 0x5e0df4
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0x104]
push 0x5e0e0c
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x144]
push edi
push ebx
push 0x5e0e24
push eax
call esi
mov ebx, dword [ebp - 0x150]
add esp, 0x10
push 0x637260
push dword [ebp - 0x14c]
push ebx
push 0x5e0e44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push SysReAllocString
lea eax, [ebp - 0x44]
push eax
push ebx
call fcn.00414090
mov dword [0x63c720], eax
lea eax, [ebp - 0x84]
push SysReAllocString
push eax
push ebx
call fcn.00414090
mov dword [0x63c724], eax
lea eax, [ebp - 0xc4]
push SysReAllocString
push eax
push ebx
call fcn.00414090
mov dword [0x63c728], eax
lea eax, [ebp - 0x104]
push SysReAllocString
push eax
push ebx
call fcn.00414090
mov dword [0x63c72c], eax
lea eax, [ebp - 0x144]
push 0
push eax
push ebx
call fcn.00414090
add esp, 0x3c
mov ecx, 1
test eax, eax
cmovne eax, ecx
mov dword [0x63c730], eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x63c344], 0
call dword [sym.imp.KERNEL32.dll_GetACP]
pop edi
pop esi
pop ebx
cmp eax, 0x3a4
je 0x41a276
cmp eax, 0x3a8
je 0x41a276
cmp eax, 0x3b5
je 0x41a276
cmp eax, 0x3b6
je 0x41a276
cmp eax, 0x551
je 0x41a276
mov eax, dword [0x63c344]
jmp 0x41a27b
mov dword [0x63c344], eax
push 2
lea ecx, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
mov dword [0x63c340], eax
call fcn.00427cf0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret