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

Disassembly:
mov eax, 0x420c
call fcn.004ab4d0
mov eax, dword [0x51c080]
xor eax, esp
mov dword [esp + 0x4208], eax
push ebx
push ebp
mov ebp, dword [esp + 0x4218]
push esi
mov esi, dword [ebp + 0x48]
xor ebx, ebx
cmp esi, ebx
mov byte [esp + 0xf], bl
je 0x426471
mov eax, esi
lea edx, [eax + 2]
jmp 0x4260d0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4260d0
sub eax, edx
sar eax, 1
je 0x426471
push 0x2000
lea eax, [esp + 0x2218]
push ebx
push eax
call fcn.004ab450
push 0xfff
push esi
lea ecx, [esp + 0x2228]
push 0x1000
push ecx
call fcn.004a9be0
lea edx, [esp + 0x2230]
push edx
call fcn.004aa62e
lea eax, [esp + 0x2234]
push 0x4e4ee8
push eax
call fcn.004a9b82
add esp, 0x28
cmp eax, ebx
je 0x426471
movzx eax, word [eax + 4]
cmp ax, 0x20
je 0x426153
cmp ax, 9
je 0x426153
cmp ax, bx
jne 0x426471
lea ecx, [esp + 0x2214]
push 0x4e4ef0
push ecx
call fcn.004a9b82
add esp, 8
test eax, eax
jne 0x426471
push 0x800
lea edx, [esp + 0x1218]
push ebx
push edx
call fcn.004ab450
add esp, 0xc
push 0x400
lea eax, [esp + 0x1218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4261a5
xor al, al
jmp 0x426475
lea ecx, [esp + 0x1214]
push 0x5c
push ecx
call fcn.004a9ce4
push 0x200
lea edx, [esp + 0x820]
push ebx
push edx
mov esi, eax
call fcn.004ab450
add esp, 0x14
cmp esi, ebx
je 0x4261f1
push 0xff
lea eax, [esi + 2]
push eax
lea ecx, [esp + 0x81c]
push 0x100
push ecx
call fcn.004a9be0
add esp, 0x10
mov word [esi], bx
push 0x800
lea edx, [esp + 0xa18]
push ebx
push edx
call fcn.004ab450
add esp, 0xc
lea eax, [esp + 0xa14]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x42619e
lea eax, [esp + 0xa14]
lea edx, [eax + 2]
jmp 0x426230
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x426230
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0xa12], 0x5c
jne 0x42626b
lea eax, [esp + 0xa14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x426254
sub eax, edx
sar eax, 1
mov word [esp + eax*2 + 0xa12], bx
push edi
push 0x800
lea ecx, [esp + 0x1c]
push ebx
push ecx
xor esi, esi
call fcn.004ab450
push str.SEI_Inst
lea edx, [esp + 0xa28]
push edx
push 0x4dd780
lea eax, [esp + 0x30]
push 0x400
push eax
call fcn.004a9ca9
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x20
lea ecx, [esp + 0x18]
push ecx
call edi
test eax, eax
je 0x426357
push ebx
push 1
lea ecx, [esp + 0x20]
call fcn.0045d900
add esp, 8
lea edx, [esp + 0x18]
push edx
call edi
test eax, eax
je 0x426357
push 0x800
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.004ab450
push esi
push str.SEI_Inst
lea ecx, [esp + 0x2c]
push ecx
push str._s_s__d_
mov edx, ecx
push 0x400
push edx
call fcn.004a9ca9
add esi, 1
add esp, 0x24
cmp esi, 0xa
jne 0x426348
push 0x800
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.004ab450
push str.SEI_Inst
lea ecx, [esp + 0x28]
push ecx
push 0x4dd780
mov edx, ecx
push 0x400
push edx
call fcn.004a9ca9
push ebx
push 1
lea ecx, [esp + 0x40]
call fcn.0045d900
add esp, 0x28
lea eax, [esp + 0x18]
push eax
call edi
test eax, eax
jne 0x4262b7
push ebx
push ebx
xor ebx, ebx
lea edi, [esp + 0x20]
lea eax, [esp + 0x1220]
call fcn.0045cfb0
push 0x800
lea ecx, [esp + 0x1a24]
push ebx
push ecx
call fcn.004ab450
lea edx, [esp + 0x122c]
push edx
push str._sData
lea eax, [esp + 0x1a34]
push 0x400
push eax
call fcn.004a9ca9
push 0x800
lea ecx, [esp + 0xa40]
push ebx
push ecx
call fcn.004ab450
mov edx, edi
push edx
push str._sData
lea eax, [esp + 0xa50]
push 0x400
push eax
call fcn.004a9ca9
add esp, 0x40
push ebx
push 1
lea edi, [esp + 0xa20]
lea eax, [esp + 0x1a20]
call fcn.0045cfb0
push 0x3ff
push 0x4e4f30
lea ecx, [esp + 0x28]
push 0x400
push ecx
call fcn.004a9dea
push 0x3ff
lea edx, [esp + 0x834]
push edx
lea eax, [esp + 0x38]
push 0x400
push eax
call fcn.004a9dea
push 0x2000
lea ecx, [esp + 0x2244]
push ebx
push ecx
call fcn.004ab450
mov eax, dword [ebp + 0x48]
lea edx, [esp + 0x124c]
push edx
push eax
push 0x4e4f34
lea ecx, [esp + 0x2258]
push 0x1000
push ecx
call fcn.004a9ca9
add esp, 0x48
push ebx
push ebx
push ebx
lea edx, [esp + 0x2224]
lea ecx, [esp + 0x24]
call fcn.004414b0
add esp, 0xc
test eax, eax
pop edi
jne 0x426471
mov byte [esp + 0xf], 1
mov al, byte [esp + 0xf]
mov ecx, dword [esp + 0x4214]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a998e
add esp, 0x420c
ret 4