Function at 0x101e4ff8
Capabilities:
Get file size
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10274067
mov eax, dword fs:[0]
push eax
mov eax, 0x2254
call fcn.1026ac00
mov eax, dword [0x10285008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x2230]
mov esi, dword [ebp + 8]
mov edi, dword [0x102c7ff4]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2250], esi
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x224c], edi
call fcn.100b5a8d
and dword [ebp - 4], 0
cmp dword [ebp - 0x2234], 0
je 0x101e50d9
mov ecx, ebx
call fcn.102111c7
cmp eax, ebx
jne 0x101e50d9
lea eax, [ebp - 0x2238]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x2234]
lea ecx, [ebp - 0x2230]
call fcn.100b5c1c
neg eax
sbb eax, eax
not eax
and dword [ebp - 0x2238], eax
je 0x101e513d
push 0xffffffffffffffff
push 0x1004de3c
lea ecx, [ebp - 0x2230]
call fcn.100b594f
test eax, eax
jne 0x101e513d
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x2230]
call fcn.100b594f
test eax, eax
jne 0x101e513d
cmp dword [ebp - 0x2228], 2
sbb ebx, ebx
not ebx
and ebx, dword [ebp - 0x2230]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push esi
call dword [0x102a9c60]
mov dword [ebp - 0x2248], eax
test eax, eax
je 0x101e53f5
cmp eax, 0xffffffff
je 0x101e53f5
lea ecx, [ebp - 0x2260]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x2234], eax
cmp eax, 0xffffffff
jne 0x101e5182
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x101e5182
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x101e5152
mov edi, 0x80004005
jmp 0x101e5167
push 0x100a05f0
call fcn.100d3aab
pop ecx
mov edi, 0x8007000e
jmp 0x101e5431
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x101e5167
movzx edi, di
or edi, 0x80070000
mov ecx, edi
call fcn.10210755
push eax
push esi
push 0x100a0668
call fcn.100d3aab
add esp, 0xc
jmp 0x101e53a6
mov ecx, ebx
call fcn.102111c7
cmp eax, ebx
je 0x101e5196
push ecx
push ebx
mov ecx, edi
call fcn.101e4eba
mov esi, dword [edi]
lea eax, [ebp - 0x2258]
push eax
xor eax, eax
cmp dword [ebp + 0x14], eax
mov esi, dword [esi + 0x210]
mov ecx, esi
push 0x80
setne al
inc eax
push eax
push 0
push 0x40000000
push ebx
call dword [0x102dc578]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
je 0x101e51de
mov ecx, edi
call fcn.10210755
push eax
push ebx
push 0x100a06b4
jmp 0x101e5175
mov esi, dword [ebp - 0x2260]
xor edi, edi
or edi, dword [ebp - 0x2234]
push 3
pop ecx
call fcn.101f2ce4
test eax, eax
mov eax, dword [0x102c801c]
je 0x101e51fe
dec eax
mov dword [ebp - 0x2234], eax
test esi, esi
jne 0x101e522e
cmp edi, 0x100000
ja 0x101e522e
add edi, 0x3ff
adc esi, esi
shrd edi, esi, 0xa
shr esi, 0xa
push esi
push edi
push dword [ebp - 0x2250]
push 0x100a071c
jmp 0x101e5286
mov eax, esi
mov dword [ebp - 0x2240], edi
and esi, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x223c], esi
fild qword [ebp - 0x2240]
and dword [ebp - 0x2240], 0
mov dword [ebp - 0x223c], eax
push ecx
fild qword [ebp - 0x2240]
push ecx
fchs
faddp st(1)
fstp qword [ebp - 0x2240]
fld qword [ebp - 0x2240]
fmul qword [0x100b2860]
fstp qword [esp]
push dword [ebp - 0x2250]
push 0x100a06ec
call fcn.100d3a67
add esp, 0x10
jmp 0x101e533b
push 0
lea eax, [ebp - 0x2244]
push eax
push 0x2000
lea eax, [ebp - 0x2010]
push eax
push dword [ebp - 0x2248]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x101e53bf
cmp dword [ebp - 0x2244], 0
je 0x101e53bb
mov edi, dword [ebp - 0x224c]
lea eax, [ebp - 0x225c]
push eax
push dword [ebp - 0x2244]
lea eax, [ebp - 0x2010]
mov esi, dword [edi]
push eax
push dword [ebp - 0x2254]
push dword [ebp - 0x2258]
mov esi, dword [esi + 0x218]
mov ecx, esi
call dword [0x102dc578]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
jne 0x101e536c
mov eax, dword [ebp - 0x225c]
cmp eax, dword [ebp - 0x2244]
jne 0x101e53b4
mov esi, dword [ebp - 0x2238]
test esi, esi
ja 0x101e534a
jb 0x101e532b
cmp ebx, eax
ja 0x101e534a
push 0x10062c50
call fcn.100d3a67
pop ecx
call fcn.100d2d40
xor eax, eax
mov ebx, 0x40000
mov dword [ebp - 0x2238], eax
jmp 0x101e5355
sub ebx, eax
sbb esi, 0
mov dword [ebp - 0x2238], esi
mov eax, dword [ebp - 0x2234]
cmp eax, dword [0x102c801c]
je 0x101e5293
mov edi, 0xd000013a
mov ecx, edi
call fcn.10210755
push eax
push 0x100a0750
call fcn.100d3aab
pop ecx
mov ebx, dword [ebp - 0x224c]
pop ecx
push dword [ebp - 0x2254]
mov eax, dword [ebx]
push dword [ebp - 0x2258]
mov esi, dword [eax + 0x21c]
mov ecx, esi
call dword [0x102dc578]
mov ecx, ebx
call esi
push dword [ebp - 0x2248]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x101e5431
mov edi, 0x80070070
jmp 0x101e53e5
xor edi, edi
jmp 0x101e53e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x101e53d0
mov edi, 0x80004005
jmp 0x101e536c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x101e53e7
movzx edi, di
or edi, 0x80070000
test edi, edi
jne 0x101e536c
push 0x100597b0
call fcn.100d3a67
jmp 0x101e537f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x101e5406
mov edi, 0x80004005
jmp 0x101e541b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x101e541b
movzx edi, di
or edi, 0x80070000
mov ecx, edi
call fcn.10210755
push eax
push esi
push 0x100a0630
call fcn.100d3aab
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2230]
call fcn.100b5ef7
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10236010
mov esp, ebp
pop ebp
ret 0x10