// File: DoubleString[P]eph_converter/src/Com.cpp
// Function: getbdsiode(GPSEPH&)
unsigned int getbdsiode(GPSEPH& bdseph) {
	unsigned char buffer[80];
	int size = 0;
	int numbits = 0;
	long long bitbuffer = 0;
	unsigned char *startbuffer = buffer;

	BDSADDBITSFLOAT(14, bdseph.idot, M_PI/(double)(1<<30)/(double)(1<<13));
	BDSADDBITSFLOAT(11, bdseph.a2,
			1.0 / (double )(1 << 30) / (double )(1 << 30) / (double )(1 << 6));
	BDSADDBITSFLOAT(22, bdseph.a1,
			1.0 / (double )(1 << 30) / (double )(1 << 20));
	BDSADDBITSFLOAT(24, bdseph.a0, 1.0 / (double )(1 << 30) / (double )(1 << 3));
	BDSADDBITSFLOAT(18, bdseph.crs, 1.0 / (double )(1 << 6));
	BDSADDBITSFLOAT(16, bdseph.dn, M_PI/(double)(1<<30)/(double)(1<<13));
	BDSADDBITSFLOAT(32, bdseph.m0, M_PI/(double)(1<<30)/(double)(1<<1));
	BDSADDBITSFLOAT(18, bdseph.cuc,
			1.0 / (double )(1 << 30) / (double )(1 << 1));
	BDSADDBITSFLOAT(32, bdseph.e, 1.0 / (double )(1 << 30) / (double )(1 << 3));
	BDSADDBITSFLOAT(18, bdseph.cus,
			1.0 / (double )(1 << 30) / (double )(1 << 1));
	BDSADDBITSFLOAT(32, bdseph.roota, 1.0 / (double )(1 << 19));
	BDSADDBITSFLOAT(18, bdseph.cic,
			1.0 / (double )(1 << 30) / (double )(1 << 1));
	BDSADDBITSFLOAT(32, bdseph.omega0, M_PI/(double)(1<<30)/(double)(1<<1));
	BDSADDBITSFLOAT(18, bdseph.cis,
			1.0 / (double )(1 << 30) / (double )(1 << 1));
	BDSADDBITSFLOAT(32, bdseph.i0, M_PI/(double)(1<<30)/(double)(1<<1));
	BDSADDBITSFLOAT(18, bdseph.crc, 1.0 / (double )(1 << 6));
	BDSADDBITSFLOAT(32, bdseph.omega, M_PI/(double)(1<<30)/(double)(1<<1));
	BDSADDBITSFLOAT(24, bdseph.omegadot, M_PI/(double)(1<<30)/(double)(1<<13));
	BDSADDBITS(5, 0); // the last byte is filled by 0-bits to obtain a length of an integer multiple of 8

	return CRC24(size, startbuffer);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x8(%rbp)
movl $0x0, -0x64(%rbp)
movl $0x0, -0x68(%rbp)
movq $0x0, -0x70(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rax
movsd 0xa8(%rax), %xmm0
movsd 0x2c57(%rip), %xmm1     # 0x182f8
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rax
shlq $0xe, %rax
movq %rax, -0x110(%rbp)
movq -0x80(%rbp), %rdi
callq 0x16790
movq -0x110(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3fff, %rcx           # imm = 0x3FFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0xe, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15721
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x156ee
movq -0x8(%rbp), %rax
movsd 0x20(%rax), %xmm0
movsd 0x2bce(%rip), %xmm1     # 0x18300
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x88(%rbp)
movq -0x70(%rbp), %rax
shlq $0xb, %rax
movq %rax, -0x118(%rbp)
movq -0x88(%rbp), %rdi
callq 0x16790
movq -0x118(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x7ff, %rcx            # imm = 0x7FF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0xb, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x157b8
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15785
movq -0x8(%rbp), %rax
movsd 0x18(%rax), %xmm0
movsd 0x2b3f(%rip), %xmm1     # 0x18308
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x90(%rbp)
movq -0x70(%rbp), %rax
shlq $0x16, %rax
movq %rax, -0x120(%rbp)
movq -0x90(%rbp), %rdi
callq 0x16790
movq -0x120(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3fffff, %rcx         # imm = 0x3FFFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x16, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x1584f
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x1581c
movq -0x8(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd 0x2ab0(%rip), %xmm1     # 0x18310
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x98(%rbp)
movq -0x70(%rbp), %rax
shlq $0x18, %rax
movq %rax, -0x128(%rbp)
movq -0x98(%rbp), %rdi
callq 0x16790
movq -0x128(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0xffffff, %rcx         # imm = 0xFFFFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x18, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x158e6
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x158b3
movq -0x8(%rbp), %rax
movsd 0x30(%rax), %xmm0
movsd 0x2a21(%rip), %xmm1     # 0x18318
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x130(%rbp)
movq -0xa0(%rbp), %rdi
callq 0x16790
movq -0x130(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x1597d
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x1594a
movq -0x8(%rbp), %rax
movsd 0x38(%rax), %xmm0
movsd 0x296a(%rip), %xmm1     # 0x182f8
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xa8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x10, %rax
movq %rax, -0x138(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x16790
movq -0x138(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0xffff, %rcx           # imm = 0xFFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15a14
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x159e1
movq -0x8(%rbp), %rax
movsd 0x40(%rax), %xmm0
movsd 0x28fb(%rip), %xmm1     # 0x18320
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xb0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x140(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x16790
movq -0x140(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15ab1
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15a7e
movq -0x8(%rbp), %rax
movsd 0x48(%rax), %xmm0
movsd 0x2866(%rip), %xmm1     # 0x18328
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xb8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x148(%rbp)
movq -0xb8(%rbp), %rdi
callq 0x16790
movq -0x148(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15b48
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15b15
movq -0x8(%rbp), %rax
movsd 0x50(%rax), %xmm0
movsd 0x27b7(%rip), %xmm1     # 0x18310
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x150(%rbp)
movq -0xc0(%rbp), %rdi
callq 0x16790
movq -0x150(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15be5
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15bb2
movq -0x8(%rbp), %rax
movsd 0x58(%rax), %xmm0
movsd 0x2732(%rip), %xmm1     # 0x18328
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xc8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x158(%rbp)
movq -0xc8(%rbp), %rdi
callq 0x16790
movq -0x158(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15c7c
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15c49
movq -0x8(%rbp), %rax
movsd 0x60(%rax), %xmm0
movsd 0x26a3(%rip), %xmm1     # 0x18330
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xd0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x160(%rbp)
movq -0xd0(%rbp), %rdi
callq 0x16790
movq -0x160(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15d19
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15ce6
movq -0x8(%rbp), %rax
movsd 0x70(%rax), %xmm0
movsd 0x25fe(%rip), %xmm1     # 0x18328
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xd8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x168(%rbp)
movq -0xd8(%rbp), %rdi
callq 0x16790
movq -0x168(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15db0
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15d7d
movq -0x8(%rbp), %rax
movsd 0x78(%rax), %xmm0
movsd 0x255f(%rip), %xmm1     # 0x18320
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xe0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x170(%rbp)
movq -0xe0(%rbp), %rdi
callq 0x16790
movq -0x170(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15e4d
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15e1a
movq -0x8(%rbp), %rax
movsd 0x80(%rax), %xmm0
movsd 0x24c7(%rip), %xmm1     # 0x18328
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xe8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x178(%rbp)
movq -0xe8(%rbp), %rdi
callq 0x16790
movq -0x178(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15ee7
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15eb4
movq -0x8(%rbp), %rax
movsd 0x88(%rax), %xmm0
movsd 0x2425(%rip), %xmm1     # 0x18320
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xf0(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x180(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x16790
movq -0x180(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x15f87
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15f54
movq -0x8(%rbp), %rax
movsd 0x90(%rax), %xmm0
movsd 0x237d(%rip), %xmm1     # 0x18318
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0xf8(%rbp)
movq -0x70(%rbp), %rax
shlq $0x12, %rax
movq %rax, -0x188(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x16790
movq -0x188(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x3ffff, %rcx          # imm = 0x3FFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x12, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x16021
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x15fee
movq -0x8(%rbp), %rax
movsd 0x98(%rax), %xmm0
movsd 0x22eb(%rip), %xmm1     # 0x18320
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x100(%rbp)
movq -0x70(%rbp), %rax
shlq $0x20, %rax
movq %rax, -0x190(%rbp)
movq -0x100(%rbp), %rdi
callq 0x16790
movq -0x190(%rbp), %rax
cvttsd2si %xmm0, %rcx
movabsq $0xffffffff, %rdx       # imm = 0xFFFFFFFF
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x160c1
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x1608e
movq -0x8(%rbp), %rax
movsd 0xa0(%rax), %xmm0
movsd 0x2223(%rip), %xmm1     # 0x182f8
divsd %xmm1, %xmm0
callq 0x3140
cvttsd2si %xmm0, %rax
movq %rax, -0x108(%rbp)
movq -0x70(%rbp), %rax
shlq $0x18, %rax
movq %rax, -0x198(%rbp)
movq -0x108(%rbp), %rdi
callq 0x16790
movq -0x198(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0xffffff, %rcx         # imm = 0xFFFFFF
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x18, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x1615b
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x16128
movq -0x70(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x1a0(%rbp)
xorl %edi, %edi
callq 0x167b0
movq -0x1a0(%rbp), %rax
cvttsd2si %xmm0, %rcx
andq $0x1f, %rcx
orq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
addl $0x5, %eax
movl %eax, -0x68(%rbp)
cmpl $0x8, -0x68(%rbp)
jl 0x161c4
movq -0x70(%rbp), %rax
movl -0x68(%rbp), %ecx
subl $0x8, %ecx
movl %ecx, %ecx
sarq %cl, %rax
movb %al, %cl
movl -0x64(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x64(%rbp)
cltq
movb %cl, -0x60(%rbp,%rax)
movl -0x68(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x68(%rbp)
jmp 0x16191
movslq -0x64(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x161e0
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
nopw (%rax,%rax)