409bb9:	5f                   	pop    %edi
409bba:	5e                   	pop    %esi
409bbb:	5b                   	pop    %ebx
409bbc:	c9                   	leave
409bbd:	c2 08 00             	ret    $0x8
409bc0:	33 c0                	xor    %eax,%eax
409bc2:	eb f5                	jmp    0x409bb9
409bc4:	8b ff                	mov    %edi,%edi
409bc6:	55                   	push   %ebp
409bc7:	8b ec                	mov    %esp,%ebp
409bc9:	81 ec 68 02 00 00    	sub    $0x268,%esp
409bcf:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
409bd4:	33 c5                	xor    %ebp,%eax
409bd6:	89 45 f8             	mov    %eax,-0x8(%ebp)
409bd9:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409bdd:	53                   	push   %ebx
409bde:	56                   	push   %esi
409bdf:	57                   	push   %edi
409be0:	8b da                	mov    %edx,%ebx
409be2:	8b f1                	mov    %ecx,%esi
409be4:	74 22                	je     0x409c08
409be6:	6a 2a                	push   $0x2a
409be8:	5a                   	pop    %edx
409be9:	e8 41 0a 00 00       	call   0x40a62f
409bee:	85 c0                	test   %eax,%eax
409bf0:	0f 85 25 25 01 00    	jne    0x41c11b
409bf6:	6a 3f                	push   $0x3f
409bf8:	5a                   	pop    %edx
409bf9:	8b ce                	mov    %esi,%ecx
409bfb:	e8 2f 0a 00 00       	call   0x40a62f
409c00:	85 c0                	test   %eax,%eax
409c02:	0f 85 13 25 01 00    	jne    0x41c11b
409c08:	8d 85 9c fd ff ff    	lea    -0x264(%ebp),%eax
409c0e:	8b d6                	mov    %esi,%edx
409c10:	50                   	push   %eax
409c11:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
409c17:	b9 d0 59 41 00       	mov    $0x4159d0,%ecx
409c1c:	50                   	push   %eax
409c1d:	33 c0                	xor    %eax,%eax
409c1f:	50                   	push   %eax
409c20:	68 27 10 00 00       	push   $0x1027
409c25:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
409c2b:	e8 6a bc 00 00       	call   0x41589a
409c30:	84 c0                	test   %al,%al
409c32:	75 20                	jne    0x409c54
409c34:	83 3d a8 67 43 00 12 	cmpl   $0x12,0x4367a8
409c3b:	0f 84 e9 24 01 00    	je     0x41c12a
409c41:	33 c0                	xor    %eax,%eax
409c43:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409c46:	5f                   	pop    %edi
409c47:	5e                   	pop    %esi
409c48:	33 cd                	xor    %ebp,%ecx
409c4a:	5b                   	pop    %ebx
409c4b:	e8 e0 ce 00 00       	call   0x416b30
409c50:	c9                   	leave
409c51:	c2 04 00             	ret    $0x4
409c54:	8b 8d 9c fd ff ff    	mov    -0x264(%ebp),%ecx
409c5a:	e8 ee ee ff ff       	call   0x408b4d
409c5f:	6a 5c                	push   $0x5c
409c61:	5a                   	pop    %edx
409c62:	8b ce                	mov    %esi,%ecx
409c64:	e8 8c 65 00 00       	call   0x4101f5
409c69:	8b c8                	mov    %eax,%ecx
409c6b:	85 c9                	test   %ecx,%ecx
409c6d:	0f 84 c6 24 01 00    	je     0x41c139
409c73:	83 c1 02             	add    $0x2,%ecx
409c76:	8d 95 d0 fd ff ff    	lea    -0x230(%ebp),%edx
409c7c:	8d 7a 02             	lea    0x2(%edx),%edi
409c7f:	66 8b 02             	mov    (%edx),%ax
409c82:	83 c2 02             	add    $0x2,%edx
409c85:	66 3b 85 a0 fd ff ff 	cmp    -0x260(%ebp),%ax
409c8c:	75 f1                	jne    0x409c7f
409c8e:	8b c1                	mov    %ecx,%eax
409c90:	2b d7                	sub    %edi,%edx
409c92:	2b c6                	sub    %esi,%eax
409c94:	d1 fa                	sar    $1,%edx
409c96:	d1 f8                	sar    $1,%eax
409c98:	40                   	inc    %eax
409c99:	03 c2                	add    %edx,%eax
409c9b:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
409ca0:	0f 87 c9 24 01 00    	ja     0x41c16f
409ca6:	33 c0                	xor    %eax,%eax
409ca8:	8b d3                	mov    %ebx,%edx
409caa:	66 89 01             	mov    %ax,(%ecx)
409cad:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
409cb3:	50                   	push   %eax
409cb4:	8b ce                	mov    %esi,%ecx
409cb6:	e8 85 5f 00 00       	call   0x40fc40
409cbb:	33 c0                	xor    %eax,%eax
409cbd:	40                   	inc    %eax
409cbe:	eb 83                	jmp    0x409c43
409cc0:	8b ff                	mov    %edi,%edi
409cc2:	55                   	push   %ebp
409cc3:	8b ec                	mov    %esp,%ebp
409cc5:	51                   	push   %ecx
409cc6:	53                   	push   %ebx
409cc7:	56                   	push   %esi
409cc8:	8b f1                	mov    %ecx,%esi
409cca:	57                   	push   %edi
409ccb:	85 f6                	test   %esi,%esi
409ccd:	0f 84 d9 00 00 00    	je     0x409dac
409cd3:	b9 ce ff 00 00       	mov    $0xffce,%ecx
409cd8:	e8 f3 3f 00 00       	call   0x40dcd0
409cdd:	89 45 fc             	mov    %eax,-0x4(%ebp)
409ce0:	85 c0                	test   %eax,%eax
409ce2:	0f 84 c4 00 00 00    	je     0x409dac
409ce8:	6a 5e                	push   $0x5e
409cea:	58                   	pop    %eax
409ceb:	8b d0                	mov    %eax,%edx
409ced:	8b ce                	mov    %esi,%ecx
409cef:	e8 3b 09 00 00       	call   0x40a62f
409cf4:	33 db                	xor    %ebx,%ebx
409cf6:	85 c0                	test   %eax,%eax
409cf8:	0f 85 80 24 01 00    	jne    0x41c17e
409cfe:	ff 35 78 67 43 00    	push   0x436778
409d04:	33 c0                	xor    %eax,%eax
409d06:	8b d6                	mov    %esi,%edx
409d08:	40                   	inc    %eax
409d09:	8b c8                	mov    %eax,%ecx
409d0b:	a3 70 e5 42 00       	mov    %eax,0x42e570
409d10:	e8 5b 28 00 00       	call   0x40c570
409d15:	8b f8                	mov    %eax,%edi
409d17:	89 1d 70 e5 42 00    	mov    %ebx,0x42e570
409d1d:	83 ff 01             	cmp    $0x1,%edi
409d20:	0f 84 e7 24 01 00    	je     0x41c20d
409d26:	83 ff ff             	cmp    $0xffffffff,%edi
409d29:	74 7d                	je     0x409da8
409d2b:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
409d32:	74 37                	je     0x409d6b
409d34:	8b 47 38             	mov    0x38(%edi),%eax
409d37:	66 83 38 3a          	cmpw   $0x3a,(%eax)
409d3b:	75 2e                	jne    0x409d6b
409d3d:	83 3d 48 67 43 00 00 	cmpl   $0x0,0x436748
409d44:	0f 84 5d 25 01 00    	je     0x41c2a7
409d4a:	8b 75 fc             	mov    -0x4(%ebp),%esi
409d4d:	6a 01                	push   $0x1
409d4f:	68 e7 7f 00 00       	push   $0x7fe7
409d54:	8b d6                	mov    %esi,%edx
409d56:	8b cf                	mov    %edi,%ecx
409d58:	e8 ea 7c 00 00       	call   0x411a47
409d5d:	85 c0                	test   %eax,%eax
409d5f:	75 05                	jne    0x409d66
409d61:	a1 dc 65 43 00       	mov    0x4365dc,%eax
409d66:	5f                   	pop    %edi
409d67:	5e                   	pop    %esi
409d68:	5b                   	pop    %ebx
409d69:	c9                   	leave
409d6a:	c3                   	ret
409d6b:	8b 4f 38             	mov    0x38(%edi),%ecx
409d6e:	6a 2a                	push   $0x2a
409d70:	5a                   	pop    %edx
409d71:	e8 b9 08 00 00       	call   0x40a62f
409d76:	85 c0                	test   %eax,%eax
409d78:	75 25                	jne    0x409d9f
409d7a:	8b 4f 38             	mov    0x38(%edi),%ecx
409d7d:	6a 3f                	push   $0x3f
409d7f:	5a                   	pop    %edx
409d80:	e8 aa 08 00 00       	call   0x40a62f
409d85:	85 c0                	test   %eax,%eax
409d87:	75 16                	jne    0x409d9f
409d89:	8b 75 fc             	mov    -0x4(%ebp),%esi
409d8c:	8b cf                	mov    %edi,%ecx
409d8e:	68 e7 7f 00 00       	push   $0x7fe7
409d93:	8b d6                	mov    %esi,%edx
409d95:	e8 76 56 00 00       	call   0x40f410
409d9a:	83 f8 02             	cmp    $0x2,%eax
409d9d:	74 ae                	je     0x409d4d
409d9f:	8b cf                	mov    %edi,%ecx
409da1:	e8 ba 0f 00 00       	call   0x40ad60
409da6:	eb be                	jmp    0x409d66
409da8:	33 c0                	xor    %eax,%eax
409daa:	eb ba                	jmp    0x409d66
409dac:	33 c0                	xor    %eax,%eax
409dae:	40                   	inc    %eax
409daf:	eb b5                	jmp    0x409d66
409db1:	cc                   	int3
409db2:	cc                   	int3
409db3:	cc                   	int3
409db4:	cc                   	int3
409db5:	cc                   	int3
409db6:	cc                   	int3
409db7:	cc                   	int3
409db8:	cc                   	int3
409db9:	cc                   	int3
409dba:	cc                   	int3
409dbb:	cc                   	int3
409dbc:	cc                   	int3
409dbd:	cc                   	int3
409dbe:	cc                   	int3
409dbf:	cc                   	int3
409dc0:	8b ff                	mov    %edi,%edi
409dc2:	55                   	push   %ebp
409dc3:	8b ec                	mov    %esp,%ebp
409dc5:	51                   	push   %ecx
409dc6:	56                   	push   %esi
409dc7:	8b 75 08             	mov    0x8(%ebp),%esi
409dca:	33 d2                	xor    %edx,%edx
409dcc:	57                   	push   %edi
409dcd:	8b 4e 3c             	mov    0x3c(%esi),%ecx
409dd0:	e8 34 00 00 00       	call   0x409e09
409dd5:	8d 48 ff             	lea    -0x1(%eax),%ecx
409dd8:	83 e9 01             	sub    $0x1,%ecx
409ddb:	0f 84 d8 24 01 00    	je     0x41c2b9
409de1:	83 e9 01             	sub    $0x1,%ecx
409de4:	75 1c                	jne    0x409e02
409de6:	8b 46 3c             	mov    0x3c(%esi),%eax
409de9:	83 c0 02             	add    $0x2,%eax
409dec:	50                   	push   %eax
409ded:	68 80 22 40 00       	push   $0x402280
409df2:	e8 59 fb ff ff       	call   0x409950
409df7:	59                   	pop    %ecx
409df8:	59                   	pop    %ecx
409df9:	5f                   	pop    %edi
409dfa:	33 c0                	xor    %eax,%eax
409dfc:	5e                   	pop    %esi
409dfd:	59                   	pop    %ecx
409dfe:	5d                   	pop    %ebp
409dff:	c2 04 00             	ret    $0x4
409e02:	a3 c0 e0 42 00       	mov    %eax,0x42e0c0
409e07:	eb f0                	jmp    0x409df9
409e09:	8b ff                	mov    %edi,%edi
409e0b:	53                   	push   %ebx
409e0c:	8b da                	mov    %edx,%ebx
409e0e:	56                   	push   %esi
409e0f:	57                   	push   %edi
409e10:	85 c9                	test   %ecx,%ecx
409e12:	74 76                	je     0x409e8a
409e14:	e8 75 00 00 00       	call   0x409e8e
409e19:	8b f8                	mov    %eax,%edi
409e1b:	8b f7                	mov    %edi,%esi
409e1d:	0f b7 07             	movzwl (%edi),%eax
409e20:	66 85 c0             	test   %ax,%ax
409e23:	74 65                	je     0x409e8a
409e25:	8b c8                	mov    %eax,%ecx
409e27:	51                   	push   %ecx
409e28:	ff 15 ac a3 44 00    	call   *0x44a3ac
409e2e:	59                   	pop    %ecx
409e2f:	85 c0                	test   %eax,%eax
409e31:	75 0d                	jne    0x409e40
409e33:	83 c6 02             	add    $0x2,%esi
409e36:	0f b7 06             	movzwl (%esi),%eax
409e39:	8b c8                	mov    %eax,%ecx
409e3b:	66 85 c0             	test   %ax,%ax
409e3e:	75 e7                	jne    0x409e27
409e40:	8b ce                	mov    %esi,%ecx
409e42:	e8 47 00 00 00       	call   0x409e8e
409e47:	33 c9                	xor    %ecx,%ecx
409e49:	66 39 08             	cmp    %cx,(%eax)
409e4c:	74 07                	je     0x409e55
409e4e:	6a 03                	push   $0x3
409e50:	58                   	pop    %eax
409e51:	5f                   	pop    %edi
409e52:	5e                   	pop    %esi
409e53:	5b                   	pop    %ebx
409e54:	c3                   	ret
409e55:	2b f7                	sub    %edi,%esi
409e57:	d1 fe                	sar    $1,%esi
409e59:	83 fe 02             	cmp    $0x2,%esi
409e5c:	0f 84 b9 24 01 00    	je     0x41c31b
409e62:	83 fe 03             	cmp    $0x3,%esi
409e65:	74 0a                	je     0x409e71
409e67:	83 fb 01             	cmp    $0x1,%ebx
409e6a:	75 e2                	jne    0x409e4e
409e6c:	e9 c9 24 01 00       	jmp    0x41c33a
409e71:	6a 03                	push   $0x3
409e73:	68 00 20 40 00       	push   $0x402000
409e78:	57                   	push   %edi
409e79:	ff 15 28 a4 44 00    	call   *0x44a428
409e7f:	83 c4 0c             	add    $0xc,%esp
409e82:	85 c0                	test   %eax,%eax
409e84:	74 cb                	je     0x409e51
409e86:	33 c9                	xor    %ecx,%ecx
409e88:	eb dd                	jmp    0x409e67
409e8a:	6a 02                	push   $0x2
409e8c:	eb c2                	jmp    0x409e50
409e8e:	8b ff                	mov    %edi,%edi
409e90:	56                   	push   %esi
409e91:	8b f1                	mov    %ecx,%esi
409e93:	0f b7 06             	movzwl (%esi),%eax
409e96:	66 85 c0             	test   %ax,%ax
409e99:	74 1b                	je     0x409eb6
409e9b:	8b c8                	mov    %eax,%ecx
409e9d:	51                   	push   %ecx
409e9e:	ff 15 ac a3 44 00    	call   *0x44a3ac
409ea4:	59                   	pop    %ecx
409ea5:	85 c0                	test   %eax,%eax
409ea7:	74 0d                	je     0x409eb6
409ea9:	83 c6 02             	add    $0x2,%esi
409eac:	0f b7 06             	movzwl (%esi),%eax
409eaf:	8b c8                	mov    %eax,%ecx
409eb1:	66 85 c0             	test   %ax,%ax
409eb4:	75 e7                	jne    0x409e9d
409eb6:	8b c6                	mov    %esi,%eax
409eb8:	5e                   	pop    %esi
409eb9:	c3                   	ret
409eba:	8b ff                	mov    %edi,%edi
409ebc:	53                   	push   %ebx
409ebd:	56                   	push   %esi
409ebe:	57                   	push   %edi
409ebf:	8b f1                	mov    %ecx,%esi
409ec1:	33 ff                	xor    %edi,%edi
409ec3:	8b da                	mov    %edx,%ebx
409ec5:	85 f6                	test   %esi,%esi
409ec7:	74 25                	je     0x409eee
409ec9:	85 db                	test   %ebx,%ebx
409ecb:	74 21                	je     0x409eee
409ecd:	0f b7 06             	movzwl (%esi),%eax
409ed0:	66 85 c0             	test   %ax,%ax
409ed3:	74 13                	je     0x409ee8
409ed5:	8b d0                	mov    %eax,%edx
409ed7:	8d 76 02             	lea    0x2(%esi),%esi
409eda:	8b cb                	mov    %ebx,%ecx
409edc:	e8 4e 07 00 00       	call   0x40a62f
409ee1:	85 c0                	test   %eax,%eax
409ee3:	75 03                	jne    0x409ee8
409ee5:	47                   	inc    %edi
409ee6:	eb e5                	jmp    0x409ecd
409ee8:	8b c7                	mov    %edi,%eax
409eea:	5f                   	pop    %edi
409eeb:	5e                   	pop    %esi
409eec:	5b                   	pop    %ebx
409eed:	c3                   	ret
409eee:	33 c0                	xor    %eax,%eax
409ef0:	eb f8                	jmp    0x409eea
409ef2:	8b ff                	mov    %edi,%edi
409ef4:	55                   	push   %ebp
409ef5:	8b ec                	mov    %esp,%ebp
409ef7:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
409efd:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
409f02:	33 c5                	xor    %ebp,%eax
409f04:	89 45 fc             	mov    %eax,-0x4(%ebp)
409f07:	53                   	push   %ebx
409f08:	56                   	push   %esi
409f09:	57                   	push   %edi
409f0a:	b8 04 01 00 00       	mov    $0x104,%eax
409f0f:	89 95 d4 fd ff ff    	mov    %edx,-0x22c(%ebp)
409f15:	50                   	push   %eax
409f16:	33 f6                	xor    %esi,%esi
409f18:	89 45 f0             	mov    %eax,-0x10(%ebp)
409f1b:	33 db                	xor    %ebx,%ebx
409f1d:	89 b5 dc fd ff ff    	mov    %esi,-0x224(%ebp)
409f23:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
409f29:	89 75 e8             	mov    %esi,-0x18(%ebp)
409f2c:	8b f9                	mov    %ecx,%edi
409f2e:	43                   	inc    %ebx
409f2f:	56                   	push   %esi
409f30:	50                   	push   %eax
409f31:	89 bd d8 fd ff ff    	mov    %edi,-0x228(%ebp)
409f37:	88 5d ec             	mov    %bl,-0x14(%ebp)
409f3a:	e8 7e e0 00 00       	call   0x417fbd