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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eda91
mov eax, dword fs:[0]
push eax
sub esp, 0x468
mov eax, dword [0x53e01c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x46c], esi
mov dword [ebp - 0x470], edx
cmp eax, 0x18
ja 0x4263f9
lea ecx, [eax + eax*2]
cmp dword [edi + ecx*8 + 0x10], 0
lea ecx, [edi + ecx*8]
mov dword [ebp - 0x46c], ecx
je 0x425aad
push ecx
mov ecx, esi
call fcn.00403e90
jmp 0x42641f
xor ecx, ecx
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], cx
mov dword [ebp - 4], ecx
jmp dword [eax*4 + 0x426468]
test edx, edx
mov ecx, edi
setne al
movzx eax, al
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00425380
push eax
lea ecx, [ebp - 0x438]
call fcn.00417300
mov edx, dword [ebp - 0x43c]
cmp edx, 8
jb 0x426357
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425ca7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42643e
jmp 0x425ca7
push edx
push ecx
call fcn.0045b5e1
add esp, 8
jmp 0x426357
cmp dword [ebp - 0x428], 0
je 0x4263ba
cmp dword [ebp - 0x470], 0
je 0x426374
lea ecx, [ebp - 0x438]
call fcn.004239db
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4263cc
mov ecx, dword [ebp - 0x46c]
lea eax, [ebp - 0x438]
cmp ecx, eax
je 0x4263cc
cmp dword [ebp - 0x424], 8
push dword [ebp - 0x428]
cmovae eax, dword [ebp - 0x438]
push eax
jmp 0x4263c7
push 0
push 0x529970
lea ecx, [ebp - 0x438]
call fcn.00407890
movups xmm0, xmmword [ebp - 0x438]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x428]
movq qword [esi + 0x10], xmm0
jmp 0x42641f
xor eax, eax
mov dword [esi], 0
push eax
mov dword [esi + 0x10], 0
mov ecx, esi
mov dword [esi + 0x14], 7
push 0x529970
mov word [esi], ax
call fcn.00407890
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045b5b0
mov esp, ebp
pop ebp
ret 0xc
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c1e0f
nop
ficomp word [edx + 0x42]
add byte [ebx + ebx*2 + 66], al
add ch, ch
pop ebx
inc edx
add byte [esi - 0x7fffbda4], dh
pop esi
inc edx
add byte [esi], ch
pop edi
inc edx
add byte [edi + 0x3000425f], ch
pushal
inc edx
add byte [ecx - 0x21ffbda0], dh
pushal
inc edx
add byte [ebx], cl
popal
inc edx
add byte [ecx + 0x619a0042], cl
inc edx
add byte [eax - 0x2affbd9f], ch
popal
inc edx
add byte [edx], al
bound eax, qword [edx]
das
bound eax, qword [edx]
pop esp
bound eax, qword [edx]
mov dword [edx + 0x42], esp
add al, ah
bound eax, qword [edx]
push es
arpl word [edx], ax
adc dword [ebx + 0x42], esp
add byte [ebx], dh
arpl word [edx], ax
arpl word ds:[edx], ax
dec ecx
arpl word [edx], ax
int3