41084e:	ff 15 e8 70 41 00    	call   *0x4170e8
410854:	89 45 f8             	mov    %eax,-0x8(%ebp)
410857:	53                   	push   %ebx
410858:	e8 4c 81 ff ff       	call   0x4089a9
41085d:	8b 45 f8             	mov    -0x8(%ebp),%eax
410860:	59                   	pop    %ecx
410861:	eb 75                	jmp    0x4108d8
410863:	33 f6                	xor    %esi,%esi
410865:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
410868:	75 08                	jne    0x410872
41086a:	8b 07                	mov    (%edi),%eax
41086c:	8b 40 14             	mov    0x14(%eax),%eax
41086f:	89 45 1c             	mov    %eax,0x1c(%ebp)
410872:	39 5d 18             	cmp    %ebx,0x18(%ebp)
410875:	75 08                	jne    0x41087f
410877:	8b 07                	mov    (%edi),%eax
410879:	8b 40 04             	mov    0x4(%eax),%eax
41087c:	89 45 18             	mov    %eax,0x18(%ebp)
41087f:	ff 75 1c             	push   0x1c(%ebp)
410882:	e8 c7 fb ff ff       	call   0x41044e
410887:	83 f8 ff             	cmp    $0xffffffff,%eax
41088a:	59                   	pop    %ecx
41088b:	75 04                	jne    0x410891
41088d:	33 c0                	xor    %eax,%eax
41088f:	eb 47                	jmp    0x4108d8
410891:	3b 45 18             	cmp    0x18(%ebp),%eax
410894:	74 1e                	je     0x4108b4
410896:	53                   	push   %ebx
410897:	53                   	push   %ebx
410898:	8d 4d 10             	lea    0x10(%ebp),%ecx
41089b:	51                   	push   %ecx
41089c:	ff 75 0c             	push   0xc(%ebp)
41089f:	50                   	push   %eax
4108a0:	ff 75 18             	push   0x18(%ebp)
4108a3:	e8 ed fb ff ff       	call   0x410495
4108a8:	8b f0                	mov    %eax,%esi
4108aa:	83 c4 18             	add    $0x18,%esp
4108ad:	3b f3                	cmp    %ebx,%esi
4108af:	74 dc                	je     0x41088d
4108b1:	89 75 0c             	mov    %esi,0xc(%ebp)
4108b4:	ff 75 14             	push   0x14(%ebp)
4108b7:	ff 75 10             	push   0x10(%ebp)
4108ba:	ff 75 0c             	push   0xc(%ebp)
4108bd:	ff 75 08             	push   0x8(%ebp)
4108c0:	ff 75 1c             	push   0x1c(%ebp)
4108c3:	ff 15 e4 70 41 00    	call   *0x4170e4
4108c9:	3b f3                	cmp    %ebx,%esi
4108cb:	8b f8                	mov    %eax,%edi
4108cd:	74 07                	je     0x4108d6
4108cf:	56                   	push   %esi
4108d0:	e8 7e 5b ff ff       	call   0x406453
4108d5:	59                   	pop    %ecx
4108d6:	8b c7                	mov    %edi,%eax
4108d8:	8d 65 ec             	lea    -0x14(%ebp),%esp
4108db:	5f                   	pop    %edi
4108dc:	5e                   	pop    %esi
4108dd:	5b                   	pop    %ebx
4108de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4108e1:	33 cd                	xor    %ebp,%ecx
4108e3:	e8 4d 56 ff ff       	call   0x405f35
4108e8:	c9                   	leave
4108e9:	c3                   	ret
4108ea:	55                   	push   %ebp
4108eb:	8b ec                	mov    %esp,%ebp
4108ed:	83 ec 10             	sub    $0x10,%esp
4108f0:	ff 75 08             	push   0x8(%ebp)
4108f3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4108f6:	e8 c9 80 ff ff       	call   0x4089c4
4108fb:	ff 75 24             	push   0x24(%ebp)
4108fe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
410901:	ff 75 20             	push   0x20(%ebp)
410904:	ff 75 1c             	push   0x1c(%ebp)
410907:	ff 75 18             	push   0x18(%ebp)
41090a:	ff 75 14             	push   0x14(%ebp)
41090d:	ff 75 10             	push   0x10(%ebp)
410910:	ff 75 0c             	push   0xc(%ebp)
410913:	e8 1a fe ff ff       	call   0x410732
410918:	83 c4 1c             	add    $0x1c,%esp
41091b:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41091f:	74 07                	je     0x410928
410921:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410924:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
410928:	c9                   	leave
410929:	c3                   	ret
41092a:	55                   	push   %ebp
41092b:	8d 6c 24 9c          	lea    -0x64(%esp),%ebp
41092f:	81 ec 94 00 00 00    	sub    $0x94,%esp
410935:	a1 20 c5 41 00       	mov    0x41c520,%eax
41093a:	33 c5                	xor    %ebp,%eax
41093c:	89 45 60             	mov    %eax,0x60(%ebp)
41093f:	8b 45 6c             	mov    0x6c(%ebp),%eax
410942:	53                   	push   %ebx
410943:	56                   	push   %esi
410944:	8b 75 7c             	mov    0x7c(%ebp),%esi
410947:	33 db                	xor    %ebx,%ebx
410949:	83 7d 70 01          	cmpl   $0x1,0x70(%ebp)
41094d:	57                   	push   %edi
41094e:	89 45 d8             	mov    %eax,-0x28(%ebp)
410951:	89 75 d0             	mov    %esi,-0x30(%ebp)
410954:	0f 85 df 00 00 00    	jne    0x410a39
41095a:	53                   	push   %ebx
41095b:	68 80 00 00 00       	push   $0x80
410960:	8d 7d e0             	lea    -0x20(%ebp),%edi
410963:	8b cf                	mov    %edi,%ecx
410965:	51                   	push   %ecx
410966:	ff 75 78             	push   0x78(%ebp)
410969:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41096c:	ff 75 74             	push   0x74(%ebp)
41096f:	50                   	push   %eax
410970:	e8 39 48 00 00       	call   0x4151ae
410975:	8b f0                	mov    %eax,%esi
410977:	83 c4 18             	add    $0x18,%esp
41097a:	3b f3                	cmp    %ebx,%esi
41097c:	75 57                	jne    0x4109d5
41097e:	ff 15 b0 70 41 00    	call   *0x4170b0
410984:	83 f8 7a             	cmp    $0x7a,%eax
410987:	75 6b                	jne    0x4109f4
410989:	53                   	push   %ebx
41098a:	53                   	push   %ebx
41098b:	53                   	push   %ebx
41098c:	ff 75 78             	push   0x78(%ebp)
41098f:	ff 75 74             	push   0x74(%ebp)
410992:	ff 75 d8             	push   -0x28(%ebp)
410995:	e8 14 48 00 00       	call   0x4151ae
41099a:	83 c4 18             	add    $0x18,%esp
41099d:	3b c3                	cmp    %ebx,%eax
41099f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4109a2:	74 50                	je     0x4109f4
4109a4:	33 f6                	xor    %esi,%esi
4109a6:	46                   	inc    %esi
4109a7:	56                   	push   %esi
4109a8:	50                   	push   %eax
4109a9:	e8 7e 89 ff ff       	call   0x40932c
4109ae:	8b f8                	mov    %eax,%edi
4109b0:	3b fb                	cmp    %ebx,%edi
4109b2:	59                   	pop    %ecx
4109b3:	59                   	pop    %ecx
4109b4:	74 3e                	je     0x4109f4
4109b6:	53                   	push   %ebx
4109b7:	ff 75 d4             	push   -0x2c(%ebp)
4109ba:	89 75 dc             	mov    %esi,-0x24(%ebp)
4109bd:	57                   	push   %edi
4109be:	ff 75 78             	push   0x78(%ebp)
4109c1:	ff 75 74             	push   0x74(%ebp)
4109c4:	ff 75 d8             	push   -0x28(%ebp)
4109c7:	e8 e2 47 00 00       	call   0x4151ae
4109cc:	8b f0                	mov    %eax,%esi
4109ce:	83 c4 18             	add    $0x18,%esp
4109d1:	3b f3                	cmp    %ebx,%esi
4109d3:	74 18                	je     0x4109ed
4109d5:	6a 01                	push   $0x1
4109d7:	56                   	push   %esi
4109d8:	e8 4f 89 ff ff       	call   0x40932c
4109dd:	3b c3                	cmp    %ebx,%eax
4109df:	59                   	pop    %ecx
4109e0:	59                   	pop    %ecx
4109e1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4109e4:	89 01                	mov    %eax,(%ecx)
4109e6:	75 21                	jne    0x410a09
4109e8:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
4109eb:	74 07                	je     0x4109f4
4109ed:	57                   	push   %edi
4109ee:	e8 60 5a ff ff       	call   0x406453
4109f3:	59                   	pop    %ecx
4109f4:	83 c8 ff             	or     $0xffffffff,%eax
4109f7:	8b 4d 60             	mov    0x60(%ebp),%ecx
4109fa:	5f                   	pop    %edi
4109fb:	5e                   	pop    %esi
4109fc:	33 cd                	xor    %ebp,%ecx
4109fe:	5b                   	pop    %ebx
4109ff:	e8 31 55 ff ff       	call   0x405f35
410a04:	83 c5 64             	add    $0x64,%ebp
410a07:	c9                   	leave
410a08:	c3                   	ret
410a09:	8d 4e ff             	lea    -0x1(%esi),%ecx
410a0c:	51                   	push   %ecx
410a0d:	57                   	push   %edi
410a0e:	56                   	push   %esi
410a0f:	50                   	push   %eax
410a10:	e8 e1 0f 00 00       	call   0x4119f6
410a15:	83 c4 10             	add    $0x10,%esp
410a18:	85 c0                	test   %eax,%eax
410a1a:	74 0d                	je     0x410a29
410a1c:	53                   	push   %ebx
410a1d:	53                   	push   %ebx
410a1e:	53                   	push   %ebx
410a1f:	53                   	push   %ebx
410a20:	53                   	push   %ebx
410a21:	e8 2e 6b ff ff       	call   0x407554
410a26:	83 c4 14             	add    $0x14,%esp
410a29:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
410a2c:	74 07                	je     0x410a35
410a2e:	57                   	push   %edi
410a2f:	e8 1f 5a ff ff       	call   0x406453
410a34:	59                   	pop    %ecx
410a35:	33 c0                	xor    %eax,%eax
410a37:	eb be                	jmp    0x4109f7
410a39:	39 5d 70             	cmp    %ebx,0x70(%ebp)
410a3c:	75 b6                	jne    0x4109f4
410a3e:	53                   	push   %ebx
410a3f:	6a 04                	push   $0x4
410a41:	bf 64 e3 41 00       	mov    $0x41e364,%edi
410a46:	57                   	push   %edi
410a47:	ff 75 78             	push   0x78(%ebp)
410a4a:	ff 75 74             	push   0x74(%ebp)
410a4d:	50                   	push   %eax
410a4e:	e8 e3 45 00 00       	call   0x415036
410a53:	83 c4 18             	add    $0x18,%esp
410a56:	85 c0                	test   %eax,%eax
410a58:	74 9a                	je     0x4109f4
410a5a:	88 1e                	mov    %bl,(%esi)
410a5c:	8a 1f                	mov    (%edi),%bl
410a5e:	0f b6 c3             	movzbl %bl,%eax
410a61:	50                   	push   %eax
410a62:	e8 3c 84 ff ff       	call   0x408ea3
410a67:	85 c0                	test   %eax,%eax
410a69:	59                   	pop    %ecx
410a6a:	74 c9                	je     0x410a35
410a6c:	8a 06                	mov    (%esi),%al
410a6e:	b1 0a                	mov    $0xa,%cl
410a70:	f6 e9                	imul   %cl
410a72:	02 c3                	add    %bl,%al
410a74:	2c 30                	sub    $0x30,%al
410a76:	47                   	inc    %edi
410a77:	47                   	inc    %edi
410a78:	81 ff 6c e3 41 00    	cmp    $0x41e36c,%edi
410a7e:	88 06                	mov    %al,(%esi)
410a80:	7c da                	jl     0x410a5c
410a82:	eb b1                	jmp    0x410a35
410a84:	8b 44 24 04          	mov    0x4(%esp),%eax
410a88:	a3 6c e3 41 00       	mov    %eax,0x41e36c
410a8d:	c3                   	ret
410a8e:	6a 0c                	push   $0xc
410a90:	68 38 ae 41 00       	push   $0x41ae38
410a95:	e8 ae cb ff ff       	call   0x40d648
410a9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
410a9d:	33 ff                	xor    %edi,%edi
410a9f:	3b cf                	cmp    %edi,%ecx
410aa1:	76 2e                	jbe    0x410ad1
410aa3:	6a e0                	push   $0xffffffe0
410aa5:	58                   	pop    %eax
410aa6:	33 d2                	xor    %edx,%edx
410aa8:	f7 f1                	div    %ecx
410aaa:	3b 45 0c             	cmp    0xc(%ebp),%eax
410aad:	1b c0                	sbb    %eax,%eax
410aaf:	40                   	inc    %eax
410ab0:	75 1f                	jne    0x410ad1
410ab2:	e8 43 89 ff ff       	call   0x4093fa
410ab7:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410abd:	57                   	push   %edi
410abe:	57                   	push   %edi
410abf:	57                   	push   %edi
410ac0:	57                   	push   %edi
410ac1:	57                   	push   %edi
410ac2:	e8 89 6b ff ff       	call   0x407650
410ac7:	83 c4 14             	add    $0x14,%esp
410aca:	33 c0                	xor    %eax,%eax
410acc:	e9 d5 00 00 00       	jmp    0x410ba6
410ad1:	0f af 4d 0c          	imul   0xc(%ebp),%ecx
410ad5:	8b f1                	mov    %ecx,%esi
410ad7:	89 75 08             	mov    %esi,0x8(%ebp)
410ada:	3b f7                	cmp    %edi,%esi
410adc:	75 03                	jne    0x410ae1
410ade:	33 f6                	xor    %esi,%esi
410ae0:	46                   	inc    %esi
410ae1:	33 db                	xor    %ebx,%ebx
410ae3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
410ae6:	83 fe e0             	cmp    $0xffffffe0,%esi
410ae9:	77 69                	ja     0x410b54
410aeb:	83 3d f0 e5 41 00 03 	cmpl   $0x3,0x41e5f0
410af2:	75 4b                	jne    0x410b3f
410af4:	83 c6 0f             	add    $0xf,%esi
410af7:	83 e6 f0             	and    $0xfffffff0,%esi
410afa:	89 75 0c             	mov    %esi,0xc(%ebp)
410afd:	8b 45 08             	mov    0x8(%ebp),%eax
410b00:	3b 05 e0 e5 41 00    	cmp    0x41e5e0,%eax
410b06:	77 37                	ja     0x410b3f
410b08:	6a 04                	push   $0x4
410b0a:	e8 08 c0 ff ff       	call   0x40cb17
410b0f:	59                   	pop    %ecx
410b10:	89 7d fc             	mov    %edi,-0x4(%ebp)
410b13:	ff 75 08             	push   0x8(%ebp)
410b16:	e8 49 c8 ff ff       	call   0x40d364
410b1b:	59                   	pop    %ecx
410b1c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410b1f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410b26:	e8 5f 00 00 00       	call   0x410b8a
410b2b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
410b2e:	3b df                	cmp    %edi,%ebx
410b30:	74 11                	je     0x410b43
410b32:	ff 75 08             	push   0x8(%ebp)
410b35:	57                   	push   %edi
410b36:	53                   	push   %ebx
410b37:	e8 14 50 ff ff       	call   0x405b50
410b3c:	83 c4 0c             	add    $0xc,%esp
410b3f:	3b df                	cmp    %edi,%ebx
410b41:	75 61                	jne    0x410ba4
410b43:	56                   	push   %esi
410b44:	6a 08                	push   $0x8
410b46:	ff 35 5c dd 41 00    	push   0x41dd5c
410b4c:	ff 15 c0 70 41 00    	call   *0x4170c0
410b52:	8b d8                	mov    %eax,%ebx
410b54:	3b df                	cmp    %edi,%ebx
410b56:	75 4c                	jne    0x410ba4
410b58:	39 3d 88 e3 41 00    	cmp    %edi,0x41e388
410b5e:	74 33                	je     0x410b93
410b60:	56                   	push   %esi
410b61:	e8 9d b6 ff ff       	call   0x40c203
410b66:	59                   	pop    %ecx
410b67:	85 c0                	test   %eax,%eax
410b69:	0f 85 72 ff ff ff    	jne    0x410ae1
410b6f:	8b 45 10             	mov    0x10(%ebp),%eax
410b72:	3b c7                	cmp    %edi,%eax
410b74:	0f 84 50 ff ff ff    	je     0x410aca
410b7a:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410b80:	e9 45 ff ff ff       	jmp    0x410aca
410b85:	33 ff                	xor    %edi,%edi
410b87:	8b 75 0c             	mov    0xc(%ebp),%esi
410b8a:	6a 04                	push   $0x4
410b8c:	e8 ae be ff ff       	call   0x40ca3f
410b91:	59                   	pop    %ecx
410b92:	c3                   	ret
410b93:	3b df                	cmp    %edi,%ebx
410b95:	75 0d                	jne    0x410ba4
410b97:	8b 45 10             	mov    0x10(%ebp),%eax
410b9a:	3b c7                	cmp    %edi,%eax
410b9c:	74 06                	je     0x410ba4
410b9e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410ba4:	8b c3                	mov    %ebx,%eax
410ba6:	e8 e2 ca ff ff       	call   0x40d68d
410bab:	c3                   	ret
410bac:	6a 10                	push   $0x10
410bae:	68 58 ae 41 00       	push   $0x41ae58
410bb3:	e8 90 ca ff ff       	call   0x40d648
410bb8:	8b 5d 08             	mov    0x8(%ebp),%ebx
410bbb:	85 db                	test   %ebx,%ebx
410bbd:	75 0e                	jne    0x410bcd
410bbf:	ff 75 0c             	push   0xc(%ebp)
410bc2:	e8 88 a1 ff ff       	call   0x40ad4f
410bc7:	59                   	pop    %ecx
410bc8:	e9 cc 01 00 00       	jmp    0x410d99
410bcd:	8b 75 0c             	mov    0xc(%ebp),%esi
410bd0:	85 f6                	test   %esi,%esi
410bd2:	75 0c                	jne    0x410be0
410bd4:	53                   	push   %ebx
410bd5:	e8 79 58 ff ff       	call   0x406453
410bda:	59                   	pop    %ecx
410bdb:	e9 b7 01 00 00       	jmp    0x410d97
410be0:	83 3d f0 e5 41 00 03 	cmpl   $0x3,0x41e5f0
410be7:	0f 85 93 01 00 00    	jne    0x410d80