4048e0:	ff 70 30             	push   0x30(%eax)
4048e3:	6a 14                	push   $0x14
4048e5:	56                   	push   %esi
4048e6:	e8 74 fa ff ff       	call   0x40435f
4048eb:	57                   	push   %edi
4048ec:	e8 a3 fa ff ff       	call   0x404394
4048f1:	6a 07                	push   $0x7
4048f3:	e8 ca 1e 00 00       	call   0x4067c2
4048f8:	85 c0                	test   %eax,%eax
4048fa:	0f 84 91 02 00 00    	je     0x404b91
404900:	6a 01                	push   $0x1
404902:	57                   	push   %edi
404903:	ff d0                	call   *%eax
404905:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
40490c:	0f 85 d1 00 00 00    	jne    0x4049e3
404912:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
404916:	3d fb 03 00 00       	cmp    $0x3fb,%eax
40491b:	75 18                	jne    0x404935
40491d:	8b 4d 10             	mov    0x10(%ebp),%ecx
404920:	c1 e9 10             	shr    $0x10,%ecx
404923:	66 81 f9 00 03       	cmp    $0x300,%cx
404928:	0f 85 63 02 00 00    	jne    0x404b91
40492e:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404935:	3d e9 03 00 00       	cmp    $0x3e9,%eax
40493a:	0f 85 a3 00 00 00    	jne    0x4049e3
404940:	6a 07                	push   $0x7
404942:	33 c0                	xor    %eax,%eax
404944:	59                   	pop    %ecx
404945:	8d 7d b8             	lea    -0x48(%ebp),%edi
404948:	ff 75 f8             	push   -0x8(%ebp)
40494b:	f3 ab                	rep stos %eax,%es:(%edi)
40494d:	bf 28 37 42 00       	mov    $0x423728,%edi
404952:	68 00 1f 42 00       	push   $0x421f00
404957:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40495a:	89 7d bc             	mov    %edi,-0x44(%ebp)
40495d:	c7 45 c8 a6 4b 40 00 	movl   $0x404ba6,-0x38(%ebp)
404964:	89 5d cc             	mov    %ebx,-0x34(%ebp)
404967:	e8 9e 1a 00 00       	call   0x40640a
40496c:	89 45 c0             	mov    %eax,-0x40(%ebp)
40496f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
404972:	50                   	push   %eax
404973:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
40497a:	ff 15 84 81 40 00    	call   *0x408184
404980:	85 c0                	test   %eax,%eax
404982:	74 58                	je     0x4049dc
404984:	50                   	push   %eax
404985:	ff 15 a4 82 40 00    	call   *0x4082a4
40498b:	53                   	push   %ebx
40498c:	e8 2c 13 00 00       	call   0x405cbd
404991:	a1 54 a2 42 00       	mov    0x42a254,%eax
404996:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
40499c:	85 c0                	test   %eax,%eax
40499e:	74 28                	je     0x4049c8
4049a0:	81 fb 00 58 43 00    	cmp    $0x435800,%ebx
4049a6:	75 20                	jne    0x4049c8
4049a8:	50                   	push   %eax
4049a9:	6a 00                	push   $0x0
4049ab:	e8 5a 1a 00 00       	call   0x40640a
4049b0:	57                   	push   %edi
4049b1:	bf e0 81 42 00       	mov    $0x4281e0,%edi
4049b6:	57                   	push   %edi
4049b7:	ff 15 04 81 40 00    	call   *0x408104
4049bd:	85 c0                	test   %eax,%eax
4049bf:	74 07                	je     0x4049c8
4049c1:	57                   	push   %edi
4049c2:	53                   	push   %ebx
4049c3:	e8 3c 1a 00 00       	call   0x406404
4049c8:	ff 05 18 37 42 00    	incl   0x423718
4049ce:	53                   	push   %ebx
4049cf:	68 fb 03 00 00       	push   $0x3fb
4049d4:	56                   	push   %esi
4049d5:	e8 52 10 00 00       	call   0x405a2c
4049da:	eb 07                	jmp    0x4049e3
4049dc:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4049e3:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
4049ea:	74 0d                	je     0x4049f9
4049ec:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
4049f3:	0f 85 98 01 00 00    	jne    0x404b91
4049f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4049fd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404a01:	53                   	push   %ebx
404a02:	68 fb 03 00 00       	push   $0x3fb
404a07:	e8 26 10 00 00       	call   0x405a32
404a0c:	53                   	push   %ebx
404a0d:	e8 b3 13 00 00       	call   0x405dc5
404a12:	85 c0                	test   %eax,%eax
404a14:	75 07                	jne    0x404a1d
404a16:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404a1d:	be f8 16 42 00       	mov    $0x4216f8,%esi
404a22:	53                   	push   %ebx
404a23:	56                   	push   %esi
404a24:	e8 bf 19 00 00       	call   0x4063e8
404a29:	6a 01                	push   $0x1
404a2b:	e8 92 1d 00 00       	call   0x4067c2
404a30:	85 c0                	test   %eax,%eax
404a32:	89 45 f4             	mov    %eax,-0xc(%ebp)
404a35:	74 3a                	je     0x404a71
404a37:	33 c0                	xor    %eax,%eax
404a39:	33 ff                	xor    %edi,%edi
404a3b:	3b c6                	cmp    %esi,%eax
404a3d:	74 32                	je     0x404a71
404a3f:	8d 45 dc             	lea    -0x24(%ebp),%eax
404a42:	50                   	push   %eax
404a43:	8d 45 e8             	lea    -0x18(%ebp),%eax
404a46:	50                   	push   %eax
404a47:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404a4a:	50                   	push   %eax
404a4b:	56                   	push   %esi
404a4c:	ff 55 f4             	call   *-0xc(%ebp)
404a4f:	85 c0                	test   %eax,%eax
404a51:	75 76                	jne    0x404ac9
404a53:	85 ff                	test   %edi,%edi
404a55:	74 03                	je     0x404a5a
404a57:	66 21 07             	and    %ax,(%edi)
404a5a:	56                   	push   %esi
404a5b:	e8 a9 12 00 00       	call   0x405d09
404a60:	8b f8                	mov    %eax,%edi
404a62:	66 83 27 00          	andw   $0x0,(%edi)
404a66:	4f                   	dec    %edi
404a67:	4f                   	dec    %edi
404a68:	3b fe                	cmp    %esi,%edi
404a6a:	66 c7 07 5c 00       	movw   $0x5c,(%edi)
404a6f:	75 ce                	jne    0x404a3f
404a71:	53                   	push   %ebx
404a72:	56                   	push   %esi
404a73:	e8 70 19 00 00       	call   0x4063e8
404a78:	56                   	push   %esi
404a79:	e8 ea 12 00 00       	call   0x405d68
404a7e:	33 ff                	xor    %edi,%edi
404a80:	3b c7                	cmp    %edi,%eax
404a82:	74 03                	je     0x404a87
404a84:	66 89 38             	mov    %di,(%eax)
404a87:	8d 45 e0             	lea    -0x20(%ebp),%eax
404a8a:	50                   	push   %eax
404a8b:	8d 45 f4             	lea    -0xc(%ebp),%eax
404a8e:	50                   	push   %eax
404a8f:	8d 45 ec             	lea    -0x14(%ebp),%eax
404a92:	50                   	push   %eax
404a93:	8d 45 f0             	lea    -0x10(%ebp),%eax
404a96:	50                   	push   %eax
404a97:	56                   	push   %esi
404a98:	ff 15 30 81 40 00    	call   *0x408130
404a9e:	85 c0                	test   %eax,%eax
404aa0:	74 43                	je     0x404ae5
404aa2:	8b 45 f0             	mov    -0x10(%ebp),%eax
404aa5:	be 00 04 00 00       	mov    $0x400,%esi
404aaa:	0f af 45 ec          	imul   -0x14(%ebp),%eax
404aae:	56                   	push   %esi
404aaf:	ff 75 f4             	push   -0xc(%ebp)
404ab2:	50                   	push   %eax
404ab3:	ff 15 54 81 40 00    	call   *0x408154
404ab9:	99                   	cltd
404aba:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404abd:	89 55 d8             	mov    %edx,-0x28(%ebp)
404ac0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404ac7:	eb 21                	jmp    0x404aea
404ac9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
404acc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
404acf:	0f ac c8 0a          	shrd   $0xa,%ecx,%eax
404ad3:	c1 e9 0a             	shr    $0xa,%ecx
404ad6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404ad9:	89 4d d8             	mov    %ecx,-0x28(%ebp)
404adc:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404ae3:	33 ff                	xor    %edi,%edi
404ae5:	be 00 04 00 00       	mov    $0x400,%esi
404aea:	6a 05                	push   $0x5
404aec:	e8 fc 01 00 00       	call   0x404ced
404af1:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404af4:	74 19                	je     0x404b0f
404af6:	8b 55 d8             	mov    -0x28(%ebp),%edx
404af9:	33 c9                	xor    %ecx,%ecx
404afb:	3b d1                	cmp    %ecx,%edx
404afd:	77 10                	ja     0x404b0f
404aff:	72 07                	jb     0x404b08
404b01:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
404b04:	3b c8                	cmp    %eax,%ecx
404b06:	73 07                	jae    0x404b0f
404b08:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
404b0f:	8b 0d 1c 92 42 00    	mov    0x42921c,%ecx
404b15:	39 79 10             	cmp    %edi,0x10(%ecx)
404b18:	74 30                	je     0x404b4a
404b1a:	50                   	push   %eax
404b1b:	6a fb                	push   $0xfffffffb
404b1d:	68 ff 03 00 00       	push   $0x3ff
404b22:	e8 ae 01 00 00       	call   0x404cd5
404b27:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404b2a:	74 10                	je     0x404b3c
404b2c:	ff 75 d8             	push   -0x28(%ebp)
404b2f:	ff 75 d4             	push   -0x2c(%ebp)
404b32:	6a fc                	push   $0xfffffffc
404b34:	56                   	push   %esi
404b35:	e8 d2 00 00 00       	call   0x404c0c
404b3a:	eb 0e                	jmp    0x404b4a
404b3c:	68 e8 16 42 00       	push   $0x4216e8
404b41:	56                   	push   %esi
404b42:	ff 75 08             	push   0x8(%ebp)
404b45:	e8 e2 0e 00 00       	call   0x405a2c
404b4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
404b4d:	3b c7                	cmp    %edi,%eax
404b4f:	a3 04 a3 42 00       	mov    %eax,0x42a304
404b54:	75 0a                	jne    0x404b60
404b56:	6a 07                	push   $0x7
404b58:	e8 ae c8 ff ff       	call   0x40140b
404b5d:	89 45 fc             	mov    %eax,-0x4(%ebp)
404b60:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404b63:	85 70 14             	test   %esi,0x14(%eax)
404b66:	74 03                	je     0x404b6b
404b68:	89 7d fc             	mov    %edi,-0x4(%ebp)
404b6b:	33 c0                	xor    %eax,%eax
404b6d:	39 7d fc             	cmp    %edi,-0x4(%ebp)
404b70:	0f 94 c0             	sete   %al
404b73:	50                   	push   %eax
404b74:	e8 08 f8 ff ff       	call   0x404381
404b79:	39 7d fc             	cmp    %edi,-0x4(%ebp)
404b7c:	75 0d                	jne    0x404b8b
404b7e:	39 3d 18 37 42 00    	cmp    %edi,0x423718
404b84:	75 05                	jne    0x404b8b
404b86:	e8 1e fc ff ff       	call   0x4047a9
404b8b:	89 3d 18 37 42 00    	mov    %edi,0x423718
404b91:	ff 75 14             	push   0x14(%ebp)
404b94:	ff 75 10             	push   0x10(%ebp)
404b97:	ff 75 0c             	push   0xc(%ebp)
404b9a:	e8 27 f8 ff ff       	call   0x4043c6
404b9f:	5f                   	pop    %edi
404ba0:	5e                   	pop    %esi
404ba1:	5b                   	pop    %ebx
404ba2:	c9                   	leave
404ba3:	c2 10 00             	ret    $0x10
404ba6:	55                   	push   %ebp
404ba7:	8b ec                	mov    %esp,%ebp
404ba9:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
404bad:	56                   	push   %esi
404bae:	8b 35 18 82 40 00    	mov    0x408218,%esi
404bb4:	75 1c                	jne    0x404bd2
404bb6:	ff 75 14             	push   0x14(%ebp)
404bb9:	68 fb 03 00 00       	push   $0x3fb
404bbe:	e8 6f 0e 00 00       	call   0x405a32
404bc3:	ff 75 14             	push   0x14(%ebp)
404bc6:	6a 01                	push   $0x1
404bc8:	68 67 04 00 00       	push   $0x467
404bcd:	ff 75 08             	push   0x8(%ebp)
404bd0:	ff d6                	call   *%esi
404bd2:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
404bd6:	75 2d                	jne    0x404c05
404bd8:	ff 75 14             	push   0x14(%ebp)
404bdb:	ff 75 10             	push   0x10(%ebp)
404bde:	ff 15 80 81 40 00    	call   *0x408180
404be4:	85 c0                	test   %eax,%eax
404be6:	74 0e                	je     0x404bf6
404be8:	6a 07                	push   $0x7
404bea:	e8 1c c8 ff ff       	call   0x40140b
404bef:	85 c0                	test   %eax,%eax
404bf1:	75 03                	jne    0x404bf6
404bf3:	40                   	inc    %eax
404bf4:	eb 02                	jmp    0x404bf8
404bf6:	33 c0                	xor    %eax,%eax
404bf8:	50                   	push   %eax
404bf9:	6a 00                	push   $0x0
404bfb:	68 65 04 00 00       	push   $0x465
404c00:	ff 75 08             	push   0x8(%ebp)
404c03:	ff d6                	call   *%esi
404c05:	33 c0                	xor    %eax,%eax
404c07:	5e                   	pop    %esi
404c08:	5d                   	pop    %ebp
404c09:	c2 10 00             	ret    $0x10
404c0c:	55                   	push   %ebp
404c0d:	8b ec                	mov    %esp,%ebp
404c0f:	81 ec 80 00 00 00    	sub    $0x80,%esp
404c15:	8b 45 14             	mov    0x14(%ebp),%eax
404c18:	53                   	push   %ebx
404c19:	56                   	push   %esi
404c1a:	8b 75 10             	mov    0x10(%ebp),%esi
404c1d:	57                   	push   %edi
404c1e:	6a dc                	push   $0xffffffdc
404c20:	85 c0                	test   %eax,%eax
404c22:	5b                   	pop    %ebx
404c23:	74 0b                	je     0x404c30
404c25:	0f ac c6 14          	shrd   $0x14,%eax,%esi
404c29:	c1 e8 14             	shr    $0x14,%eax
404c2c:	33 ff                	xor    %edi,%edi
404c2e:	eb 4e                	jmp    0x404c7e
404c30:	6a 14                	push   $0x14
404c32:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
404c38:	59                   	pop    %ecx
404c39:	8b c6                	mov    %esi,%eax
404c3b:	73 06                	jae    0x404c43
404c3d:	6a 0a                	push   $0xa
404c3f:	59                   	pop    %ecx
404c40:	6a dd                	push   $0xffffffdd
404c42:	5b                   	pop    %ebx
404c43:	81 fe 00 04 00 00    	cmp    $0x400,%esi
404c49:	73 05                	jae    0x404c50
404c4b:	6a de                	push   $0xffffffde
404c4d:	33 c9                	xor    %ecx,%ecx
404c4f:	5b                   	pop    %ebx
404c50:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
404c56:	73 0d                	jae    0x404c65
404c58:	33 c0                	xor    %eax,%eax
404c5a:	6a 14                	push   $0x14
404c5c:	40                   	inc    %eax
404c5d:	5f                   	pop    %edi
404c5e:	d3 e0                	shl    %cl,%eax
404c60:	99                   	cltd
404c61:	f7 ff                	idiv   %edi
404c63:	03 c6                	add    %esi,%eax
404c65:	8b f0                	mov    %eax,%esi
404c67:	25 ff ff ff 00       	and    $0xffffff,%eax
404c6c:	6a 0a                	push   $0xa
404c6e:	33 d2                	xor    %edx,%edx
404c70:	8d 04 80             	lea    (%eax,%eax,4),%eax
404c73:	03 c0                	add    %eax,%eax
404c75:	d3 e8                	shr    %cl,%eax
404c77:	d3 ee                	shr    %cl,%esi
404c79:	59                   	pop    %ecx
404c7a:	f7 f1                	div    %ecx
404c7c:	8b fa                	mov    %edx,%edi
404c7e:	8d 45 c0             	lea    -0x40(%ebp),%eax
404c81:	6a df                	push   $0xffffffdf
404c83:	50                   	push   %eax
404c84:	e8 81 17 00 00       	call   0x40640a
404c89:	50                   	push   %eax
404c8a:	8d 45 80             	lea    -0x80(%ebp),%eax
404c8d:	53                   	push   %ebx
404c8e:	50                   	push   %eax
404c8f:	e8 76 17 00 00       	call   0x40640a
404c94:	50                   	push   %eax
404c95:	57                   	push   %edi
404c96:	56                   	push   %esi
404c97:	68 d4 a3 40 00       	push   $0x40a3d4
404c9c:	ff 75 0c             	push   0xc(%ebp)
404c9f:	be 28 37 42 00       	mov    $0x423728,%esi
404ca4:	56                   	push   %esi
404ca5:	e8 60 17 00 00       	call   0x40640a
404caa:	56                   	push   %esi
404cab:	8b f8                	mov    %eax,%edi
404cad:	e8 4c 17 00 00       	call   0x4063fe
404cb2:	8d 04 47             	lea    (%edi,%eax,2),%eax
404cb5:	50                   	push   %eax
404cb6:	ff 15 90 82 40 00    	call   *0x408290
404cbc:	83 c4 18             	add    $0x18,%esp
404cbf:	56                   	push   %esi
404cc0:	ff 75 08             	push   0x8(%ebp)
404cc3:	ff 35 18 92 42 00    	push   0x429218
404cc9:	e8 5e 0d 00 00       	call   0x405a2c
404cce:	5f                   	pop    %edi
404ccf:	5e                   	pop    %esi
404cd0:	5b                   	pop    %ebx
404cd1:	c9                   	leave
404cd2:	c2 10 00             	ret    $0x10
404cd5:	8b 44 24 0c          	mov    0xc(%esp),%eax