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
404cd9:	33 c9                	xor    %ecx,%ecx
404cdb:	51                   	push   %ecx
404cdc:	50                   	push   %eax
404cdd:	ff 74 24 10          	push   0x10(%esp)
404ce1:	ff 74 24 10          	push   0x10(%esp)
404ce5:	e8 22 ff ff ff       	call   0x404c0c
404cea:	c2 0c 00             	ret    $0xc
404ced:	8b 15 8c a2 42 00    	mov    0x42a28c,%edx
404cf3:	8b 0d 88 a2 42 00    	mov    0x42a288,%ecx
404cf9:	33 c0                	xor    %eax,%eax
404cfb:	85 d2                	test   %edx,%edx
404cfd:	74 18                	je     0x404d17
404cff:	56                   	push   %esi
404d00:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
404d04:	74 07                	je     0x404d0d
404d06:	8b 74 24 08          	mov    0x8(%esp),%esi
404d0a:	03 04 b1             	add    (%ecx,%esi,4),%eax
404d0d:	81 c1 18 08 00 00    	add    $0x818,%ecx
404d13:	4a                   	dec    %edx
404d14:	75 ea                	jne    0x404d00
404d16:	5e                   	pop    %esi
404d17:	c2 04 00             	ret    $0x4
404d1a:	55                   	push   %ebp
404d1b:	8b ec                	mov    %esp,%ebp
404d1d:	83 ec 38             	sub    $0x38,%esp
404d20:	56                   	push   %esi
404d21:	8b 35 18 82 40 00    	mov    0x408218,%esi
404d27:	57                   	push   %edi
404d28:	8b 7d 08             	mov    0x8(%ebp),%edi
404d2b:	6a 00                	push   $0x0
404d2d:	6a 09                	push   $0x9
404d2f:	68 0a 11 00 00       	push   $0x110a
404d34:	57                   	push   %edi
404d35:	ff d6                	call   *%esi
404d37:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
404d3b:	74 3c                	je     0x404d79
404d3d:	ff 15 bc 81 40 00    	call   *0x4081bc
404d43:	0f bf c8             	movswl %ax,%ecx
404d46:	c1 e8 10             	shr    $0x10,%eax
404d49:	0f bf c0             	movswl %ax,%eax
404d4c:	89 45 f4             	mov    %eax,-0xc(%ebp)
404d4f:	8d 45 f0             	lea    -0x10(%ebp),%eax
404d52:	50                   	push   %eax
404d53:	57                   	push   %edi
404d54:	89 4d f0             	mov    %ecx,-0x10(%ebp)
404d57:	ff 15 dc 81 40 00    	call   *0x4081dc
404d5d:	8d 45 f0             	lea    -0x10(%ebp),%eax
404d60:	50                   	push   %eax
404d61:	6a 00                	push   $0x0
404d63:	68 11 11 00 00       	push   $0x1111
404d68:	57                   	push   %edi
404d69:	ff d6                	call   *%esi
404d6b:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404d6f:	75 05                	jne    0x404d76
404d71:	83 c8 ff             	or     $0xffffffff,%eax
404d74:	eb 1e                	jmp    0x404d94
404d76:	8b 45 fc             	mov    -0x4(%ebp),%eax
404d79:	89 45 cc             	mov    %eax,-0x34(%ebp)
404d7c:	8d 45 c8             	lea    -0x38(%ebp),%eax
404d7f:	50                   	push   %eax
404d80:	6a 00                	push   $0x0
404d82:	68 3e 11 00 00       	push   $0x113e
404d87:	57                   	push   %edi
404d88:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404d8f:	ff d6                	call   *%esi
404d91:	8b 45 ec             	mov    -0x14(%ebp),%eax
404d94:	5f                   	pop    %edi
404d95:	5e                   	pop    %esi
404d96:	c9                   	leave
404d97:	c2 08 00             	ret    $0x8
404d9a:	56                   	push   %esi
404d9b:	57                   	push   %edi
404d9c:	be 00 b0 42 00       	mov    $0x42b000,%esi
404da1:	bf 28 37 42 00       	mov    $0x423728,%edi
404da6:	56                   	push   %esi
404da7:	57                   	push   %edi
404da8:	e8 3b 16 00 00       	call   0x4063e8
404dad:	ff 74 24 10          	push   0x10(%esp)
404db1:	56                   	push   %esi
404db2:	e8 78 15 00 00       	call   0x40632f
404db7:	ff 74 24 0c          	push   0xc(%esp)
404dbb:	e8 4b c6 ff ff       	call   0x40140b
404dc0:	57                   	push   %edi
404dc1:	56                   	push   %esi
404dc2:	e8 21 16 00 00       	call   0x4063e8
404dc7:	5f                   	pop    %edi
404dc8:	5e                   	pop    %esi
404dc9:	c2 08 00             	ret    $0x8
404dcc:	55                   	push   %ebp
404dcd:	8b ec                	mov    %esp,%ebp
404dcf:	83 ec 50             	sub    $0x50,%esp
404dd2:	53                   	push   %ebx
404dd3:	56                   	push   %esi
404dd4:	8b 35 e4 81 40 00    	mov    0x4081e4,%esi
404dda:	57                   	push   %edi
404ddb:	8b 7d 08             	mov    0x8(%ebp),%edi
404dde:	68 f9 03 00 00       	push   $0x3f9
404de3:	57                   	push   %edi
404de4:	ff d6                	call   *%esi
404de6:	68 08 04 00 00       	push   $0x408
404deb:	57                   	push   %edi
404dec:	89 45 f8             	mov    %eax,-0x8(%ebp)
404def:	ff d6                	call   *%esi
404df1:	89 45 fc             	mov    %eax,-0x4(%ebp)
404df4:	a1 88 a2 42 00       	mov    0x42a288,%eax
404df9:	8b 35 18 82 40 00    	mov    0x408218,%esi
404dff:	89 45 f0             	mov    %eax,-0x10(%ebp)
404e02:	a1 54 a2 42 00       	mov    0x42a254,%eax
404e07:	33 db                	xor    %ebx,%ebx
404e09:	05 94 00 00 00       	add    $0x94,%eax
404e0e:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404e15:	89 45 ec             	mov    %eax,-0x14(%ebp)
404e18:	0f 85 1b 02 00 00    	jne    0x405039
404e1e:	a1 8c a2 42 00       	mov    0x42a28c,%eax
404e23:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
404e26:	c1 e0 02             	shl    $0x2,%eax
404e29:	50                   	push   %eax
404e2a:	6a 40                	push   $0x40
404e2c:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
404e33:	89 3d c0 a2 42 00    	mov    %edi,0x42a2c0
404e39:	ff 15 34 81 40 00    	call   *0x408134
404e3f:	6a 6e                	push   $0x6e
404e41:	a3 20 37 42 00       	mov    %eax,0x423720
404e46:	ff 35 40 a2 42 00    	push   0x42a240
404e4c:	ff 15 c0 81 40 00    	call   *0x4081c0
404e52:	83 0d 14 37 42 00 ff 	orl    $0xffffffff,0x423714
404e59:	68 c4 53 40 00       	push   $0x4053c4
404e5e:	6a fc                	push   $0xfffffffc
404e60:	8b f8                	mov    %eax,%edi
404e62:	ff 75 fc             	push   -0x4(%ebp)
404e65:	ff 15 70 82 40 00    	call   *0x408270
404e6b:	53                   	push   %ebx
404e6c:	6a 06                	push   $0x6
404e6e:	6a 21                	push   $0x21
404e70:	6a 10                	push   $0x10
404e72:	6a 10                	push   $0x10
404e74:	a3 1c 37 42 00       	mov    %eax,0x42371c
404e79:	ff 15 38 80 40 00    	call   *0x408038
404e7f:	68 ff 00 ff 00       	push   $0xff00ff
404e84:	57                   	push   %edi
404e85:	50                   	push   %eax
404e86:	a3 0c 37 42 00       	mov    %eax,0x42370c
404e8b:	ff 15 3c 80 40 00    	call   *0x40803c
404e91:	ff 35 0c 37 42 00    	push   0x42370c
404e97:	6a 02                	push   $0x2
404e99:	68 09 11 00 00       	push   $0x1109
404e9e:	ff 75 fc             	push   -0x4(%ebp)
404ea1:	ff d6                	call   *%esi
404ea3:	53                   	push   %ebx
404ea4:	53                   	push   %ebx
404ea5:	68 1c 11 00 00       	push   $0x111c
404eaa:	ff 75 fc             	push   -0x4(%ebp)
404ead:	ff d6                	call   *%esi
404eaf:	83 f8 10             	cmp    $0x10,%eax
404eb2:	7d 0d                	jge    0x404ec1
404eb4:	53                   	push   %ebx
404eb5:	6a 10                	push   $0x10
404eb7:	68 1b 11 00 00       	push   $0x111b
404ebc:	ff 75 fc             	push   -0x4(%ebp)
404ebf:	ff d6                	call   *%esi
404ec1:	57                   	push   %edi
404ec2:	ff 15 5c 80 40 00    	call   *0x40805c
404ec8:	33 ff                	xor    %edi,%edi
404eca:	8b 45 ec             	mov    -0x14(%ebp),%eax
404ecd:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404ed0:	3b c3                	cmp    %ebx,%eax
404ed2:	74 27                	je     0x404efb
404ed4:	83 ff 20             	cmp    $0x20,%edi
404ed7:	74 03                	je     0x404edc
404ed9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404edc:	50                   	push   %eax
404edd:	53                   	push   %ebx
404ede:	e8 27 15 00 00       	call   0x40640a
404ee3:	50                   	push   %eax
404ee4:	53                   	push   %ebx