418b66:	8b ce                	mov    %esi,%ecx
418b68:	e8 44 f5 00 00       	call   0x4280b1
418b6d:	8b 84 24 40 02 00 00 	mov    0x240(%esp),%eax
418b74:	33 c9                	xor    %ecx,%ecx
418b76:	89 8c 24 40 02 00 00 	mov    %ecx,0x240(%esp)
418b7d:	85 c0                	test   %eax,%eax
418b7f:	74 08                	je     0x418b89
418b81:	50                   	push   %eax
418b82:	ff 15 e0 a3 44 00    	call   *0x44a3e0
418b88:	59                   	pop    %ecx
418b89:	8b 44 24 10          	mov    0x10(%esp),%eax
418b8d:	8b 17                	mov    (%edi),%edx
418b8f:	83 c0 2c             	add    $0x2c,%eax
418b92:	51                   	push   %ecx
418b93:	50                   	push   %eax
418b94:	8b ce                	mov    %esi,%ecx
418b96:	89 44 24 24          	mov    %eax,0x24(%esp)
418b9a:	e8 f9 bc fe ff       	call   0x404898
418b9f:	8b d8                	mov    %eax,%ebx
418ba1:	8b 44 24 10          	mov    0x10(%esp),%eax
418ba5:	f7 00 00 04 00 00    	testl  $0x400,(%eax)
418bab:	0f 84 32 02 00 00    	je     0x418de3
418bb1:	f7 40 24 00 00 00 20 	testl  $0x20000000,0x24(%eax)
418bb8:	0f 84 25 02 00 00    	je     0x418de3
418bbe:	b9 04 01 00 00       	mov    $0x104,%ecx
418bc3:	c6 84 24 44 02 00 00 	movb   $0x1,0x244(%esp)
418bca:	01
418bcb:	33 c0                	xor    %eax,%eax
418bcd:	89 8c 24 48 02 00 00 	mov    %ecx,0x248(%esp)
418bd4:	51                   	push   %ecx
418bd5:	50                   	push   %eax
418bd6:	89 84 24 48 02 00 00 	mov    %eax,0x248(%esp)
418bdd:	8d 44 24 40          	lea    0x40(%esp),%eax
418be1:	50                   	push   %eax
418be2:	e8 d6 f3 ff ff       	call   0x417fbd
418be7:	33 c0                	xor    %eax,%eax
418be9:	8d 4c 24 44          	lea    0x44(%esp),%ecx
418bed:	83 c4 0c             	add    $0xc,%esp
418bf0:	38 84 24 44 02 00 00 	cmp    %al,0x244(%esp)
418bf7:	0f 94 c0             	sete   %al
418bfa:	48                   	dec    %eax
418bfb:	25 e3 7e 00 00       	and    $0x7ee3,%eax
418c00:	05 04 01 00 00       	add    $0x104,%eax
418c05:	50                   	push   %eax
418c06:	e8 e5 57 ff ff       	call   0x40e3f0
418c0b:	85 c0                	test   %eax,%eax
418c0d:	0f 88 a3 01 00 00    	js     0x418db6
418c13:	8b 8c 24 40 02 00 00 	mov    0x240(%esp),%ecx
418c1a:	85 c9                	test   %ecx,%ecx
418c1c:	75 04                	jne    0x418c22
418c1e:	8d 4c 24 38          	lea    0x38(%esp),%ecx
418c22:	8b 44 24 18          	mov    0x18(%esp),%eax
418c26:	ff 74 24 1c          	push   0x1c(%esp)
418c2a:	8b 94 24 4c 02 00 00 	mov    0x24c(%esp),%edx
418c31:	ff 70 04             	push   0x4(%eax)
418c34:	e8 7f a8 ff ff       	call   0x4134b8
418c39:	85 c0                	test   %eax,%eax
418c3b:	0f 85 75 01 00 00    	jne    0x418db6
418c41:	8b 84 24 40 02 00 00 	mov    0x240(%esp),%eax
418c48:	85 c0                	test   %eax,%eax
418c4a:	75 04                	jne    0x418c50
418c4c:	8d 44 24 38          	lea    0x38(%esp),%eax
418c50:	33 c9                	xor    %ecx,%ecx
418c52:	51                   	push   %ecx
418c53:	68 00 00 20 02       	push   $0x2200000
418c58:	6a 03                	push   $0x3
418c5a:	51                   	push   %ecx
418c5b:	6a 07                	push   $0x7
418c5d:	6a 08                	push   $0x8
418c5f:	50                   	push   %eax
418c60:	ff 15 ac a0 44 00    	call   *0x44a0ac
418c66:	89 44 24 1c          	mov    %eax,0x1c(%esp)
418c6a:	83 f8 ff             	cmp    $0xffffffff,%eax
418c6d:	75 0e                	jne    0x418c7d
418c6f:	68 b4 3f 40 00       	push   $0x403fb4
418c74:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418c79:	8b ce                	mov    %esi,%ecx
418c7b:	eb 33                	jmp    0x418cb0
418c7d:	33 d2                	xor    %edx,%edx
418c7f:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
418c83:	52                   	push   %edx
418c84:	51                   	push   %ecx
418c85:	68 02 40 00 00       	push   $0x4002
418c8a:	8d 8c 24 bc 02 00 00 	lea    0x2bc(%esp),%ecx
418c91:	51                   	push   %ecx
418c92:	52                   	push   %edx
418c93:	52                   	push   %edx
418c94:	68 a8 00 09 00       	push   $0x900a8
418c99:	50                   	push   %eax
418c9a:	ff 15 54 a1 44 00    	call   *0x44a154
418ca0:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418ca5:	8b ce                	mov    %esi,%ecx
418ca7:	85 c0                	test   %eax,%eax
418ca9:	75 0f                	jne    0x418cba
418cab:	68 c0 3f 40 00       	push   $0x403fc0
418cb0:	e8 4f d9 ff ff       	call   0x416604
418cb5:	e9 f0 00 00 00       	jmp    0x418daa
418cba:	68 d0 3f 40 00       	push   $0x403fd0
418cbf:	e8 40 d9 ff ff       	call   0x416604
418cc4:	81 bc 24 b0 02 00 00 	cmpl   $0xa0000003,0x2b0(%esp)
418ccb:	03 00 00 a0
418ccf:	75 34                	jne    0x418d05
418cd1:	0f b7 84 24 bc 02 00 	movzwl 0x2bc(%esp),%eax
418cd8:	00
418cd9:	0f b7 bc 24 be 02 00 	movzwl 0x2be(%esp),%edi
418ce0:	00
418ce1:	d1 e8                	shr    $1,%eax
418ce3:	8d 84 44 c0 02 00 00 	lea    0x2c0(%esp,%eax,2),%eax
418cea:	89 44 24 14          	mov    %eax,0x14(%esp)
418cee:	85 ff                	test   %edi,%edi
418cf0:	75 63                	jne    0x418d55
418cf2:	0f b7 84 24 b8 02 00 	movzwl 0x2b8(%esp),%eax
418cf9:	00
418cfa:	d1 e8                	shr    $1,%eax
418cfc:	8d 84 44 c0 02 00 00 	lea    0x2c0(%esp,%eax,2),%eax
418d03:	eb 3f                	jmp    0x418d44
418d05:	81 bc 24 b0 02 00 00 	cmpl   $0xa000000c,0x2b0(%esp)
418d0c:	0c 00 00 a0
418d10:	75 40                	jne    0x418d52
418d12:	0f b7 84 24 bc 02 00 	movzwl 0x2bc(%esp),%eax
418d19:	00
418d1a:	0f b7 bc 24 be 02 00 	movzwl 0x2be(%esp),%edi
418d21:	00
418d22:	d1 e8                	shr    $1,%eax
418d24:	8d 84 44 c4 02 00 00 	lea    0x2c4(%esp,%eax,2),%eax
418d2b:	89 44 24 14          	mov    %eax,0x14(%esp)
418d2f:	85 ff                	test   %edi,%edi
418d31:	75 22                	jne    0x418d55
418d33:	0f b7 84 24 b8 02 00 	movzwl 0x2b8(%esp),%eax
418d3a:	00
418d3b:	d1 e8                	shr    $1,%eax
418d3d:	8d 84 44 c4 02 00 00 	lea    0x2c4(%esp,%eax,2),%eax
418d44:	0f b7 bc 24 ba 02 00 	movzwl 0x2ba(%esp),%edi
418d4b:	00
418d4c:	89 44 24 14          	mov    %eax,0x14(%esp)
418d50:	eb 03                	jmp    0x418d55
418d52:	6a 06                	push   $0x6
418d54:	5f                   	pop    %edi
418d55:	8d 4f 02             	lea    0x2(%edi),%ecx
418d58:	e8 73 4f ff ff       	call   0x40dcd0
418d5d:	89 44 24 0c          	mov    %eax,0xc(%esp)
418d61:	85 c0                	test   %eax,%eax
418d63:	74 30                	je     0x418d95
418d65:	57                   	push   %edi
418d66:	ff 74 24 18          	push   0x18(%esp)
418d6a:	50                   	push   %eax
418d6b:	e8 cc ee ff ff       	call   0x417c3c
418d70:	8b 44 24 18          	mov    0x18(%esp),%eax
418d74:	83 c4 0c             	add    $0xc,%esp
418d77:	d1 ef                	shr    $1,%edi
418d79:	33 c9                	xor    %ecx,%ecx
418d7b:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418d80:	50                   	push   %eax
418d81:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
418d85:	8b ce                	mov    %esi,%ecx
418d87:	e8 78 d8 ff ff       	call   0x416604
418d8c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
418d90:	e8 cb 4e ff ff       	call   0x40dc60
418d95:	68 d8 3f 40 00       	push   $0x403fd8
418d9a:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418d9f:	8b ce                	mov    %esi,%ecx
418da1:	e8 5e d8 ff ff       	call   0x416604
418da6:	8b 7c 24 20          	mov    0x20(%esp),%edi
418daa:	ff 74 24 1c          	push   0x1c(%esp)
418dae:	ff 15 1c a1 44 00    	call   *0x44a11c
418db4:	eb 11                	jmp    0x418dc7
418db6:	68 a8 3f 40 00       	push   $0x403fa8
418dbb:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418dc0:	8b ce                	mov    %esi,%ecx
418dc2:	e8 3d d8 ff ff       	call   0x416604
418dc7:	8b 84 24 40 02 00 00 	mov    0x240(%esp),%eax
418dce:	33 c9                	xor    %ecx,%ecx
418dd0:	89 8c 24 40 02 00 00 	mov    %ecx,0x240(%esp)
418dd7:	85 c0                	test   %eax,%eax
418dd9:	74 08                	je     0x418de3
418ddb:	50                   	push   %eax
418ddc:	ff 15 e0 a3 44 00    	call   *0x44a3e0
418de2:	59                   	pop    %ecx
418de3:	33 c0                	xor    %eax,%eax
418de5:	39 46 08             	cmp    %eax,0x8(%esi)
418de8:	74 0f                	je     0x418df9
418dea:	8b ce                	mov    %esi,%ecx
418dec:	e8 07 bc fe ff       	call   0x4049f8
418df1:	85 c0                	test   %eax,%eax
418df3:	0f 85 91 be fe ff    	jne    0x404c8a
418df9:	f7 07 00 00 10 00    	testl  $0x100000,(%edi)
418dff:	0f 84 83 be fe ff    	je     0x404c88
418e05:	e8 e5 e4 ff ff       	call   0x4172ef
418e0a:	84 c0                	test   %al,%al
418e0c:	0f 84 76 be fe ff    	je     0x404c88
418e12:	b9 04 01 00 00       	mov    $0x104,%ecx
418e17:	c6 84 24 bc 04 00 00 	movb   $0x1,0x4bc(%esp)
418e1e:	01
418e1f:	33 c0                	xor    %eax,%eax
418e21:	89 8c 24 c0 04 00 00 	mov    %ecx,0x4c0(%esp)
418e28:	51                   	push   %ecx
418e29:	50                   	push   %eax
418e2a:	89 84 24 c0 04 00 00 	mov    %eax,0x4c0(%esp)
418e31:	8d 84 24 b8 02 00 00 	lea    0x2b8(%esp),%eax
418e38:	50                   	push   %eax
418e39:	e8 7f f1 ff ff       	call   0x417fbd
418e3e:	33 c0                	xor    %eax,%eax
418e40:	8d 8c 24 bc 02 00 00 	lea    0x2bc(%esp),%ecx
418e47:	83 c4 0c             	add    $0xc,%esp
418e4a:	38 84 24 bc 04 00 00 	cmp    %al,0x4bc(%esp)
418e51:	0f 94 c0             	sete   %al
418e54:	48                   	dec    %eax
418e55:	25 e3 7e 00 00       	and    $0x7ee3,%eax
418e5a:	05 04 01 00 00       	add    $0x104,%eax
418e5f:	50                   	push   %eax
418e60:	e8 8b 55 ff ff       	call   0x40e3f0
418e65:	85 c0                	test   %eax,%eax
418e67:	0f 88 fb 00 00 00    	js     0x418f68
418e6d:	8b 8c 24 b8 04 00 00 	mov    0x4b8(%esp),%ecx
418e74:	85 c9                	test   %ecx,%ecx
418e76:	75 07                	jne    0x418e7f
418e78:	8d 8c 24 b0 02 00 00 	lea    0x2b0(%esp),%ecx
418e7f:	8b 44 24 10          	mov    0x10(%esp),%eax
418e83:	8b 94 24 c0 04 00 00 	mov    0x4c0(%esp),%edx
418e8a:	83 c0 2c             	add    $0x2c,%eax
418e8d:	50                   	push   %eax
418e8e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418e92:	ff 70 04             	push   0x4(%eax)
418e95:	e8 1e a6 ff ff       	call   0x4134b8
418e9a:	85 c0                	test   %eax,%eax
418e9c:	0f 85 c6 00 00 00    	jne    0x418f68
418ea2:	8b 84 24 b8 04 00 00 	mov    0x4b8(%esp),%eax
418ea9:	85 c0                	test   %eax,%eax
418eab:	75 07                	jne    0x418eb4
418ead:	8d 84 24 b0 02 00 00 	lea    0x2b0(%esp),%eax
418eb4:	33 d2                	xor    %edx,%edx
418eb6:	8d 4c 24 38          	lea    0x38(%esp),%ecx
418eba:	52                   	push   %edx
418ebb:	51                   	push   %ecx
418ebc:	52                   	push   %edx
418ebd:	50                   	push   %eax
418ebe:	ff 15 38 d0 44 00    	call   *0x44d038
418ec4:	89 44 24 0c          	mov    %eax,0xc(%esp)
418ec8:	83 f8 ff             	cmp    $0xffffffff,%eax
418ecb:	0f 84 97 00 00 00    	je     0x418f68
418ed1:	8d 4c 24 40          	lea    0x40(%esp),%ecx
418ed5:	8d 51 02             	lea    0x2(%ecx),%edx
418ed8:	66 8b 01             	mov    (%ecx),%ax
418edb:	83 c1 02             	add    $0x2,%ecx
418ede:	66 3b 44 24 28       	cmp    0x28(%esp),%ax
418ee3:	75 f3                	jne    0x418ed8
418ee5:	2b ca                	sub    %edx,%ecx
418ee7:	d1 f9                	sar    $1,%ecx
418ee9:	83 f9 02             	cmp    $0x2,%ecx
418eec:	72 08                	jb     0x418ef6
418eee:	66 83 7c 24 42 3a    	cmpw   $0x3a,0x42(%esp)
418ef4:	74 51                	je     0x418f47
418ef6:	8b 17                	mov    (%edi),%edx
418ef8:	8d 44 24 38          	lea    0x38(%esp),%eax
418efc:	50                   	push   %eax
418efd:	ff 74 24 14          	push   0x14(%esp)
418f01:	8b ce                	mov    %esi,%ecx
418f03:	e8 57 17 01 00       	call   0x42a65f
418f08:	8b d8                	mov    %eax,%ebx
418f0a:	85 db                	test   %ebx,%ebx
418f0c:	75 39                	jne    0x418f47
418f0e:	39 46 08             	cmp    %eax,0x8(%esi)
418f11:	74 34                	je     0x418f47
418f13:	8b ce                	mov    %esi,%ecx
418f15:	e8 de ba fe ff       	call   0x4049f8
418f1a:	89 44 24 20          	mov    %eax,0x20(%esp)
418f1e:	85 c0                	test   %eax,%eax
418f20:	74 25                	je     0x418f47
418f22:	8b 84 24 b8 04 00 00 	mov    0x4b8(%esp),%eax
418f29:	33 c9                	xor    %ecx,%ecx
418f2b:	89 8c 24 b8 04 00 00 	mov    %ecx,0x4b8(%esp)
418f32:	85 c0                	test   %eax,%eax
418f34:	74 08                	je     0x418f3e
418f36:	50                   	push   %eax
418f37:	ff 15 e0 a3 44 00    	call   *0x44a3e0
418f3d:	59                   	pop    %ecx
418f3e:	8b 44 24 20          	mov    0x20(%esp),%eax
418f42:	e9 43 bd fe ff       	jmp    0x404c8a
418f47:	8d 44 24 38          	lea    0x38(%esp),%eax
418f4b:	50                   	push   %eax
418f4c:	ff 74 24 10          	push   0x10(%esp)
418f50:	ff 15 0c d0 44 00    	call   *0x44d00c
418f56:	85 c0                	test   %eax,%eax
418f58:	0f 85 73 ff ff ff    	jne    0x418ed1
418f5e:	ff 74 24 0c          	push   0xc(%esp)
418f62:	ff 15 d8 a0 44 00    	call   *0x44a0d8
418f68:	8b 84 24 b8 04 00 00 	mov    0x4b8(%esp),%eax
418f6f:	33 c9                	xor    %ecx,%ecx
418f71:	89 8c 24 b8 04 00 00 	mov    %ecx,0x4b8(%esp)
418f78:	85 c0                	test   %eax,%eax
418f7a:	0f 84 08 bd fe ff    	je     0x404c88
418f80:	50                   	push   %eax
418f81:	ff 15 e0 a3 44 00    	call   *0x44a3e0
418f87:	59                   	pop    %ecx
418f88:	e9 fb bc fe ff       	jmp    0x404c88
418f8d:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418f91:	66 85 c0             	test   %ax,%ax
418f94:	74 09                	je     0x418f9f
418f96:	8d 04 45 2c 00 00 00 	lea    0x2c(,%eax,2),%eax
418f9d:	eb 03                	jmp    0x418fa2
418f9f:	6a 2c                	push   $0x2c
418fa1:	58                   	pop    %eax
418fa2:	51                   	push   %ecx
418fa3:	8d 4b 04             	lea    0x4(%ebx),%ecx
418fa6:	03 c1                	add    %ecx,%eax
418fa8:	8b ce                	mov    %esi,%ecx
418faa:	50                   	push   %eax
418fab:	e8 72 1b 01 00       	call   0x42ab22
418fb0:	8b d8                	mov    %eax,%ebx
418fb2:	85 db                	test   %ebx,%ebx
418fb4:	75 1c                	jne    0x418fd2
418fb6:	6a 0e                	push   $0xe
418fb8:	5a                   	pop    %edx
418fb9:	8b ce                	mov    %esi,%ecx
418fbb:	e8 f1 f0 00 00       	call   0x4280b1
418fc0:	ff 74 24 10          	push   0x10(%esp)
418fc4:	8b 57 5c             	mov    0x5c(%edi),%edx
418fc7:	8b ce                	mov    %esi,%ecx
418fc9:	ff 37                	push   (%edi)
418fcb:	e8 a3 1a 01 00       	call   0x42aa73
418fd0:	8b d8                	mov    %eax,%ebx
418fd2:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
418fd6:	0f 84 ac bc fe ff    	je     0x404c88
418fdc:	8b ce                	mov    %esi,%ecx
418fde:	e8 15 ba fe ff       	call   0x4049f8
418fe3:	85 c0                	test   %eax,%eax
418fe5:	0f 85 9f bc fe ff    	jne    0x404c8a
418feb:	e9 98 bc fe ff       	jmp    0x404c88
418ff0:	85 d2                	test   %edx,%edx
418ff2:	0f 84 fc bc fe ff    	je     0x404cf4
418ff8:	f7 c1 00 40 00 00    	test   $0x4000,%ecx
418ffe:	74 0f                	je     0x41900f
419000:	ff 76 5c             	push   0x5c(%esi)
419003:	8d 56 10             	lea    0x10(%esi),%edx
419006:	8b cb                	mov    %ebx,%ecx
419008:	e8 19 16 01 00       	call   0x42a626
41900d:	8b 0e                	mov    (%esi),%ecx
41900f:	f6 c1 04             	test   $0x4,%cl
419012:	74 17                	je     0x41902b
419014:	8b cb                	mov    %ebx,%ecx
419016:	e8 e1 24 01 00       	call   0x42b4fc
41901b:	66 83 c0 03          	add    $0x3,%ax
41901f:	8b cf                	mov    %edi,%ecx
419021:	0f b7 d0             	movzwl %ax,%edx
419024:	e8 8e f2 00 00       	call   0x4282b7
419029:	eb 0a                	jmp    0x419035
41902b:	8b 47 20             	mov    0x20(%edi),%eax
41902e:	83 67 14 00          	andl   $0x0,0x14(%edi)
419032:	89 47 18             	mov    %eax,0x18(%edi)
419035:	f7 06 00 02 00 00    	testl  $0x200,(%esi)