4faf61:	79 18                	jns    0x4faf7b
4faf63:	5f                   	pop    %edi
4faf64:	ba 50 9f 6b 00       	mov    $0x6b9f50,%edx
4faf69:	5b                   	pop    %ebx
4faf6a:	8b c2                	mov    %edx,%eax
4faf6c:	5e                   	pop    %esi
4faf6d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4faf70:	33 cd                	xor    %ebp,%ecx
4faf72:	e8 63 65 0e 00       	call   0x5e14da
4faf77:	8b e5                	mov    %ebp,%esp
4faf79:	5d                   	pop    %ebp
4faf7a:	c3                   	ret
4faf7b:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4faf7e:	8b 42 04             	mov    0x4(%edx),%eax
4faf81:	f6 44 88 10 04       	testb  $0x4,0x10(%eax,%ecx,4)
4faf86:	0f 84 73 ff ff ff    	je     0x4faeff
4faf8c:	8b 14 88             	mov    (%eax,%ecx,4),%edx
4faf8f:	8b ca                	mov    %edx,%ecx
4faf91:	8d 71 01             	lea    0x1(%ecx),%esi
4faf94:	8a 01                	mov    (%ecx),%al
4faf96:	41                   	inc    %ecx
4faf97:	84 c0                	test   %al,%al
4faf99:	75 f9                	jne    0x4faf94
4faf9b:	2b ce                	sub    %esi,%ecx
4faf9d:	42                   	inc    %edx
4faf9e:	5f                   	pop    %edi
4faf9f:	03 d1                	add    %ecx,%edx
4fafa1:	5b                   	pop    %ebx
4fafa2:	8b c2                	mov    %edx,%eax
4fafa4:	5e                   	pop    %esi
4fafa5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fafa8:	33 cd                	xor    %ebp,%ecx
4fafaa:	e8 2b 65 0e 00       	call   0x5e14da
4fafaf:	8b e5                	mov    %ebp,%esp
4fafb1:	5d                   	pop    %ebp
4fafb2:	c3                   	ret
4fafb3:	8b 49 14             	mov    0x14(%ecx),%ecx
4fafb6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4fafb9:	8b 50 04             	mov    0x4(%eax),%edx
4fafbc:	8b 41 20             	mov    0x20(%ecx),%eax
4fafbf:	89 45 e0             	mov    %eax,-0x20(%ebp)
4fafc2:	8b 06                	mov    (%esi),%eax
4fafc4:	89 45 dc             	mov    %eax,-0x24(%ebp)
4fafc7:	8d 45 dc             	lea    -0x24(%ebp),%eax
4fafca:	52                   	push   %edx
4fafcb:	50                   	push   %eax
4fafcc:	89 75 e8             	mov    %esi,-0x18(%ebp)
4fafcf:	e8 9c fe ff ff       	call   0x4fae70
4fafd4:	83 c4 08             	add    $0x8,%esp
4fafd7:	8b d0                	mov    %eax,%edx
4fafd9:	5e                   	pop    %esi
4fafda:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fafdd:	33 cd                	xor    %ebp,%ecx
4fafdf:	e8 f6 64 0e 00       	call   0x5e14da
4fafe4:	8b e5                	mov    %ebp,%esp
4fafe6:	5d                   	pop    %ebp
4fafe7:	c3                   	ret
4fafe8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fafeb:	33 d2                	xor    %edx,%edx
4fafed:	33 cd                	xor    %ebp,%ecx
4fafef:	8b c2                	mov    %edx,%eax
4faff1:	5e                   	pop    %esi
4faff2:	e8 e3 64 0e 00       	call   0x5e14da
4faff7:	8b e5                	mov    %ebp,%esp
4faff9:	5d                   	pop    %ebp
4faffa:	c3                   	ret
4faffb:	cc                   	int3
4faffc:	cc                   	int3
4faffd:	cc                   	int3
4faffe:	cc                   	int3
4fafff:	cc                   	int3
4fb000:	55                   	push   %ebp
4fb001:	8b ec                	mov    %esp,%ebp
4fb003:	53                   	push   %ebx
4fb004:	56                   	push   %esi
4fb005:	8b 75 08             	mov    0x8(%ebp),%esi
4fb008:	ff 76 0c             	push   0xc(%esi)
4fb00b:	e8 a0 85 02 00       	call   0x5235b0
4fb010:	8a d8                	mov    %al,%bl
4fb012:	83 c4 04             	add    $0x4,%esp
4fb015:	8b 46 10             	mov    0x10(%esi),%eax
4fb018:	85 c0                	test   %eax,%eax
4fb01a:	74 27                	je     0x4fb043
4fb01c:	50                   	push   %eax
4fb01d:	e8 8e 85 02 00       	call   0x5235b0
4fb022:	83 c4 04             	add    $0x4,%esp
4fb025:	3c 40                	cmp    $0x40,%al
4fb027:	7e 46                	jle    0x4fb06f
4fb029:	80 fb 40             	cmp    $0x40,%bl
4fb02c:	7e 38                	jle    0x4fb066
4fb02e:	3c 43                	cmp    $0x43,%al
4fb030:	7d 0b                	jge    0x4fb03d
4fb032:	80 fb 43             	cmp    $0x43,%bl
4fb035:	7d 06                	jge    0x4fb03d
4fb037:	5e                   	pop    %esi
4fb038:	b0 41                	mov    $0x41,%al
4fb03a:	5b                   	pop    %ebx
4fb03b:	5d                   	pop    %ebp
4fb03c:	c3                   	ret
4fb03d:	5e                   	pop    %esi
4fb03e:	b0 43                	mov    $0x43,%al
4fb040:	5b                   	pop    %ebx
4fb041:	5d                   	pop    %ebp
4fb042:	c3                   	ret
4fb043:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
4fb04a:	74 2c                	je     0x4fb078
4fb04c:	8b 46 14             	mov    0x14(%esi),%eax
4fb04f:	8b 40 1c             	mov    0x1c(%eax),%eax
4fb052:	ff 70 04             	push   0x4(%eax)
4fb055:	e8 56 85 02 00       	call   0x5235b0
4fb05a:	83 c4 04             	add    $0x4,%esp
4fb05d:	3c 40                	cmp    $0x40,%al
4fb05f:	7e 0e                	jle    0x4fb06f
4fb061:	80 fb 40             	cmp    $0x40,%bl
4fb064:	7f c8                	jg     0x4fb02e
4fb066:	0f be c0             	movsbl %al,%eax
4fb069:	5e                   	pop    %esi
4fb06a:	0c 40                	or     $0x40,%al
4fb06c:	5b                   	pop    %ebx
4fb06d:	5d                   	pop    %ebp
4fb06e:	c3                   	ret
4fb06f:	0f be c3             	movsbl %bl,%eax
4fb072:	5e                   	pop    %esi
4fb073:	0c 40                	or     $0x40,%al
4fb075:	5b                   	pop    %ebx
4fb076:	5d                   	pop    %ebp
4fb077:	c3                   	ret
4fb078:	84 db                	test   %bl,%bl
4fb07a:	0f b6 c3             	movzbl %bl,%eax
4fb07d:	b9 41 00 00 00       	mov    $0x41,%ecx
4fb082:	5e                   	pop    %esi
4fb083:	0f 44 c1             	cmove  %ecx,%eax
4fb086:	5b                   	pop    %ebx
4fb087:	5d                   	pop    %ebp
4fb088:	c3                   	ret
4fb089:	cc                   	int3
4fb08a:	cc                   	int3
4fb08b:	cc                   	int3
4fb08c:	cc                   	int3
4fb08d:	cc                   	int3
4fb08e:	cc                   	int3
4fb08f:	cc                   	int3
4fb090:	55                   	push   %ebp
4fb091:	8b ec                	mov    %esp,%ebp
4fb093:	8b 55 0c             	mov    0xc(%ebp),%edx
4fb096:	53                   	push   %ebx
4fb097:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fb09a:	56                   	push   %esi
4fb09b:	57                   	push   %edi
4fb09c:	8d 3c 12             	lea    (%edx,%edx,1),%edi
4fb09f:	8b 4b 08             	mov    0x8(%ebx),%ecx
4fb0a2:	8b 73 04             	mov    0x4(%ebx),%esi
4fb0a5:	ff 34 91             	push   (%ecx,%edx,4)
4fb0a8:	8b 4e 4c             	mov    0x4c(%esi),%ecx
4fb0ab:	56                   	push   %esi
4fb0ac:	ff d1                	call   *%ecx
4fb0ae:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4fb0b1:	83 c4 08             	add    $0x8,%esp
4fb0b4:	66 89 04 0f          	mov    %ax,(%edi,%ecx,1)
4fb0b8:	8b 43 0c             	mov    0xc(%ebx),%eax
4fb0bb:	66 8b 04 07          	mov    (%edi,%eax,1),%ax
4fb0bf:	5f                   	pop    %edi
4fb0c0:	5e                   	pop    %esi
4fb0c1:	5b                   	pop    %ebx
4fb0c2:	5d                   	pop    %ebp
4fb0c3:	c3                   	ret
4fb0c4:	cc                   	int3
4fb0c5:	cc                   	int3
4fb0c6:	cc                   	int3
4fb0c7:	cc                   	int3
4fb0c8:	cc                   	int3
4fb0c9:	cc                   	int3
4fb0ca:	cc                   	int3
4fb0cb:	cc                   	int3
4fb0cc:	cc                   	int3
4fb0cd:	cc                   	int3
4fb0ce:	cc                   	int3
4fb0cf:	cc                   	int3
4fb0d0:	55                   	push   %ebp
4fb0d1:	8b ec                	mov    %esp,%ebp
4fb0d3:	57                   	push   %edi
4fb0d4:	8b 7d 08             	mov    0x8(%ebp),%edi
4fb0d7:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
4fb0db:	0f 85 a0 00 00 00    	jne    0x4fb181
4fb0e1:	56                   	push   %esi
4fb0e2:	57                   	push   %edi
4fb0e3:	e8 a8 00 00 00       	call   0x4fb190
4fb0e8:	8b 0f                	mov    (%edi),%ecx
4fb0ea:	83 c4 04             	add    $0x4,%esp
4fb0ed:	8b 47 04             	mov    0x4(%edi),%eax
4fb0f0:	81 c1 00 2e 93 02    	add    $0x2932e00,%ecx
4fb0f6:	83 d0 00             	adc    $0x0,%eax
4fb0f9:	6a 00                	push   $0x0
4fb0fb:	68 00 5c 26 05       	push   $0x5265c00
4fb100:	50                   	push   %eax
4fb101:	51                   	push   %ecx
4fb102:	e8 c9 70 0e 00       	call   0x5e21d0
4fb107:	c6 47 29 00          	movb   $0x0,0x29(%edi)
4fb10b:	c6 47 2b 01          	movb   $0x1,0x2b(%edi)
4fb10f:	66 0f 6e c8          	movd   %eax,%xmm1
4fb113:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
4fb118:	f3 0f e6 c9          	cvtdq2pd %xmm1,%xmm1
4fb11c:	f2 0f 5e 0d 78 08 69 	divsd  0x690878,%xmm1
4fb123:	00
4fb124:	f2 0f 2c f1          	cvttsd2si %xmm1,%esi
4fb128:	f7 ee                	imul   %esi
4fb12a:	66 0f 6e c6          	movd   %esi,%xmm0
4fb12e:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4fb132:	03 d6                	add    %esi,%edx
4fb134:	c1 fa 0b             	sar    $0xb,%edx
4fb137:	8b c2                	mov    %edx,%eax
4fb139:	c1 e8 1f             	shr    $0x1f,%eax
4fb13c:	03 c2                	add    %edx,%eax
4fb13e:	89 47 14             	mov    %eax,0x14(%edi)
4fb141:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
4fb145:	69 c0 f0 f1 ff ff    	imul   $0xfffff1f0,%eax,%eax
4fb14b:	03 f0                	add    %eax,%esi
4fb14d:	b8 89 88 88 88       	mov    $0x88888889,%eax
4fb152:	f7 ee                	imul   %esi
4fb154:	03 d6                	add    %esi,%edx
4fb156:	c1 fa 05             	sar    $0x5,%edx
4fb159:	8b ca                	mov    %edx,%ecx
4fb15b:	c1 e9 1f             	shr    $0x1f,%ecx
4fb15e:	03 ca                	add    %edx,%ecx
4fb160:	8b c1                	mov    %ecx,%eax
4fb162:	89 4f 18             	mov    %ecx,0x18(%edi)
4fb165:	c1 e0 04             	shl    $0x4,%eax
4fb168:	2b c1                	sub    %ecx,%eax
4fb16a:	c1 e0 02             	shl    $0x2,%eax
4fb16d:	2b f0                	sub    %eax,%esi
4fb16f:	66 0f 6e c6          	movd   %esi,%xmm0
4fb173:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4fb177:	5e                   	pop    %esi
4fb178:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
4fb17c:	f2 0f 11 47 20       	movsd  %xmm0,0x20(%edi)
4fb181:	5f                   	pop    %edi
4fb182:	5d                   	pop    %ebp
4fb183:	c3                   	ret
4fb184:	cc                   	int3
4fb185:	cc                   	int3
4fb186:	cc                   	int3
4fb187:	cc                   	int3
4fb188:	cc                   	int3
4fb189:	cc                   	int3
4fb18a:	cc                   	int3
4fb18b:	cc                   	int3
4fb18c:	cc                   	int3
4fb18d:	cc                   	int3
4fb18e:	cc                   	int3
4fb18f:	cc                   	int3
4fb190:	55                   	push   %ebp
4fb191:	8b ec                	mov    %esp,%ebp
4fb193:	51                   	push   %ecx
4fb194:	53                   	push   %ebx
4fb195:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fb198:	80 7b 28 00          	cmpb   $0x0,0x28(%ebx)
4fb19c:	0f 85 44 01 00 00    	jne    0x4fb2e6
4fb1a2:	80 7b 2a 00          	cmpb   $0x0,0x2a(%ebx)
4fb1a6:	56                   	push   %esi
4fb1a7:	74 36                	je     0x4fb1df
4fb1a9:	8b 4b 08             	mov    0x8(%ebx),%ecx
4fb1ac:	8b 43 10             	mov    0x10(%ebx),%eax
4fb1af:	8b 73 0c             	mov    0xc(%ebx),%esi
4fb1b2:	89 4d 08             	mov    %ecx,0x8(%ebp)
4fb1b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fb1b8:	81 f9 97 ed ff ff    	cmp    $0xffffed97,%ecx
4fb1be:	7c 08                	jl     0x4fb1c8
4fb1c0:	81 f9 0f 27 00 00    	cmp    $0x270f,%ecx
4fb1c6:	7e 27                	jle    0x4fb1ef
4fb1c8:	6a 30                	push   $0x30
4fb1ca:	6a 00                	push   $0x0
4fb1cc:	53                   	push   %ebx
4fb1cd:	e8 2e 88 0e 00       	call   0x5e3a00
4fb1d2:	83 c4 0c             	add    $0xc,%esp
4fb1d5:	c6 43 2e 01          	movb   $0x1,0x2e(%ebx)
4fb1d9:	5e                   	pop    %esi
4fb1da:	5b                   	pop    %ebx
4fb1db:	8b e5                	mov    %ebp,%esp
4fb1dd:	5d                   	pop    %ebp
4fb1de:	c3                   	ret
4fb1df:	b9 d0 07 00 00       	mov    $0x7d0,%ecx
4fb1e4:	be 01 00 00 00       	mov    $0x1,%esi
4fb1e9:	89 4d 08             	mov    %ecx,0x8(%ebp)
4fb1ec:	89 75 fc             	mov    %esi,-0x4(%ebp)
4fb1ef:	80 7b 29 00          	cmpb   $0x0,0x29(%ebx)
4fb1f3:	75 d3                	jne    0x4fb1c8
4fb1f5:	83 fe 02             	cmp    $0x2,%esi
4fb1f8:	7f 07                	jg     0x4fb201
4fb1fa:	49                   	dec    %ecx
4fb1fb:	83 c6 0c             	add    $0xc,%esi
4fb1fe:	89 4d 08             	mov    %ecx,0x8(%ebp)
4fb201:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
4fb206:	f7 e9                	imul   %ecx
4fb208:	8d 46 01             	lea    0x1(%esi),%eax
4fb20b:	69 c8 51 ab 04 00    	imul   $0x4ab51,%eax,%ecx
4fb211:	b8 ad 8b db 68       	mov    $0x68db8bad,%eax
4fb216:	c1 fa 05             	sar    $0x5,%edx
4fb219:	57                   	push   %edi
4fb21a:	8b fa                	mov    %edx,%edi
4fb21c:	c1 ef 1f             	shr    $0x1f,%edi
4fb21f:	03 fa                	add    %edx,%edi
4fb221:	f7 e9                	imul   %ecx
4fb223:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fb226:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
4fb22b:	81 c1 6c 12 00 00    	add    $0x126c,%ecx
4fb231:	c1 fa 0c             	sar    $0xc,%edx
4fb234:	69 c9 ad 8e 00 00    	imul   $0x8ead,%ecx,%ecx
4fb23a:	8b f2                	mov    %edx,%esi
4fb23c:	c1 ee 1f             	shr    $0x1f,%esi
4fb23f:	03 f2                	add    %edx,%esi
4fb241:	f7 e9                	imul   %ecx
4fb243:	8b c7                	mov    %edi,%eax
4fb245:	c1 fa 05             	sar    $0x5,%edx
4fb248:	8b ca                	mov    %edx,%ecx
4fb24a:	03 f2                	add    %edx,%esi
4fb24c:	99                   	cltd
4fb24d:	c1 e9 1f             	shr    $0x1f,%ecx
4fb250:	83 e2 03             	and    $0x3,%edx
4fb253:	03 c2                	add    %edx,%eax
4fb255:	03 ce                	add    %esi,%ecx
4fb257:	c1 f8 02             	sar    $0x2,%eax
4fb25a:	03 c8                	add    %eax,%ecx
4fb25c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fb25f:	2b cf                	sub    %edi,%ecx
4fb261:	83 c0 02             	add    $0x2,%eax
4fb264:	03 c1                	add    %ecx,%eax
4fb266:	66 0f 6e c0          	movd   %eax,%xmm0
4fb26a:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4fb26e:	f2 0f 5c 05 a0 c5 6b 	subsd  0x6bc5a0,%xmm0
4fb275:	00
4fb276:	f2 0f 59 05 c0 c5 6b 	mulsd  0x6bc5c0,%xmm0
4fb27d:	00
4fb27e:	e8 08 65 0e 00       	call   0x5e178b
4fb283:	80 7b 2b 00          	cmpb   $0x0,0x2b(%ebx)
4fb287:	89 03                	mov    %eax,(%ebx)
4fb289:	89 53 04             	mov    %edx,0x4(%ebx)
4fb28c:	c6 43 28 01          	movb   $0x1,0x28(%ebx)
4fb290:	74 52                	je     0x4fb2e4
4fb292:	8b 4b 14             	mov    0x14(%ebx),%ecx
4fb295:	8b 43 18             	mov    0x18(%ebx),%eax
4fb298:	f2 0f 10 43 20       	movsd  0x20(%ebx),%xmm0
4fb29d:	f2 0f 59 05 40 c6 6b 	mulsd  0x6bc640,%xmm0
4fb2a4:	00
4fb2a5:	c1 e1 04             	shl    $0x4,%ecx
4fb2a8:	2b 4b 14             	sub    0x14(%ebx),%ecx
4fb2ab:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4fb2ae:	69 c0 60 ea 00 00    	imul   $0xea60,%eax,%eax
4fb2b4:	99                   	cltd
4fb2b5:	8b f0                	mov    %eax,%esi
4fb2b7:	8b fa                	mov    %edx,%edi