10003473:	0f b7 04 43          	movzwl (%ebx,%eax,2),%eax
10003477:	66 89 c2             	mov    %ax,%dx
1000347a:	bb 3f 8f 5f 09       	mov    $0x95f8f3f,%ebx
1000347f:	29 cb                	sub    %ecx,%ebx
10003481:	66 29 d7             	sub    %dx,%di
10003484:	0f 94 44 24 3b       	sete   0x3b(%esp)
10003489:	01 d8                	add    %ebx,%eax
1000348b:	66 8b 4c 24 66       	mov    0x66(%esp),%cx
10003490:	66 bb 56 67          	mov    $0x6756,%bx
10003494:	66 29 cb             	sub    %cx,%bx
10003497:	29 f0                	sub    %esi,%eax
10003499:	8b 74 24 40          	mov    0x40(%esp),%esi
1000349d:	8b 4c 24 44          	mov    0x44(%esp),%ecx
100034a1:	0f 94 44 24 28       	sete   0x28(%esp)
100034a6:	66 29 da             	sub    %bx,%dx
100034a9:	0f 95 c3             	setne  %bl
100034ac:	8a 7c 24 28          	mov    0x28(%esp),%bh
100034b0:	89 44 24 0c          	mov    %eax,0xc(%esp)
100034b4:	8a 44 24 3b          	mov    0x3b(%esp),%al
100034b8:	08 f8                	or     %bh,%al
100034ba:	20 c3                	and    %al,%bl
100034bc:	88 5c 24 65          	mov    %bl,0x65(%esp)
100034c0:	81 ee 66 80 fd 77    	sub    $0x77fd8066,%esi
100034c6:	83 d9 00             	sbb    $0x0,%ecx
100034c9:	66 89 7c 24 0a       	mov    %di,0xa(%esp)
100034ce:	66 89 54 24 08       	mov    %dx,0x8(%esp)
100034d3:	89 74 24 04          	mov    %esi,0x4(%esp)
100034d7:	89 0c 24             	mov    %ecx,(%esp)
100034da:	0f 82 18 ff ff ff    	jb     0x100033f8
100034e0:	e9 9b fe ff ff       	jmp    0x10003380
100034e5:	55                   	push   %ebp
100034e6:	89 e5                	mov    %esp,%ebp
100034e8:	53                   	push   %ebx
100034e9:	56                   	push   %esi
100034ea:	57                   	push   %edi
100034eb:	83 ec 20             	sub    $0x20,%esp
100034ee:	8b 45 18             	mov    0x18(%ebp),%eax
100034f1:	8b 4d 14             	mov    0x14(%ebp),%ecx
100034f4:	8b 55 10             	mov    0x10(%ebp),%edx
100034f7:	8b 75 0c             	mov    0xc(%ebp),%esi
100034fa:	8b 7d 08             	mov    0x8(%ebp),%edi
100034fd:	bb 83 ff 82 6c       	mov    $0x6c82ff83,%ebx
10003502:	c7 45 f0 83 ff 82 6c 	movl   $0x6c82ff83,-0x10(%ebp)
10003509:	2b 5d f0             	sub    -0x10(%ebp),%ebx
1000350c:	39 d9                	cmp    %ebx,%ecx
1000350e:	89 45 ec             	mov    %eax,-0x14(%ebp)
10003511:	89 7d e8             	mov    %edi,-0x18(%ebp)
10003514:	89 55 e4             	mov    %edx,-0x1c(%ebp)
10003517:	89 75 e0             	mov    %esi,-0x20(%ebp)
1000351a:	74 2c                	je     0x10003548
1000351c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
1000351f:	8b 48 14             	mov    0x14(%eax),%ecx
10003522:	8b 55 e8             	mov    -0x18(%ebp),%edx
10003525:	03 50 0c             	add    0xc(%eax),%edx
10003528:	8b 75 e0             	mov    -0x20(%ebp),%esi
1000352b:	01 ce                	add    %ecx,%esi
1000352d:	8b 48 10             	mov    0x10(%eax),%ecx
10003530:	89 14 24             	mov    %edx,(%esp)
10003533:	89 74 24 04          	mov    %esi,0x4(%esp)
10003537:	89 4c 24 08          	mov    %ecx,0x8(%esp)
1000353b:	e8 e4 02 00 00       	call   0x10003824
10003540:	83 c4 20             	add    $0x20,%esp
10003543:	5f                   	pop    %edi
10003544:	5e                   	pop    %esi
10003545:	5b                   	pop    %ebx
10003546:	5d                   	pop    %ebp
10003547:	c3                   	ret
10003548:	8b 45 e8             	mov    -0x18(%ebp),%eax
1000354b:	89 04 24             	mov    %eax,(%esp)
1000354e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
10003551:	89 4c 24 04          	mov    %ecx,0x4(%esp)
10003555:	8b 55 ec             	mov    -0x14(%ebp),%edx
10003558:	89 54 24 08          	mov    %edx,0x8(%esp)
1000355c:	e8 c3 02 00 00       	call   0x10003824
10003561:	eb b9                	jmp    0x1000351c
10003563:	90                   	nop
10003564:	7c e3                	jl     0x10003549
10003566:	b0 e4                	mov    $0xe4,%al
10003568:	15 39 e3 ab de       	adc    $0xdeabe339,%eax
1000356d:	c0 de c0             	rcr    $0xc0,%dh
10003570:	10 01                	adc    %al,(%ecx)
10003672:	00 00                	add    %al,(%eax)
10003674:	55                   	push   %ebp
10003675:	89 e5                	mov    %esp,%ebp
10003677:	57                   	push   %edi
10003678:	56                   	push   %esi
10003679:	81 ec ac 00 00 00    	sub    $0xac,%esp
1000367f:	b8 66 00 00 00       	mov    $0x66,%eax
10003684:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
1000368a:	8d 55 dc             	lea    -0x24(%ebp),%edx
1000368d:	c7 45 f4 b9 0b 7a 71 	movl   $0x717a0bb9,-0xc(%ebp)
10003694:	c7 04 24 66 00 00 00 	movl   $0x66,(%esp)
1000369b:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
100036a1:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
100036a7:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
100036ad:	e8 92 dc ff ff       	call   0x10001344
100036b2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
100036b5:	81 c1 47 f4 85 8e    	add    $0x8e85f447,%ecx
100036bb:	39 c8                	cmp    %ecx,%eax
100036bd:	0f 84 8b 00 00 00    	je     0x1000374e
100036c3:	eb 42                	jmp    0x10003707
100036c5:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
100036cb:	89 04 24             	mov    %eax,(%esp)
100036ce:	e8 50 fb ff ff       	call   0x10003223
100036d3:	c7 05 50 e1 02 10 00 	movl   $0x0,0x1002e150
100036da:	00 00 00
100036dd:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
100036e3:	eb 22                	jmp    0x10003707
100036e5:	81 c4 ac 00 00 00    	add    $0xac,%esp
100036eb:	5e                   	pop    %esi
100036ec:	5f                   	pop    %edi
100036ed:	5d                   	pop    %ebp
100036ee:	c3                   	ret
100036ef:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
100036f5:	66 81 38 4d 5a       	cmpw   $0x5a4d,(%eax)
100036fa:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
10003700:	74 27                	je     0x10003729
10003702:	e9 e6 00 00 00       	jmp    0x100037ed
10003707:	8b 45 f4             	mov    -0xc(%ebp),%eax
1000370a:	05 47 f4 85 8e       	add    $0x8e85f447,%eax
1000370f:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
10003715:	e8 2a f8 ff ff       	call   0x10002f44
1000371a:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
10003720:	39 c8                	cmp    %ecx,%eax
10003722:	74 c1                	je     0x100036e5
10003724:	e9 e5 00 00 00       	jmp    0x1000380e
10003729:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
1000372f:	8b 48 3c             	mov    0x3c(%eax),%ecx
10003732:	01 c8                	add    %ecx,%eax
10003734:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
1000373a:	81 3c 0a 50 45 00 00 	cmpl   $0x4550,(%edx,%ecx,1)
10003741:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
10003747:	74 38                	je     0x10003781
10003749:	e9 9f 00 00 00       	jmp    0x100037ed
1000374e:	8d 45 dc             	lea    -0x24(%ebp),%eax
10003751:	89 04 24             	mov    %eax,(%esp)
10003754:	e8 dd 03 00 00       	call   0x10003b36
10003759:	8d 0d 57 25 00 10    	lea    0x10002557,%ecx
1000375f:	ba b9 5d 7c 71       	mov    $0x717c5db9,%edx
10003764:	8b 75 e4             	mov    -0x1c(%ebp),%esi
10003767:	89 75 a4             	mov    %esi,-0x5c(%ebp)
1000376a:	2b 55 f4             	sub    -0xc(%ebp),%edx
1000376d:	89 55 c8             	mov    %edx,-0x38(%ebp)
10003770:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
10003776:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
1000377c:	e9 6e ff ff ff       	jmp    0x100036ef
10003781:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
10003787:	8d 4d dc             	lea    -0x24(%ebp),%ecx
1000378a:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
10003790:	89 55 80             	mov    %edx,-0x80(%ebp)
10003793:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
10003799:	8b 7e 50             	mov    0x50(%esi),%edi
1000379c:	89 7d 90             	mov    %edi,-0x70(%ebp)
1000379f:	8b 3d 24 e1 02 10    	mov    0x1002e124,%edi
100037a5:	89 7d ac             	mov    %edi,-0x54(%ebp)
100037a8:	8b 3d 28 e1 02 10    	mov    0x1002e128,%edi
100037ae:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
100037b4:	8b 3d 2c e1 02 10    	mov    0x1002e12c,%edi
100037ba:	89 7d 84             	mov    %edi,-0x7c(%ebp)
100037bd:	8b 3d 30 e1 02 10    	mov    0x1002e130,%edi
100037c3:	89 7d 88             	mov    %edi,-0x78(%ebp)
100037c6:	8b 3d 34 e1 02 10    	mov    0x1002e134,%edi
100037cc:	89 7d c0             	mov    %edi,-0x40(%ebp)
100037cf:	89 04 24             	mov    %eax,(%esp)
100037d2:	89 4c 24 04          	mov    %ecx,0x4(%esp)
100037d6:	e8 d6 f1 ff ff       	call   0x100029b1
100037db:	83 3d 50 e1 02 10 00 	cmpl   $0x0,0x1002e150
100037e2:	0f 84 1f ff ff ff    	je     0x10003707
100037e8:	e9 d8 fe ff ff       	jmp    0x100036c5
100037ed:	b8 b9 fb 79 71       	mov    $0x7179fbb9,%eax
100037f2:	2b 45 f4             	sub    -0xc(%ebp),%eax
100037f5:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
100037fb:	01 c1                	add    %eax,%ecx
100037fd:	81 e1 00 f0 ff ff    	and    $0xfffff000,%ecx
10003803:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
10003809:	e9 e1 fe ff ff       	jmp    0x100036ef
1000380e:	8d 45 dc             	lea    -0x24(%ebp),%eax
10003811:	89 04 24             	mov    %eax,(%esp)
10003814:	e8 1d 03 00 00       	call   0x10003b36
10003819:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
1000381f:	e9 c1 fe ff ff       	jmp    0x100036e5
10003824:	55                   	push   %ebp
10003825:	89 e5                	mov    %esp,%ebp
10003827:	53                   	push   %ebx
10003828:	56                   	push   %esi
10003829:	83 ec 14             	sub    $0x14,%esp
1000382c:	8b 45 10             	mov    0x10(%ebp),%eax
1000382f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
10003832:	8b 55 08             	mov    0x8(%ebp),%edx
10003835:	c7 45 f4 ca f9 33 73 	movl   $0x7333f9ca,-0xc(%ebp)
1000383c:	83 f8 00             	cmp    $0x0,%eax
1000383f:	89 45 f0             	mov    %eax,-0x10(%ebp)
10003842:	89 4d ec             	mov    %ecx,-0x14(%ebp)
10003845:	89 55 e8             	mov    %edx,-0x18(%ebp)
10003848:	74 2b                	je     0x10003875
1000384a:	31 c0                	xor    %eax,%eax
1000384c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
1000384f:	eb 00                	jmp    0x10003851
10003851:	8b 45 e4             	mov    -0x1c(%ebp),%eax
10003854:	8b 4d f4             	mov    -0xc(%ebp),%ecx
10003857:	81 f1 cb f9 33 73    	xor    $0x7333f9cb,%ecx
1000385d:	8b 55 ec             	mov    -0x14(%ebp),%edx
10003860:	8a 1c 02             	mov    (%edx,%eax,1),%bl
10003863:	8b 75 e8             	mov    -0x18(%ebp),%esi
10003866:	88 1c 06             	mov    %bl,(%esi,%eax,1)
10003869:	01 c8                	add    %ecx,%eax
1000386b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
1000386e:	39 c8                	cmp    %ecx,%eax
10003870:	89 45 e4             	mov    %eax,-0x1c(%ebp)
10003873:	75 dc                	jne    0x10003851
10003875:	8b 45 e8             	mov    -0x18(%ebp),%eax
10003878:	83 c4 14             	add    $0x14,%esp
1000387b:	5e                   	pop    %esi
1000387c:	5b                   	pop    %ebx
1000387d:	5d                   	pop    %ebp
1000387e:	c3                   	ret
1000387f:	55                   	push   %ebp
10003880:	89 e5                	mov    %esp,%ebp
10003882:	83 ec 0c             	sub    $0xc,%esp
10003885:	8b 45 08             	mov    0x8(%ebp),%eax
10003888:	31 c9                	xor    %ecx,%ecx
1000388a:	89 45 fc             	mov    %eax,-0x4(%ebp)
1000388d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
10003890:	eb 08                	jmp    0x1000389a
10003892:	8b 45 f4             	mov    -0xc(%ebp),%eax
10003895:	83 c4 0c             	add    $0xc,%esp
10003898:	5d                   	pop    %ebp
10003899:	c3                   	ret
1000389a:	8b 45 f8             	mov    -0x8(%ebp),%eax
1000389d:	89 c1                	mov    %eax,%ecx
1000389f:	83 c1 01             	add    $0x1,%ecx
100038a2:	8b 55 fc             	mov    -0x4(%ebp),%edx
100038a5:	80 3c 02 00          	cmpb   $0x0,(%edx,%eax,1)
100038a9:	89 45 f4             	mov    %eax,-0xc(%ebp)
100038ac:	89 4d f8             	mov    %ecx,-0x8(%ebp)
100038af:	74 e1                	je     0x10003892
100038b1:	eb e7                	jmp    0x1000389a
100038b3:	55                   	push   %ebp
100038b4:	89 e5                	mov    %esp,%ebp
100038b6:	53                   	push   %ebx
100038b7:	56                   	push   %esi
100038b8:	57                   	push   %edi
100038b9:	83 e4 f0             	and    $0xfffffff0,%esp
100038bc:	83 ec 40             	sub    $0x40,%esp
100038bf:	8b 45 10             	mov    0x10(%ebp),%eax
100038c2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
100038c5:	8b 55 08             	mov    0x8(%ebp),%edx
100038c8:	c7 44 24 38 f3 fa 90 	movl   $0x590faf3,0x38(%esp)
100038cf:	05
100038d0:	0f 28 05 60 51 00 10 	movaps 0x10005160,%xmm0
100038d7:	31 f6                	xor    %esi,%esi
100038d9:	89 44 24 34          	mov    %eax,0x34(%esp)
100038dd:	89 4c 24 30          	mov    %ecx,0x30(%esp)
100038e1:	89 54 24 2c          	mov    %edx,0x2c(%esp)
100038e5:	89 74 24 28          	mov    %esi,0x28(%esp)
100038e9:	0f 29 44 24 10       	movaps %xmm0,0x10(%esp)
100038ee:	e9 88 00 00 00       	jmp    0x1000397b
100038f3:	8b 44 24 0c          	mov    0xc(%esp),%eax
100038f7:	8b 4c 24 08          	mov    0x8(%esp),%ecx
100038fb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
100038ff:	8a 1c 02             	mov    (%edx,%eax,1),%bl
10003902:	0f b6 f3             	movzbl %bl,%esi
10003905:	01 f1                	add    %esi,%ecx
10003907:	89 44 24 04          	mov    %eax,0x4(%esp)
1000390b:	31 d2                	xor    %edx,%edx
1000390d:	8b 74 24 34          	mov    0x34(%esp),%esi
10003911:	f7 f6                	div    %esi
10003913:	8b 7c 24 30          	mov    0x30(%esp),%edi
10003917:	0f b6 14 17          	movzbl (%edi,%edx,1),%edx
1000391b:	01 d1                	add    %edx,%ecx
1000391d:	8b 54 24 38          	mov    0x38(%esp),%edx
10003921:	81 c2 0d 06 6f fa    	add    $0xfa6f060d,%edx
10003927:	89 c8                	mov    %ecx,%eax
10003929:	89 14 24             	mov    %edx,(%esp)
1000392c:	99                   	cltd
1000392d:	8b 0c 24             	mov    (%esp),%ecx
10003930:	f7 f9                	idiv   %ecx
10003932:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
10003936:	8a 3c 11             	mov    (%ecx,%edx,1),%bh
10003939:	8b 4c 24 38          	mov    0x38(%esp),%ecx
1000393d:	81 f1 f2 fa 90 05    	xor    $0x590faf2,%ecx
10003943:	8b 74 24 2c          	mov    0x2c(%esp),%esi
10003947:	8b 7c 24 04          	mov    0x4(%esp),%edi
1000394b:	88 3c 3e             	mov    %bh,(%esi,%edi,1)
1000394e:	88 1c 16             	mov    %bl,(%esi,%edx,1)
10003951:	01 cf                	add    %ecx,%edi
10003953:	81 ff 00 01 00 00    	cmp    $0x100,%edi
10003959:	89 54 24 08          	mov    %edx,0x8(%esp)
1000395d:	89 7c 24 0c          	mov    %edi,0xc(%esp)
10003961:	74 10                	je     0x10003973
10003963:	eb 8e                	jmp    0x100038f3
10003965:	31 c0                	xor    %eax,%eax
10003967:	89 c1                	mov    %eax,%ecx
10003969:	89 4c 24 08          	mov    %ecx,0x8(%esp)
1000396d:	89 44 24 0c          	mov    %eax,0xc(%esp)
10003971:	eb 80                	jmp    0x100038f3
10003973:	8d 65 f4             	lea    -0xc(%ebp),%esp
10003976:	5f                   	pop    %edi
10003977:	5e                   	pop    %esi
10003978:	5b                   	pop    %ebx
10003979:	5d                   	pop    %ebp
1000397a:	c3                   	ret
1000397b:	0f 28 44 24 10       	movaps 0x10(%esp),%xmm0
10003980:	8b 44 24 28          	mov    0x28(%esp),%eax
10003984:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
10003988:	0f 11 04 01          	movups %xmm0,(%ecx,%eax,1)
1000398c:	8b 54 24 38          	mov    0x38(%esp),%edx
10003990:	83 c0 10             	add    $0x10,%eax
10003993:	be f3 fb 90 05       	mov    $0x590fbf3,%esi
10003998:	29 d6                	sub    %edx,%esi
1000399a:	0f 28 0d 70 51 00 10 	movaps 0x10005170,%xmm1
100039a1:	66 0f fc c1          	paddb  %xmm1,%xmm0
100039a5:	39 f0                	cmp    %esi,%eax
100039a7:	89 44 24 28          	mov    %eax,0x28(%esp)
100039ab:	0f 29 44 24 10       	movaps %xmm0,0x10(%esp)
100039b0:	74 b3                	je     0x10003965
100039b2:	eb c7                	jmp    0x1000397b
100039b4:	55                   	push   %ebp
100039b5:	89 e5                	mov    %esp,%ebp
100039b7:	57                   	push   %edi
100039b8:	56                   	push   %esi
100039b9:	53                   	push   %ebx
100039ba:	83 ec 48             	sub    $0x48,%esp
100039bd:	8b 45 14             	mov    0x14(%ebp),%eax
100039c0:	8b 4d 10             	mov    0x10(%ebp),%ecx
100039c3:	8b 55 0c             	mov    0xc(%ebp),%edx
100039c6:	8b 75 08             	mov    0x8(%ebp),%esi
100039c9:	c7 45 f0 96 41 19 22 	movl   $0x22194196,-0x10(%ebp)
100039d0:	83 f8 00             	cmp    $0x0,%eax
100039d3:	89 45 c8             	mov    %eax,-0x38(%ebp)
100039d6:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
100039d9:	89 55 c0             	mov    %edx,-0x40(%ebp)
100039dc:	89 75 bc             	mov    %esi,-0x44(%ebp)
100039df:	74 3f                	je     0x10003a20
100039e1:	8b 45 f0             	mov    -0x10(%ebp),%eax
100039e4:	05 6a be e6 dd       	add    $0xdde6be6a,%eax
100039e9:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
100039f0:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
100039f7:	89 45 e0             	mov    %eax,-0x20(%ebp)
100039fa:	eb 2c                	jmp    0x10003a28
100039fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
100039ff:	8a 4d d7             	mov    -0x29(%ebp),%cl
10003a02:	88 08                	mov    %cl,(%eax)
10003a04:	8b 45 d0             	mov    -0x30(%ebp),%eax
10003a07:	8b 55 cc             	mov    -0x34(%ebp),%edx
10003a0a:	83 c0 01             	add    $0x1,%eax
10003a0d:	89 55 e4             	mov    %edx,-0x1c(%ebp)
10003a10:	89 45 dc             	mov    %eax,-0x24(%ebp)
10003a13:	8b 55 d8             	mov    -0x28(%ebp),%edx
10003a16:	89 55 e0             	mov    %edx,-0x20(%ebp)