Function at 0x45411f
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push 0xf4
mov eax, 0x5e1eb3
call fcn.0046dcda
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xfc], esi
push esi
xor eax, eax
mov dword [ebp - 4], esi
push 0x5e6948
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00402ad0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.0047c2c7
call fcn.00452579
test al, al
je 0x45418a
call 0x8f302acb
mov bl, 0x2b
jg 0x454188
cmp byte [ecx - 0x399c19b9], 0x33
test byte [ebx - 0x72f7df83], 0x45
or al, 0xf
inc ebx
inc ebp
or al, 0x50
xor esi, esi
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x454415
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push esi
cmovae eax, dword [ebp + 0xc]
push 0x80
push 4
push esi
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xe8], ebx
cmp ebx, 0xffffffff
jne 0x4541e4
push 0x5e6948
mov ecx, edi
call fcn.004041e0
jmp 0x454420
call fcn.00451f46
test al, al
je 0x454205
dec ebx
mov al, byte [0xd2b79b3e]
mov ecx, 0x799c055a
pop esi
sbb ebp, edi
pop ecx
fmul qword [ebx - 0xf343]
push dword [ebx]
not byte [esi + 0x53]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xec], eax
inc eax
push eax
mov dword [ebp - 0xf8], eax
call fcn.0046d82e
mov dword [ebp - 0xf0], eax
pop ecx
test eax, eax
je 0x4541d3
call fcn.004523db
test al, al
je 0x454251
mov dh, byte [edi + 0x71]
test byte [eax + 0x5c250d75], dl
inc eax
sub byte [edx], 0xbc
mov ds, word [ebx + 0x54]
mov dh, 0xd9
cmp bh, dl
jne 0x4542c1
inc edi
mov ecx, 0x414b26cd
xchg edi, eax
call fcn.004524ef
test al, al
je 0x454278
int3
push dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
push 0
push esi
call fcn.00480640
add esp, 0xc
lea eax, [ebp - 0x100]
push 0
push eax
push dword [ebp - 0xec]
push esi
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.00452351
test al, al
je 0x4542cb
imul esi, dword [esi], 0xe778dc4b
rcl ch, 1
mov byte [edi + 0x5f], cl
cli
invalid
invalid
call fcn.004520e4
test al, al
je 0x4542ec
xor byte [esi], bl
mov esi, 0xb0105b89
push es
scasb al, byte es:[edi]
fcom dword [esi - 0x793f66c4]
push edi
mov ah, 0x43
scasd eax, dword es:[edi]
and eax, edx
cdq
jmp 0x23c0d8
call fcn.0045216e
test al, al
je 0x45430d
lodsd eax, dword [esi]
lds ebp, [esi + 0x3f]
push eax
push cs
jno 0x45434c
cmp eax, 0xf607811e
mov ch, 0x12
sub byte [ebp + 0x69], 0x84
cld
lodsd eax, dword [esi]
sbb dword [esi], eax
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xec]
mov ebx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xe4]
push ebx
call fcn.0047cc95
push ebx
call fcn.0046d837
pop ecx
call fcn.0045230c
test al, al
je 0x454353
xchg edx, eax
loopne 0x4543be
inc ebp
mov ch, ch
sub eax, 0x25e0c26c
mov esp, 0x6495fe80
dec edx
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0047c4e0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.004578fb
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0040c9b0
call fcn.004522c7
test al, al
je 0x45439f
or esp, edx
xchg ecx, eax
dec ebp
ret 0x2c79
call fcn.004520e4
test al, al
je 0x4543c6
cmp cl, byte [edx + 0x5d]
mov al, 0x2e
wait
lahf
shr dword [ebx + esi*2 + 0x4b], cl
pop ds
xchg ebp, eax
push ebx
xchg edx, eax
mov cl, 0x6e
xchg edi, eax
xor al, 0x8f
jp 0x454421
cli
mov ebx, 0xd5f4c98
cmp eax, dword [edi]
call fcn.004521b3
test al, al
je 0x4543ee
invalid
xor esi, esi
cmp dword [ebp - 0x30], esi
jbe 0x454404
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004029b0
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.0041edb0
mov edi, dword [ebp - 0xf4]
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00452e72
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.0041edb0
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.0041edb0
mov eax, edi
call fcn.0046dc84
ret