404949:	42                   	inc    %edx
40494a:	e8 f0 fb ff ff       	call   0x40453f
40494f:	85 c0                	test   %eax,%eax
404951:	75 47                	jne    0x40499a
404953:	6a 20                	push   $0x20
404955:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40495b:	50                   	push   %eax
40495c:	68 4d 04 00 00       	push   $0x44d
404961:	6a 00                	push   $0x0
404963:	ff 15 20 f1 40 00    	call   *0x40f120
404969:	85 c0                	test   %eax,%eax
40496b:	75 07                	jne    0x404974
40496d:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
404974:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
40497a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404980:	50                   	push   %eax
404981:	68 9c 16 40 00       	push   $0x40169c
404986:	e8 2f df ff ff       	call   0x4028ba
40498b:	83 c4 0c             	add    $0xc,%esp
40498e:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404994:	ff 15 b0 f0 40 00    	call   *0x40f0b0
40499a:	6a 20                	push   $0x20
40499c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40499f:	50                   	push   %eax
4049a0:	68 52 04 00 00       	push   $0x452
4049a5:	6a 00                	push   $0x0
4049a7:	ff 15 20 f1 40 00    	call   *0x40f120
4049ad:	85 c0                	test   %eax,%eax
4049af:	75 04                	jne    0x4049b5
4049b1:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4049b5:	6a 20                	push   $0x20
4049b7:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
4049bd:	50                   	push   %eax
4049be:	68 51 04 00 00       	push   $0x451
4049c3:	6a 00                	push   $0x0
4049c5:	ff 15 20 f1 40 00    	call   *0x40f120
4049cb:	85 c0                	test   %eax,%eax
4049cd:	75 07                	jne    0x4049d6
4049cf:	66 89 85 38 ff ff ff 	mov    %ax,-0xc8(%ebp)
4049d6:	6a 20                	push   $0x20
4049d8:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4049de:	50                   	push   %eax
4049df:	68 50 04 00 00       	push   $0x450
4049e4:	6a 00                	push   $0x0
4049e6:	ff 15 20 f1 40 00    	call   *0x40f120
4049ec:	85 c0                	test   %eax,%eax
4049ee:	75 07                	jne    0x4049f7
4049f0:	66 89 85 f8 fe ff ff 	mov    %ax,-0x108(%ebp)
4049f7:	6a 20                	push   $0x20
4049f9:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
4049ff:	50                   	push   %eax
404a00:	68 4f 04 00 00       	push   $0x44f
404a05:	6a 00                	push   $0x0
404a07:	ff 15 20 f1 40 00    	call   *0x40f120
404a0d:	85 c0                	test   %eax,%eax
404a0f:	75 07                	jne    0x404a18
404a11:	66 89 85 b8 fe ff ff 	mov    %ax,-0x148(%ebp)
404a18:	6a 20                	push   $0x20
404a1a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404a20:	50                   	push   %eax
404a21:	68 4e 04 00 00       	push   $0x44e
404a26:	6a 00                	push   $0x0
404a28:	ff 15 20 f1 40 00    	call   *0x40f120
404a2e:	85 c0                	test   %eax,%eax
404a30:	75 07                	jne    0x404a39
404a32:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
404a39:	0f b6 86 d7 fb ff ff 	movzbl -0x429(%esi),%eax
404a40:	50                   	push   %eax
404a41:	8d 45 b8             	lea    -0x48(%ebp),%eax
404a44:	50                   	push   %eax
404a45:	0f b6 86 d6 fb ff ff 	movzbl -0x42a(%esi),%eax
404a4c:	50                   	push   %eax
404a4d:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
404a53:	50                   	push   %eax
404a54:	0f b6 86 d5 fb ff ff 	movzbl -0x42b(%esi),%eax
404a5b:	50                   	push   %eax
404a5c:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
404a62:	50                   	push   %eax
404a63:	0f b6 86 d4 fb ff ff 	movzbl -0x42c(%esi),%eax
404a6a:	50                   	push   %eax
404a6b:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
404a71:	50                   	push   %eax
404a72:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404a78:	50                   	push   %eax
404a79:	68 d0 16 40 00       	push   $0x4016d0
404a7e:	e8 37 de ff ff       	call   0x4028ba
404a83:	8b 4e 04             	mov    0x4(%esi),%ecx
404a86:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
404a8c:	83 c4 28             	add    $0x28,%esp
404a8f:	50                   	push   %eax
404a90:	6a 0e                	push   $0xe
404a92:	5a                   	pop    %edx
404a93:	e8 a7 fa ff ff       	call   0x40453f
404a98:	85 c0                	test   %eax,%eax
404a9a:	75 3e                	jne    0x404ada
404a9c:	6a 20                	push   $0x20
404a9e:	8d 45 b8             	lea    -0x48(%ebp),%eax
404aa1:	50                   	push   %eax
404aa2:	68 53 04 00 00       	push   $0x453
404aa7:	6a 00                	push   $0x0
404aa9:	ff 15 20 f1 40 00    	call   *0x40f120
404aaf:	85 c0                	test   %eax,%eax
404ab1:	75 04                	jne    0x404ab7
404ab3:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404ab7:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404abd:	8d 45 b8             	lea    -0x48(%ebp),%eax
404ac0:	50                   	push   %eax
404ac1:	68 38 17 40 00       	push   $0x401738
404ac6:	e8 ef dd ff ff       	call   0x4028ba
404acb:	83 c4 0c             	add    $0xc,%esp
404ace:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404ad4:	ff 15 b0 f0 40 00    	call   *0x40f0b0
404ada:	6a 20                	push   $0x20
404adc:	8d 45 b8             	lea    -0x48(%ebp),%eax
404adf:	50                   	push   %eax
404ae0:	68 54 04 00 00       	push   $0x454
404ae5:	6a 00                	push   $0x0
404ae7:	ff 15 20 f1 40 00    	call   *0x40f120
404aed:	85 c0                	test   %eax,%eax
404aef:	75 04                	jne    0x404af5
404af1:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404af5:	8d 86 10 f8 ff ff    	lea    -0x7f0(%esi),%eax
404afb:	50                   	push   %eax
404afc:	8d 45 b8             	lea    -0x48(%ebp),%eax
404aff:	50                   	push   %eax
404b00:	68 7c 17 40 00       	push   $0x40177c
404b05:	e8 b0 dd ff ff       	call   0x4028ba
404b0a:	83 c4 0c             	add    $0xc,%esp
404b0d:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b10:	6a 20                	push   $0x20
404b12:	50                   	push   %eax
404b13:	68 25 04 00 00       	push   $0x425
404b18:	6a 00                	push   $0x0
404b1a:	ff 15 20 f1 40 00    	call   *0x40f120
404b20:	85 c0                	test   %eax,%eax
404b22:	75 04                	jne    0x404b28
404b24:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b28:	8d 86 10 fa ff ff    	lea    -0x5f0(%esi),%eax
404b2e:	50                   	push   %eax
404b2f:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b32:	50                   	push   %eax
404b33:	68 b4 17 40 00       	push   $0x4017b4
404b38:	e8 7d dd ff ff       	call   0x4028ba
404b3d:	83 c4 0c             	add    $0xc,%esp
404b40:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b43:	6a 20                	push   $0x20
404b45:	50                   	push   %eax
404b46:	68 56 04 00 00       	push   $0x456
404b4b:	6a 00                	push   $0x0
404b4d:	ff 15 20 f1 40 00    	call   *0x40f120
404b53:	85 c0                	test   %eax,%eax
404b55:	75 04                	jne    0x404b5b
404b57:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b5b:	8d 86 e8 fb ff ff    	lea    -0x418(%esi),%eax
404b61:	50                   	push   %eax
404b62:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b65:	50                   	push   %eax
404b66:	68 f0 17 40 00       	push   $0x4017f0
404b6b:	e8 4a dd ff ff       	call   0x4028ba
404b70:	83 c4 0c             	add    $0xc,%esp
404b73:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b76:	6a 20                	push   $0x20
404b78:	50                   	push   %eax
404b79:	68 6d 04 00 00       	push   $0x46d
404b7e:	6a 00                	push   $0x0
404b80:	ff 15 20 f1 40 00    	call   *0x40f120
404b86:	85 c0                	test   %eax,%eax
404b88:	75 04                	jne    0x404b8e
404b8a:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b8e:	8d 86 f0 fd ff ff    	lea    -0x210(%esi),%eax
404b94:	50                   	push   %eax
404b95:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b98:	50                   	push   %eax
404b99:	68 9c 16 40 00       	push   $0x40169c
404b9e:	e8 17 dd ff ff       	call   0x4028ba
404ba3:	83 c4 0c             	add    $0xc,%esp
404ba6:	8d 45 b8             	lea    -0x48(%ebp),%eax
404ba9:	6a 20                	push   $0x20
404bab:	50                   	push   %eax
404bac:	68 58 04 00 00       	push   $0x458
404bb1:	6a 00                	push   $0x0
404bb3:	ff 15 20 f1 40 00    	call   *0x40f120
404bb9:	85 c0                	test   %eax,%eax
404bbb:	75 04                	jne    0x404bc1
404bbd:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404bc1:	ff 76 04             	push   0x4(%esi)
404bc4:	8d 45 b8             	lea    -0x48(%ebp),%eax
404bc7:	50                   	push   %eax
404bc8:	68 18 18 40 00       	push   $0x401818
404bcd:	e8 e8 dc ff ff       	call   0x4028ba
404bd2:	83 c4 0c             	add    $0xc,%esp
404bd5:	33 d2                	xor    %edx,%edx
404bd7:	8b ca                	mov    %edx,%ecx
404bd9:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
404bdc:	bf 5c 24 40 00       	mov    $0x40245c,%edi
404be1:	3b 04 8f             	cmp    (%edi,%ecx,4),%eax
404be4:	8b bd ac fe ff ff    	mov    -0x154(%ebp),%edi
404bea:	75 7e                	jne    0x404c6a
404bec:	41                   	inc    %ecx
404bed:	83 f9 04             	cmp    $0x4,%ecx
404bf0:	75 e7                	jne    0x404bd9
404bf2:	88 95 b6 fe ff ff    	mov    %dl,-0x14a(%ebp)
404bf8:	8b da                	mov    %edx,%ebx
404bfa:	33 ff                	xor    %edi,%edi
404bfc:	89 9d a8 fe ff ff    	mov    %ebx,-0x158(%ebp)
404c02:	3b 9d 98 fe ff ff    	cmp    -0x168(%ebp),%ebx
404c08:	73 5a                	jae    0x404c64
404c0a:	8b 95 a0 fe ff ff    	mov    -0x160(%ebp),%edx
404c10:	6b cb 48             	imul   $0x48,%ebx,%ecx
404c13:	83 c2 44             	add    $0x44,%edx
404c16:	03 d1                	add    %ecx,%edx
404c18:	8b 02                	mov    (%edx),%eax
404c1a:	85 c0                	test   %eax,%eax
404c1c:	74 34                	je     0x404c52
404c1e:	8b 18                	mov    (%eax),%ebx
404c20:	8b cf                	mov    %edi,%ecx
404c22:	89 9d 88 fe ff ff    	mov    %ebx,-0x178(%ebp)
404c28:	3b d9                	cmp    %ecx,%ebx
404c2a:	8b 9d a8 fe ff ff    	mov    -0x158(%ebp),%ebx
404c30:	76 20                	jbe    0x404c52
404c32:	83 c0 08             	add    $0x8,%eax
404c35:	8b 5e fc             	mov    -0x4(%esi),%ebx
404c38:	39 18                	cmp    %ebx,(%eax)
404c3a:	8b 9d a8 fe ff ff    	mov    -0x158(%ebp),%ebx
404c40:	0f 84 a9 00 00 00    	je     0x404cef
404c46:	41                   	inc    %ecx
404c47:	83 c0 18             	add    $0x18,%eax
404c4a:	3b 8d 88 fe ff ff    	cmp    -0x178(%ebp),%ecx
404c50:	72 e3                	jb     0x404c35
404c52:	43                   	inc    %ebx
404c53:	83 c2 48             	add    $0x48,%edx
404c56:	89 9d a8 fe ff ff    	mov    %ebx,-0x158(%ebp)
404c5c:	3b 9d 98 fe ff ff    	cmp    -0x168(%ebp),%ebx
404c62:	72 b4                	jb     0x404c18
404c64:	8b bd ac fe ff ff    	mov    -0x154(%ebp),%edi
404c6a:	68 c4 13 40 00       	push   $0x4013c4
404c6f:	e8 46 dc ff ff       	call   0x4028ba
404c74:	47                   	inc    %edi
404c75:	81 c6 f8 07 00 00    	add    $0x7f8,%esi
404c7b:	59                   	pop    %ecx
404c7c:	89 bd ac fe ff ff    	mov    %edi,-0x154(%ebp)
404c82:	3b bd a4 fe ff ff    	cmp    -0x15c(%ebp),%edi
404c88:	0f 82 0a fc ff ff    	jb     0x404898
404c8e:	8b bd 8c fe ff ff    	mov    -0x174(%ebp),%edi
404c94:	8b b5 84 fe ff ff    	mov    -0x17c(%ebp),%esi
404c9a:	83 bd a0 fe ff ff 00 	cmpl   $0x0,-0x160(%ebp)
404ca1:	74 12                	je     0x404cb5
404ca3:	ff b5 a0 fe ff ff    	push   -0x160(%ebp)
404ca9:	ff b5 98 fe ff ff    	push   -0x168(%ebp)
404caf:	ff 15 ac f0 40 00    	call   *0x40f0ac
404cb5:	56                   	push   %esi
404cb6:	ff 15 b0 f0 40 00    	call   *0x40f0b0
404cbc:	33 c0                	xor    %eax,%eax
404cbe:	8b f0                	mov    %eax,%esi
404cc0:	89 b5 ac fe ff ff    	mov    %esi,-0x154(%ebp)
404cc6:	8b 85 90 fe ff ff    	mov    -0x170(%ebp),%eax
404ccc:	83 c7 30             	add    $0x30,%edi
404ccf:	40                   	inc    %eax
404cd0:	89 bd 8c fe ff ff    	mov    %edi,-0x174(%ebp)
404cd6:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
404cdc:	3b 85 9c fe ff ff    	cmp    -0x164(%ebp),%eax
404ce2:	0f 82 f5 f9 ff ff    	jb     0x4046dd
404ce8:	8b c6                	mov    %esi,%eax
404cea:	e9 91 00 00 00       	jmp    0x404d80
404cef:	80 bd b6 fe ff ff 00 	cmpb   $0x0,-0x14a(%ebp)
404cf6:	75 31                	jne    0x404d29
404cf8:	6a 20                	push   $0x20
404cfa:	8d 45 b8             	lea    -0x48(%ebp),%eax
404cfd:	50                   	push   %eax
404cfe:	68 59 04 00 00       	push   $0x459
404d03:	57                   	push   %edi
404d04:	ff 15 20 f1 40 00    	call   *0x40f120
404d0a:	85 c0                	test   %eax,%eax
404d0c:	75 04                	jne    0x404d12
404d0e:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404d12:	8d 45 b8             	lea    -0x48(%ebp),%eax
404d15:	50                   	push   %eax
404d16:	68 50 18 40 00       	push   $0x401850
404d1b:	e8 9a db ff ff       	call   0x4028ba
404d20:	59                   	pop    %ecx
404d21:	59                   	pop    %ecx
404d22:	c6 85 b6 fe ff ff 01 	movb   $0x1,-0x14a(%ebp)
404d29:	8b 85 a0 fe ff ff    	mov    -0x160(%ebp),%eax
404d2f:	6b cb 48             	imul   $0x48,%ebx,%ecx
404d32:	8b 5c 01 44          	mov    0x44(%ecx,%eax,1),%ebx
404d36:	81 c3 20 60 00 00    	add    $0x6020,%ebx
404d3c:	eb 27                	jmp    0x404d65
404d3e:	53                   	push   %ebx
404d3f:	68 80 18 40 00       	push   $0x401880
404d44:	e8 71 db ff ff       	call   0x4028ba
404d49:	59                   	pop    %ecx
404d4a:	59                   	pop    %ecx
404d4b:	8b cb                	mov    %ebx,%ecx
404d4d:	8d 51 02             	lea    0x2(%ecx),%edx
404d50:	66 8b 01             	mov    (%ecx),%ax
404d53:	83 c1 02             	add    $0x2,%ecx
404d56:	66 3b c7             	cmp    %di,%ax
404d59:	75 f5                	jne    0x404d50
404d5b:	2b ca                	sub    %edx,%ecx
404d5d:	d1 f9                	sar    $1,%ecx
404d5f:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
404d62:	83 c3 02             	add    $0x2,%ebx
404d65:	66 39 3b             	cmp    %di,(%ebx)
404d68:	75 d4                	jne    0x404d3e
404d6a:	8b 9d a8 fe ff ff    	mov    -0x158(%ebp),%ebx
404d70:	43                   	inc    %ebx
404d71:	e9 86 fe ff ff       	jmp    0x404bfc
404d76:	6a 1a                	push   $0x1a
404d78:	59                   	pop    %ecx
404d79:	e8 e1 dc ff ff       	call   0x402a5f
404d7e:	33 c0                	xor    %eax,%eax
404d80:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404d83:	5f                   	pop    %edi
404d84:	5e                   	pop    %esi
404d85:	33 cd                	xor    %ebp,%ecx
404d87:	5b                   	pop    %ebx
404d88:	e8 43 3d 00 00       	call   0x408ad0
404d8d:	c9                   	leave
404d8e:	c3                   	ret
404d8f:	8b ff                	mov    %edi,%edi
404d91:	55                   	push   %ebp
404d92:	8b ec                	mov    %esp,%ebp
404d94:	81 ec cc 00 00 00    	sub    $0xcc,%esp
404d9a:	a1 04 a0 40 00       	mov    0x40a004,%eax
404d9f:	33 c5                	xor    %ebp,%eax
404da1:	89 45 fc             	mov    %eax,-0x4(%ebp)
404da4:	53                   	push   %ebx
404da5:	56                   	push   %esi
404da6:	8b f2                	mov    %edx,%esi
404da8:	57                   	push   %edi
404da9:	6a 2a                	push   $0x2a
404dab:	5a                   	pop    %edx
404dac:	83 f9 06             	cmp    $0x6,%ecx
404daf:	0f 85 8c 01 00 00    	jne    0x404f41
404db5:	8b 46 08             	mov    0x8(%esi),%eax
404db8:	33 ff                	xor    %edi,%edi
404dba:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
404dc0:	66 39 10             	cmp    %dx,(%eax)
404dc3:	75 06                	jne    0x404dcb
404dc5:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
404dcb:	8b 4e 0c             	mov    0xc(%esi),%ecx
404dce:	66 39 11             	cmp    %dx,(%ecx)
404dd1:	75 09                	jne    0x404ddc
404dd3:	83 8d 68 ff ff ff ff 	orl    $0xffffffff,-0x98(%ebp)
404dda:	eb 0b                	jmp    0x404de7
404ddc:	e8 95 ee ff ff       	call   0x403c76
404de1:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
404de7:	8b 4e 10             	mov    0x10(%esi),%ecx
404dea:	e8 87 ee ff ff       	call   0x403c76
404def:	51                   	push   %ecx