Function at 0x405e30
Capabilities:
Check if file exists
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x43d381
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8a8
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.00409380
push 0
push 0
lea esi, [ebp + 0x1bc]
push 0x44cd04
push 0
push 1
mov ecx, esi
call fcn.0042f326
push 0
push 0
push 0x44ccf8
push 0
push 1
mov ecx, esi
call fcn.0042f326
lea ebx, [ebp + 0xb4]
push esi
push 0x87
mov ecx, ebx
call fcn.00430c6a
lea edi, [ebp + 0x118]
push esi
push 0x88
mov ecx, edi
call fcn.00430c6a
mov ecx, dword [ebp + 0x1d8]
lea eax, [esp + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
add eax, 0x14
sub edx, eax
push 1
push edx
mov edx, dword [esp + 0x2c]
sub edx, ecx
mov dword [esp + 0x28], eax
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00434728
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub ecx, eax
push 1
push ecx
mov ecx, dword [esp + 0x24]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, edi
call fcn.00434728
push 5
mov ecx, ebx
call fcn.004347b8
xor esi, esi
mov ecx, edi
push esi
call fcn.004347b8
mov dword [ebp + 0x17c], esi
mov eax, dword [0x450334]
mov dword [esp + 0x10], eax
mov ecx, dword [0x452208]
mov dword [esp + 0x8c0], esi
push ecx
call fcn.004057e0
push eax
push 0x44c8d4
lea edx, [esp + 0x1c]
push edx
call fcn.0042efe7
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x250]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 0x10
push eax
push esi
push 0x14a
push ecx
call ebx
mov edx, dword [ebp + 0x250]
push esi
push esi
push 0x14e
push edx
call ebx
mov eax, dword [0x45220c]
push eax
call fcn.004057e0
push eax
lea ecx, [esp + 0x18]
push 0x44c8d4
push ecx
call fcn.0042efe7
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x19c]
add esp, 0x10
push edx
push esi
push 0x14a
push eax
call ebx
mov ecx, dword [ebp + 0x19c]
push esi
push esi
push 0x14e
push ecx
call ebx
mov edx, dword [ebp + 0x214]
push 0x452210
push esi
push 0x14a
push edx
call ebx
mov al, byte [0x452290]
test al, al
je 0x406009
mov eax, dword [ebp + 0x214]
push 0x452290
push 1
push 0x14a
push eax
call ebx
mov al, byte [0x452250]
test al, al
je 0x406009
mov ecx, dword [ebp + 0x214]
push 0x452250
push 2
push 0x14a
push ecx
call ebx
mov edx, dword [0x463e8c]
mov eax, dword [ebp + 0x214]
push esi
push edx
push 0x14e
push eax
call ebx
mov ecx, ebp
call fcn.00407b60
mov ecx, ebp
call fcn.00407cf0
cmp ebp, esi
jne 0x406035
xor eax, eax
jmp 0x406038
mov eax, dword [ebp + 0x1c]
push 0x3f1
push eax
push esi
push 0x50800000
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowA]
lea ecx, [esp + 0x2c]
mov edi, 3
push ecx
push edi
push 0x404
push eax
mov dword [ebp + 0x2f0], eax
mov dword [esp + 0x3c], 0x46
mov dword [esp + 0x40], 0x22b
mov dword [esp + 0x44], 0xffffffff
call ebx
cmp dword [0x452208], 1
jne 0x406094
push esi
push esi
push esi
push 1
push esi
push 0x40d480
call fcn.0042fe04
cmp dword [0x452208], edi
je 0x4060a4
cmp dword [0x45220c], edi
jne 0x4060b4
push esi
push esi
push esi
push 1
push esi
push 0x412fc0
call fcn.0042fe04
mov ecx, dword [0x452208]
mov eax, 2
cmp ecx, eax
je 0x4060cb
cmp dword [0x45220c], eax
jne 0x4060db
push esi
push esi
push esi
push 1
push esi
push 0x415fa0
call fcn.0042fe04
mov ecx, dword [0x452208]
mov eax, 5
cmp ecx, eax
je 0x4060f2
cmp dword [0x45220c], eax
jne 0x406102
push esi
push esi
push esi
push 1
push esi
push 0x410170
call fcn.0042fe04
mov ecx, dword [0x452208]
mov eax, 4
cmp ecx, eax
je 0x406119
cmp dword [0x45220c], eax
jne 0x406129
push esi
push esi
push esi
push 1
push esi
push 0x413ff0
call fcn.0042fe04
push esi
push esi
push esi
push 1
push esi
push 0x4123c0
call fcn.0042fe04
push esi
push esi
push esi
push 1
push esi
push 0x410cc0
call fcn.0042fe04
push esi
push esi
push esi
push 1
push esi
push 0x410ea0
call fcn.0042fe04
push esi
push esi
push esi
push 1
push esi
push 0x412880
call fcn.0042fe04
push esi
push esi
push esi
push 1
push esi
push 0x410760
call fcn.0042fe04
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0xb8]
lea edx, [esp + 0xb8]
rep stosd dword es:[edi], eax
push 0x7fe
push edx
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, str.logo.bmp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xb8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0xb8]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x406254
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x440848
push 0x10
push 0
push 0
lea ecx, [esp + 0xc4]
push 0
push ecx
push 0
mov byte [esp + 0x8d8], 1
call dword [sym.imp.USER32.dll_LoadImageA]
test eax, eax
mov dword [esp + 0x18], eax
je 0x406233
lea ecx, [esp + 0x14]
call fcn.00436bd5
mov edx, dword [ebp + 0x28c]
push eax
push 0
push 0x172
push edx
call ebx
mov dword [esp + 0x14], vtable.CGdiObject.0
lea ecx, [esp + 0x14]
mov byte [esp + 0x8c0], 2
call fcn.00436bff
mov byte [esp + 0x8c0], 0
push 0x44cce4
push 0
mov ecx, ebp
call fcn.004069e0
mov eax, dword [0x466628]
mov esi, 1
cmp eax, esi
je 0x40628a
cmp dword [0x46662c], esi
je 0x40628a
mov eax, dword [str.4.1.3]
lea ecx, [esp + 0x38]
push eax
push 0x44ccd8
push ecx
jmp 0x40629b
mov edx, dword [str.4.1.3]
lea eax, [esp + 0x38]
push edx
push 0x44ccd0
push eax
call fcn.0041f046
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
push 2
mov ecx, ebp
call fcn.004069e0
mov ecx, ebp
call fcn.00406790
mov edx, dword [ebp + 0x1c]
push 0
push 0x3e8
push 0
push edx
call dword [sym.imp.USER32.dll_SetTimer]
push 0x463cd0
lea ecx, [ebp + 0x114]
mov byte [0x463e96], 0
mov byte [0x463e97], 0
mov byte [0x463e98], 1
mov byte [0x463e94], 0
mov byte [0x463e95], 0
call fcn.004317f7
push 0x463d50
lea ecx, [ebp + 0x178]
call fcn.004317f7
mov edi, 0x463d90
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x406337
cmp dword [0x463dd4], esi
jne 0x406337
push 0x463d90
lea ecx, [ebp + 0x174]
call fcn.004317f7
mov edi, 0x463d10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x406360
cmp dword [0x463dd4], esi
jne 0x406360
push 0x463d10
lea ecx, [ebp + 0x110]
call fcn.004317f7
push 0
lea ecx, [ebp + 0xb4]
call fcn.00433c5c
push 0
lea ecx, [ebp + 0x118]
call fcn.00433c5c
cmp dword [0x463dd4], esi
jne 0x406388
mov dword [ebp + 0x2ec], esi
cmp dword [0x463dd8], esi
jne 0x406396
mov dword [ebp + 0x2e8], esi
push 0
mov ecx, ebp
call fcn.00433c5c
lea ecx, [esp + 0x10]
mov dword [esp + 0x8c0], 0xffffffff
call fcn.0043166e
mov ecx, dword [esp + 0x8b8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x8b4
ret