410899:	5e                   	pop    %esi
41089a:	89 30                	mov    %esi,(%eax)
41089c:	e8 8d 73 ff ff       	call   0x407c2e
4108a1:	8b c6                	mov    %esi,%eax
4108a3:	5e                   	pop    %esi
4108a4:	8b e5                	mov    %ebp,%esp
4108a6:	5d                   	pop    %ebp
4108a7:	c3                   	ret
4108a8:	53                   	push   %ebx
4108a9:	2b f1                	sub    %ecx,%esi
4108ab:	8b d8                	mov    %eax,%ebx
4108ad:	57                   	push   %edi
4108ae:	8b f9                	mov    %ecx,%edi
4108b0:	83 fa ff             	cmp    $0xffffffff,%edx
4108b3:	75 16                	jne    0x4108cb
4108b5:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
4108b9:	66 89 07             	mov    %ax,(%edi)
4108bc:	8d 7f 02             	lea    0x2(%edi),%edi
4108bf:	66 85 c0             	test   %ax,%ax
4108c2:	74 2c                	je     0x4108f0
4108c4:	83 eb 01             	sub    $0x1,%ebx
4108c7:	75 ec                	jne    0x4108b5
4108c9:	eb 25                	jmp    0x4108f0
4108cb:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
4108cf:	66 89 07             	mov    %ax,(%edi)
4108d2:	8d 7f 02             	lea    0x2(%edi),%edi
4108d5:	66 85 c0             	test   %ax,%ax
4108d8:	74 0a                	je     0x4108e4
4108da:	83 eb 01             	sub    $0x1,%ebx
4108dd:	74 05                	je     0x4108e4
4108df:	83 ea 01             	sub    $0x1,%edx
4108e2:	75 e7                	jne    0x4108cb
4108e4:	85 d2                	test   %edx,%edx
4108e6:	8b 55 14             	mov    0x14(%ebp),%edx
4108e9:	75 05                	jne    0x4108f0
4108eb:	33 c0                	xor    %eax,%eax
4108ed:	66 89 07             	mov    %ax,(%edi)
4108f0:	5f                   	pop    %edi
4108f1:	85 db                	test   %ebx,%ebx
4108f3:	5b                   	pop    %ebx
4108f4:	0f 85 72 ff ff ff    	jne    0x41086c
4108fa:	83 fa ff             	cmp    $0xffffffff,%edx
4108fd:	75 0f                	jne    0x41090e
4108ff:	8b 45 0c             	mov    0xc(%ebp),%eax
410902:	33 d2                	xor    %edx,%edx
410904:	6a 50                	push   $0x50
410906:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
41090b:	58                   	pop    %eax
41090c:	eb 95                	jmp    0x4108a3
41090e:	33 c0                	xor    %eax,%eax
410910:	66 89 01             	mov    %ax,(%ecx)
410913:	e8 ef 73 ff ff       	call   0x407d07
410918:	6a 22                	push   $0x22
41091a:	e9 7a ff ff ff       	jmp    0x410899
41091f:	8b ff                	mov    %edi,%edi
410921:	55                   	push   %ebp
410922:	8b ec                	mov    %esp,%ebp
410924:	5d                   	pop    %ebp
410925:	e9 28 ff ff ff       	jmp    0x410852
41092a:	8b ff                	mov    %edi,%edi
41092c:	55                   	push   %ebp
41092d:	8b ec                	mov    %esp,%ebp
41092f:	51                   	push   %ecx
410930:	e8 ed a0 ff ff       	call   0x40aa22
410935:	8b 48 4c             	mov    0x4c(%eax),%ecx
410938:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41093b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41093e:	51                   	push   %ecx
41093f:	50                   	push   %eax
410940:	e8 2c a2 ff ff       	call   0x40ab71
410945:	8b 45 fc             	mov    -0x4(%ebp),%eax
410948:	59                   	pop    %ecx
410949:	59                   	pop    %ecx
41094a:	8b 00                	mov    (%eax),%eax
41094c:	8b e5                	mov    %ebp,%esp
41094e:	5d                   	pop    %ebp
41094f:	c3                   	ret
410950:	8b ff                	mov    %edi,%edi
410952:	55                   	push   %ebp
410953:	8b ec                	mov    %esp,%ebp
410955:	51                   	push   %ecx
410956:	e8 c7 a0 ff ff       	call   0x40aa22
41095b:	8b 48 4c             	mov    0x4c(%eax),%ecx
41095e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
410961:	8d 4d fc             	lea    -0x4(%ebp),%ecx
410964:	51                   	push   %ecx
410965:	50                   	push   %eax
410966:	e8 06 a2 ff ff       	call   0x40ab71
41096b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41096e:	59                   	pop    %ecx
41096f:	59                   	pop    %ecx
410970:	8b 40 08             	mov    0x8(%eax),%eax
410973:	8b e5                	mov    %ebp,%esp
410975:	5d                   	pop    %ebp
410976:	c3                   	ret
410977:	8b ff                	mov    %edi,%edi
410979:	55                   	push   %ebp
41097a:	8b ec                	mov    %esp,%ebp
41097c:	56                   	push   %esi
41097d:	8b 75 08             	mov    0x8(%ebp),%esi
410980:	85 f6                	test   %esi,%esi
410982:	0f 84 ea 00 00 00    	je     0x410a72
410988:	8b 46 0c             	mov    0xc(%esi),%eax
41098b:	3b 05 dc 37 42 00    	cmp    0x4237dc,%eax
410991:	74 07                	je     0x41099a
410993:	50                   	push   %eax
410994:	e8 8b 8e ff ff       	call   0x409824
410999:	59                   	pop    %ecx
41099a:	8b 46 10             	mov    0x10(%esi),%eax
41099d:	3b 05 e0 37 42 00    	cmp    0x4237e0,%eax
4109a3:	74 07                	je     0x4109ac
4109a5:	50                   	push   %eax
4109a6:	e8 79 8e ff ff       	call   0x409824
4109ab:	59                   	pop    %ecx
4109ac:	8b 46 14             	mov    0x14(%esi),%eax
4109af:	3b 05 e4 37 42 00    	cmp    0x4237e4,%eax
4109b5:	74 07                	je     0x4109be
4109b7:	50                   	push   %eax
4109b8:	e8 67 8e ff ff       	call   0x409824
4109bd:	59                   	pop    %ecx
4109be:	8b 46 18             	mov    0x18(%esi),%eax
4109c1:	3b 05 e8 37 42 00    	cmp    0x4237e8,%eax
4109c7:	74 07                	je     0x4109d0
4109c9:	50                   	push   %eax
4109ca:	e8 55 8e ff ff       	call   0x409824
4109cf:	59                   	pop    %ecx
4109d0:	8b 46 1c             	mov    0x1c(%esi),%eax
4109d3:	3b 05 ec 37 42 00    	cmp    0x4237ec,%eax
4109d9:	74 07                	je     0x4109e2
4109db:	50                   	push   %eax
4109dc:	e8 43 8e ff ff       	call   0x409824
4109e1:	59                   	pop    %ecx
4109e2:	8b 46 20             	mov    0x20(%esi),%eax
4109e5:	3b 05 f0 37 42 00    	cmp    0x4237f0,%eax
4109eb:	74 07                	je     0x4109f4
4109ed:	50                   	push   %eax
4109ee:	e8 31 8e ff ff       	call   0x409824
4109f3:	59                   	pop    %ecx
4109f4:	8b 46 24             	mov    0x24(%esi),%eax
4109f7:	3b 05 f4 37 42 00    	cmp    0x4237f4,%eax
4109fd:	74 07                	je     0x410a06
4109ff:	50                   	push   %eax
410a00:	e8 1f 8e ff ff       	call   0x409824
410a05:	59                   	pop    %ecx
410a06:	8b 46 38             	mov    0x38(%esi),%eax
410a09:	3b 05 08 38 42 00    	cmp    0x423808,%eax
410a0f:	74 07                	je     0x410a18
410a11:	50                   	push   %eax
410a12:	e8 0d 8e ff ff       	call   0x409824
410a17:	59                   	pop    %ecx
410a18:	8b 46 3c             	mov    0x3c(%esi),%eax
410a1b:	3b 05 0c 38 42 00    	cmp    0x42380c,%eax
410a21:	74 07                	je     0x410a2a
410a23:	50                   	push   %eax
410a24:	e8 fb 8d ff ff       	call   0x409824
410a29:	59                   	pop    %ecx
410a2a:	8b 46 40             	mov    0x40(%esi),%eax
410a2d:	3b 05 10 38 42 00    	cmp    0x423810,%eax
410a33:	74 07                	je     0x410a3c
410a35:	50                   	push   %eax
410a36:	e8 e9 8d ff ff       	call   0x409824
410a3b:	59                   	pop    %ecx
410a3c:	8b 46 44             	mov    0x44(%esi),%eax
410a3f:	3b 05 14 38 42 00    	cmp    0x423814,%eax
410a45:	74 07                	je     0x410a4e
410a47:	50                   	push   %eax
410a48:	e8 d7 8d ff ff       	call   0x409824
410a4d:	59                   	pop    %ecx
410a4e:	8b 46 48             	mov    0x48(%esi),%eax
410a51:	3b 05 18 38 42 00    	cmp    0x423818,%eax
410a57:	74 07                	je     0x410a60
410a59:	50                   	push   %eax
410a5a:	e8 c5 8d ff ff       	call   0x409824
410a5f:	59                   	pop    %ecx
410a60:	8b 46 4c             	mov    0x4c(%esi),%eax
410a63:	3b 05 1c 38 42 00    	cmp    0x42381c,%eax
410a69:	74 07                	je     0x410a72
410a6b:	50                   	push   %eax
410a6c:	e8 b3 8d ff ff       	call   0x409824
410a71:	59                   	pop    %ecx
410a72:	5e                   	pop    %esi
410a73:	5d                   	pop    %ebp
410a74:	c3                   	ret
410a75:	8b ff                	mov    %edi,%edi
410a77:	55                   	push   %ebp
410a78:	8b ec                	mov    %esp,%ebp
410a7a:	56                   	push   %esi
410a7b:	8b 75 08             	mov    0x8(%ebp),%esi
410a7e:	85 f6                	test   %esi,%esi
410a80:	74 59                	je     0x410adb
410a82:	8b 06                	mov    (%esi),%eax
410a84:	3b 05 d0 37 42 00    	cmp    0x4237d0,%eax
410a8a:	74 07                	je     0x410a93
410a8c:	50                   	push   %eax
410a8d:	e8 92 8d ff ff       	call   0x409824
410a92:	59                   	pop    %ecx
410a93:	8b 46 04             	mov    0x4(%esi),%eax
410a96:	3b 05 d4 37 42 00    	cmp    0x4237d4,%eax
410a9c:	74 07                	je     0x410aa5
410a9e:	50                   	push   %eax
410a9f:	e8 80 8d ff ff       	call   0x409824
410aa4:	59                   	pop    %ecx
410aa5:	8b 46 08             	mov    0x8(%esi),%eax
410aa8:	3b 05 d8 37 42 00    	cmp    0x4237d8,%eax
410aae:	74 07                	je     0x410ab7
410ab0:	50                   	push   %eax
410ab1:	e8 6e 8d ff ff       	call   0x409824
410ab6:	59                   	pop    %ecx
410ab7:	8b 46 30             	mov    0x30(%esi),%eax
410aba:	3b 05 00 38 42 00    	cmp    0x423800,%eax
410ac0:	74 07                	je     0x410ac9
410ac2:	50                   	push   %eax
410ac3:	e8 5c 8d ff ff       	call   0x409824
410ac8:	59                   	pop    %ecx
410ac9:	8b 46 34             	mov    0x34(%esi),%eax
410acc:	3b 05 04 38 42 00    	cmp    0x423804,%eax
410ad2:	74 07                	je     0x410adb
410ad4:	50                   	push   %eax
410ad5:	e8 4a 8d ff ff       	call   0x409824
410ada:	59                   	pop    %ecx
410adb:	5e                   	pop    %esi
410adc:	5d                   	pop    %ebp
410add:	c3                   	ret
410ade:	8b ff                	mov    %edi,%edi
410ae0:	55                   	push   %ebp
410ae1:	8b ec                	mov    %esp,%ebp
410ae3:	8b 45 0c             	mov    0xc(%ebp),%eax
410ae6:	53                   	push   %ebx
410ae7:	56                   	push   %esi
410ae8:	8b 75 08             	mov    0x8(%ebp),%esi
410aeb:	57                   	push   %edi
410aec:	33 ff                	xor    %edi,%edi
410aee:	8d 04 86             	lea    (%esi,%eax,4),%eax
410af1:	8b c8                	mov    %eax,%ecx
410af3:	2b ce                	sub    %esi,%ecx
410af5:	83 c1 03             	add    $0x3,%ecx
410af8:	c1 e9 02             	shr    $0x2,%ecx
410afb:	3b c6                	cmp    %esi,%eax
410afd:	1b db                	sbb    %ebx,%ebx
410aff:	f7 d3                	not    %ebx
410b01:	23 d9                	and    %ecx,%ebx
410b03:	74 10                	je     0x410b15
410b05:	ff 36                	push   (%esi)
410b07:	e8 18 8d ff ff       	call   0x409824
410b0c:	47                   	inc    %edi
410b0d:	8d 76 04             	lea    0x4(%esi),%esi
410b10:	59                   	pop    %ecx
410b11:	3b fb                	cmp    %ebx,%edi
410b13:	75 f0                	jne    0x410b05
410b15:	5f                   	pop    %edi
410b16:	5e                   	pop    %esi
410b17:	5b                   	pop    %ebx
410b18:	5d                   	pop    %ebp
410b19:	c3                   	ret
410b1a:	8b ff                	mov    %edi,%edi
410b1c:	55                   	push   %ebp
410b1d:	8b ec                	mov    %esp,%ebp
410b1f:	56                   	push   %esi
410b20:	8b 75 08             	mov    0x8(%ebp),%esi
410b23:	85 f6                	test   %esi,%esi
410b25:	0f 84 d0 00 00 00    	je     0x410bfb
410b2b:	6a 07                	push   $0x7
410b2d:	56                   	push   %esi
410b2e:	e8 ab ff ff ff       	call   0x410ade
410b33:	8d 46 1c             	lea    0x1c(%esi),%eax
410b36:	6a 07                	push   $0x7
410b38:	50                   	push   %eax
410b39:	e8 a0 ff ff ff       	call   0x410ade
410b3e:	8d 46 38             	lea    0x38(%esi),%eax
410b41:	6a 0c                	push   $0xc
410b43:	50                   	push   %eax
410b44:	e8 95 ff ff ff       	call   0x410ade
410b49:	8d 46 68             	lea    0x68(%esi),%eax
410b4c:	6a 0c                	push   $0xc
410b4e:	50                   	push   %eax
410b4f:	e8 8a ff ff ff       	call   0x410ade
410b54:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
410b5a:	6a 02                	push   $0x2
410b5c:	50                   	push   %eax
410b5d:	e8 7c ff ff ff       	call   0x410ade
410b62:	ff b6 a0 00 00 00    	push   0xa0(%esi)
410b68:	e8 b7 8c ff ff       	call   0x409824
410b6d:	ff b6 a4 00 00 00    	push   0xa4(%esi)
410b73:	e8 ac 8c ff ff       	call   0x409824
410b78:	ff b6 a8 00 00 00    	push   0xa8(%esi)
410b7e:	e8 a1 8c ff ff       	call   0x409824
410b83:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
410b89:	6a 07                	push   $0x7
410b8b:	50                   	push   %eax
410b8c:	e8 4d ff ff ff       	call   0x410ade
410b91:	8d 86 d0 00 00 00    	lea    0xd0(%esi),%eax
410b97:	6a 07                	push   $0x7
410b99:	50                   	push   %eax
410b9a:	e8 3f ff ff ff       	call   0x410ade
410b9f:	83 c4 44             	add    $0x44,%esp
410ba2:	8d 86 ec 00 00 00    	lea    0xec(%esi),%eax
410ba8:	6a 0c                	push   $0xc
410baa:	50                   	push   %eax
410bab:	e8 2e ff ff ff       	call   0x410ade
410bb0:	8d 86 1c 01 00 00    	lea    0x11c(%esi),%eax
410bb6:	6a 0c                	push   $0xc
410bb8:	50                   	push   %eax
410bb9:	e8 20 ff ff ff       	call   0x410ade
410bbe:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
410bc4:	6a 02                	push   $0x2
410bc6:	50                   	push   %eax
410bc7:	e8 12 ff ff ff       	call   0x410ade
410bcc:	ff b6 54 01 00 00    	push   0x154(%esi)
410bd2:	e8 4d 8c ff ff       	call   0x409824
410bd7:	ff b6 58 01 00 00    	push   0x158(%esi)
410bdd:	e8 42 8c ff ff       	call   0x409824
410be2:	ff b6 5c 01 00 00    	push   0x15c(%esi)
410be8:	e8 37 8c ff ff       	call   0x409824
410bed:	ff b6 60 01 00 00    	push   0x160(%esi)
410bf3:	e8 2c 8c ff ff       	call   0x409824
410bf8:	83 c4 28             	add    $0x28,%esp
410bfb:	5e                   	pop    %esi
410bfc:	5d                   	pop    %ebp
410bfd:	c3                   	ret
410bfe:	8b ff                	mov    %edi,%edi
410c00:	55                   	push   %ebp
410c01:	8b ec                	mov    %esp,%ebp
410c03:	8b 45 10             	mov    0x10(%ebp),%eax
410c06:	85 c0                	test   %eax,%eax
410c08:	75 02                	jne    0x410c0c
410c0a:	5d                   	pop    %ebp
410c0b:	c3                   	ret
410c0c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410c0f:	8b 55 08             	mov    0x8(%ebp),%edx
410c12:	56                   	push   %esi
410c13:	83 e8 01             	sub    $0x1,%eax
410c16:	74 15                	je     0x410c2d
410c18:	0f b7 32             	movzwl (%edx),%esi
410c1b:	66 85 f6             	test   %si,%si
410c1e:	74 0d                	je     0x410c2d
410c20:	66 3b 31             	cmp    (%ecx),%si
410c23:	75 08                	jne    0x410c2d
410c25:	83 c2 02             	add    $0x2,%edx
410c28:	83 c1 02             	add    $0x2,%ecx
410c2b:	eb e6                	jmp    0x410c13
410c2d:	0f b7 02             	movzwl (%edx),%eax
410c30:	0f b7 09             	movzwl (%ecx),%ecx
410c33:	2b c1                	sub    %ecx,%eax
410c35:	5e                   	pop    %esi
410c36:	5d                   	pop    %ebp
410c37:	c3                   	ret
410c38:	8b ff                	mov    %edi,%edi
410c3a:	55                   	push   %ebp
410c3b:	8b ec                	mov    %esp,%ebp
410c3d:	83 ec 18             	sub    $0x18,%esp