422d5a:	66 85 db             	test   %bx,%bx
422d5d:	75 05                	jne    0x422d64
422d5f:	6a 01                	push   $0x1
422d61:	58                   	pop    %eax
422d62:	eb 02                	jmp    0x422d66
422d64:	33 c0                	xor    %eax,%eax
422d66:	8b 11                	mov    (%ecx),%edx
422d68:	50                   	push   %eax
422d69:	ff 52 60             	call   *0x60(%edx)
422d6c:	e8 4b b2 ff ff       	call   0x41dfbc
422d71:	39 70 1c             	cmp    %esi,0x1c(%eax)
422d74:	75 2c                	jne    0x422da2
422d76:	8b ce                	mov    %esi,%ecx
422d78:	e8 10 04 00 00       	call   0x42318d
422d7d:	85 c0                	test   %eax,%eax
422d7f:	75 13                	jne    0x422d94
422d81:	8b ce                	mov    %esi,%ecx
422d83:	ff 97 c8 00 00 00    	call   *0xc8(%edi)
422d89:	8b c8                	mov    %eax,%ecx
422d8b:	e8 fd 03 00 00       	call   0x42318d
422d90:	85 c0                	test   %eax,%eax
422d92:	74 0e                	je     0x422da2
422d94:	8b 10                	mov    (%eax),%edx
422d96:	50                   	push   %eax
422d97:	50                   	push   %eax
422d98:	6a 00                	push   $0x0
422d9a:	8b c8                	mov    %eax,%ecx
422d9c:	ff 92 ec 00 00 00    	call   *0xec(%edx)
422da2:	5f                   	pop    %edi
422da3:	5e                   	pop    %esi
422da4:	33 c0                	xor    %eax,%eax
422da6:	5b                   	pop    %ebx
422da7:	c2 08 00             	ret    $0x8
422daa:	55                   	push   %ebp
422dab:	8b ec                	mov    %esp,%ebp
422dad:	53                   	push   %ebx
422dae:	56                   	push   %esi
422daf:	57                   	push   %edi
422db0:	8b d9                	mov    %ecx,%ebx
422db2:	e8 5e 74 ff ff       	call   0x41a215
422db7:	8b cb                	mov    %ebx,%ecx
422db9:	e8 1a a9 ff ff       	call   0x41d6d8
422dbe:	a9 00 00 00 40       	test   $0x40000000,%eax
422dc3:	74 04                	je     0x422dc9
422dc5:	8b f3                	mov    %ebx,%esi
422dc7:	eb 09                	jmp    0x422dd2
422dc9:	8b cb                	mov    %ebx,%ecx
422dcb:	e8 33 8b ff ff       	call   0x41b903
422dd0:	8b f0                	mov    %eax,%esi
422dd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422dd6:	8b 7d 0c             	mov    0xc(%ebp),%edi
422dd9:	74 02                	je     0x422ddd
422ddb:	8b fb                	mov    %ebx,%edi
422ddd:	3b f7                	cmp    %edi,%esi
422ddf:	74 25                	je     0x422e06
422de1:	8b cf                	mov    %edi,%ecx
422de3:	e8 1b 8b ff ff       	call   0x41b903
422de8:	3b f0                	cmp    %eax,%esi
422dea:	75 16                	jne    0x422e02
422dec:	6a 00                	push   $0x0
422dee:	6a 40                	push   $0x40
422df0:	68 6d 03 00 00       	push   $0x36d
422df5:	ff 77 1c             	push   0x1c(%edi)
422df8:	ff 15 88 99 43 00    	call   *0x439988
422dfe:	85 c0                	test   %eax,%eax
422e00:	75 04                	jne    0x422e06
422e02:	33 c0                	xor    %eax,%eax
422e04:	eb 03                	jmp    0x422e09
422e06:	6a 01                	push   $0x1
422e08:	58                   	pop    %eax
422e09:	83 66 24 df          	andl   $0xffffffdf,0x24(%esi)
422e0d:	8b 4e 24             	mov    0x24(%esi),%ecx
422e10:	85 c0                	test   %eax,%eax
422e12:	74 06                	je     0x422e1a
422e14:	83 c9 20             	or     $0x20,%ecx
422e17:	89 4e 24             	mov    %ecx,0x24(%esi)
422e1a:	f7 d8                	neg    %eax
422e1c:	1b c0                	sbb    %eax,%eax
422e1e:	8b cb                	mov    %ebx,%ecx
422e20:	24 fc                	and    $0xfc,%al
422e22:	83 c0 08             	add    $0x8,%eax
422e25:	50                   	push   %eax
422e26:	e8 b3 f8 ff ff       	call   0x4226de
422e2b:	8b cb                	mov    %ebx,%ecx
422e2d:	e8 5b 03 00 00       	call   0x42318d
422e32:	8b f0                	mov    %eax,%esi
422e34:	85 f6                	test   %esi,%esi
422e36:	75 17                	jne    0x422e4f
422e38:	8b 03                	mov    (%ebx),%eax
422e3a:	8b cb                	mov    %ebx,%ecx
422e3c:	ff 90 c8 00 00 00    	call   *0xc8(%eax)
422e42:	8b c8                	mov    %eax,%ecx
422e44:	e8 44 03 00 00       	call   0x42318d
422e49:	8b f0                	mov    %eax,%esi
422e4b:	85 f6                	test   %esi,%esi
422e4d:	74 28                	je     0x422e77
422e4f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422e53:	74 14                	je     0x422e69
422e55:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
422e59:	75 0e                	jne    0x422e69
422e5b:	8b 06                	mov    (%esi),%eax
422e5d:	56                   	push   %esi
422e5e:	56                   	push   %esi
422e5f:	6a 01                	push   $0x1
422e61:	8b ce                	mov    %esi,%ecx
422e63:	ff 90 ec 00 00 00    	call   *0xec(%eax)
422e69:	8b 06                	mov    (%esi),%eax
422e6b:	53                   	push   %ebx
422e6c:	ff 75 08             	push   0x8(%ebp)
422e6f:	8b ce                	mov    %esi,%ecx
422e71:	ff 90 f0 00 00 00    	call   *0xf0(%eax)
422e77:	5f                   	pop    %edi
422e78:	5e                   	pop    %esi
422e79:	5b                   	pop    %ebx
422e7a:	5d                   	pop    %ebp
422e7b:	c2 0c 00             	ret    $0xc
422e7e:	56                   	push   %esi
422e7f:	8b f1                	mov    %ecx,%esi
422e81:	57                   	push   %edi
422e82:	f6 46 24 20          	testb  $0x20,0x24(%esi)
422e86:	74 05                	je     0x422e8d
422e88:	6a 01                	push   $0x1
422e8a:	5f                   	pop    %edi
422e8b:	eb 04                	jmp    0x422e91
422e8d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
422e91:	8b ce                	mov    %esi,%ecx
422e93:	e8 79 a9 ff ff       	call   0x41d811
422e98:	85 c0                	test   %eax,%eax
422e9a:	75 02                	jne    0x422e9e
422e9c:	33 ff                	xor    %edi,%edi
422e9e:	8b 06                	mov    (%esi),%eax
422ea0:	6a 00                	push   $0x0
422ea2:	57                   	push   %edi
422ea3:	68 86 00 00 00       	push   $0x86
422ea8:	8b ce                	mov    %esi,%ecx
422eaa:	ff 90 a8 00 00 00    	call   *0xa8(%eax)
422eb0:	5f                   	pop    %edi
422eb1:	5e                   	pop    %esi
422eb2:	c2 04 00             	ret    $0x4
422eb5:	56                   	push   %esi
422eb6:	57                   	push   %edi
422eb7:	8b f9                	mov    %ecx,%edi
422eb9:	e8 45 8a ff ff       	call   0x41b903
422ebe:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
422ec2:	81 e1 f0 ff 00 00    	and    $0xfff0,%ecx
422ec8:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
422ecc:	74 13                	je     0x422ee1
422ece:	b8 10 f0 00 00       	mov    $0xf010,%eax
422ed3:	3b c8                	cmp    %eax,%ecx
422ed5:	77 16                	ja     0x422eed
422ed7:	74 3b                	je     0x422f14
422ed9:	81 f9 00 f0 00 00    	cmp    $0xf000,%ecx
422edf:	74 33                	je     0x422f14
422ee1:	8b cf                	mov    %edi,%ecx
422ee3:	e8 2d 73 ff ff       	call   0x41a215
422ee8:	5f                   	pop    %edi
422ee9:	5e                   	pop    %esi
422eea:	c2 08 00             	ret    $0x8
422eed:	8b c1                	mov    %ecx,%eax
422eef:	2d 20 f0 00 00       	sub    $0xf020,%eax
422ef4:	74 1e                	je     0x422f14
422ef6:	6a 10                	push   $0x10
422ef8:	5a                   	pop    %edx
422ef9:	2b c2                	sub    %edx,%eax
422efb:	74 17                	je     0x422f14
422efd:	2b c2                	sub    %edx,%eax
422eff:	74 13                	je     0x422f14
422f01:	2b c2                	sub    %edx,%eax
422f03:	74 0f                	je     0x422f14
422f05:	2b c2                	sub    %edx,%eax
422f07:	74 0b                	je     0x422f14
422f09:	2d c0 00 00 00       	sub    $0xc0,%eax
422f0e:	74 04                	je     0x422f14
422f10:	2b c2                	sub    %edx,%eax
422f12:	75 cd                	jne    0x422ee1
422f14:	81 c1 00 10 ff ff    	add    $0xffff1000,%ecx
422f1a:	8b 35 88 99 43 00    	mov    0x439988,%esi
422f20:	c1 e9 04             	shr    $0x4,%ecx
422f23:	81 c1 00 ef 01 00    	add    $0x1ef00,%ecx
422f29:	51                   	push   %ecx
422f2a:	6a 00                	push   $0x0
422f2c:	68 65 03 00 00       	push   $0x365
422f31:	ff 77 1c             	push   0x1c(%edi)
422f34:	ff d6                	call   *%esi
422f36:	85 c0                	test   %eax,%eax
422f38:	75 ae                	jne    0x422ee8
422f3a:	50                   	push   %eax
422f3b:	68 47 e1 00 00       	push   $0xe147
422f40:	68 11 01 00 00       	push   $0x111
422f45:	ff 77 1c             	push   0x1c(%edi)
422f48:	ff d6                	call   *%esi
422f4a:	eb 9c                	jmp    0x422ee8
422f4c:	55                   	push   %ebp
422f4d:	8b ec                	mov    %esp,%ebp
422f4f:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
422f55:	53                   	push   %ebx
422f56:	56                   	push   %esi
422f57:	57                   	push   %edi
422f58:	ff 71 1c             	push   0x1c(%ecx)
422f5b:	ff 15 5c 98 43 00    	call   *0x43985c
422f61:	50                   	push   %eax
422f62:	e8 59 73 ff ff       	call   0x41a2c0
422f67:	8b 35 80 97 43 00    	mov    0x439780,%esi
422f6d:	33 db                	xor    %ebx,%ebx
422f6f:	53                   	push   %ebx
422f70:	53                   	push   %ebx
422f71:	6a ff                	push   $0xffffffff
422f73:	ff 75 08             	push   0x8(%ebp)
422f76:	ff d6                	call   *%esi
422f78:	89 45 fc             	mov    %eax,-0x4(%ebp)
422f7b:	e8 c7 17 00 00       	call   0x424747
422f80:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
422f83:	8b 78 04             	mov    0x4(%eax),%edi
422f86:	76 2f                	jbe    0x422fb7
422f88:	8b 07                	mov    (%edi),%eax
422f8a:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
422f90:	89 45 f8             	mov    %eax,-0x8(%ebp)
422f93:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
422f99:	68 04 01 00 00       	push   $0x104
422f9e:	50                   	push   %eax
422f9f:	53                   	push   %ebx
422fa0:	ff 75 08             	push   0x8(%ebp)
422fa3:	ff d6                	call   *%esi
422fa5:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
422fab:	8b cf                	mov    %edi,%ecx
422fad:	50                   	push   %eax
422fae:	ff 55 f8             	call   *-0x8(%ebp)
422fb1:	43                   	inc    %ebx
422fb2:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
422fb5:	72 dc                	jb     0x422f93
422fb7:	ff 75 08             	push   0x8(%ebp)
422fba:	ff 15 84 97 43 00    	call   *0x439784
422fc0:	5f                   	pop    %edi
422fc1:	5e                   	pop    %esi
422fc2:	5b                   	pop    %ebx
422fc3:	c9                   	leave
422fc4:	c2 04 00             	ret    $0x4
422fc7:	56                   	push   %esi
422fc8:	8b f1                	mov    %ecx,%esi
422fca:	e8 78 17 00 00       	call   0x424747
422fcf:	8b 40 04             	mov    0x4(%eax),%eax
422fd2:	39 70 1c             	cmp    %esi,0x1c(%eax)
422fd5:	75 0c                	jne    0x422fe3
422fd7:	8b 10                	mov    (%eax),%edx
422fd9:	8b c8                	mov    %eax,%ecx
422fdb:	ff 92 90 00 00 00    	call   *0x90(%edx)
422fe1:	5e                   	pop    %esi
422fe2:	c3                   	ret
422fe3:	6a 01                	push   $0x1
422fe5:	58                   	pop    %eax
422fe6:	5e                   	pop    %esi
422fe7:	c3                   	ret
422fe8:	56                   	push   %esi
422fe9:	57                   	push   %edi
422fea:	8b f9                	mov    %ecx,%edi
422fec:	e8 56 17 00 00       	call   0x424747
422ff1:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
422ff6:	8b 70 04             	mov    0x4(%eax),%esi
422ff9:	74 1c                	je     0x423017
422ffb:	39 7e 1c             	cmp    %edi,0x1c(%esi)
422ffe:	75 17                	jne    0x423017
423000:	6a 01                	push   $0x1
423002:	e8 81 10 00 00       	call   0x424088
423007:	6a 01                	push   $0x1
423009:	8b ce                	mov    %esi,%ecx
42300b:	e8 c5 de ff ff       	call   0x420ed5
423010:	8b 06                	mov    (%esi),%eax
423012:	8b ce                	mov    %esi,%ecx
423014:	ff 50 70             	call   *0x70(%eax)
423017:	5f                   	pop    %edi
423018:	5e                   	pop    %esi
423019:	c2 04 00             	ret    $0x4
42301c:	55                   	push   %ebp
42301d:	8b ec                	mov    %esp,%ebp
42301f:	81 ec 08 01 00 00    	sub    $0x108,%esp
423025:	56                   	push   %esi
423026:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423029:	e8 19 17 00 00       	call   0x424747
42302e:	66 83 7d 0c 00       	cmpw   $0x0,0xc(%ebp)
423033:	8b 70 04             	mov    0x4(%eax),%esi
423036:	0f 84 94 00 00 00    	je     0x4230d0
42303c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42303f:	c1 e9 10             	shr    $0x10,%ecx
423042:	66 85 c9             	test   %cx,%cx
423045:	0f 84 85 00 00 00    	je     0x4230d0
42304b:	66 8b 86 b0 00 00 00 	mov    0xb0(%esi),%ax
423052:	66 39 45 0c          	cmp    %ax,0xc(%ebp)
423056:	75 78                	jne    0x4230d0
423058:	66 3b 8e b2 00 00 00 	cmp    0xb2(%esi),%cx
42305f:	75 6f                	jne    0x4230d0
423061:	57                   	push   %edi
423062:	8b 3d 34 97 43 00    	mov    0x439734,%edi
423068:	53                   	push   %ebx
423069:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
42306f:	68 03 01 00 00       	push   $0x103
423074:	51                   	push   %ecx
423075:	50                   	push   %eax
423076:	ff d7                	call   *%edi
423078:	8b 1d 38 97 43 00    	mov    0x439738,%ebx
42307e:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
423084:	50                   	push   %eax
423085:	ff d3                	call   *%ebx
423087:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
42308d:	68 03 01 00 00       	push   $0x103
423092:	50                   	push   %eax
423093:	66 8b 86 b2 00 00 00 	mov    0xb2(%esi),%ax
42309a:	50                   	push   %eax
42309b:	ff d7                	call   *%edi
42309d:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4230a3:	50                   	push   %eax
4230a4:	ff d3                	call   *%ebx
4230a6:	0f b7 86 b2 00 00 00 	movzwl 0xb2(%esi),%eax
4230ad:	0f b7 8e b0 00 00 00 	movzwl 0xb0(%esi),%ecx
4230b4:	c1 e0 10             	shl    $0x10,%eax
4230b7:	0b c1                	or     %ecx,%eax
4230b9:	50                   	push   %eax
4230ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4230bd:	ff 70 1c             	push   0x1c(%eax)
4230c0:	68 e4 03 00 00       	push   $0x3e4
4230c5:	ff 75 08             	push   0x8(%ebp)
4230c8:	ff 15 88 99 43 00    	call   *0x439988
4230ce:	5b                   	pop    %ebx
4230cf:	5f                   	pop    %edi
4230d0:	33 c0                	xor    %eax,%eax
4230d2:	5e                   	pop    %esi
4230d3:	c9                   	leave
4230d4:	c2 08 00             	ret    $0x8
4230d7:	55                   	push   %ebp
4230d8:	8b ec                	mov    %esp,%ebp
4230da:	81 ec 10 02 00 00    	sub    $0x210,%esp
4230e0:	53                   	push   %ebx
4230e1:	56                   	push   %esi
4230e2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4230e5:	57                   	push   %edi
4230e6:	50                   	push   %eax
4230e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4230ea:	50                   	push   %eax
4230eb:	bf e8 03 00 00       	mov    $0x3e8,%edi
4230f0:	ff 75 0c             	push   0xc(%ebp)
4230f3:	8b d9                	mov    %ecx,%ebx
4230f5:	57                   	push   %edi
4230f6:	e8 91 ff fe ff       	call   0x41308c
4230fb:	ff 75 fc             	push   -0x4(%ebp)
4230fe:	ff 15 28 97 43 00    	call   *0x439728
423104:	68 08 02 00 00       	push   $0x208
423109:	50                   	push   %eax
42310a:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
423110:	50                   	push   %eax
423111:	ff 15 2c 97 43 00    	call   *0x43972c
423117:	ff 75 fc             	push   -0x4(%ebp)