402ace:	89 45 fc             	mov    %eax,-0x4(%ebp)
402ad1:	85 c0                	test   %eax,%eax
402ad3:	74 74                	je     0x402b49
402ad5:	57                   	push   %edi
402ad6:	8b cb                	mov    %ebx,%ecx
402ad8:	e8 4d f7 ff ff       	call   0x40222a
402add:	8b f0                	mov    %eax,%esi
402adf:	85 f6                	test   %esi,%esi
402ae1:	78 6b                	js     0x402b4e
402ae3:	6a 7b                	push   $0x7b
402ae5:	58                   	pop    %eax
402ae6:	66 3b 07             	cmp    (%edi),%ax
402ae9:	75 5e                	jne    0x402b49
402aeb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
402aef:	8b cb                	mov    %ebx,%ecx
402af1:	6a 00                	push   $0x0
402af3:	74 2d                	je     0x402b22
402af5:	ff 75 0c             	push   0xc(%ebp)
402af8:	8b 03                	mov    (%ebx),%eax
402afa:	ff 75 fc             	push   -0x4(%ebp)
402afd:	89 45 f4             	mov    %eax,-0xc(%ebp)
402b00:	57                   	push   %edi
402b01:	e8 62 00 00 00       	call   0x402b68
402b06:	8b f0                	mov    %eax,%esi
402b08:	85 f6                	test   %esi,%esi
402b0a:	79 27                	jns    0x402b33
402b0c:	8b 45 f4             	mov    -0xc(%ebp),%eax
402b0f:	8b cb                	mov    %ebx,%ecx
402b11:	6a 00                	push   $0x0
402b13:	6a 00                	push   $0x0
402b15:	ff 75 fc             	push   -0x4(%ebp)
402b18:	89 03                	mov    %eax,(%ebx)
402b1a:	57                   	push   %edi
402b1b:	e8 48 00 00 00       	call   0x402b68
402b20:	eb 2c                	jmp    0x402b4e
402b22:	6a 00                	push   $0x0
402b24:	ff 75 fc             	push   -0x4(%ebp)
402b27:	57                   	push   %edi
402b28:	e8 3b 00 00 00       	call   0x402b68
402b2d:	8b f0                	mov    %eax,%esi
402b2f:	85 f6                	test   %esi,%esi
402b31:	78 1b                	js     0x402b4e
402b33:	8b cb                	mov    %ebx,%ecx
402b35:	e8 c3 f6 ff ff       	call   0x4021fd
402b3a:	8b 03                	mov    (%ebx),%eax
402b3c:	33 c9                	xor    %ecx,%ecx
402b3e:	66 3b 08             	cmp    (%eax),%cx
402b41:	0f 85 50 ff ff ff    	jne    0x402a97
402b47:	eb 05                	jmp    0x402b4e
402b49:	be 09 00 02 80       	mov    $0x80020009,%esi
402b4e:	ff 75 f8             	push   -0x8(%ebp)
402b51:	ff 15 0c 70 40 00    	call   *0x40700c
402b57:	57                   	push   %edi
402b58:	ff 15 64 71 40 00    	call   *0x407164
402b5e:	8b c6                	mov    %esi,%eax
402b60:	59                   	pop    %ecx
402b61:	5f                   	pop    %edi
402b62:	5e                   	pop    %esi
402b63:	5b                   	pop    %ebx
402b64:	c9                   	leave
402b65:	c2 08 00             	ret    $0x8
402b68:	8b ff                	mov    %edi,%edi
402b6a:	55                   	push   %ebp
402b6b:	8b ec                	mov    %esp,%ebp
402b6d:	81 ec 6c 02 00 00    	sub    $0x26c,%esp
402b73:	a1 54 60 40 00       	mov    0x406054,%eax
402b78:	33 c5                	xor    %ebp,%eax
402b7a:	89 45 fc             	mov    %eax,-0x4(%ebp)
402b7d:	8b c1                	mov    %ecx,%eax
402b7f:	c7 85 c8 fd ff ff 01 	movl   $0x1,-0x238(%ebp)
402b86:	00 00 00
402b89:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402b8c:	53                   	push   %ebx
402b8d:	8b 5d 08             	mov    0x8(%ebp),%ebx
402b90:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
402b96:	33 c9                	xor    %ecx,%ecx
402b98:	56                   	push   %esi
402b99:	8b f1                	mov    %ecx,%esi
402b9b:	89 8d bc fd ff ff    	mov    %ecx,-0x244(%ebp)
402ba1:	89 8d d4 fd ff ff    	mov    %ecx,-0x22c(%ebp)
402ba7:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
402bad:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
402bb3:	89 8d e0 fd ff ff    	mov    %ecx,-0x220(%ebp)
402bb9:	8b 4d 14             	mov    0x14(%ebp),%ecx
402bbc:	57                   	push   %edi
402bbd:	89 8d c0 fd ff ff    	mov    %ecx,-0x240(%ebp)
402bc3:	8b c8                	mov    %eax,%ecx
402bc5:	53                   	push   %ebx
402bc6:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
402bcc:	89 b5 c4 fd ff ff    	mov    %esi,-0x23c(%ebp)
402bd2:	e8 53 f6 ff ff       	call   0x40222a
402bd7:	8b f8                	mov    %eax,%edi
402bd9:	85 ff                	test   %edi,%edi
402bdb:	0f 88 04 05 00 00    	js     0x4030e5
402be1:	e9 ef 05 00 00       	jmp    0x4031d5
402be6:	68 94 13 40 00       	push   $0x401394
402beb:	53                   	push   %ebx
402bec:	ff 15 1c 71 40 00    	call   *0x40711c
402bf2:	f7 d8                	neg    %eax
402bf4:	68 68 13 40 00       	push   $0x401368
402bf9:	1b ff                	sbb    %edi,%edi
402bfb:	47                   	inc    %edi
402bfc:	53                   	push   %ebx
402bfd:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
402c03:	ff 15 1c 71 40 00    	call   *0x40711c
402c09:	85 c0                	test   %eax,%eax
402c0b:	74 04                	je     0x402c11
402c0d:	85 ff                	test   %edi,%edi
402c0f:	74 79                	je     0x402c8a
402c11:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402c17:	53                   	push   %ebx
402c18:	e8 0d f6 ff ff       	call   0x40222a
402c1d:	8b f8                	mov    %eax,%edi
402c1f:	85 ff                	test   %edi,%edi
402c21:	0f 88 ad 04 00 00    	js     0x4030d4
402c27:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
402c2b:	74 5d                	je     0x402c8a
402c2d:	33 c0                	xor    %eax,%eax
402c2f:	8b cb                	mov    %ebx,%ecx
402c31:	6a 5c                	push   $0x5c
402c33:	5a                   	pop    %edx
402c34:	89 85 b0 fd ff ff    	mov    %eax,-0x250(%ebp)
402c3a:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
402c40:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
402c46:	e8 ce f4 ff ff       	call   0x402119
402c4b:	85 c0                	test   %eax,%eax
402c4d:	0f 85 7c 04 00 00    	jne    0x4030cf
402c53:	53                   	push   %ebx
402c54:	e8 f1 fa ff ff       	call   0x40274a
402c59:	85 c0                	test   %eax,%eax
402c5b:	74 20                	je     0x402c7d
402c5d:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
402c63:	8d 8d b0 fd ff ff    	lea    -0x250(%ebp),%ecx
402c69:	53                   	push   %ebx
402c6a:	89 85 b0 fd ff ff    	mov    %eax,-0x250(%ebp)
402c70:	e8 d8 ef ff ff       	call   0x401c4d
402c75:	33 c0                	xor    %eax,%eax
402c77:	89 85 b0 fd ff ff    	mov    %eax,-0x250(%ebp)
402c7d:	83 bd d0 fd ff ff 00 	cmpl   $0x0,-0x230(%ebp)
402c84:	0f 85 bc 04 00 00    	jne    0x403146
402c8a:	68 80 13 40 00       	push   $0x401380
402c8f:	53                   	push   %ebx
402c90:	ff 15 1c 71 40 00    	call   *0x40711c
402c96:	85 c0                	test   %eax,%eax
402c98:	75 1c                	jne    0x402cb6
402c9a:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402ca0:	53                   	push   %ebx
402ca1:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
402ca7:	e8 7e f5 ff ff       	call   0x40222a
402cac:	8b f8                	mov    %eax,%edi
402cae:	85 ff                	test   %edi,%edi
402cb0:	0f 88 1e 04 00 00    	js     0x4030d4
402cb6:	68 60 13 40 00       	push   $0x401360
402cbb:	53                   	push   %ebx
402cbc:	ff 15 1c 71 40 00    	call   *0x40711c
402cc2:	85 c0                	test   %eax,%eax
402cc4:	0f 85 05 01 00 00    	jne    0x402dcf
402cca:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402cd0:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
402cd6:	50                   	push   %eax
402cd7:	e8 4e f5 ff ff       	call   0x40222a
402cdc:	8b f8                	mov    %eax,%edi
402cde:	85 ff                	test   %edi,%edi
402ce0:	0f 88 ee 03 00 00    	js     0x4030d4
402ce6:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402cec:	53                   	push   %ebx
402ced:	e8 38 f5 ff ff       	call   0x40222a
402cf2:	8b f8                	mov    %eax,%edi
402cf4:	85 ff                	test   %edi,%edi
402cf6:	0f 88 d8 03 00 00    	js     0x4030d4
402cfc:	6a 3d                	push   $0x3d
402cfe:	58                   	pop    %eax
402cff:	66 39 03             	cmp    %ax,(%ebx)
402d02:	0f 85 c7 03 00 00    	jne    0x4030cf
402d08:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
402d0c:	74 44                	je     0x402d52
402d0e:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
402d14:	33 c9                	xor    %ecx,%ecx
402d16:	51                   	push   %ecx
402d17:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
402d1d:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
402d23:	53                   	push   %ebx
402d24:	50                   	push   %eax
402d25:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
402d2b:	89 8d a8 fd ff ff    	mov    %ecx,-0x258(%ebp)
402d31:	89 8d ac fd ff ff    	mov    %ecx,-0x254(%ebp)
402d37:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402d3d:	50                   	push   %eax
402d3e:	e8 2e f6 ff ff       	call   0x402371
402d43:	8b f8                	mov    %eax,%edi
402d45:	33 c0                	xor    %eax,%eax
402d47:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
402d4d:	e9 18 04 00 00       	jmp    0x40316a
402d52:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
402d56:	75 66                	jne    0x402dbe
402d58:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
402d5e:	33 c9                	xor    %ecx,%ecx
402d60:	50                   	push   %eax
402d61:	68 06 00 02 00       	push   $0x20006
402d66:	51                   	push   %ecx
402d67:	51                   	push   %ecx
402d68:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
402d6e:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
402d74:	ff 15 00 71 40 00    	call   *0x407100
402d7a:	8b f8                	mov    %eax,%edi
402d7c:	85 ff                	test   %edi,%edi
402d7e:	0f 85 89 04 00 00    	jne    0x40320d
402d84:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
402d8a:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
402d90:	51                   	push   %ecx
402d91:	50                   	push   %eax
402d92:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
402d98:	ff 15 f4 70 40 00    	call   *0x4070f4
402d9e:	8b f8                	mov    %eax,%edi
402da0:	85 ff                	test   %edi,%edi
402da2:	74 09                	je     0x402dad
402da4:	83 ff 02             	cmp    $0x2,%edi
402da7:	0f 85 39 04 00 00    	jne    0x4031e6
402dad:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402db3:	85 c0                	test   %eax,%eax
402db5:	74 07                	je     0x402dbe
402db7:	50                   	push   %eax
402db8:	ff 15 f8 70 40 00    	call   *0x4070f8
402dbe:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402dc4:	53                   	push   %ebx
402dc5:	e8 71 fa ff ff       	call   0x40283b
402dca:	e9 fc 03 00 00       	jmp    0x4031cb
402dcf:	6a 5c                	push   $0x5c
402dd1:	5a                   	pop    %edx
402dd2:	8b cb                	mov    %ebx,%ecx
402dd4:	e8 40 f3 ff ff       	call   0x402119
402dd9:	85 c0                	test   %eax,%eax
402ddb:	0f 85 ee 02 00 00    	jne    0x4030cf
402de1:	39 45 10             	cmp    %eax,0x10(%ebp)
402de4:	0f 84 24 01 00 00    	je     0x402f0e
402dea:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
402df0:	33 c9                	xor    %ecx,%ecx
402df2:	50                   	push   %eax
402df3:	68 3f 00 0f 00       	push   $0xf003f
402df8:	51                   	push   %ecx
402df9:	53                   	push   %ebx
402dfa:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
402e00:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
402e06:	ff 15 00 71 40 00    	call   *0x407100
402e0c:	85 c0                	test   %eax,%eax
402e0e:	75 27                	jne    0x402e37
402e10:	8b c8                	mov    %eax,%ecx
402e12:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
402e18:	85 c0                	test   %eax,%eax
402e1a:	74 09                	je     0x402e25
402e1c:	50                   	push   %eax
402e1d:	ff 15 f8 70 40 00    	call   *0x4070f8
402e23:	8b c8                	mov    %eax,%ecx
402e25:	8b bd e8 fd ff ff    	mov    -0x218(%ebp),%edi
402e2b:	89 bd d4 fd ff ff    	mov    %edi,-0x22c(%ebp)
402e31:	85 c9                	test   %ecx,%ecx
402e33:	74 6a                	je     0x402e9f
402e35:	eb 06                	jmp    0x402e3d
402e37:	8b bd d4 fd ff ff    	mov    -0x22c(%ebp),%edi
402e3d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
402e43:	33 c9                	xor    %ecx,%ecx
402e45:	50                   	push   %eax
402e46:	68 19 00 02 00       	push   $0x20019
402e4b:	51                   	push   %ecx
402e4c:	53                   	push   %ebx
402e4d:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
402e53:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
402e59:	ff 15 00 71 40 00    	call   *0x407100
402e5f:	85 c0                	test   %eax,%eax
402e61:	75 1f                	jne    0x402e82
402e63:	8b c8                	mov    %eax,%ecx
402e65:	85 ff                	test   %edi,%edi
402e67:	74 09                	je     0x402e72
402e69:	57                   	push   %edi
402e6a:	ff 15 f8 70 40 00    	call   *0x4070f8
402e70:	8b c8                	mov    %eax,%ecx
402e72:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
402e78:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
402e7e:	85 c9                	test   %ecx,%ecx
402e80:	74 1d                	je     0x402e9f
402e82:	83 ec 14             	sub    $0x14,%esp
402e85:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
402e8b:	53                   	push   %ebx
402e8c:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
402e92:	e8 29 ed ff ff       	call   0x401bc0
402e97:	85 c0                	test   %eax,%eax
402e99:	0f 85 30 02 00 00    	jne    0x4030cf
402e9f:	33 c0                	xor    %eax,%eax
402ea1:	88 85 cc fd ff ff    	mov    %al,-0x234(%ebp)
402ea7:	0f b7 03             	movzwl (%ebx),%eax
402eaa:	83 f8 4c             	cmp    $0x4c,%eax
402ead:	74 05                	je     0x402eb4
402eaf:	83 f8 6c             	cmp    $0x6c,%eax
402eb2:	75 17                	jne    0x402ecb
402eb4:	68 10 15 40 00       	push   $0x401510
402eb9:	53                   	push   %ebx
402eba:	ff 15 1c 71 40 00    	call   *0x40711c
402ec0:	85 c0                	test   %eax,%eax
402ec2:	75 07                	jne    0x402ecb
402ec4:	c6 85 cc fd ff ff 01 	movb   $0x1,-0x234(%ebp)
402ecb:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402ed1:	53                   	push   %ebx
402ed2:	e8 53 f3 ff ff       	call   0x40222a
402ed7:	8b f8                	mov    %eax,%edi
402ed9:	85 ff                	test   %edi,%edi
402edb:	0f 88 f3 01 00 00    	js     0x4030d4
402ee1:	6a 3d                	push   $0x3d
402ee3:	58                   	pop    %eax
402ee4:	66 39 03             	cmp    %ax,(%ebx)
402ee7:	0f 85 85 02 00 00    	jne    0x403172
402eed:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
402ef3:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402ef9:	33 c0                	xor    %eax,%eax
402efb:	53                   	push   %ebx
402efc:	50                   	push   %eax
402efd:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
402f03:	50                   	push   %eax
402f04:	e8 68 f4 ff ff       	call   0x402371
402f09:	e9 5a 02 00 00       	jmp    0x403168
402f0e:	8b 7d 14             	mov    0x14(%ebp),%edi
402f11:	85 ff                	test   %edi,%edi
402f13:	75 51                	jne    0x402f66
402f15:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
402f1b:	33 c9                	xor    %ecx,%ecx
402f1d:	50                   	push   %eax
402f1e:	68 19 00 02 00       	push   $0x20019
402f23:	51                   	push   %ecx
402f24:	53                   	push   %ebx
402f25:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
402f2b:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
402f31:	ff 15 00 71 40 00    	call   *0x407100
402f37:	85 c0                	test   %eax,%eax
402f39:	75 25                	jne    0x402f60
402f3b:	8b c8                	mov    %eax,%ecx
402f3d:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
402f43:	85 c0                	test   %eax,%eax
402f45:	74 09                	je     0x402f50
402f47:	50                   	push   %eax
402f48:	ff 15 f8 70 40 00    	call   *0x4070f8
402f4e:	8b c8                	mov    %eax,%ecx
402f50:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
402f56:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
402f5c:	85 c9                	test   %ecx,%ecx
402f5e:	74 06                	je     0x402f66
402f60:	33 ff                	xor    %edi,%edi
402f62:	47                   	inc    %edi
402f63:	89 7d 14             	mov    %edi,0x14(%ebp)
402f66:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
402f6c:	85 c0                	test   %eax,%eax
402f6e:	75 4d                	jne    0x402fbd