Function at 0x4024d5
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
push ebx
push esi
push edi
push dword [ebp + 0x10]
call fcn.004018a8
test al, al
pop ecx
je 0x402aa4
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.USER32.dll_LoadIconA]
mov esi, 0x7f00
xor ebx, ebx
push esi
push ebx
mov dword [ebp - 0xc0], 0x30
mov dword [ebp - 0xbc], 3
mov dword [ebp - 0xb8], 0x401bc5
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], eax
call edi
push esi
push ebx
mov dword [ebp - 0xa8], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [ebp - 0xa4], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push esi
push ebx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], str.RAInstallerWrapper
call edi
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
lea ecx, [ebp - 0x60]
call fcn.00402aad
lea eax, [ebp - 0x60]
push eax
call fcn.00401716
test al, al
pop ecx
jne 0x4025b8
push 0xb
mov esi, str.Couldnt_open_this_file_as_a_ZipLite_archive.
pop ecx
lea edi, [ebp - 0x90]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x90]
push eax
movsw word es:[edi], word [esi]
call fcn.0040168e
pop ecx
jmp 0x402a9c
lea ecx, [ebp - 0x28]
call fcn.00402b73
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x28]
push eax
call fcn.00403597
test eax, eax
jbe 0x402a6d
push 0x20
call fcn.00407400
cmp eax, ebx
pop ecx
je 0x4025eb
mov ecx, eax
call fcn.00407040
mov esi, eax
jmp 0x4025ed
xor esi, esi
push esi
push str.settings.txt
lea ecx, [ebp - 0xc]
call fcn.00404b90
push eax
lea ecx, [ebp - 0x60]
call fcn.00403467
neg al
sbb al, al
lea ecx, [ebp - 0xc]
inc al
mov byte [ebp + 0x13], al
call fcn.00404dc0
cmp byte [ebp + 0x13], bl
jne 0x402665
lea ecx, [ebp - 0x90]
call fcn.00403950
push 4
push esi
lea ecx, [ebp - 0x90]
call fcn.00403c70
lea eax, [ebp - 0x90]
mov ecx, 0x431460
push eax
call fcn.00401e2d
lea ecx, [ebp - 0x90]
call fcn.00403ed0
push 0x431460
call fcn.004019a7
pop ecx
lea ecx, [ebp - 0x90]
call fcn.004039d0
cmp byte [0x431494], bl
jne 0x40278d
lea eax, [ebp - 0x60]
push str.splash.jpg
push eax
call fcn.00401a37
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x43149c], eax
jne 0x4026a3
lea eax, [ebp - 0x60]
push str.splash.bmp
push eax
call fcn.00401afe
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x43149c], eax
je 0x4026c0
lea ecx, [ebp - 0x7c]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0x78]
mov dword [0x4314a0], eax
mov eax, dword [ebp - 0x74]
mov dword [0x4314a4], eax
mov eax, dword [0x4314a0]
mov esi, dword [0x4314a4]
mov dword [ebp + 0x10], eax
mov eax, dword [0x43147c]
xor ecx, ecx
cmp eax, 1
mov edx, 0x80000000
jne 0x4026e7
mov edx, 0x80800000
inc ecx
jmp 0x4026f4
cmp eax, 2
jne 0x4026f4
push 3
mov edx, 0x80400000
pop ecx
lea eax, [ecx + ecx]
add dword [ebp + 0x10], eax
add esi, eax
cmp byte [0x431480], bl
mov dword [ebp - 0xc], esi
je 0x402710
add esi, dword [0x431488]
mov dword [ebp - 0xc], esi
push ebx
push dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
push 0x4314c4
push str.RAInstallerWrapper
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
mov dword [0x4314a8], eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 8
push edi
call esi
push 0xa
push edi
mov dword [ebp + 8], eax
call esi
push edi
mov esi, eax
push dword [0x4314a8]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, esi
push 0x40
sub eax, dword [ebp - 0xc]
push dword [ebp - 0xc]
push dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp + 8]
sub eax, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xffffffffffffffff
push dword [0x4314a8]
call dword [sym.imp.USER32.dll_SetWindowPos]
call sub.KERNEL32.dll_GetTickCount
fld1
push ecx
mov dword [0x4314ac], eax
fstp dword [esp]
call fcn.00401d76
push dword [0x431470]
lea eax, [ebp - 0x1c]
push eax
call fcn.00403089
add esp, 0xc
lea ecx, [ebp - 0x14]
push str.Channel.dat
call fcn.00404b90
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
call fcn.00404b80
push 0x42b4dc
lea ecx, [ebp - 0x10]
call fcn.00406b30
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x10]
push eax
call fcn.00406ad0
lea eax, [ebp - 0x10]
push ebx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x60]
call fcn.004032ef
lea ecx, [ebp - 8]
call fcn.00404b30
lea ecx, [ebp - 0x28]
mov byte [ebp + 0xb], bl
xor edi, edi
call fcn.00403660
test eax, eax
jbe 0x402894
mov esi, str..exe
cmp byte [ebp + 0xb], bl
jne 0x4028c1
lea eax, [ebp - 0x30]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00403664
push eax
lea ecx, [ebp - 8]
call fcn.004067f0
lea ecx, [ebp - 0x30]
call fcn.00404dc0
lea eax, [ebp - 0xc]
push 4
push eax
lea ecx, [ebp - 8]
call fcn.004064b0
push esi
lea ecx, [ebp - 0x34]
call fcn.00404b90
push eax
lea ecx, [ebp - 0xc]
call fcn.00406750
neg eax
sbb al, al
lea ecx, [ebp - 0x34]
inc al
mov byte [ebp + 0x13], al
call fcn.00404dc0
cmp byte [ebp + 0x13], bl
je 0x40287a
mov byte [ebp + 0xb], 1
lea ecx, [ebp - 0xc]
call fcn.00404dc0
lea ecx, [ebp - 0x28]
inc edi
call fcn.00403660
cmp edi, eax
jb 0x402819
cmp byte [ebp + 0xb], bl
jne 0x4028c1
lea ecx, [ebp - 0x60]
call fcn.0040322f
push 8
mov esi, str.Didnt_find_an_installer_exe_file.
pop ecx
lea edi, [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x88]
push eax
movsb byte es:[edi], byte [esi]
call fcn.0040168e
pop ecx
jmp 0x402a4b
lea eax, [ebp - 0x1c4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x1c4]
lea ecx, [ebp - 4]
push eax
call fcn.00404b90
lea eax, [ebp - 8]
lea ecx, [ebp - 4]
push eax
call fcn.00406ad0
call sub.KERNEL32.dll_GetTickCount
push eax
call fcn.0041d5e3
pop ecx
call fcn.0041d5ed
cdq
mov ecx, 0x186a0
idiv ecx
lea ecx, [ebp - 0x18]
mov edi, edx
call fcn.00404b30
push ebx
push ebx
push edi
lea ecx, [ebp - 0x18]
call fcn.004061e0
lea eax, [ebp - 0x18]
lea ecx, [ebp - 4]
push eax
call fcn.00406290
push esi
mov edi, eax
call fcn.0041d340
pop ecx
sub edi, eax
push edi
lea ecx, [ebp - 4]
call fcn.00405e60
lea eax, [ebp - 4]
push fcn.00401d76
push eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x60]
call fcn.004032ef
test al, al
jne 0x4029b6
lea ecx, [ebp - 0x60]
call fcn.0040322f
push 8
mov esi, str.Couldnt_copy_out_the_exe_file.
pop ecx
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x84]
push eax
call fcn.0040168e
pop ecx
jmp 0x402a3b
cmp byte [0x4314bc], bl
je 0x4029be
fldz
push ecx
fstp dword [esp]
call fcn.00401d76
fld dword [0x4314b8]
fcomp dword [0x4281f0]
pop ecx
fnstsw ax
test ah, 1
jne 0x4029b6
push ebx
push ebx
push 0x10
push dword [0x4314a8]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x431494], bl
je 0x40297f
lea eax, [ebp - 0x2c]
push ebx
push eax
push ebx
mov ecx, 0x431498
call fcn.00406280
push eax
lea ecx, [ebp - 4]
call fcn.00406280
push eax
call fcn.00406e10
add esp, 0x14
test al, al
jne 0x402a0f
lea ecx, [ebp - 0x60]
call fcn.0040322f
push 6
mov esi, str.Couldnt_launch_installer.
pop ecx
lea edi, [ebp - 0x80]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x80]
jmp 0x402973
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x2c]
call fcn.00406ee0
test al, al
pop ecx
jne 0x402a04
push 0x20
lea ecx, [ebp - 4]
call fcn.00406280
push eax
call fcn.004038f0
pop ecx
pop ecx
call fcn.004038d0
lea ecx, [ebp - 0x60]
call fcn.0040322f
lea ecx, [ebp - 0x18]
call fcn.00404dc0
lea ecx, [ebp - 4]
call fcn.00404dc0
lea ecx, [ebp - 8]
call fcn.00404dc0
lea ecx, [ebp - 0x10]
call fcn.00404dc0
lea ecx, [ebp - 0x14]
call fcn.00404dc0
lea ecx, [ebp - 0x1c]
call fcn.00404dc0
jmp 0x402a94
lea ecx, [ebp - 0x60]
call fcn.0040322f
push 8
mov esi, str.Didnt_find_any_files_in_wrapper.
pop ecx
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x84]
push eax
movsw word es:[edi], word [esi]
call fcn.0040168e
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00403555
lea ecx, [ebp - 0x60]
call fcn.004018a3
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x10