408b02:	85 d2                	test   %edx,%edx
408b04:	75 05                	jne    0x408b0b
408b06:	ba 40 21 40 00       	mov    $0x402140,%edx
408b0b:	6a 00                	push   $0x0
408b0d:	6a 04                	push   $0x4
408b0f:	8d 45 14             	lea    0x14(%ebp),%eax
408b12:	50                   	push   %eax
408b13:	56                   	push   %esi
408b14:	52                   	push   %edx
408b15:	51                   	push   %ecx
408b16:	68 e0 21 40 00       	push   $0x4021e0
408b1b:	6a 2b                	push   $0x2b
408b1d:	ff 75 0c             	push   0xc(%ebp)
408b20:	ff 75 08             	push   0x8(%ebp)
408b23:	ff 15 68 c4 42 00    	call   *0x42c468
408b29:	83 c4 28             	add    $0x28,%esp
408b2c:	5f                   	pop    %edi
408b2d:	5e                   	pop    %esi
408b2e:	5d                   	pop    %ebp
408b2f:	c2 10 00             	ret    $0x10
408b32:	8b ff                	mov    %edi,%edi
408b34:	55                   	push   %ebp
408b35:	8b ec                	mov    %esp,%ebp
408b37:	83 e4 f8             	and    $0xfffffff8,%esp
408b3a:	51                   	push   %ecx
408b3b:	53                   	push   %ebx
408b3c:	33 db                	xor    %ebx,%ebx
408b3e:	21 5c 24 04          	and    %ebx,0x4(%esp)
408b42:	56                   	push   %esi
408b43:	57                   	push   %edi
408b44:	8b f9                	mov    %ecx,%edi
408b46:	39 5d 08             	cmp    %ebx,0x8(%ebp)
408b49:	0f 84 cf 01 00 00    	je     0x408d1e
408b4f:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
408b52:	0f 84 c6 01 00 00    	je     0x408d1e
408b58:	ff 75 08             	push   0x8(%ebp)
408b5b:	e8 50 02 00 00       	call   0x408db0
408b60:	8b f0                	mov    %eax,%esi
408b62:	85 f6                	test   %esi,%esi
408b64:	79 32                	jns    0x408b98
408b66:	a1 00 b0 42 00       	mov    0x42b000,%eax
408b6b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408b70:	0f 84 8e 01 00 00    	je     0x408d04
408b76:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408b7a:	0f 84 84 01 00 00    	je     0x408d04
408b80:	ff 70 14             	push   0x14(%eax)
408b83:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408b88:	ff 70 10             	push   0x10(%eax)
408b8b:	6a 0b                	push   $0xb
408b8d:	59                   	pop    %ecx
408b8e:	e8 1d e8 ff ff       	call   0x4073b0
408b93:	e9 6c 01 00 00       	jmp    0x408d04
408b98:	8b 8f 8c 01 00 00    	mov    0x18c(%edi),%ecx
408b9e:	8d 87 a8 01 00 00    	lea    0x1a8(%edi),%eax
408ba4:	50                   	push   %eax
408ba5:	8d 97 a4 01 00 00    	lea    0x1a4(%edi),%edx
408bab:	8b 49 08             	mov    0x8(%ecx),%ecx
408bae:	e8 e4 d9 00 00       	call   0x416597
408bb3:	85 c0                	test   %eax,%eax
408bb5:	0f 88 1f 01 00 00    	js     0x408cda
408bbb:	8b cf                	mov    %edi,%ecx
408bbd:	e8 2f 1a 00 00       	call   0x40a5f1
408bc2:	85 c0                	test   %eax,%eax
408bc4:	0f 84 10 01 00 00    	je     0x408cda
408bca:	8d 44 24 0c          	lea    0xc(%esp),%eax
408bce:	50                   	push   %eax
408bcf:	33 c0                	xor    %eax,%eax
408bd1:	50                   	push   %eax
408bd2:	57                   	push   %edi
408bd3:	68 60 8d 40 00       	push   $0x408d60
408bd8:	50                   	push   %eax
408bd9:	50                   	push   %eax
408bda:	ff 15 68 c2 42 00    	call   *0x42c268
408be0:	8b d8                	mov    %eax,%ebx
408be2:	85 db                	test   %ebx,%ebx
408be4:	75 45                	jne    0x408c2b
408be6:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
408bec:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
408bf2:	74 19                	je     0x408c0d
408bf4:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
408bf8:	74 13                	je     0x408c0d
408bfa:	ff 71 14             	push   0x14(%ecx)
408bfd:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408c02:	ff 71 10             	push   0x10(%ecx)
408c05:	6a 0d                	push   $0xd
408c07:	59                   	pop    %ecx
408c08:	e8 a3 e7 ff ff       	call   0x4073b0
408c0d:	ff 15 18 c2 42 00    	call   *0x42c218
408c13:	8b f0                	mov    %eax,%esi
408c15:	85 f6                	test   %esi,%esi
408c17:	0f 8e e7 00 00 00    	jle    0x408d04
408c1d:	0f b7 f6             	movzwl %si,%esi
408c20:	81 ce 00 00 07 80    	or     $0x80070000,%esi
408c26:	e9 d9 00 00 00       	jmp    0x408d04
408c2b:	33 f6                	xor    %esi,%esi
408c2d:	46                   	inc    %esi
408c2e:	85 f6                	test   %esi,%esi
408c30:	74 34                	je     0x408c66
408c32:	83 bf 9c 01 00 00 00 	cmpl   $0x0,0x19c(%edi)
408c39:	75 2b                	jne    0x408c66
408c3b:	8b cf                	mov    %edi,%ecx
408c3d:	e8 af 19 00 00       	call   0x40a5f1
408c42:	8b f0                	mov    %eax,%esi
408c44:	85 f6                	test   %esi,%esi
408c46:	75 43                	jne    0x408c8b
408c48:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
408c4e:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
408c54:	74 35                	je     0x408c8b
408c56:	f6 41 1c 04          	testb  $0x4,0x1c(%ecx)
408c5a:	74 2f                	je     0x408c8b
408c5c:	ff 71 14             	push   0x14(%ecx)
408c5f:	ff 71 10             	push   0x10(%ecx)
408c62:	6a 0e                	push   $0xe
408c64:	eb 1a                	jmp    0x408c80
408c66:	a1 00 b0 42 00       	mov    0x42b000,%eax
408c6b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408c70:	74 19                	je     0x408c8b
408c72:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
408c76:	74 13                	je     0x408c8b
408c78:	ff 70 14             	push   0x14(%eax)
408c7b:	ff 70 10             	push   0x10(%eax)
408c7e:	6a 0f                	push   $0xf
408c80:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408c85:	59                   	pop    %ecx
408c86:	e8 25 e7 ff ff       	call   0x4073b0
408c8b:	68 0a 1a 00 00       	push   $0x1a0a
408c90:	53                   	push   %ebx
408c91:	ff 15 b4 c2 42 00    	call   *0x42c2b4
408c97:	85 c0                	test   %eax,%eax
408c99:	74 2f                	je     0x408cca
408c9b:	3d 02 01 00 00       	cmp    $0x102,%eax
408ca0:	74 8c                	je     0x408c2e
408ca2:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
408ca8:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
408cae:	74 1a                	je     0x408cca
408cb0:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
408cb4:	74 14                	je     0x408cca
408cb6:	50                   	push   %eax
408cb7:	ff 71 14             	push   0x14(%ecx)
408cba:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408cbf:	ff 71 10             	push   0x10(%ecx)
408cc2:	6a 10                	push   $0x10
408cc4:	59                   	pop    %ecx
408cc5:	e8 04 e7 ff ff       	call   0x4073ce
408cca:	ff b7 a8 01 00 00    	push   0x1a8(%edi)
408cd0:	ff 15 b0 c2 42 00    	call   *0x42c2b0
408cd6:	33 f6                	xor    %esi,%esi
408cd8:	eb 2a                	jmp    0x408d04
408cda:	a1 00 b0 42 00       	mov    0x42b000,%eax
408cdf:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408ce4:	74 19                	je     0x408cff
408ce6:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408cea:	74 13                	je     0x408cff
408cec:	ff 70 14             	push   0x14(%eax)
408cef:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408cf4:	ff 70 10             	push   0x10(%eax)
408cf7:	6a 0c                	push   $0xc
408cf9:	59                   	pop    %ecx
408cfa:	e8 b1 e6 ff ff       	call   0x4073b0
408cff:	be 05 40 00 80       	mov    $0x80004005,%esi
408d04:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408d07:	8b 87 a0 01 00 00    	mov    0x1a0(%edi),%eax
408d0d:	89 01                	mov    %eax,(%ecx)
408d0f:	85 db                	test   %ebx,%ebx
408d11:	74 07                	je     0x408d1a
408d13:	53                   	push   %ebx
408d14:	ff 15 30 c2 42 00    	call   *0x42c230
408d1a:	8b c6                	mov    %esi,%eax
408d1c:	eb 2a                	jmp    0x408d48
408d1e:	a1 00 b0 42 00       	mov    0x42b000,%eax
408d23:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408d28:	74 19                	je     0x408d43
408d2a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408d2e:	74 13                	je     0x408d43
408d30:	ff 70 14             	push   0x14(%eax)
408d33:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408d38:	ff 70 10             	push   0x10(%eax)
408d3b:	6a 0a                	push   $0xa
408d3d:	59                   	pop    %ecx
408d3e:	e8 6d e6 ff ff       	call   0x4073b0
408d43:	b8 57 00 07 80       	mov    $0x80070057,%eax
408d48:	5f                   	pop    %edi
408d49:	5e                   	pop    %esi
408d4a:	5b                   	pop    %ebx
408d4b:	8b e5                	mov    %ebp,%esp
408d4d:	5d                   	pop    %ebp
408d4e:	c2 08 00             	ret    $0x8
408d51:	cc                   	int3
408d52:	cc                   	int3
408d53:	cc                   	int3
408d54:	cc                   	int3
408d55:	cc                   	int3
408d56:	cc                   	int3
408d57:	cc                   	int3
408d58:	cc                   	int3
408d59:	cc                   	int3
408d5a:	cc                   	int3
408d5b:	cc                   	int3
408d5c:	cc                   	int3
408d5d:	cc                   	int3
408d5e:	cc                   	int3
408d5f:	cc                   	int3
408d60:	8b ff                	mov    %edi,%edi
408d62:	55                   	push   %ebp
408d63:	8b ec                	mov    %esp,%ebp
408d65:	83 e4 f8             	and    $0xfffffff8,%esp
408d68:	51                   	push   %ecx
408d69:	51                   	push   %ecx
408d6a:	8b 4d 08             	mov    0x8(%ebp),%ecx
408d6d:	8d 44 24 04          	lea    0x4(%esp),%eax
408d71:	50                   	push   %eax
408d72:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
408d79:	00
408d7a:	e8 4f 03 00 00       	call   0x4090ce
408d7f:	85 c0                	test   %eax,%eax
408d81:	79 25                	jns    0x408da8
408d83:	a1 00 b0 42 00       	mov    0x42b000,%eax
408d88:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408d8d:	74 19                	je     0x408da8
408d8f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408d93:	74 13                	je     0x408da8
408d95:	ff 70 14             	push   0x14(%eax)
408d98:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408d9d:	ff 70 10             	push   0x10(%eax)
408da0:	6a 11                	push   $0x11
408da2:	59                   	pop    %ecx
408da3:	e8 08 e6 ff ff       	call   0x4073b0
408da8:	33 c0                	xor    %eax,%eax
408daa:	8b e5                	mov    %ebp,%esp
408dac:	5d                   	pop    %ebp
408dad:	c2 04 00             	ret    $0x4
408db0:	8b ff                	mov    %edi,%edi
408db2:	55                   	push   %ebp
408db3:	8b ec                	mov    %esp,%ebp
408db5:	81 ec 60 02 00 00    	sub    $0x260,%esp
408dbb:	a1 74 b6 42 00       	mov    0x42b674,%eax
408dc0:	33 c5                	xor    %ebp,%eax
408dc2:	89 45 f8             	mov    %eax,-0x8(%ebp)
408dc5:	53                   	push   %ebx
408dc6:	56                   	push   %esi
408dc7:	57                   	push   %edi
408dc8:	8b 7d 08             	mov    0x8(%ebp),%edi
408dcb:	8b f1                	mov    %ecx,%esi
408dcd:	85 ff                	test   %edi,%edi
408dcf:	75 2f                	jne    0x408e00
408dd1:	a1 00 b0 42 00       	mov    0x42b000,%eax
408dd6:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408ddb:	74 19                	je     0x408df6
408ddd:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408de1:	74 13                	je     0x408df6
408de3:	ff 70 14             	push   0x14(%eax)
408de6:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408deb:	ff 70 10             	push   0x10(%eax)
408dee:	6a 12                	push   $0x12
408df0:	59                   	pop    %ecx
408df1:	e8 ba e5 ff ff       	call   0x4073b0
408df6:	b8 57 00 07 80       	mov    $0x80070057,%eax
408dfb:	e9 6e 01 00 00       	jmp    0x408f6e
408e00:	33 db                	xor    %ebx,%ebx
408e02:	53                   	push   %ebx
408e03:	53                   	push   %ebx
408e04:	53                   	push   %ebx
408e05:	6a 06                	push   $0x6
408e07:	57                   	push   %edi
408e08:	ff 15 54 c2 42 00    	call   *0x42c254
408e0e:	85 c0                	test   %eax,%eax
408e10:	75 2f                	jne    0x408e41
408e12:	a1 00 b0 42 00       	mov    0x42b000,%eax
408e17:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408e1c:	74 19                	je     0x408e37
408e1e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408e22:	74 13                	je     0x408e37
408e24:	ff 70 14             	push   0x14(%eax)
408e27:	ff 70 10             	push   0x10(%eax)
408e2a:	6a 13                	push   $0x13
408e2c:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408e31:	59                   	pop    %ecx
408e32:	e8 79 e5 ff ff       	call   0x4073b0
408e37:	be 05 40 00 80       	mov    $0x80004005,%esi
408e3c:	e9 24 01 00 00       	jmp    0x408f65
408e41:	81 38 d8 11 00 00    	cmpl   $0x11d8,(%eax)
408e47:	74 30                	je     0x408e79
408e49:	81 38 50 1c 00 00    	cmpl   $0x1c50,(%eax)
408e4f:	74 10                	je     0x408e61
408e51:	81 38 9c 9c 00 00    	cmpl   $0x9c9c,(%eax)
408e57:	75 3c                	jne    0x408e95
408e59:	89 9e 98 01 00 00    	mov    %ebx,0x198(%esi)
408e5f:	eb 2e                	jmp    0x408e8f
408e61:	50                   	push   %eax
408e62:	89 86 94 01 00 00    	mov    %eax,0x194(%esi)
408e68:	e8 0c 11 00 00       	call   0x409f79
408e6d:	c7 86 98 01 00 00 02 	movl   $0x2,0x198(%esi)
408e74:	00 00 00
408e77:	eb 16                	jmp    0x408e8f
408e79:	50                   	push   %eax
408e7a:	89 86 90 01 00 00    	mov    %eax,0x190(%esi)
408e80:	e8 f1 13 00 00       	call   0x40a276
408e85:	c7 86 98 01 00 00 01 	movl   $0x1,0x198(%esi)
408e8c:	00 00 00
408e8f:	89 86 8c 01 00 00    	mov    %eax,0x18c(%esi)
408e95:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
408e9b:	85 c9                	test   %ecx,%ecx
408e9d:	75 1f                	jne    0x408ebe
408e9f:	a1 00 b0 42 00       	mov    0x42b000,%eax
408ea4:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408ea9:	74 8c                	je     0x408e37
408eab:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408eaf:	74 86                	je     0x408e37
408eb1:	ff 70 14             	push   0x14(%eax)
408eb4:	ff 70 10             	push   0x10(%eax)
408eb7:	6a 14                	push   $0x14
408eb9:	e9 6e ff ff ff       	jmp    0x408e2c
408ebe:	f6 41 38 10          	testb  $0x10,0x38(%ecx)
408ec2:	75 62                	jne    0x408f26
408ec4:	8b 49 28             	mov    0x28(%ecx),%ecx
408ec7:	8d 95 a4 fd ff ff    	lea    -0x25c(%ebp),%edx
408ecd:	e8 7f cc 00 00       	call   0x415b51
408ed2:	85 c0                	test   %eax,%eax
408ed4:	78 50                	js     0x408f26
408ed6:	f6 85 a4 fd ff ff 01 	testb  $0x1,-0x25c(%ebp)
408edd:	74 47                	je     0x408f26
408edf:	66 39 9d a8 fd ff ff 	cmp    %bx,-0x258(%ebp)
408ee6:	74 3e                	je     0x408f26
408ee8:	53                   	push   %ebx
408ee9:	ba 48 21 40 00       	mov    $0x402148,%edx
408eee:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
408ef4:	e8 af 38 00 00       	call   0x40c7a8
408ef9:	85 c0                	test   %eax,%eax
408efb:	75 29                	jne    0x408f26
408efd:	53                   	push   %ebx
408efe:	ba 5c 21 40 00       	mov    $0x40215c,%edx
408f03:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
408f09:	e8 9a 38 00 00       	call   0x40c7a8
408f0e:	85 c0                	test   %eax,%eax
408f10:	75 14                	jne    0x408f26
408f12:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
408f18:	83 48 44 10          	orl    $0x10,0x44(%eax)
408f1c:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
408f22:	83 48 4c 10          	orl    $0x10,0x4c(%eax)
408f26:	6a 01                	push   $0x1
408f28:	8b ce                	mov    %esi,%ecx
408f2a:	e8 bd 06 00 00       	call   0x4095ec
408f2f:	8b ce                	mov    %esi,%ecx
408f31:	e8 3c 16 00 00       	call   0x40a572
408f36:	8b f0                	mov    %eax,%esi
408f38:	85 f6                	test   %esi,%esi
408f3a:	79 27                	jns    0x408f63
408f3c:	a1 00 b0 42 00       	mov    0x42b000,%eax
408f41:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408f46:	74 1d                	je     0x408f65