Function at 0x4024d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
push ebx
push esi
push edi
push dword [ebp + 0x10]
call fcn.004018a3
test al, al
pop ecx
je 0x402aa5
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 - 0xc4], 0x30
mov dword [ebp - 0xc0], 3
mov dword [ebp - 0xbc], 0x401bc0
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], eax
call edi
push esi
push ebx
mov dword [ebp - 0xac], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [ebp - 0xa8], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push esi
push ebx
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], str.RAInstallerWrapper
call edi
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
lea ecx, [ebp - 0x64]
call fcn.004030d6
lea eax, [ebp - 0x64]
push eax
call fcn.00401716
test al, al
pop ecx
jne 0x4025b3
push 0xb
mov esi, str.Couldnt_open_this_file_as_a_ZipLite_archive.
pop ecx
lea edi, [ebp - 0x94]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x94]
push eax
movsw word es:[edi], word [esi]
call fcn.0040168e
pop ecx
jmp 0x402a9d
lea ecx, [ebp - 0x28]
call fcn.00402b68
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x28]
push eax
call fcn.00403625
test eax, eax
jbe 0x402a6e
push 0x20
call fcn.00405a6d
cmp eax, ebx
pop ecx
je 0x4025e6
mov ecx, eax
call fcn.00405785
mov esi, eax
jmp 0x4025e8
xor esi, esi
push esi
push str.settings.txt
lea ecx, [ebp - 0xc]
call fcn.004046bc
push eax
lea ecx, [ebp - 0x64]
call fcn.004034fd
neg al
sbb al, al
lea ecx, [ebp - 0xc]
inc al
mov byte [ebp + 0x13], al
call fcn.00404777
cmp byte [ebp + 0x13], bl
jne 0x402660
lea ecx, [ebp - 0x94]
call fcn.00403958
push 4
push esi
lea ecx, [ebp - 0x94]
call fcn.00403b48
lea eax, [ebp - 0x94]
mov ecx, 0x42c6b0
push eax
call fcn.00401e28
lea ecx, [ebp - 0x94]
call fcn.00403d0a
push 0x42c6b0
call fcn.004019a2
pop ecx
lea ecx, [ebp - 0x94]
call fcn.004039af
cmp byte [0x42c6e4], bl
jne 0x402788
lea eax, [ebp - 0x64]
push str.splash.jpg
push eax
call fcn.00401a32
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x42c6ec], eax
jne 0x40269e
lea eax, [ebp - 0x64]
push str.splash.bmp
push eax
call fcn.00401af9
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x42c6ec], eax
je 0x4026bb
lea ecx, [ebp - 0x80]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0x7c]
mov dword [0x42c6f0], eax
mov eax, dword [ebp - 0x78]
mov dword [0x42c6f4], eax
mov eax, dword [0x42c6f0]
mov esi, dword [0x42c6f4]
mov dword [ebp + 0x10], eax
mov eax, dword [0x42c6cc]
xor ecx, ecx
cmp eax, 1
mov edx, 0x80000000
jne 0x4026e2
mov edx, 0x80800000
inc ecx
jmp 0x4026ef
cmp eax, 2
jne 0x4026ef
push 3
mov edx, 0x80400000
pop ecx
lea eax, [ecx + ecx]
add dword [ebp + 0x10], eax
add esi, eax
cmp byte [0x42c6d0], bl
mov dword [ebp - 0xc], esi
je 0x40270b
add esi, dword [0x42c6d8]
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 0x42c714
push str.RAInstallerWrapper
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
mov dword [0x42c6f8], 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 [0x42c6f8]
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 [0x42c6f8]
call dword [sym.imp.USER32.dll_SetWindowPos]
call sub.KERNEL32.dll_GetTickCount
fld1
push ecx
mov dword [0x42c6fc], eax
fstp dword [esp]
call fcn.00401d71
push dword [0x42c6c0]
lea eax, [ebp - 0x1c]
push eax
call fcn.00403060
add esp, 0xc
lea ecx, [ebp - 0x14]
push str.Channel.dat
call fcn.004046bc
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
call fcn.004046ad
push 0x4264dc
lea ecx, [ebp - 0x10]
call fcn.00405421
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x10]
push eax
call fcn.00405403
lea eax, [ebp - 0x10]
push ebx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040339d
lea ecx, [ebp - 8]
call fcn.0040469d
lea ecx, [ebp - 0x28]
mov byte [ebp + 0xb], bl
xor edi, edi
call fcn.004036ee
test eax, eax
jbe 0x40288f
mov esi, str..exe
cmp byte [ebp + 0xb], bl
jne 0x4028bc
lea eax, [ebp - 0x30]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.004036f2
push eax
lea ecx, [ebp - 8]
call fcn.00405344
lea ecx, [ebp - 0x30]
call fcn.00404777
lea eax, [ebp - 0xc]
push 4
push eax
lea ecx, [ebp - 8]
call fcn.004051d5
push esi
lea ecx, [ebp - 0x34]
call fcn.004046bc
push eax
lea ecx, [ebp - 0xc]
call fcn.004052c7
neg eax
sbb al, al
lea ecx, [ebp - 0x34]
inc al
mov byte [ebp + 0x13], al
call fcn.00404777
cmp byte [ebp + 0x13], bl
je 0x402875
mov byte [ebp + 0xb], 1
lea ecx, [ebp - 0xc]
call fcn.00404777
lea ecx, [ebp - 0x28]
inc edi
call fcn.004036ee
cmp edi, eax
jb 0x402814
cmp byte [ebp + 0xb], bl
jne 0x4028bc
lea ecx, [ebp - 0x64]
call fcn.004032f9
push 8
mov esi, str.Didnt_find_an_installer_exe_file.
pop ecx
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x8c]
push eax
movsb byte es:[edi], byte [esi]
call fcn.0040168e
pop ecx
jmp 0x402a4c
lea eax, [ebp - 0x1c8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x1c8]
lea ecx, [ebp - 4]
push eax
call fcn.004046bc
lea eax, [ebp - 8]
lea ecx, [ebp - 4]
push eax
call fcn.00405403
call sub.KERNEL32.dll_GetTickCount
push eax
call fcn.00419093
pop ecx
call fcn.0041909d
cdq
mov ecx, 0x186a0
idiv ecx
lea ecx, [ebp - 0x18]
mov edi, edx
call fcn.0040469d
push ebx
push ebx
push edi
lea ecx, [ebp - 0x18]
call fcn.00405057
lea eax, [ebp - 0x18]
lea ecx, [ebp - 4]
push eax
call fcn.004050d5
push esi
mov edi, eax
call fcn.00418df0
pop ecx
sub edi, eax
push edi
lea ecx, [ebp - 4]
call fcn.00404f1a
lea eax, [ebp - 4]
push fcn.00401d71
push eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040339d
test al, al
jne 0x4029b1
lea ecx, [ebp - 0x64]
call fcn.004032f9
push 8
mov esi, str.Couldnt_copy_out_the_exe_file.
pop ecx
lea edi, [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x88]
push eax
call fcn.0040168e
pop ecx
jmp 0x402a3c
cmp byte [0x42c70c], bl
je 0x4029b9
fldz
push ecx
fstp dword [esp]
call fcn.00401d71
fld dword [0x42c708]
fcomp dword [0x4231f0]
pop ecx
fnstsw ax
test ah, 1
jne 0x4029b1
push ebx
push ebx
push 0x10
push dword [0x42c6f8]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x42c6e4], bl
je 0x40297a
lea eax, [ebp - 0x2c]
push ebx
push eax
push ebx
mov ecx, 0x42c6e8
call fcn.004050cf
push eax
lea ecx, [ebp - 4]
call fcn.004050cf
push eax
call fcn.004055f7
add esp, 0x14
test al, al
jne 0x402a10
lea ecx, [ebp - 0x64]
call fcn.004032f9
push 6
mov esi, str.Couldnt_launch_installer.
pop ecx
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x84]
jmp 0x40296e
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x2c]
call fcn.0040569a
test al, al
pop ecx
jne 0x402a05
push 0x20
lea ecx, [ebp - 4]
call fcn.004050cf
push eax
call fcn.00403913
pop ecx
pop ecx
call fcn.004038f6
lea ecx, [ebp - 0x64]
call fcn.004032f9
lea ecx, [ebp - 0x18]
call fcn.00404777
lea ecx, [ebp - 4]
call fcn.00404777
lea ecx, [ebp - 8]
call fcn.00404777
lea ecx, [ebp - 0x10]
call fcn.00404777
lea ecx, [ebp - 0x14]
call fcn.00404777
lea ecx, [ebp - 0x1c]
call fcn.00404777
jmp 0x402a95
lea ecx, [ebp - 0x64]
call fcn.004032f9
push 8
mov esi, str.Didnt_find_any_files_in_wrapper.
pop ecx
lea edi, [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x88]
push eax
movsw word es:[edi], word [esi]
call fcn.0040168e
pop ecx
lea ecx, [ebp - 0x28]
call fcn.004035e3
lea ecx, [ebp - 0x64]
call fcn.004030e6
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x10