4088c7:	56                   	push   %esi
4088c8:	57                   	push   %edi
4088c9:	8b 7c 24 14          	mov    0x14(%esp),%edi
4088cd:	6a 01                	push   $0x1
4088cf:	8b c7                	mov    %edi,%eax
4088d1:	59                   	pop    %ecx
4088d2:	33 d2                	xor    %edx,%edx
4088d4:	6a 0a                	push   $0xa
4088d6:	33 f6                	xor    %esi,%esi
4088d8:	5b                   	pop    %ebx
4088d9:	f7 f3                	div    %ebx
4088db:	85 c0                	test   %eax,%eax
4088dd:	76 15                	jbe    0x4088f4
4088df:	8b cb                	mov    %ebx,%ecx
4088e1:	8b c7                	mov    %edi,%eax
4088e3:	33 d2                	xor    %edx,%edx
4088e5:	8d 1c 89             	lea    (%ecx,%ecx,4),%ebx
4088e8:	d1 e3                	shl    $1,%ebx
4088ea:	f7 f3                	div    %ebx
4088ec:	85 c0                	test   %eax,%eax
4088ee:	77 ef                	ja     0x4088df
4088f0:	85 c9                	test   %ecx,%ecx
4088f2:	7e 2c                	jle    0x408920
4088f4:	8b c7                	mov    %edi,%eax
4088f6:	33 d2                	xor    %edx,%edx
4088f8:	f7 f1                	div    %ecx
4088fa:	8b 54 24 10          	mov    0x10(%esp),%edx
4088fe:	04 30                	add    $0x30,%al
408900:	88 04 16             	mov    %al,(%esi,%edx,1)
408903:	46                   	inc    %esi
408904:	3b 74 24 18          	cmp    0x18(%esp),%esi
408908:	7d 14                	jge    0x40891e
40890a:	8b c7                	mov    %edi,%eax
40890c:	33 d2                	xor    %edx,%edx
40890e:	f7 f1                	div    %ecx
408910:	8b c1                	mov    %ecx,%eax
408912:	6a 0a                	push   $0xa
408914:	59                   	pop    %ecx
408915:	8b fa                	mov    %edx,%edi
408917:	99                   	cltd
408918:	f7 f9                	idiv   %ecx
40891a:	8b c8                	mov    %eax,%ecx
40891c:	eb d2                	jmp    0x4088f0
40891e:	33 f6                	xor    %esi,%esi
408920:	8b 44 24 10          	mov    0x10(%esp),%eax
408924:	5f                   	pop    %edi
408925:	80 24 06 00          	andb   $0x0,(%esi,%eax,1)
408929:	8b c6                	mov    %esi,%eax
40892b:	5e                   	pop    %esi
40892c:	5b                   	pop    %ebx
40892d:	c3                   	ret
40892e:	55                   	push   %ebp
40892f:	8b ec                	mov    %esp,%ebp
408931:	83 ec 14             	sub    $0x14,%esp
408934:	53                   	push   %ebx
408935:	56                   	push   %esi
408936:	8b 75 0c             	mov    0xc(%ebp),%esi
408939:	33 c0                	xor    %eax,%eax
40893b:	57                   	push   %edi
40893c:	50                   	push   %eax
40893d:	8b 5e 04             	mov    0x4(%esi),%ebx
408940:	8b 3e                	mov    (%esi),%edi
408942:	6a 0a                	push   $0xa
408944:	53                   	push   %ebx
408945:	57                   	push   %edi
408946:	89 45 fc             	mov    %eax,-0x4(%ebp)
408949:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
408950:	89 45 f8             	mov    %eax,-0x8(%ebp)
408953:	e8 48 07 00 00       	call   0x4090a0
408958:	85 d2                	test   %edx,%edx
40895a:	7c 4f                	jl     0x4089ab
40895c:	7f 04                	jg     0x408962
40895e:	85 c0                	test   %eax,%eax
408960:	76 49                	jbe    0x4089ab
408962:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
408966:	c7 45 ec 0a 00 00 00 	movl   $0xa,-0x14(%ebp)
40896d:	8b 45 f0             	mov    -0x10(%ebp),%eax
408970:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408973:	6a 00                	push   $0x0
408975:	6a 0a                	push   $0xa
408977:	50                   	push   %eax
408978:	51                   	push   %ecx
408979:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40897c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40897f:	e8 9c 08 00 00       	call   0x409220
408984:	52                   	push   %edx
408985:	50                   	push   %eax
408986:	53                   	push   %ebx
408987:	57                   	push   %edi
408988:	89 45 ec             	mov    %eax,-0x14(%ebp)
40898b:	89 55 f0             	mov    %edx,-0x10(%ebp)
40898e:	e8 0d 07 00 00       	call   0x4090a0
408993:	85 d2                	test   %edx,%edx
408995:	7f d6                	jg     0x40896d
408997:	7c 04                	jl     0x40899d
408999:	85 c0                	test   %eax,%eax
40899b:	77 d0                	ja     0x40896d
40899d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4089a1:	7c 6c                	jl     0x408a0f
4089a3:	7f 06                	jg     0x4089ab
4089a5:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4089a9:	76 64                	jbe    0x408a0f
4089ab:	ff 75 f8             	push   -0x8(%ebp)
4089ae:	ff 75 f4             	push   -0xc(%ebp)
4089b1:	ff 76 04             	push   0x4(%esi)
4089b4:	ff 36                	push   (%esi)
4089b6:	e8 e5 06 00 00       	call   0x4090a0
4089bb:	85 d2                	test   %edx,%edx
4089bd:	7c 1a                	jl     0x4089d9
4089bf:	7f 04                	jg     0x4089c5
4089c1:	85 c0                	test   %eax,%eax
4089c3:	72 14                	jb     0x4089d9
4089c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4089c8:	8b 55 08             	mov    0x8(%ebp),%edx
4089cb:	04 30                	add    $0x30,%al
4089cd:	88 04 11             	mov    %al,(%ecx,%edx,1)
4089d0:	41                   	inc    %ecx
4089d1:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4089d4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4089d7:	7d 32                	jge    0x408a0b
4089d9:	ff 75 f8             	push   -0x8(%ebp)
4089dc:	ff 75 f4             	push   -0xc(%ebp)
4089df:	ff 76 04             	push   0x4(%esi)
4089e2:	ff 36                	push   (%esi)
4089e4:	e8 77 07 00 00       	call   0x409160
4089e9:	6a 00                	push   $0x0
4089eb:	6a 0a                	push   $0xa
4089ed:	ff 75 f8             	push   -0x8(%ebp)
4089f0:	89 06                	mov    %eax,(%esi)
4089f2:	89 56 04             	mov    %edx,0x4(%esi)
4089f5:	ff 75 f4             	push   -0xc(%ebp)
4089f8:	e8 a3 06 00 00       	call   0x4090a0
4089fd:	85 d2                	test   %edx,%edx
4089ff:	89 45 f4             	mov    %eax,-0xc(%ebp)
408a02:	89 55 f8             	mov    %edx,-0x8(%ebp)
408a05:	7f a4                	jg     0x4089ab
408a07:	7c 06                	jl     0x408a0f
408a09:	eb 9a                	jmp    0x4089a5
408a0b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408a0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408a12:	8b 45 08             	mov    0x8(%ebp),%eax
408a15:	5f                   	pop    %edi
408a16:	5e                   	pop    %esi
408a17:	80 24 01 00          	andb   $0x0,(%ecx,%eax,1)
408a1b:	5b                   	pop    %ebx
408a1c:	c9                   	leave
408a1d:	c3                   	ret
408a1e:	55                   	push   %ebp
408a1f:	8b ec                	mov    %esp,%ebp
408a21:	81 ec 04 01 00 00    	sub    $0x104,%esp
408a27:	53                   	push   %ebx
408a28:	56                   	push   %esi
408a29:	57                   	push   %edi
408a2a:	8b 7d 08             	mov    0x8(%ebp),%edi
408a2d:	68 00 d4 40 00       	push   $0x40d400
408a32:	57                   	push   %edi
408a33:	ff 15 80 a1 40 00    	call   *0x40a180
408a39:	8b 1d c4 a0 40 00    	mov    0x40a0c4,%ebx
408a3f:	8b f0                	mov    %eax,%esi
408a41:	59                   	pop    %ecx
408a42:	85 f6                	test   %esi,%esi
408a44:	59                   	pop    %ecx
408a45:	74 2f                	je     0x408a76
408a47:	46                   	inc    %esi
408a48:	8d 46 0a             	lea    0xa(%esi),%eax
408a4b:	50                   	push   %eax
408a4c:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
408a52:	50                   	push   %eax
408a53:	e8 f0 05 00 00       	call   0x409048
408a58:	8b c7                	mov    %edi,%eax
408a5a:	59                   	pop    %ecx
408a5b:	2b c6                	sub    %esi,%eax
408a5d:	59                   	pop    %ecx
408a5e:	05 04 01 00 00       	add    $0x104,%eax
408a63:	50                   	push   %eax
408a64:	56                   	push   %esi
408a65:	ff d3                	call   *%ebx
408a67:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
408a6d:	50                   	push   %eax
408a6e:	56                   	push   %esi
408a6f:	e8 ce 04 00 00       	call   0x408f42
408a74:	59                   	pop    %ecx
408a75:	59                   	pop    %ecx
408a76:	6a 09                	push   $0x9
408a78:	68 f4 d3 40 00       	push   $0x40d3f4
408a7d:	57                   	push   %edi
408a7e:	8b f7                	mov    %edi,%esi
408a80:	ff 15 28 a1 40 00    	call   *0x40a128
408a86:	83 c4 0c             	add    $0xc,%esp
408a89:	85 c0                	test   %eax,%eax
408a8b:	75 29                	jne    0x408ab6
408a8d:	8d 47 08             	lea    0x8(%edi),%eax
408a90:	50                   	push   %eax
408a91:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
408a97:	50                   	push   %eax
408a98:	e8 ab 05 00 00       	call   0x409048
408a9d:	59                   	pop    %ecx
408a9e:	59                   	pop    %ecx
408a9f:	68 04 01 00 00       	push   $0x104
408aa4:	57                   	push   %edi
408aa5:	ff d3                	call   *%ebx
408aa7:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
408aad:	50                   	push   %eax
408aae:	57                   	push   %edi
408aaf:	e8 8e 04 00 00       	call   0x408f42
408ab4:	59                   	pop    %ecx
408ab5:	59                   	pop    %ecx
408ab6:	80 3f 5c             	cmpb   $0x5c,(%edi)
408ab9:	75 26                	jne    0x408ae1
408abb:	80 7f 02 3a          	cmpb   $0x3a,0x2(%edi)
408abf:	8d 77 01             	lea    0x1(%edi),%esi
408ac2:	75 06                	jne    0x408aca
408ac4:	80 7e 02 5c          	cmpb   $0x5c,0x2(%esi)
408ac8:	74 17                	je     0x408ae1
408aca:	8a 06                	mov    (%esi),%al
408acc:	84 c0                	test   %al,%al
408ace:	74 07                	je     0x408ad7
408ad0:	3c 5c                	cmp    $0x5c,%al
408ad2:	74 03                	je     0x408ad7
408ad4:	46                   	inc    %esi
408ad5:	eb f3                	jmp    0x408aca
408ad7:	80 3e 00             	cmpb   $0x0,(%esi)
408ada:	75 04                	jne    0x408ae0
408adc:	8b f7                	mov    %edi,%esi
408ade:	eb 01                	jmp    0x408ae1
408ae0:	46                   	inc    %esi
408ae1:	8b c6                	mov    %esi,%eax
408ae3:	5f                   	pop    %edi
408ae4:	5e                   	pop    %esi
408ae5:	5b                   	pop    %ebx
408ae6:	c9                   	leave
408ae7:	c3                   	ret
408ae8:	55                   	push   %ebp
408ae9:	8b ec                	mov    %esp,%ebp
408aeb:	81 ec 18 01 00 00    	sub    $0x118,%esp
408af1:	56                   	push   %esi
408af2:	57                   	push   %edi
408af3:	8b 7d 14             	mov    0x14(%ebp),%edi
408af6:	85 ff                	test   %edi,%edi
408af8:	7e 16                	jle    0x408b10
408afa:	8b 75 0c             	mov    0xc(%ebp),%esi
408afd:	68 88 ca 40 00       	push   $0x40ca88
408b02:	56                   	push   %esi
408b03:	e8 40 05 00 00       	call   0x409048
408b08:	03 75 10             	add    0x10(%ebp),%esi
408b0b:	59                   	pop    %ecx
408b0c:	4f                   	dec    %edi
408b0d:	59                   	pop    %ecx
408b0e:	75 ed                	jne    0x408afd
408b10:	8d 45 ec             	lea    -0x14(%ebp),%eax
408b13:	50                   	push   %eax
408b14:	ff 75 08             	push   0x8(%ebp)
408b17:	e8 e6 03 00 00       	call   0x408f02
408b1c:	83 f8 01             	cmp    $0x1,%eax
408b1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408b22:	7c 11                	jl     0x408b35
408b24:	50                   	push   %eax
408b25:	ff 15 44 a1 40 00    	call   *0x40a144
408b2b:	8b f0                	mov    %eax,%esi
408b2d:	59                   	pop    %ecx
408b2e:	85 f6                	test   %esi,%esi
408b30:	89 75 f4             	mov    %esi,-0xc(%ebp)
408b33:	75 07                	jne    0x408b3c
408b35:	32 c0                	xor    %al,%al
408b37:	e9 df 00 00 00       	jmp    0x408c1b
408b3c:	53                   	push   %ebx
408b3d:	56                   	push   %esi
408b3e:	ff 75 fc             	push   -0x4(%ebp)
408b41:	6a 00                	push   $0x0
408b43:	ff 75 08             	push   0x8(%ebp)
408b46:	e8 b1 03 00 00       	call   0x408efc
408b4b:	85 c0                	test   %eax,%eax
408b4d:	75 07                	jne    0x408b56
408b4f:	32 db                	xor    %bl,%bl
408b51:	e9 b8 00 00 00       	jmp    0x408c0e
408b56:	8d 45 fc             	lea    -0x4(%ebp),%eax
408b59:	50                   	push   %eax
408b5a:	8d 45 f8             	lea    -0x8(%ebp),%eax
408b5d:	50                   	push   %eax
408b5e:	68 28 d4 40 00       	push   $0x40d428
408b63:	56                   	push   %esi
408b64:	e8 8d 03 00 00       	call   0x408ef6
408b69:	85 c0                	test   %eax,%eax
408b6b:	74 e2                	je     0x408b4f
408b6d:	8b 45 f8             	mov    -0x8(%ebp),%eax
408b70:	33 f6                	xor    %esi,%esi
408b72:	39 75 14             	cmp    %esi,0x14(%ebp)
408b75:	89 75 08             	mov    %esi,0x8(%ebp)
408b78:	66 8b 18             	mov    (%eax),%bx
408b7b:	66 8b 40 02          	mov    0x2(%eax),%ax
408b7f:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
408b83:	0f 8e 83 00 00 00    	jle    0x408c0c
408b89:	bf f0 d0 40 00       	mov    $0x40d0f0,%edi
408b8e:	8b 07                	mov    (%edi),%eax
408b90:	85 c0                	test   %eax,%eax
408b92:	74 78                	je     0x408c0c
408b94:	50                   	push   %eax
408b95:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
408b99:	50                   	push   %eax
408b9a:	0f b7 c3             	movzwl %bx,%eax
408b9d:	50                   	push   %eax
408b9e:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
408ba4:	68 0c d4 40 00       	push   $0x40d40c
408ba9:	50                   	push   %eax
408baa:	ff 15 58 a1 40 00    	call   *0x40a158
408bb0:	83 c4 14             	add    $0x14,%esp
408bb3:	8d 45 fc             	lea    -0x4(%ebp),%eax
408bb6:	50                   	push   %eax
408bb7:	8d 45 f8             	lea    -0x8(%ebp),%eax
408bba:	50                   	push   %eax
408bbb:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
408bc1:	50                   	push   %eax
408bc2:	ff 75 f4             	push   -0xc(%ebp)
408bc5:	e8 2c 03 00 00       	call   0x408ef6
408bca:	85 c0                	test   %eax,%eax
408bcc:	74 2d                	je     0x408bfb
408bce:	8b 45 10             	mov    0x10(%ebp),%eax
408bd1:	39 45 fc             	cmp    %eax,-0x4(%ebp)
408bd4:	7c 04                	jl     0x408bda
408bd6:	48                   	dec    %eax
408bd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
408bda:	ff 75 fc             	push   -0x4(%ebp)
408bdd:	8b 45 0c             	mov    0xc(%ebp),%eax
408be0:	03 c6                	add    %esi,%eax
408be2:	ff 75 f8             	push   -0x8(%ebp)
408be5:	50                   	push   %eax
408be6:	ff 15 64 a1 40 00    	call   *0x40a164
408bec:	8b 45 fc             	mov    -0x4(%ebp),%eax
408bef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408bf2:	03 c6                	add    %esi,%eax
408bf4:	83 c4 0c             	add    $0xc,%esp
408bf7:	80 24 08 00          	andb   $0x0,(%eax,%ecx,1)
408bfb:	ff 45 08             	incl   0x8(%ebp)
408bfe:	03 75 10             	add    0x10(%ebp),%esi
408c01:	8b 45 08             	mov    0x8(%ebp),%eax
408c04:	83 c7 04             	add    $0x4,%edi
408c07:	3b 45 14             	cmp    0x14(%ebp),%eax
408c0a:	7c 82                	jl     0x408b8e
408c0c:	b3 01                	mov    $0x1,%bl
408c0e:	ff 75 f4             	push   -0xc(%ebp)
408c11:	ff 15 48 a1 40 00    	call   *0x40a148
408c17:	59                   	pop    %ecx
408c18:	8a c3                	mov    %bl,%al
408c1a:	5b                   	pop    %ebx
408c1b:	5f                   	pop    %edi
408c1c:	5e                   	pop    %esi
408c1d:	c9                   	leave
408c1e:	c3                   	ret
408c1f:	55                   	push   %ebp
408c20:	8b ec                	mov    %esp,%ebp