Function at 0x402a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x128
push ebp
push esi
mov esi, dword [esp + 0x140]
push 0x428490
push esi
call fcn.0040ebf7
mov ebp, eax
add esp, 8
mov dword [esp + 0x74], ebp
test ebp, ebp
jne 0x402a61
push esi
push str.Couldnt_open__s_n
call fcn.00407830
add esp, 8
or eax, 0xffffffff
pop esi
pop ebp
add esp, 0x128
ret
push edi
mov edi, dword [esp + 0x138]
mov edx, 0xd
mov eax, edi
mov ecx, 0x20
nop word [eax + eax]
mov dword [eax], 0
add eax, 0xe0
sub ecx, 1
jne 0x402a80
sub edx, 1
jne 0x402a70
push ebx
push ebp
lea eax, [esp + 0x94]
xor ebx, ebx
push 0x64
push eax
call fcn.0040eb35
mov esi, dword [esp + 0x14c]
add esp, 0xc
test eax, eax
je 0x402f65
mov ebp, dword [esp + 0x144]
push 0xd
lea eax, [esp + 0xd0]
push str.END_OF_HEADER
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
je 0x402f61
push 0xd
lea eax, [esp + 0xd0]
push str.RINEX_VERSION___TYPE
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
jne 0x402b8e
push 0xa
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
lea eax, [esp + 0x8c]
mov byte [esp + 0x26], 0
push eax
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push 0x4284d0
push eax
movsd qword [esp + 0x98], xmm0
call fcn.004078d0
movsd xmm0, qword [esp + 0x98]
add esp, 0x18
ucomisd xmm0, qword [0x4299f8]
lahf
test ah, 0x44
jnp 0x40398e
ucomisd xmm0, qword [0x4299f0]
lahf
test ah, 0x44
jnp 0x402f43
sub esp, 8
movsd qword [esp], xmm0
push str.RINEX_version_2_required__version__lG_is_not_supported_n
call fcn.00407830
add esp, 0xc
or eax, 0xffffffff
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x128
ret
push 9
lea eax, [esp + 0xd0]
push str.ION_ALPHA
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
jne 0x402cba
push 0xc
lea eax, [esp + 0x96]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x1c], 0
xor eax, eax
nop dword [eax + eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x402bdc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402bd0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xa6]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 8]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x402c1c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402c10
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xb2]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x10]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x402c5c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402c50
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xbe]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x18]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x402c9c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402c90
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
add esp, 4
or ebx, 1
fstp qword [esi + 0x20]
jmp 0x402f43
push 8
lea eax, [esp + 0xd0]
push str.ION_BETA
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
jne 0x402dda
push 0xc
lea eax, [esp + 0x96]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x1c], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x402d03
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402cf7
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xa6]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x28]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x402d40
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402d34
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xb2]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x30]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x402d7d
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402d71
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0xc
lea eax, [esp + 0xbe]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x38]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x1c], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x402dbc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0xc
jl 0x402db0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
add esp, 4
or ebx, 2
fstp qword [esi + 0x40]
jmp 0x402f43
push 9
lea eax, [esp + 0xd0]
push str.DELTA_UTC
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
jne 0x402efc
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x402e23
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x402e17
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xae]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x48]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x402e60
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x402e54
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 9
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + 0x50]
call fcn.0040a690
lea eax, [esp + 0x20]
mov byte [esp + 0x29], 0
push eax
call fcn.0040e6fb
mov dword [esi + 0x5c], eax
lea eax, [esp + 0xd6]
push 9
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0040a690
lea eax, [esp + 0x30]
mov byte [esp + 0x39], 0
push eax
call fcn.0040e6fb
mov dword [ebp], eax
lea eax, [esp + 0x34]
push eax
call fcn.0040e6fb
add esp, 0x28
and eax, 0x800000ff
jns 0x402eda
dec eax
or eax, 0xffffff00
inc eax
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x5c]
and eax, 0x80000fff
jns 0x402eee
dec eax
or eax, 0xfffff000
inc eax
mov ecx, ebx
or ecx, 4
test eax, eax
cmovne ecx, ebx
mov ebx, ecx
jmp 0x402f43
push 0xc
lea eax, [esp + 0xd0]
push str.LEAP_SECONDS
push eax
call fcn.0040a4e0
add esp, 0xc
test eax, eax
jne 0x402f43
push 6
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
lea eax, [esp + 0x1c]
mov byte [esp + 0x22], 0
push eax
call fcn.0040e6fb
add esp, 0x10
mov dword [esi + 0x58], eax
or ebx, 8
push dword [esp + 0x7c]
lea eax, [esp + 0x94]
push 0x64
push eax
call fcn.0040eb35
add esp, 0xc
test eax, eax
jne 0x402ac1
mov ebp, dword [esp + 0x7c]
xor eax, eax
mov dword [esp + 0x78], 0xffffffff
cmp ebx, 0xf
xorps xmm0, xmm0
push ebp
sete al
movq qword [esp + 0x124], xmm0
mov dword [esi + 4], eax
xor ebx, ebx
lea eax, [esp + 0x94]
mov dword [esp + 0x84], ebx
push 0x64
push eax
call fcn.0040eb35
add esp, 0xc
test eax, eax
je 0x403d26
nop dword [eax + eax]
push 2
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
lea eax, [esp + 0x1c]
mov byte [esp + 0x1e], 0
push eax
call fcn.0040e6fb
push 2
xorps xmm0, xmm0
mov dword [esp + 0x128], 0
movups xmmword [esp + 0x110], xmm0
lea esi, [eax - 1]
mov dword [esp + 0x13c], 0
lea eax, [esp + 0xa7]
movq qword [esp + 0x120], xmm0
push eax
lea eax, [esp + 0x28]
movq qword [esp + 0x148], xmm0
push eax
call fcn.0040a690
lea eax, [esp + 0x2c]
mov byte [esp + 0x2e], 0
push eax
call fcn.0040e6fb
push 2
lea ebx, [eax + 0x7d0]
lea eax, [esp + 0xba]
mov dword [esp + 0x11c], ebx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0040a690
lea eax, [esp + 0x3c]
mov byte [esp + 0x3e], 0
push eax
call fcn.0040e6fb
mov ebp, eax
lea eax, [esp + 0xc9]
push 2
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x134], ebp
push eax
call fcn.0040a690
lea eax, [esp + 0x4c]
mov byte [esp + 0x4e], 0
push eax
call fcn.0040e6fb
add esp, 0x40
mov dword [esp + 0x100], eax
lea eax, [esp + 0x9c]
push 2
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
lea eax, [esp + 0x1c]
mov byte [esp + 0x1e], 0
push eax
call fcn.0040e6fb
mov dword [esp + 0x114], eax
lea eax, [esp + 0xaf]
push 2
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0040a690
lea eax, [esp + 0x2c]
mov byte [esp + 0x2e], 0
push eax
call fcn.0040e6fb
mov dword [esp + 0x128], eax
lea eax, [esp + 0xc2]
push 4
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0040a690
lea eax, [esp + 0x3c]
mov byte [esp + 0x3e], 0
push eax
call fcn.0040df38
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0x12c]
push eax
fstp qword [esp + 0x148]
call fcn.00401200
movups xmm2, xmmword [esp + 0x160]
add esp, 0x38
cmp dword [esp + 0x78], 0xffffffff
jne 0x40314a
movups xmmword [esp + 0x118], xmm2
mov eax, dword [esp + 0x118]
mov dword [esp + 0x78], eax
movd ecx, xmm2
movaps xmm3, xmm2
mov edx, dword [esp + 0x80]
unpckhpd xmm3, xmm2
mov eax, ecx
movaps xmm0, xmm3
sub eax, dword [esp + 0x78]
subsd xmm0, qword [esp + 0x120]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x429ad8]
addsd xmm1, xmm0
comisd xmm1, xmmword [0x429aa0]
jbe 0x4031b0
inc edx
mov dword [esp + 0x80], edx
movups xmmword [esp + 0x118], xmm2
cmp edx, 0xd
jge 0x403d44
mov eax, dword [esp + 0x118]
mov dword [esp + 0x78], eax
cmp byte [0x437ddc], 0
je 0x403207
movsd xmm0, qword [esp + 0x110]
lea eax, [esi + 1]
sub esp, 8
movsd qword [esp], xmm3
push ecx
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x11c]
push dword [esp + 0x11c]
push dword [esp + 0x11c]
push ebp
push ebx
push eax
lea eax, [edx + 1]
push eax
push str.Ephemeris__d__PRN__.2d:__4d__02d__02d__02d:_02d:_02.0f__Week__d___.0fs__n
call fcn.00407830
movups xmm2, xmmword [esp + 0x15c]
add esp, 0x34
mov ebx, dword [esp + 0x80]
mov eax, ebx
shl eax, 5
add eax, esi
imul esi, eax, 0xe0
movups xmmword [esi + edi + 8], xmm2
mov eax, dword [esi + edi + 8]
and eax, 0x800003ff
jns 0x403232
dec eax
or eax, 0xfffffc00
inc eax
mov dword [esi + edi + 8], eax
lea eax, [esp + 0xa6]
push 0x13
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x403260
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403254
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0xa8]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x4032a1
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403295
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0xb0]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x4032e2
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4032d6
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
mov ebp, dword [esp + 0x80]
lea eax, [esp + 0x94]
push ebp
push 0x64
push eax
fstp qword [esi + edi + 0xb8]
call fcn.0040eb35
add esp, 0x10
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x40334c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403340
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
call fcn.00407fa0
mov dword [esi + edi + 0x2c], eax
lea eax, [esp + 0xae]
push 0x13
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040a690
add esp, 0x14
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x40339c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403390
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x60]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x4033dc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4033d0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x30]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x40341c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403410
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ebp
lea eax, [esp + 0x98]
push 0x64
push eax
fstp qword [esi + edi + 0x78]
call fcn.0040eb35
add esp, 0x10
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x40347c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403470
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xae]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x38]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x4034bc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4034b0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x68]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x4034fc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4034f0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x40]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x40353c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403530
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ebp
lea eax, [esp + 0x98]
push 0x64
push eax
fstp qword [esi + edi + 0x70]
call fcn.0040eb35
add esp, 0x10
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x40359c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403590
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xae]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x20]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x4035dc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4035d0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x48]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x40361c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403610
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x80]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x40365d
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403651
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ebp
lea eax, [esp + 0x98]
push 0x64
push eax
fstp qword [esi + edi + 0x50]
call fcn.0040eb35
add esp, 0x10
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop word [eax + eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x4036bc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4036b0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xae]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x88]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x4036fd
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4036f1
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x58]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x40373c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403730
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0x90]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x40377d
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403771
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ebp
lea eax, [esp + 0x98]
push 0x64
push eax
fstp qword [esi + edi + 0x98]
call fcn.0040eb35
add esp, 0x10
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x4037dc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4037d0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xae]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0xa0]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x40381d
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403811
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
call fcn.00407fa0
mov dword [esi + edi + 0xd0], eax
lea eax, [esp + 0xc1]
push 0x13
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040a690
add esp, 0x14
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x40386c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403860
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
fstp qword [esp + 0x90]
cvttsd2si eax, qword [esp + 0x90]
and eax, 0x800003ff
jns 0x4038a3
dec eax
or eax, 0xfffffc00
inc eax
mov dword [esi + edi + 0x18], eax
lea eax, [esp + 0xd4]
push 0x13
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040a690
add esp, 0x14
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x4038d1
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x4038c5
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
call fcn.00407fa0
push ebp
mov dword [esi + edi + 0xd4], eax
lea eax, [esp + 0x9c]
push 0x64
push eax
call fcn.0040eb35
add esp, 0x14
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x40393c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403930
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
movsd xmm1, qword [0x429a00]
add esp, 8
fstp qword [esp + 0x88]
cvttsd2si eax, qword [esp + 0x88]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x4039a9
mov dword [esi + edi + 0xc8], 0
jmp 0x403b3e
push str.V2.01_data_not_supported__ensure_that_GPS_rather_than_GLONASS_files_are_used_n
call fcn.00407830
add esp, 4
or eax, 0xffffffff
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x128
ret
movsd xmm1, qword [0x429a08]
comisd xmm1, xmm0
jbe 0x4039c7
mov dword [esi + edi + 0xc8], 1
jmp 0x403b3e
movsd xmm1, qword [0x429a10]
comisd xmm1, xmm0
jbe 0x4039e5
mov dword [esi + edi + 0xc8], 2
jmp 0x403b3e
movsd xmm1, qword [0x429a18]
comisd xmm1, xmm0
jbe 0x403a03
mov dword [esi + edi + 0xc8], 3
jmp 0x403b3e
movsd xmm1, qword [0x429a20]
comisd xmm1, xmm0
jbe 0x403a21
mov dword [esi + edi + 0xc8], 4
jmp 0x403b3e
movsd xmm1, qword [0x429a28]
comisd xmm1, xmm0
jbe 0x403a3f
mov dword [esi + edi + 0xc8], 5
jmp 0x403b3e
movsd xmm1, qword [0x429a30]
comisd xmm1, xmm0
jbe 0x403a5d
mov dword [esi + edi + 0xc8], 6
jmp 0x403b3e
movsd xmm1, qword [0x429a48]
comisd xmm1, xmm0
jbe 0x403a7b
mov dword [esi + edi + 0xc8], 7
jmp 0x403b3e
movsd xmm1, qword [0x429a58]
comisd xmm1, xmm0
jbe 0x403a99
mov dword [esi + edi + 0xc8], 8
jmp 0x403b3e
movsd xmm1, qword [0x429a68]
comisd xmm1, xmm0
jbe 0x403ab7
mov dword [esi + edi + 0xc8], 9
jmp 0x403b3e
movsd xmm1, qword [0x429a70]
comisd xmm1, xmm0
jbe 0x403ad2
mov dword [esi + edi + 0xc8], 0xa
jmp 0x403b3e
movsd xmm1, qword [0x429a78]
comisd xmm1, xmm0
jbe 0x403aed
mov dword [esi + edi + 0xc8], 0xb
jmp 0x403b3e
movsd xmm1, qword [0x429a88]
comisd xmm1, xmm0
jbe 0x403b08
mov dword [esi + edi + 0xc8], 0xc
jmp 0x403b3e
movsd xmm1, qword [0x429a98]
comisd xmm1, xmm0
jbe 0x403b23
mov dword [esi + edi + 0xc8], 0xd
jmp 0x403b3e
movsd xmm1, qword [0x429aa8]
xor eax, eax
comisd xmm1, xmm0
setbe al
add eax, 0xe
mov dword [esi + edi + 0xc8], eax
push 0x13
lea eax, [esp + 0xaa]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x403b6c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403b60
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
add esp, 8
call fcn.00407fa0
mov dword [esi + edi + 0xcc], eax
lea ecx, [eax - 1]
cmp ecx, 0x1e
ja 0x403ba6
add eax, 0x20
mov dword [esi + edi + 0xcc], eax
push 0x13
lea eax, [esp + 0xbd]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x403bd0
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403bc4
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push 0x13
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x1c]
push eax
fstp qword [esi + edi + 0xc0]
call fcn.0040a690
add esp, 0x10
mov byte [esp + 0x23], 0
xor eax, eax
cmp byte [esp + eax + 0x10], 0x44
jne 0x403c11
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403c05
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
call fcn.00407fa0
push ebp
mov dword [esi + edi + 0x28], eax
lea eax, [esp + 0x9c]
push 0x64
push eax
call fcn.0040eb35
add esp, 0x14
test eax, eax
je 0x403d26
push 0x13
lea eax, [esp + 0x97]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040a690
add esp, 0xc
mov byte [esp + 0x23], 0
xor eax, eax
nop dword [eax]
cmp byte [esp + eax + 0x10], 0x44
jne 0x403c7c
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403c70
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
call fcn.00407fa0
mov dword [esi + edi + 0xd8], eax
lea eax, [esp + 0xae]
push 0x13
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040a690
add esp, 0x14
mov byte [esp + 0x23], 0
xor eax, eax
nop
cmp byte [esp + eax + 0x10], 0x44
jne 0x403ccc
mov byte [esp + eax + 0x10], 0x45
inc eax
cmp eax, 0x13
jl 0x403cc0
lea eax, [esp + 0x10]
push eax
call fcn.0040df38
push ecx
fstp qword [esp]
call fcn.0041554b
fstp qword [esp + 0x90]
cvttsd2si eax, qword [esp + 0x90]
xor ecx, ecx
mov dword [esi + edi], 1
push ebp
push 0x64
cmp eax, 4
lea eax, [esp + 0xa0]
push eax
setg cl
mov dword [esi + edi + 0xdc], ecx
call fcn.0040eb35
add esp, 0x14
test eax, eax
jne 0x402fb0
push ebp
call fcn.0040e9bb
add esp, 4
cmp dword [esp + 0x78], 0
jl 0x403d37
inc ebx
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x128
ret
push 0xc
push str.Error:_file_contains_too_many_ephemerides_sets__up_to__d_supported__n
call fcn.00407830
add esp, 8
or eax, 0xffffffff
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x128
ret