422027:	03 06                	add    (%esi),%eax
422029:	50                   	push   %eax
42202a:	ff 75 08             	push   0x8(%ebp)
42202d:	89 7d fc             	mov    %edi,-0x4(%ebp)
422030:	e8 5b cf ff ff       	call   0x41ef90
422035:	89 3e                	mov    %edi,(%esi)
422037:	89 7e 04             	mov    %edi,0x4(%esi)
42203a:	83 c4 0c             	add    $0xc,%esp
42203d:	5f                   	pop    %edi
42203e:	5e                   	pop    %esi
42203f:	c9                   	leave
422040:	c3                   	ret
422041:	cc                   	int3
422042:	cc                   	int3
422043:	cc                   	int3
422044:	cc                   	int3
422045:	cc                   	int3
422046:	cc                   	int3
422047:	cc                   	int3
422048:	cc                   	int3
422049:	cc                   	int3
42204a:	cc                   	int3
42204b:	cc                   	int3
42204c:	cc                   	int3
42204d:	cc                   	int3
42204e:	cc                   	int3
42204f:	cc                   	int3
422050:	55                   	push   %ebp
422051:	8b ec                	mov    %esp,%ebp
422053:	83 ec 08             	sub    $0x8,%esp
422056:	83 e4 f0             	and    $0xfffffff0,%esp
422059:	dd 1c 24             	fstpl  (%esp)
42205c:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
422061:	e8 08 00 00 00       	call   0x42206e
422066:	c9                   	leave
422067:	c3                   	ret
422068:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
42206e:	ba 00 00 00 00       	mov    $0x0,%edx
422073:	66 0f 28 e8          	movapd %xmm0,%xmm5
422077:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
42207b:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
422080:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
422085:	66 0f 28 0d 70 ed 42 	movapd 0x42ed70,%xmm1
42208c:	00
42208d:	66 0f 28 15 80 ed 42 	movapd 0x42ed80,%xmm2
422094:	00
422095:	66 0f 28 1d e0 ed 42 	movapd 0x42ede0,%xmm3
42209c:	00
42209d:	66 0f 28 25 90 ed 42 	movapd 0x42ed90,%xmm4
4220a4:	00
4220a5:	66 0f 28 35 a0 ed 42 	movapd 0x42eda0,%xmm6
4220ac:	00
4220ad:	66 0f 54 c1          	andpd  %xmm1,%xmm0
4220b1:	66 0f 56 c3          	orpd   %xmm3,%xmm0
4220b5:	66 0f 58 e0          	addpd  %xmm0,%xmm4
4220b9:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
4220be:	25 f0 07 00 00       	and    $0x7f0,%eax
4220c3:	66 0f 28 a0 80 f2 42 	movapd 0x42f280(%eax),%xmm4
4220ca:	00
4220cb:	66 0f 28 b8 70 ee 42 	movapd 0x42ee70(%eax),%xmm7
4220d2:	00
4220d3:	66 0f 54 f0          	andpd  %xmm0,%xmm6
4220d7:	66 0f 5c c6          	subpd  %xmm6,%xmm0
4220db:	66 0f 59 f4          	mulpd  %xmm4,%xmm6
4220df:	66 0f 5c f2          	subpd  %xmm2,%xmm6
4220e3:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
4220e7:	66 0f 59 c4          	mulpd  %xmm4,%xmm0
4220eb:	66 0f 28 e0          	movapd %xmm0,%xmm4
4220ef:	66 0f 58 c6          	addpd  %xmm6,%xmm0
4220f3:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
4220f9:	83 e9 01             	sub    $0x1,%ecx
4220fc:	81 f9 fd 07 00 00    	cmp    $0x7fd,%ecx
422102:	0f 87 be 00 00 00    	ja     0x4221c6
422108:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
42210e:	03 ca                	add    %edx,%ecx
422110:	f2 0f 2a f1          	cvtsi2sd %ecx,%xmm6
422114:	66 0f 14 f6          	unpcklpd %xmm6,%xmm6
422118:	c1 e1 0a             	shl    $0xa,%ecx
42211b:	03 c1                	add    %ecx,%eax
42211d:	b9 10 00 00 00       	mov    $0x10,%ecx
422122:	ba 00 00 00 00       	mov    $0x0,%edx
422127:	83 f8 00             	cmp    $0x0,%eax
42212a:	0f 44 d1             	cmove  %ecx,%edx
42212d:	66 0f 28 0d 30 ee 42 	movapd 0x42ee30,%xmm1
422134:	00
422135:	66 0f 28 d8          	movapd %xmm0,%xmm3
422139:	66 0f 28 15 40 ee 42 	movapd 0x42ee40,%xmm2
422140:	00
422141:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
422145:	66 0f 59 db          	mulpd  %xmm3,%xmm3
422149:	66 0f 58 ca          	addpd  %xmm2,%xmm1
42214d:	66 0f 28 15 50 ee 42 	movapd 0x42ee50,%xmm2
422154:	00
422155:	f2 0f 59 db          	mulsd  %xmm3,%xmm3
422159:	66 0f 28 2d b0 ed 42 	movapd 0x42edb0,%xmm5
422160:	00
422161:	66 0f 59 f5          	mulpd  %xmm5,%xmm6
422165:	66 0f 28 aa c0 ed 42 	movapd 0x42edc0(%edx),%xmm5
42216c:	00
42216d:	66 0f 54 e5          	andpd  %xmm5,%xmm4
422171:	66 0f 58 fe          	addpd  %xmm6,%xmm7
422175:	66 0f 58 fc          	addpd  %xmm4,%xmm7
422179:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
42217d:	f2 0f 59 d8          	mulsd  %xmm0,%xmm3
422181:	66 0f 58 ca          	addpd  %xmm2,%xmm1
422185:	66 0f 28 15 60 ee 42 	movapd 0x42ee60,%xmm2
42218c:	00
42218d:	66 0f 59 d0          	mulpd  %xmm0,%xmm2
422191:	66 0f 28 f7          	movapd %xmm7,%xmm6
422195:	66 0f 15 f6          	unpckhpd %xmm6,%xmm6
422199:	66 0f 59 cb          	mulpd  %xmm3,%xmm1
42219d:	83 ec 10             	sub    $0x10,%esp
4221a0:	66 0f 28 c1          	movapd %xmm1,%xmm0
4221a4:	66 0f 58 ca          	addpd  %xmm2,%xmm1
4221a8:	66 0f 15 c0          	unpckhpd %xmm0,%xmm0
4221ac:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
4221b0:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
4221b4:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
4221b8:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
4221be:	dd 44 24 04          	fldl   0x4(%esp)
4221c2:	83 c4 10             	add    $0x10,%esp
4221c5:	c3                   	ret
4221c6:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
4221cc:	66 0f 28 0d f0 ed 42 	movapd 0x42edf0,%xmm1
4221d3:	00
4221d4:	f2 0f c2 c8 00       	cmpeqsd %xmm0,%xmm1
4221d9:	66 0f c5 c1 00       	pextrw $0x0,%xmm1,%eax
4221de:	83 f8 00             	cmp    $0x0,%eax
4221e1:	77 48                	ja     0x42222b
4221e3:	83 f9 ff             	cmp    $0xffffffff,%ecx
4221e6:	74 5e                	je     0x422246
4221e8:	81 f9 fe 07 00 00    	cmp    $0x7fe,%ecx
4221ee:	77 6c                	ja     0x42225c
4221f0:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
4221f6:	66 0f 28 0d 70 ed 42 	movapd 0x42ed70,%xmm1
4221fd:	00
4221fe:	66 0f 28 15 e0 ed 42 	movapd 0x42ede0,%xmm2
422205:	00
422206:	66 0f 54 c1          	andpd  %xmm1,%xmm0
42220a:	66 0f 56 c2          	orpd   %xmm2,%xmm0
42220e:	f2 0f c2 d0 00       	cmpeqsd %xmm0,%xmm2
422213:	66 0f c5 c2 00       	pextrw $0x0,%xmm2,%eax
422218:	83 f8 00             	cmp    $0x0,%eax
42221b:	74 07                	je     0x422224
42221d:	dd 05 18 ee 42 00    	fldl   0x42ee18
422223:	c3                   	ret
422224:	ba e9 03 00 00       	mov    $0x3e9,%edx
422229:	eb 4f                	jmp    0x42227a
42222b:	66 0f 12 15 e0 ed 42 	movlpd 0x42ede0,%xmm2
422232:	00
422233:	f2 0f 5e d0          	divsd  %xmm0,%xmm2
422237:	66 0f 12 0d 10 ee 42 	movlpd 0x42ee10,%xmm1
42223e:	00
42223f:	ba 08 00 00 00       	mov    $0x8,%edx
422244:	eb 34                	jmp    0x42227a
422246:	66 0f 12 0d 00 ee 42 	movlpd 0x42ee00,%xmm1
42224d:	00
42224e:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
422252:	ba cc ff ff ff       	mov    $0xffffffcc,%edx
422257:	e9 17 fe ff ff       	jmp    0x422073
42225c:	83 c1 01             	add    $0x1,%ecx
42225f:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
422265:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
42226b:	73 3a                	jae    0x4222a7
42226d:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
422271:	f2 0f 5e c9          	divsd  %xmm1,%xmm1
422275:	ba 09 00 00 00       	mov    $0x9,%edx
42227a:	83 ec 1c             	sub    $0x1c,%esp
42227d:	66 0f 13 4c 24 10    	movlpd %xmm1,0x10(%esp)
422283:	89 54 24 0c          	mov    %edx,0xc(%esp)
422287:	8b d4                	mov    %esp,%edx
422289:	83 c2 10             	add    $0x10,%edx
42228c:	89 54 24 08          	mov    %edx,0x8(%esp)
422290:	83 c2 10             	add    $0x10,%edx
422293:	89 54 24 04          	mov    %edx,0x4(%esp)
422297:	89 14 24             	mov    %edx,(%esp)
42229a:	e8 ca eb ff ff       	call   0x420e69
42229f:	dd 44 24 10          	fldl   0x10(%esp)
4222a3:	83 c4 1c             	add    $0x1c,%esp
4222a6:	c3                   	ret
4222a7:	66 0f 12 54 24 04    	movlpd 0x4(%esp),%xmm2
4222ad:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
4222b3:	66 0f 7e d0          	movd   %xmm2,%eax
4222b7:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
4222bc:	66 0f 7e d1          	movd   %xmm2,%ecx
4222c0:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
4222c6:	0b c1                	or     %ecx,%eax
4222c8:	83 f8 00             	cmp    $0x0,%eax
4222cb:	74 a0                	je     0x42226d
4222cd:	ba e9 03 00 00       	mov    $0x3e9,%edx
4222d2:	eb a6                	jmp    0x42227a
4222d4:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4222db:	eb 03                	jmp    0x4222e0
4222dd:	cc                   	int3
4222de:	cc                   	int3
4222df:	cc                   	int3
4222e0:	8b ff                	mov    %edi,%edi
4222e2:	55                   	push   %ebp
4222e3:	8b ec                	mov    %esp,%ebp
4222e5:	51                   	push   %ecx
4222e6:	51                   	push   %ecx
4222e7:	53                   	push   %ebx
4222e8:	56                   	push   %esi
4222e9:	be ff ff 00 00       	mov    $0xffff,%esi
4222ee:	56                   	push   %esi
4222ef:	68 3f 1b 00 00       	push   $0x1b3f
4222f4:	e8 c5 36 ff ff       	call   0x4159be
4222f9:	dd 45 08             	fldl   0x8(%ebp)
4222fc:	8b d8                	mov    %eax,%ebx
4222fe:	59                   	pop    %ecx
4222ff:	59                   	pop    %ecx
422300:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
422304:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
422309:	23 c8                	and    %eax,%ecx
42230b:	51                   	push   %ecx
42230c:	51                   	push   %ecx
42230d:	dd 1c 24             	fstpl  (%esp)
422310:	66 3b c8             	cmp    %ax,%cx
422313:	75 3d                	jne    0x422352
422315:	e8 b5 35 ff ff       	call   0x4158cf
42231a:	48                   	dec    %eax
42231b:	59                   	pop    %ecx
42231c:	59                   	pop    %ecx
42231d:	83 f8 02             	cmp    $0x2,%eax
422320:	77 0c                	ja     0x42232e
422322:	56                   	push   %esi
422323:	53                   	push   %ebx
422324:	e8 95 36 ff ff       	call   0x4159be
422329:	dd 45 08             	fldl   0x8(%ebp)
42232c:	eb 61                	jmp    0x42238f
42232e:	dd 45 08             	fldl   0x8(%ebp)
422331:	dd 05 d0 60 42 00    	fldl   0x4260d0
422337:	53                   	push   %ebx
422338:	83 ec 10             	sub    $0x10,%esp
42233b:	d8 c1                	fadd   %st(1),%st
42233d:	dd 5c 24 08          	fstpl  0x8(%esp)
422341:	dd 1c 24             	fstpl  (%esp)
422344:	6a 0c                	push   $0xc
422346:	6a 08                	push   $0x8
422348:	e8 e2 2d ff ff       	call   0x41512f
42234d:	83 c4 1c             	add    $0x1c,%esp
422350:	eb 3f                	jmp    0x422391
422352:	e8 10 ee ff ff       	call   0x421167
422357:	dd 55 f8             	fstl   -0x8(%ebp)
42235a:	dd 45 08             	fldl   0x8(%ebp)
42235d:	83 c4 08             	add    $0x8,%esp
422360:	dd e1                	fucom  %st(1)
422362:	df e0                	fnstsw %ax
422364:	f6 c4 44             	test   $0x44,%ah
422367:	7b 18                	jnp    0x422381
422369:	f6 c3 20             	test   $0x20,%bl
42236c:	75 13                	jne    0x422381
42236e:	53                   	push   %ebx
42236f:	83 ec 10             	sub    $0x10,%esp
422372:	d9 c9                	fxch   %st(1)
422374:	dd 5c 24 08          	fstpl  0x8(%esp)
422378:	dd 1c 24             	fstpl  (%esp)
42237b:	6a 0c                	push   $0xc
42237d:	6a 10                	push   $0x10
42237f:	eb c7                	jmp    0x422348
422381:	56                   	push   %esi
422382:	dd d9                	fstp   %st(1)
422384:	53                   	push   %ebx
422385:	dd d8                	fstp   %st(0)
422387:	e8 32 36 ff ff       	call   0x4159be
42238c:	dd 45 f8             	fldl   -0x8(%ebp)
42238f:	59                   	pop    %ecx
422390:	59                   	pop    %ecx
422391:	5e                   	pop    %esi
422392:	5b                   	pop    %ebx
422393:	c9                   	leave
422394:	c3                   	ret
422395:	cc                   	int3
422396:	cc                   	int3
422397:	cc                   	int3
422398:	cc                   	int3
422399:	cc                   	int3
42239a:	cc                   	int3
42239b:	cc                   	int3
42239c:	cc                   	int3
42239d:	cc                   	int3
42239e:	cc                   	int3
42239f:	cc                   	int3
4223a0:	55                   	push   %ebp
4223a1:	8b ec                	mov    %esp,%ebp
4223a3:	8b 45 08             	mov    0x8(%ebp),%eax
4223a6:	33 d2                	xor    %edx,%edx
4223a8:	53                   	push   %ebx
4223a9:	56                   	push   %esi
4223aa:	57                   	push   %edi
4223ab:	8b 48 3c             	mov    0x3c(%eax),%ecx
4223ae:	03 c8                	add    %eax,%ecx
4223b0:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4223b4:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
4223b8:	83 c0 18             	add    $0x18,%eax
4223bb:	03 c1                	add    %ecx,%eax
4223bd:	85 db                	test   %ebx,%ebx
4223bf:	74 1b                	je     0x4223dc
4223c1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4223c4:	8b 70 0c             	mov    0xc(%eax),%esi
4223c7:	3b fe                	cmp    %esi,%edi
4223c9:	72 09                	jb     0x4223d4
4223cb:	8b 48 08             	mov    0x8(%eax),%ecx
4223ce:	03 ce                	add    %esi,%ecx
4223d0:	3b f9                	cmp    %ecx,%edi
4223d2:	72 0a                	jb     0x4223de
4223d4:	42                   	inc    %edx
4223d5:	83 c0 28             	add    $0x28,%eax
4223d8:	3b d3                	cmp    %ebx,%edx
4223da:	72 e8                	jb     0x4223c4
4223dc:	33 c0                	xor    %eax,%eax
4223de:	5f                   	pop    %edi
4223df:	5e                   	pop    %esi
4223e0:	5b                   	pop    %ebx
4223e1:	5d                   	pop    %ebp
4223e2:	c3                   	ret
4223e3:	cc                   	int3
4223e4:	cc                   	int3
4223e5:	cc                   	int3
4223e6:	cc                   	int3
4223e7:	cc                   	int3
4223e8:	cc                   	int3
4223e9:	cc                   	int3
4223ea:	cc                   	int3
4223eb:	cc                   	int3
4223ec:	cc                   	int3
4223ed:	cc                   	int3
4223ee:	cc                   	int3
4223ef:	cc                   	int3
4223f0:	55                   	push   %ebp
4223f1:	8b ec                	mov    %esp,%ebp
4223f3:	6a fe                	push   $0xfffffffe
4223f5:	68 40 1a 43 00       	push   $0x431a40
4223fa:	68 b0 9f 40 00       	push   $0x409fb0
4223ff:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
422405:	50                   	push   %eax
422406:	83 ec 08             	sub    $0x8,%esp
422409:	53                   	push   %ebx
42240a:	56                   	push   %esi
42240b:	57                   	push   %edi
42240c:	a1 14 30 43 00       	mov    0x433014,%eax
422411:	31 45 f8             	xor    %eax,-0x8(%ebp)
422414:	33 c5                	xor    %ebp,%eax
422416:	50                   	push   %eax
422417:	8d 45 f0             	lea    -0x10(%ebp),%eax
42241a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
422420:	89 65 e8             	mov    %esp,-0x18(%ebp)
422423:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
42242a:	68 00 00 40 00       	push   $0x400000
42242f:	e8 7c 00 00 00       	call   0x4224b0