Function at 0x100310a7
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x100c77f4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100f36cc]
mov ecx, dword [eax]
push ebx
push esi
push edi
push dword [eax + 4]
mov dword [ebp - 0x134], edx
push 0
call fcn.10039006
pop ecx
pop ecx
mov ecx, dword [0x100f36cc]
mov dword [ecx + 8], eax
test eax, eax
je 0x10031473
push eax
mov esi, 0xfc
push esi
lea eax, [ebp - 0x108]
push 1
push eax
call fcn.10069356
add esp, 0x10
cmp eax, esi
jne 0x10031473
mov eax, dword [0x100f36cc]
push dword [eax + 8]
mov esi, 0x960
push esi
add eax, 0xd5c
push 1
push eax
call fcn.10069356
add esp, 0x10
cmp eax, esi
jne 0x10031473
mov eax, dword [0x100f36cc]
push dword [eax + 8]
lea eax, [ebp - 0x130]
push 3
pop esi
push esi
push 8
push eax
call fcn.10069356
add esp, 0x10
cmp eax, esi
jne 0x10031473
fld1
fcomp qword [ebp - 0x120]
fnstsw ax
test ah, 0x41
je 0x10031178
fld qword [0x100b6330]
fcomp qword [ebp - 0x120]
fnstsw ax
test ah, 5
jnp 0x10031178
xor eax, eax
jmp 0x1003117b
xor eax, eax
inc eax
mov ebx, dword [0x100f36cc]
mov word [ebx + 0xc], ax
xor eax, eax
lea ecx, [ebx + 0xc90]
fld qword [ebp + eax*8 - 0x130]
inc eax
fstp qword [ecx]
add ecx, 8
cmp eax, esi
jl 0x1003118d
cmp word [ebx + 0xc], 0
je 0x100311b5
mov ecx, esi
push 8
pop esi
lea edx, [ebx + 0xc90]
call fcn.1003235c
fld qword [0x100b6328]
fcomp qword [ebx + 0xc90]
fnstsw ax
test ah, 0x41
je 0x10031419
fld qword [0x100b6320]
fcomp qword [ebx + 0xc98]
fnstsw ax
test ah, 5
jnp 0x10031419
fld1
fcomp qword [ebx + 0xca0]
fnstsw ax
test ah, 0x41
je 0x10031419
fld qword [0x100b6330]
fcomp qword [ebx + 0xca0]
fnstsw ax
test ah, 5
jnp 0x10031419
push dword [ebx + 8]
xor edi, edi
inc edi
push edi
push 4
pop esi
lea eax, [ebp - 0x140]
push esi
push eax
call fcn.10069356
add esp, 0x10
cmp eax, edi
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x10031249
mov ecx, edi
lea edx, [ebp - 0x140]
call fcn.1003235c
push dword [ebx + 8]
lea eax, [ebp - 0x148]
push edi
push 8
pop esi
push esi
push eax
call fcn.10069356
add esp, 0x10
cmp eax, edi
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x10031282
mov ecx, edi
lea edx, [ebp - 0x148]
call fcn.1003235c
push dword [ebx + 8]
lea eax, [ebp - 0x150]
push edi
push 8
pop esi
push esi
push eax
call fcn.10069356
add esp, 0x10
cmp eax, edi
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x100312bb
mov ecx, edi
lea edx, [ebp - 0x150]
call fcn.1003235c
push dword [ebx + 8]
add ebx, 0xcc0
push 0x24
push 4
pop esi
push esi
push ebx
call fcn.10069356
add esp, 0x10
push 0x24
pop ecx
cmp eax, ecx
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x100312f6
lea edx, [ebx + 0xcc0]
call fcn.1003235c
push dword [ebx + 8]
lea eax, [ebp - 0x13c]
push edi
push 4
pop esi
push esi
push eax
call fcn.10069356
add esp, 0x10
cmp eax, edi
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x1003132f
mov ecx, edi
lea edx, [ebp - 0x13c]
call fcn.1003235c
push dword [ebx + 8]
lea eax, [ebp - 0x114]
push 3
push 4
pop esi
push esi
push eax
call fcn.10069356
add esp, 0x10
cmp eax, 3
jne 0x10031473
mov ebx, dword [0x100f36cc]
cmp word [ebx + 0xc], 0
je 0x1003136a
push eax
pop ecx
lea edx, [ebp - 0x114]
call fcn.1003235c
xor esi, esi
xor ecx, ecx
lea eax, [ebx + 0xd50]
mov edx, dword [ebp + ecx*4 - 0x114]
mov dword [eax], edx
inc ecx
add eax, 4
cmp ecx, 3
jl 0x10031374
push dword [ebx + 8]
call fcn.100699b2
mov eax, dword [0x100f36cc]
pop ecx
mov dword [ebp - 0x138], esi
xor edx, edx
lea ecx, [eax + 0xcc0]
mov edi, dword [ecx]
cmp edi, dword [ebp - 0x138]
jle 0x100313b5
mov dword [ebp - 0x138], edi
lea edx, [esi + 1]
inc esi
add ecx, 0xc
cmp esi, 0xd
jl 0x100313a2
xor ecx, ecx
cmp edx, 0xc
setne cl
lea esi, [ecx + 2]
mov ecx, edx
imul ecx, ecx, 0xc
mov edi, dword [ecx + eax + 0xcbc]
imul edi, dword [ecx + eax + 0xcb8]
add edx, 0x10f
imul edi, esi
imul edx, edx, 0xc
add edi, dword [edx + eax]
lea eax, [edi + edi - 2]
cmp eax, 0x60a
jne 0x100313fa
add eax, 0x6a
lea ecx, [eax - 0x3e8]
cmp ecx, 0xfa0
jbe 0x10031476
cmp dword [ebp - 0x134], 0
je 0x10031473
push eax
push str.JPL_ephemeris_file_does_not_provide_valid_ksize___d_
jmp 0x10031465
mov edi, dword [ebp - 0x134]
test edi, edi
je 0x10031473
mov eax, dword [ebp - 0x134]
push 0xa
pop ecx
mov esi, str.alleged_ephemeris_file_has_invalid_format.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10031439
mov ebx, dword [ebx]
sub eax, esi
mov ecx, ebx
mov edi, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003144b
sub ecx, esi
lea eax, [ecx + edi + 3]
cmp eax, 0x100
jae 0x10031473
push ebx
push str.alleged_ephemeris_file___s__has_invalid_format.
push dword [ebp - 0x134]
call fcn.100675d6
add esp, 0xc
push 0xfffffffffffffffe
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10067574
leave
ret