406a8b:	83 c4 0c             	add    $0xc,%esp
406a8e:	83 c6 04             	add    $0x4,%esi
406a91:	e9 c3 fe ff ff       	jmp    0x406959
406a96:	33 c9                	xor    %ecx,%ecx
406a98:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
406a9e:	51                   	push   %ecx
406a9f:	51                   	push   %ecx
406aa0:	50                   	push   %eax
406aa1:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
406aa7:	50                   	push   %eax
406aa8:	51                   	push   %ecx
406aa9:	e8 e3 1c 00 00       	call   0x408791
406aae:	50                   	push   %eax
406aaf:	ff 15 54 a0 44 00    	call   *0x44a054
406ab5:	8b f0                	mov    %eax,%esi
406ab7:	85 f6                	test   %esi,%esi
406ab9:	0f 84 91 3a 01 00    	je     0x41a550
406abf:	46                   	inc    %esi
406ac0:	8d 04 36             	lea    (%esi,%esi,1),%eax
406ac3:	50                   	push   %eax
406ac4:	ff 35 4c 67 43 00    	push   0x43674c
406aca:	ff 15 0c a4 44 00    	call   *0x44a40c
406ad0:	59                   	pop    %ecx
406ad1:	59                   	pop    %ecx
406ad2:	85 c0                	test   %eax,%eax
406ad4:	0f 84 90 3a 01 00    	je     0x41a56a
406ada:	56                   	push   %esi
406adb:	50                   	push   %eax
406adc:	a3 4c 67 43 00       	mov    %eax,0x43674c
406ae1:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
406ae7:	50                   	push   %eax
406ae8:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
406aee:	89 35 50 67 43 00    	mov    %esi,0x436750
406af4:	50                   	push   %eax
406af5:	33 f6                	xor    %esi,%esi
406af7:	56                   	push   %esi
406af8:	e8 94 1c 00 00       	call   0x408791
406afd:	50                   	push   %eax
406afe:	ff 15 54 a0 44 00    	call   *0x44a054
406b04:	85 c0                	test   %eax,%eax
406b06:	0f 84 4f 3a 01 00    	je     0x41a55b
406b0c:	8b 35 4c 67 43 00    	mov    0x43674c,%esi
406b12:	e9 94 fe ff ff       	jmp    0x4069ab
406b17:	cc                   	int3
406b18:	cc                   	int3
406b19:	cc                   	int3
406b1a:	cc                   	int3
406b1b:	cc                   	int3
406b1c:	cc                   	int3
406b1d:	cc                   	int3
406b1e:	cc                   	int3
406b1f:	cc                   	int3
406b20:	8b ff                	mov    %edi,%edi
406b22:	55                   	push   %ebp
406b23:	8b ec                	mov    %esp,%ebp
406b25:	83 e4 f8             	and    $0xfffffff8,%esp
406b28:	51                   	push   %ecx
406b29:	8b 45 08             	mov    0x8(%ebp),%eax
406b2c:	53                   	push   %ebx
406b2d:	56                   	push   %esi
406b2e:	57                   	push   %edi
406b2f:	8b 78 38             	mov    0x38(%eax),%edi
406b32:	8b 58 3c             	mov    0x3c(%eax),%ebx
406b35:	6a 28                	push   $0x28
406b37:	59                   	pop    %ecx
406b38:	e8 93 71 00 00       	call   0x40dcd0
406b3d:	8b f0                	mov    %eax,%esi
406b3f:	85 f6                	test   %esi,%esi
406b41:	0f 84 65 3b 01 00    	je     0x41a6ac
406b47:	68 00 80 00 00       	push   $0x8000
406b4c:	6a 00                	push   $0x0
406b4e:	56                   	push   %esi
406b4f:	ff 15 94 a3 44 00    	call   *0x44a394
406b55:	83 c4 0c             	add    $0xc,%esp
406b58:	85 c0                	test   %eax,%eax
406b5a:	0f 85 41 3b 01 00    	jne    0x41a6a1
406b60:	8b 0e                	mov    (%esi),%ecx
406b62:	e8 dc f8 ff ff       	call   0x406443
406b67:	8b 4e 04             	mov    0x4(%esi),%ecx
406b6a:	e8 d4 f8 ff ff       	call   0x406443
406b6f:	a1 e8 65 43 00       	mov    0x4365e8,%eax
406b74:	8b c8                	mov    %eax,%ecx
406b76:	40                   	inc    %eax
406b77:	a3 e8 65 43 00       	mov    %eax,0x4365e8
406b7c:	85 c9                	test   %ecx,%ecx
406b7e:	0f 85 6e 01 00 00    	jne    0x406cf2
406b84:	21 4e 20             	and    %ecx,0x20(%esi)
406b87:	89 35 8c 67 43 00    	mov    %esi,0x43678c
406b8d:	33 c9                	xor    %ecx,%ecx
406b8f:	8b c6                	mov    %esi,%eax
406b91:	41                   	inc    %ecx
406b92:	a3 88 67 43 00       	mov    %eax,0x436788
406b97:	e8 0c 36 00 00       	call   0x40a1a8
406b9c:	89 46 0c             	mov    %eax,0xc(%esi)
406b9f:	83 f8 ff             	cmp    $0xffffffff,%eax
406ba2:	0f 84 0c 3b 01 00    	je     0x41a6b4
406ba8:	8b 4e 04             	mov    0x4(%esi),%ecx
406bab:	33 d2                	xor    %edx,%edx
406bad:	42                   	inc    %edx
406bae:	e8 23 36 00 00       	call   0x40a1d6
406bb3:	83 f8 ff             	cmp    $0xffffffff,%eax
406bb6:	0f 84 02 3b 01 00    	je     0x41a6be
406bbc:	8b 4e 04             	mov    0x4(%esi),%ecx
406bbf:	e8 a8 35 00 00       	call   0x40a16c
406bc4:	83 66 04 00          	andl   $0x0,0x4(%esi)
406bc8:	83 3f 00             	cmpl   $0x0,(%edi)
406bcb:	7f 0b                	jg     0x406bd8
406bcd:	8d 54 24 0c          	lea    0xc(%esp),%edx
406bd1:	8b cf                	mov    %edi,%ecx
406bd3:	e8 78 7d 00 00       	call   0x40e950
406bd8:	33 c9                	xor    %ecx,%ecx
406bda:	8b d7                	mov    %edi,%edx
406bdc:	41                   	inc    %ecx
406bdd:	e8 8e 78 00 00       	call   0x40e470
406be2:	83 3d e4 65 43 00 00 	cmpl   $0x0,0x4365e4
406be9:	8b f8                	mov    %eax,%edi
406beb:	74 1e                	je     0x406c0b
406bed:	6a 01                	push   $0x1
406bef:	33 c0                	xor    %eax,%eax
406bf1:	50                   	push   %eax
406bf2:	50                   	push   %eax
406bf3:	50                   	push   %eax
406bf4:	50                   	push   %eax
406bf5:	ff 36                	push   (%esi)
406bf7:	ff 15 2c a4 44 00    	call   *0x44a42c
406bfd:	59                   	pop    %ecx
406bfe:	50                   	push   %eax
406bff:	ff 35 e4 65 43 00    	push   0x4365e4
406c05:	ff 15 20 a1 44 00    	call   *0x44a120
406c0b:	8b 4e 0c             	mov    0xc(%esi),%ecx
406c0e:	33 d2                	xor    %edx,%edx
406c10:	42                   	inc    %edx
406c11:	e8 c0 35 00 00       	call   0x40a1d6
406c16:	83 f8 ff             	cmp    $0xffffffff,%eax
406c19:	0f 84 9f 3a 01 00    	je     0x41a6be
406c1f:	8b 4e 0c             	mov    0xc(%esi),%ecx
406c22:	e8 45 35 00 00       	call   0x40a16c
406c27:	33 c9                	xor    %ecx,%ecx
406c29:	89 4e 0c             	mov    %ecx,0xc(%esi)
406c2c:	85 ff                	test   %edi,%edi
406c2e:	0f 85 98 3a 01 00    	jne    0x41a6cc
406c34:	a1 e4 65 43 00       	mov    0x4365e4,%eax
406c39:	89 46 10             	mov    %eax,0x10(%esi)
406c3c:	a1 98 25 43 00       	mov    0x432598,%eax
406c41:	89 46 18             	mov    %eax,0x18(%esi)
406c44:	89 0d e4 65 43 00    	mov    %ecx,0x4365e4
406c4a:	89 0d 98 25 43 00    	mov    %ecx,0x432598
406c50:	e8 53 35 00 00       	call   0x40a1a8
406c55:	89 46 08             	mov    %eax,0x8(%esi)
406c58:	83 f8 ff             	cmp    $0xffffffff,%eax
406c5b:	0f 84 59 3a 01 00    	je     0x41a6ba
406c61:	8b 0e                	mov    (%esi),%ecx
406c63:	33 d2                	xor    %edx,%edx
406c65:	e8 6c 35 00 00       	call   0x40a1d6
406c6a:	83 f8 ff             	cmp    $0xffffffff,%eax
406c6d:	0f 84 4b 3a 01 00    	je     0x41a6be
406c73:	8b 0e                	mov    (%esi),%ecx
406c75:	e8 f2 34 00 00       	call   0x40a16c
406c7a:	21 3e                	and    %edi,(%esi)
406c7c:	39 3b                	cmp    %edi,(%ebx)
406c7e:	7f 0b                	jg     0x406c8b
406c80:	8d 54 24 0c          	lea    0xc(%esp),%edx
406c84:	8b cb                	mov    %ebx,%ecx
406c86:	e8 c5 7c 00 00       	call   0x40e950
406c8b:	33 c9                	xor    %ecx,%ecx
406c8d:	8b d3                	mov    %ebx,%edx
406c8f:	41                   	inc    %ecx
406c90:	e8 db 77 00 00       	call   0x40e470
406c95:	8b 4e 08             	mov    0x8(%esi),%ecx
406c98:	33 d2                	xor    %edx,%edx
406c9a:	8b f8                	mov    %eax,%edi
406c9c:	e8 35 35 00 00       	call   0x40a1d6
406ca1:	83 f8 ff             	cmp    $0xffffffff,%eax
406ca4:	0f 84 14 3a 01 00    	je     0x41a6be
406caa:	8b 4e 08             	mov    0x8(%esi),%ecx
406cad:	e8 ba 34 00 00       	call   0x40a16c
406cb2:	33 c9                	xor    %ecx,%ecx
406cb4:	89 4e 08             	mov    %ecx,0x8(%esi)
406cb7:	85 ff                	test   %edi,%edi
406cb9:	0f 85 0d 3a 01 00    	jne    0x41a6cc
406cbf:	83 2d e8 65 43 00 01 	subl   $0x1,0x4365e8
406cc6:	a1 e4 65 43 00       	mov    0x4365e4,%eax
406ccb:	89 46 14             	mov    %eax,0x14(%esi)
406cce:	a1 98 25 43 00       	mov    0x432598,%eax
406cd3:	89 46 1c             	mov    %eax,0x1c(%esi)
406cd6:	89 0d e4 65 43 00    	mov    %ecx,0x4365e4
406cdc:	89 0d 98 25 43 00    	mov    %ecx,0x432598
406ce2:	75 22                	jne    0x406d06
406ce4:	e8 f5 f6 ff ff       	call   0x4063de
406ce9:	5f                   	pop    %edi
406cea:	5e                   	pop    %esi
406ceb:	5b                   	pop    %ebx
406cec:	8b e5                	mov    %ebp,%esp
406cee:	5d                   	pop    %ebp
406cef:	c2 04 00             	ret    $0x4
406cf2:	a1 88 67 43 00       	mov    0x436788,%eax
406cf7:	89 70 24             	mov    %esi,0x24(%eax)
406cfa:	83 66 24 00          	andl   $0x0,0x24(%esi)
406cfe:	89 46 20             	mov    %eax,0x20(%esi)
406d01:	e9 87 fe ff ff       	jmp    0x406b8d
406d06:	33 c0                	xor    %eax,%eax
406d08:	eb df                	jmp    0x406ce9
406d0a:	8b ff                	mov    %edi,%edi
406d0c:	55                   	push   %ebp
406d0d:	8b ec                	mov    %esp,%ebp
406d0f:	81 ec 34 02 00 00    	sub    $0x234,%esp
406d15:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
406d1a:	33 c5                	xor    %ebp,%eax
406d1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
406d1f:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
406d23:	b8 04 01 00 00       	mov    $0x104,%eax
406d28:	53                   	push   %ebx
406d29:	56                   	push   %esi
406d2a:	57                   	push   %edi
406d2b:	50                   	push   %eax
406d2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
406d2f:	8b f1                	mov    %ecx,%esi
406d31:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
406d37:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
406d3d:	6a 00                	push   $0x0
406d3f:	33 ff                	xor    %edi,%edi
406d41:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
406d45:	50                   	push   %eax
406d46:	47                   	inc    %edi
406d47:	e8 71 12 01 00       	call   0x417fbd
406d4c:	83 c4 0c             	add    $0xc,%esp
406d4f:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
406d55:	68 e9 7f 00 00       	push   $0x7fe9
406d5a:	e8 91 76 00 00       	call   0x40e3f0
406d5f:	85 c0                	test   %eax,%eax
406d61:	78 1d                	js     0x406d80
406d63:	83 25 a8 67 43 00 00 	andl   $0x0,0x4367a8
406d6a:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
406d70:	50                   	push   %eax
406d71:	6a 00                	push   $0x0
406d73:	b2 01                	mov    $0x1,%dl
406d75:	8b ce                	mov    %esi,%ecx
406d77:	e8 b8 0c 00 00       	call   0x407a34
406d7c:	3b c7                	cmp    %edi,%eax
406d7e:	75 27                	jne    0x406da7
406d80:	33 ff                	xor    %edi,%edi
406d82:	47                   	inc    %edi
406d83:	8b 45 e8             	mov    -0x18(%ebp),%eax
406d86:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
406d8a:	85 c0                	test   %eax,%eax
406d8c:	74 08                	je     0x406d96
406d8e:	50                   	push   %eax
406d8f:	ff 15 e0 a3 44 00    	call   *0x44a3e0
406d95:	59                   	pop    %ecx
406d96:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406d99:	8b c7                	mov    %edi,%eax
406d9b:	5f                   	pop    %edi
406d9c:	5e                   	pop    %esi
406d9d:	33 cd                	xor    %ebp,%ecx
406d9f:	5b                   	pop    %ebx
406da0:	e8 8b fd 00 00       	call   0x416b30
406da5:	c9                   	leave
406da6:	c3                   	ret
406da7:	8b 9d dc fd ff ff    	mov    -0x224(%ebp),%ebx
406dad:	85 db                	test   %ebx,%ebx
406daf:	74 d2                	je     0x406d83
406db1:	0f b6 06             	movzbl (%esi),%eax
406db4:	33 d2                	xor    %edx,%edx
406db6:	6a 00                	push   $0x0
406db8:	68 d0 38 41 00       	push   $0x4138d0
406dbd:	6a 00                	push   $0x0
406dbf:	51                   	push   %ecx
406dc0:	83 e0 10             	and    $0x10,%eax
406dc3:	8b cb                	mov    %ebx,%ecx
406dc5:	56                   	push   %esi
406dc6:	83 c8 40             	or     $0x40,%eax
406dc9:	c1 e8 04             	shr    $0x4,%eax
406dcc:	50                   	push   %eax
406dcd:	ff 76 08             	push   0x8(%esi)
406dd0:	ff 76 04             	push   0x4(%esi)
406dd3:	e8 b0 f6 ff ff       	call   0x406488
406dd8:	8b f8                	mov    %eax,%edi
406dda:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
406de0:	83 ff 01             	cmp    $0x1,%edi
406de3:	74 9b                	je     0x406d80
406de5:	85 ff                	test   %edi,%edi
406de7:	0f 85 f2 38 01 00    	jne    0x41a6df
406ded:	83 ff 02             	cmp    $0x2,%edi
406df0:	0f 84 01 39 01 00    	je     0x41a6f7
406df6:	8b 4b 04             	mov    0x4(%ebx),%ecx
406df9:	e8 62 6e 00 00       	call   0x40dc60
406dfe:	8b 43 0c             	mov    0xc(%ebx),%eax
406e01:	33 c9                	xor    %ecx,%ecx
406e03:	41                   	inc    %ecx
406e04:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
406e0a:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
406e10:	39 4b 08             	cmp    %ecx,0x8(%ebx)
406e13:	72 3b                	jb     0x406e50
406e15:	8b f8                	mov    %eax,%edi
406e17:	8b 0f                	mov    (%edi),%ecx
406e19:	8b 77 0c             	mov    0xc(%edi),%esi
406e1c:	e8 3f 6e 00 00       	call   0x40dc60
406e21:	8b 4f 04             	mov    0x4(%edi),%ecx
406e24:	e8 37 6e 00 00       	call   0x40dc60
406e29:	8b cf                	mov    %edi,%ecx
406e2b:	e8 30 6e 00 00       	call   0x40dc60
406e30:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
406e36:	8b fe                	mov    %esi,%edi
406e38:	40                   	inc    %eax
406e39:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
406e3f:	3b 43 08             	cmp    0x8(%ebx),%eax
406e42:	76 d3                	jbe    0x406e17
406e44:	8b bd dc fd ff ff    	mov    -0x224(%ebp),%edi
406e4a:	8b b5 d0 fd ff ff    	mov    -0x230(%ebp),%esi
406e50:	8b 1b                	mov    (%ebx),%ebx
406e52:	e9 56 ff ff ff       	jmp    0x406dad
406e57:	8b ff                	mov    %edi,%edi
406e59:	55                   	push   %ebp
406e5a:	8b ec                	mov    %esp,%ebp
406e5c:	83 e4 f8             	and    $0xfffffff8,%esp
406e5f:	81 ec 8c 02 00 00    	sub    $0x28c,%esp
406e65:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
406e6a:	33 c4                	xor    %esp,%eax
406e6c:	89 84 24 88 02 00 00 	mov    %eax,0x288(%esp)
406e73:	8b 45 08             	mov    0x8(%ebp),%eax
406e76:	53                   	push   %ebx
406e77:	8b 5d 0c             	mov    0xc(%ebp),%ebx
406e7a:	89 54 24 1c          	mov    %edx,0x1c(%esp)
406e7e:	33 d2                	xor    %edx,%edx
406e80:	56                   	push   %esi
406e81:	89 44 24 1c          	mov    %eax,0x1c(%esp)
406e85:	8b c2                	mov    %edx,%eax
406e87:	57                   	push   %edi
406e88:	8b fa                	mov    %edx,%edi
406e8a:	89 4c 24 14          	mov    %ecx,0x14(%esp)
406e8e:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
406e95:	00
406e96:	89 54 24 28          	mov    %edx,0x28(%esp)
406e9a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
406e9e:	66 39 13             	cmp    %dx,(%ebx)
406ea1:	0f 84 96 00 00 00    	je     0x406f3d
406ea7:	80 3d 44 67 43 00 00 	cmpb   $0x0,0x436744
406eae:	0f 85 85 00 00 00    	jne    0x406f39
406eb4:	e8 87 b1 00 00       	call   0x412040
406eb9:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
406ec0:	0f 85 80 38 01 00    	jne    0x41a746
406ec6:	8b f3                	mov    %ebx,%esi
406ec8:	8d 4e 02             	lea    0x2(%esi),%ecx
406ecb:	66 8b 06             	mov    (%esi),%ax
406ece:	83 c6 02             	add    $0x2,%esi
406ed1:	66 3b c2             	cmp    %dx,%ax
406ed4:	75 f5                	jne    0x406ecb
406ed6:	2b f1                	sub    %ecx,%esi
406ed8:	8b cb                	mov    %ebx,%ecx
406eda:	6a 2a                	push   $0x2a