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)
10003a19:	8b 55 c8             	mov    -0x38(%ebp),%edx
10003a1c:	39 d0                	cmp    %edx,%eax
10003a1e:	75 08                	jne    0x10003a28
10003a20:	83 c4 48             	add    $0x48,%esp
10003a23:	5b                   	pop    %ebx
10003a24:	5e                   	pop    %esi
10003a25:	5f                   	pop    %edi
10003a26:	5d                   	pop    %ebp
10003a27:	c3                   	ret
10003a28:	b8 5e df f5 77       	mov    $0x77f5df5e,%eax
10003a2d:	b9 00 01 00 00       	mov    $0x100,%ecx
10003a32:	ba 96 42 19 22       	mov    $0x22194296,%edx
10003a37:	8b 75 e0             	mov    -0x20(%ebp),%esi
10003a3a:	8b 7d dc             	mov    -0x24(%ebp),%edi
10003a3d:	2b 55 f0             	sub    -0x10(%ebp),%edx
10003a40:	89 7d d0             	mov    %edi,-0x30(%ebp)
10003a43:	8b 7d e4             	mov    -0x1c(%ebp),%edi
10003a46:	83 c7 01             	add    $0x1,%edi
10003a49:	89 45 b8             	mov    %eax,-0x48(%ebp)
10003a4c:	89 f8                	mov    %edi,%eax
10003a4e:	89 55 b4             	mov    %edx,-0x4c(%ebp)
10003a51:	99                   	cltd
10003a52:	f7 f9                	idiv   %ecx
10003a54:	89 55 cc             	mov    %edx,-0x34(%ebp)
10003a57:	8b 4d cc             	mov    -0x34(%ebp),%ecx
10003a5a:	8b 55 bc             	mov    -0x44(%ebp),%edx
10003a5d:	8a 1c 0a             	mov    (%edx,%ecx,1),%bl
10003a60:	0f b6 fb             	movzbl %bl,%edi
10003a63:	01 fe                	add    %edi,%esi
10003a65:	89 f0                	mov    %esi,%eax
10003a67:	99                   	cltd
10003a68:	8b 75 b4             	mov    -0x4c(%ebp),%esi
10003a6b:	f7 fe                	idiv   %esi
10003a6d:	8b 75 f0             	mov    -0x10(%ebp),%esi
10003a70:	81 f6 3d bf f6 10    	xor    $0x10f6bf3d,%esi
10003a76:	89 55 d8             	mov    %edx,-0x28(%ebp)
10003a79:	8b 55 d8             	mov    -0x28(%ebp),%edx
10003a7c:	89 4d b0             	mov    %ecx,-0x50(%ebp)
10003a7f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
10003a82:	8a 3c 11             	mov    (%ecx,%edx,1),%bh
10003a85:	89 55 ac             	mov    %edx,-0x54(%ebp)
10003a88:	8b 55 b0             	mov    -0x50(%ebp),%edx
10003a8b:	88 3c 11             	mov    %bh,(%ecx,%edx,1)
10003a8e:	8b 55 ac             	mov    -0x54(%ebp),%edx
10003a91:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
10003a94:	8b 55 b0             	mov    -0x50(%ebp),%edx
10003a97:	0f b6 0c 11          	movzbl (%ecx,%edx,1),%ecx
10003a9b:	01 f9                	add    %edi,%ecx
10003a9d:	89 75 e8             	mov    %esi,-0x18(%ebp)
10003aa0:	81 e1 ff 00 00 00    	and    $0xff,%ecx
10003aa6:	8b 75 d0             	mov    -0x30(%ebp),%esi
10003aa9:	8b 7d bc             	mov    -0x44(%ebp),%edi
10003aac:	8a 1c 0f             	mov    (%edi,%ecx,1),%bl
10003aaf:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
10003ab2:	32 1c 31             	xor    (%ecx,%esi,1),%bl
10003ab5:	8b 75 e8             	mov    -0x18(%ebp),%esi
10003ab8:	88 5d d7             	mov    %bl,-0x29(%ebp)
10003abb:	8b 4d c0             	mov    -0x40(%ebp),%ecx
10003abe:	03 4d d0             	add    -0x30(%ebp),%ecx
10003ac1:	89 4d ec             	mov    %ecx,-0x14(%ebp)
10003ac4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
10003ac7:	81 f1 fb e8 de 4b    	xor    $0x4bdee8fb,%ecx
10003acd:	c7 45 e4 eb f1 3e 52 	movl   $0x523ef1eb,-0x1c(%ebp)
10003ad4:	c7 45 dc c5 ad bf 5b 	movl   $0x5bbfadc5,-0x24(%ebp)
10003adb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
10003ade:	8b 4d b8             	mov    -0x48(%ebp),%ecx
10003ae1:	39 f1                	cmp    %esi,%ecx
10003ae3:	0f 87 13 ff ff ff    	ja     0x100039fc
10003ae9:	e9 3a ff ff ff       	jmp    0x10003a28
10003aee:	55                   	push   %ebp
10003aef:	89 e5                	mov    %esp,%ebp
10003af1:	57                   	push   %edi
10003af2:	56                   	push   %esi
10003af3:	53                   	push   %ebx
10003af4:	83 ec 10             	sub    $0x10,%esp
10003af7:	8b 45 08             	mov    0x8(%ebp),%eax
10003afa:	8b 0d 3c e1 02 10    	mov    0x1002e13c,%ecx
10003b00:	8b 15 48 e1 02 10    	mov    0x1002e148,%edx
10003b06:	8b 35 44 e1 02 10    	mov    0x1002e144,%esi
10003b0c:	81 c6 87 fe ff ff    	add    $0xfffffe87,%esi
10003b12:	83 c1 02             	add    $0x2,%ecx
10003b15:	8b 3d 40 e1 02 10    	mov    0x1002e140,%edi
10003b1b:	89 e3                	mov    %esp,%ebx
10003b1d:	89 73 0c             	mov    %esi,0xc(%ebx)
10003b20:	89 43 08             	mov    %eax,0x8(%ebx)
10003b23:	89 4b 04             	mov    %ecx,0x4(%ebx)
10003b26:	89 3b                	mov    %edi,(%ebx)
10003b28:	ff d2                	call   *%edx
10003b2a:	5b                   	pop    %ebx
10003b2b:	5e                   	pop    %esi
10003b2c:	5f                   	pop    %edi
10003b2d:	5d                   	pop    %ebp
10003b2e:	c3                   	ret
10003b2f:	55                   	push   %ebp
10003b30:	89 e5                	mov    %esp,%ebp
10003b32:	31 c0                	xor    %eax,%eax
10003b34:	5d                   	pop    %ebp
10003b35:	c3                   	ret
10003b36:	55                   	push   %ebp
10003b37:	89 e5                	mov    %esp,%ebp
10003b39:	53                   	push   %ebx
10003b3a:	56                   	push   %esi
10003b3b:	57                   	push   %edi
10003b3c:	83 e4 f8             	and    $0xfffffff8,%esp
10003b3f:	83 ec 78             	sub    $0x78,%esp
10003b42:	8b 45 08             	mov    0x8(%ebp),%eax
10003b45:	c7 44 24 70 e8 fe 95 	movl   $0x6895fee8,0x70(%esp)
10003b4c:	68
10003b4d:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
10003b54:	00
10003b55:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
10003b5c:	00
10003b5d:	89 44 24 3c          	mov    %eax,0x3c(%esp)
10003b61:	e9 90 01 00 00       	jmp    0x10003cf6
10003b66:	8b 44 24 58          	mov    0x58(%esp),%eax
10003b6a:	05 a1 2b 00 00       	add    $0x2ba1,%eax
10003b6f:	89 44 24 68          	mov    %eax,0x68(%esp)
10003b73:	8b 44 24 3c          	mov    0x3c(%esp),%eax
10003b77:	83 c0 08             	add    $0x8,%eax
10003b7a:	89 44 24 5c          	mov    %eax,0x5c(%esp)
10003b7e:	80 7c 24 53 5f       	cmpb   $0x5f,0x53(%esp)
10003b83:	0f 82 c7 00 00 00    	jb     0x10003c50
10003b89:	e9 2d 01 00 00       	jmp    0x10003cbb
10003b8e:	b8 04 00 00 00       	mov    $0x4,%eax
10003b93:	8b 4c 24 48          	mov    0x48(%esp),%ecx
10003b97:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
10003b9e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
10003ba2:	89 44 24 38          	mov    %eax,0x38(%esp)
10003ba6:	e8 9c d6 ff ff       	call   0x10001247
10003bab:	b9 e8 fe 95 68       	mov    $0x6895fee8,%ecx
10003bb0:	89 44 24 58          	mov    %eax,0x58(%esp)
10003bb4:	2b 4c 24 70          	sub    0x70(%esp),%ecx
10003bb8:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
10003bbf:	00
10003bc0:	89 4c 24 40          	mov    %ecx,0x40(%esp)
10003bc4:	8d 05 04 e0 02 10    	lea    0x1002e004,%eax
10003bca:	8b 4c 24 40          	mov    0x40(%esp),%ecx
10003bce:	6b d1 60             	imul   $0x60,%ecx,%edx
10003bd1:	89 c6                	mov    %eax,%esi
10003bd3:	01 d6                	add    %edx,%esi
10003bd5:	83 c6 18             	add    $0x18,%esi
10003bd8:	6b d1 60             	imul   $0x60,%ecx,%edx
10003bdb:	89 c7                	mov    %eax,%edi
10003bdd:	01 d7                	add    %edx,%edi
10003bdf:	83 c7 58             	add    $0x58,%edi
10003be2:	6b d1 60             	imul   $0x60,%ecx,%edx
10003be5:	01 d0                	add    %edx,%eax
10003be7:	8b 00                	mov    (%eax),%eax
10003be9:	8b 54 24 70          	mov    0x70(%esp),%edx
10003bed:	8b 3f                	mov    (%edi),%edi
10003bef:	8b 5c 24 58          	mov    0x58(%esp),%ebx
10003bf3:	89 44 24 34          	mov    %eax,0x34(%esp)
10003bf7:	8b 44 24 44          	mov    0x44(%esp),%eax
10003bfb:	01 c3                	add    %eax,%ebx
10003bfd:	8b 36                	mov    (%esi),%esi
10003bff:	81 f2 e9 fe 95 68    	xor    $0x6895fee9,%edx
10003c05:	89 44 24 30          	mov    %eax,0x30(%esp)
10003c09:	8b 44 24 34          	mov    0x34(%esp),%eax
10003c0d:	29 c6                	sub    %eax,%esi
10003c0f:	89 1c 24             	mov    %ebx,(%esp)
10003c12:	89 7c 24 04          	mov    %edi,0x4(%esp)
10003c16:	89 74 24 08          	mov    %esi,0x8(%esp)
10003c1a:	89 54 24 2c          	mov    %edx,0x2c(%esp)
10003c1e:	89 4c 24 28          	mov    %ecx,0x28(%esp)
10003c22:	89 74 24 24          	mov    %esi,0x24(%esp)
10003c26:	e8 f9 fb ff ff       	call   0x10003824
10003c2b:	8b 44 24 28          	mov    0x28(%esp),%eax
10003c2f:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
10003c33:	01 c8                	add    %ecx,%eax
10003c35:	8b 4c 24 24          	mov    0x24(%esp),%ecx
10003c39:	8b 54 24 30          	mov    0x30(%esp),%edx
10003c3d:	01 d1                	add    %edx,%ecx
10003c3f:	89 4c 24 44          	mov    %ecx,0x44(%esp)
10003c43:	89 44 24 40          	mov    %eax,0x40(%esp)
10003c47:	83 f8 03             	cmp    $0x3,%eax