422d98:	74 4c                	je     0x422de6
422d9a:	2d 63 12 00 00       	sub    $0x1263,%eax
422d9f:	74 45                	je     0x422de6
422da1:	2d 12 08 00 00       	sub    $0x812,%eax
422da6:	eb 2d                	jmp    0x422dd5
422da8:	b9 b1 de 00 00       	mov    $0xdeb1,%ecx
422dad:	3b c1                	cmp    %ecx,%eax
422daf:	77 13                	ja     0x422dc4
422db1:	74 33                	je     0x422de6
422db3:	2d ad de 00 00       	sub    $0xdead,%eax
422db8:	74 2c                	je     0x422de6
422dba:	83 e8 01             	sub    $0x1,%eax
422dbd:	74 27                	je     0x422de6
422dbf:	83 e8 01             	sub    $0x1,%eax
422dc2:	eb 11                	jmp    0x422dd5
422dc4:	2d b2 de 00 00       	sub    $0xdeb2,%eax
422dc9:	74 1b                	je     0x422de6
422dcb:	83 e8 01             	sub    $0x1,%eax
422dce:	74 16                	je     0x422de6
422dd0:	2d 35 1f 00 00       	sub    $0x1f35,%eax
422dd5:	74 0f                	je     0x422de6
422dd7:	83 e8 01             	sub    $0x1,%eax
422dda:	74 0a                	je     0x422de6
422ddc:	8b 45 0c             	mov    0xc(%ebp),%eax
422ddf:	25 7f ff ff ff       	and    $0xffffff7f,%eax
422de4:	5d                   	pop    %ebp
422de5:	c3                   	ret
422de6:	33 c0                	xor    %eax,%eax
422de8:	5d                   	pop    %ebp
422de9:	c3                   	ret
422dea:	8b ff                	mov    %edi,%edi
422dec:	55                   	push   %ebp
422ded:	8b ec                	mov    %esp,%ebp
422def:	8b 55 08             	mov    0x8(%ebp),%edx
422df2:	53                   	push   %ebx
422df3:	56                   	push   %esi
422df4:	57                   	push   %edi
422df5:	81 fa e8 fd 00 00    	cmp    $0xfde8,%edx
422dfb:	74 0c                	je     0x422e09
422dfd:	81 fa e9 fd 00 00    	cmp    $0xfde9,%edx
422e03:	74 04                	je     0x422e09
422e05:	32 db                	xor    %bl,%bl
422e07:	eb 02                	jmp    0x422e0b
422e09:	b3 01                	mov    $0x1,%bl
422e0b:	ff 75 0c             	push   0xc(%ebp)
422e0e:	52                   	push   %edx
422e0f:	e8 46 ff ff ff       	call   0x422d5a
422e14:	8b 7d 24             	mov    0x24(%ebp),%edi
422e17:	59                   	pop    %ecx
422e18:	59                   	pop    %ecx
422e19:	0f b6 cb             	movzbl %bl,%ecx
422e1c:	f7 d9                	neg    %ecx
422e1e:	0f b6 f3             	movzbl %bl,%esi
422e21:	1b c9                	sbb    %ecx,%ecx
422e23:	f7 d1                	not    %ecx
422e25:	23 cf                	and    %edi,%ecx
422e27:	f7 de                	neg    %esi
422e29:	1b f6                	sbb    %esi,%esi
422e2b:	f7 d6                	not    %esi
422e2d:	23 75 20             	and    0x20(%ebp),%esi
422e30:	84 db                	test   %bl,%bl
422e32:	74 07                	je     0x422e3b
422e34:	85 ff                	test   %edi,%edi
422e36:	74 03                	je     0x422e3b
422e38:	83 27 00             	andl   $0x0,(%edi)
422e3b:	51                   	push   %ecx
422e3c:	56                   	push   %esi
422e3d:	ff 75 1c             	push   0x1c(%ebp)
422e40:	ff 75 18             	push   0x18(%ebp)
422e43:	ff 75 14             	push   0x14(%ebp)
422e46:	ff 75 10             	push   0x10(%ebp)
422e49:	50                   	push   %eax
422e4a:	52                   	push   %edx
422e4b:	ff 15 58 10 43 00    	call   *0x431058
422e51:	5f                   	pop    %edi
422e52:	5e                   	pop    %esi
422e53:	5b                   	pop    %ebx
422e54:	5d                   	pop    %ebp
422e55:	c3                   	ret
422e56:	8b ff                	mov    %edi,%edi
422e58:	55                   	push   %ebp
422e59:	8b ec                	mov    %esp,%ebp
422e5b:	8b 55 08             	mov    0x8(%ebp),%edx
422e5e:	57                   	push   %edi
422e5f:	33 ff                	xor    %edi,%edi
422e61:	66 39 3a             	cmp    %di,(%edx)
422e64:	74 21                	je     0x422e87
422e66:	56                   	push   %esi
422e67:	8b ca                	mov    %edx,%ecx
422e69:	8d 71 02             	lea    0x2(%ecx),%esi
422e6c:	66 8b 01             	mov    (%ecx),%ax
422e6f:	83 c1 02             	add    $0x2,%ecx
422e72:	66 3b c7             	cmp    %di,%ax
422e75:	75 f5                	jne    0x422e6c
422e77:	2b ce                	sub    %esi,%ecx
422e79:	d1 f9                	sar    $1,%ecx
422e7b:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
422e7e:	83 c2 02             	add    $0x2,%edx
422e81:	66 39 3a             	cmp    %di,(%edx)
422e84:	75 e1                	jne    0x422e67
422e86:	5e                   	pop    %esi
422e87:	8d 42 02             	lea    0x2(%edx),%eax
422e8a:	5f                   	pop    %edi
422e8b:	5d                   	pop    %ebp
422e8c:	c3                   	ret
422e8d:	8b ff                	mov    %edi,%edi
422e8f:	55                   	push   %ebp
422e90:	8b ec                	mov    %esp,%ebp
422e92:	51                   	push   %ecx
422e93:	51                   	push   %ecx
422e94:	56                   	push   %esi
422e95:	ff 15 54 10 43 00    	call   *0x431054
422e9b:	8b f0                	mov    %eax,%esi
422e9d:	85 f6                	test   %esi,%esi
422e9f:	0f 84 85 00 00 00    	je     0x422f2a
422ea5:	53                   	push   %ebx
422ea6:	56                   	push   %esi
422ea7:	e8 aa ff ff ff       	call   0x422e56
422eac:	33 db                	xor    %ebx,%ebx
422eae:	2b c6                	sub    %esi,%eax
422eb0:	53                   	push   %ebx
422eb1:	53                   	push   %ebx
422eb2:	53                   	push   %ebx
422eb3:	53                   	push   %ebx
422eb4:	d1 f8                	sar    $1,%eax
422eb6:	50                   	push   %eax
422eb7:	56                   	push   %esi
422eb8:	53                   	push   %ebx
422eb9:	53                   	push   %ebx
422eba:	89 45 f8             	mov    %eax,-0x8(%ebp)
422ebd:	e8 28 ff ff ff       	call   0x422dea
422ec2:	83 c4 24             	add    $0x24,%esp
422ec5:	89 45 fc             	mov    %eax,-0x4(%ebp)
422ec8:	85 c0                	test   %eax,%eax
422eca:	75 0b                	jne    0x422ed7
422ecc:	56                   	push   %esi
422ecd:	ff 15 50 10 43 00    	call   *0x431050
422ed3:	33 c0                	xor    %eax,%eax
422ed5:	eb 52                	jmp    0x422f29
422ed7:	57                   	push   %edi
422ed8:	50                   	push   %eax
422ed9:	e8 52 3d fe ff       	call   0x406c30
422ede:	8b f8                	mov    %eax,%edi
422ee0:	59                   	pop    %ecx
422ee1:	53                   	push   %ebx
422ee2:	85 ff                	test   %edi,%edi
422ee4:	75 11                	jne    0x422ef7
422ee6:	e8 25 3d fe ff       	call   0x406c10
422eeb:	59                   	pop    %ecx
422eec:	56                   	push   %esi
422eed:	ff 15 50 10 43 00    	call   *0x431050
422ef3:	33 c0                	xor    %eax,%eax
422ef5:	eb 31                	jmp    0x422f28
422ef7:	53                   	push   %ebx
422ef8:	ff 75 fc             	push   -0x4(%ebp)
422efb:	57                   	push   %edi
422efc:	ff 75 f8             	push   -0x8(%ebp)
422eff:	56                   	push   %esi
422f00:	53                   	push   %ebx
422f01:	53                   	push   %ebx
422f02:	e8 e3 fe ff ff       	call   0x422dea
422f07:	83 c4 20             	add    $0x20,%esp
422f0a:	85 c0                	test   %eax,%eax
422f0c:	75 08                	jne    0x422f16
422f0e:	57                   	push   %edi
422f0f:	e8 fc 3c fe ff       	call   0x406c10
422f14:	eb 08                	jmp    0x422f1e
422f16:	53                   	push   %ebx
422f17:	e8 f4 3c fe ff       	call   0x406c10
422f1c:	8b df                	mov    %edi,%ebx
422f1e:	59                   	pop    %ecx
422f1f:	56                   	push   %esi
422f20:	ff 15 50 10 43 00    	call   *0x431050
422f26:	8b c3                	mov    %ebx,%eax
422f28:	5f                   	pop    %edi
422f29:	5b                   	pop    %ebx
422f2a:	5e                   	pop    %esi
422f2b:	c9                   	leave
422f2c:	c3                   	ret
422f2d:	8b ff                	mov    %edi,%edi
422f2f:	56                   	push   %esi
422f30:	ff 15 54 10 43 00    	call   *0x431054
422f36:	8b f0                	mov    %eax,%esi
422f38:	85 f6                	test   %esi,%esi
422f3a:	75 02                	jne    0x422f3e
422f3c:	5e                   	pop    %esi
422f3d:	c3                   	ret
422f3e:	53                   	push   %ebx
422f3f:	57                   	push   %edi
422f40:	56                   	push   %esi
422f41:	e8 10 ff ff ff       	call   0x422e56
422f46:	8b d8                	mov    %eax,%ebx
422f48:	2b de                	sub    %esi,%ebx
422f4a:	83 e3 fe             	and    $0xfffffffe,%ebx
422f4d:	53                   	push   %ebx
422f4e:	e8 dd 3c fe ff       	call   0x406c30
422f53:	8b f8                	mov    %eax,%edi
422f55:	59                   	pop    %ecx
422f56:	59                   	pop    %ecx
422f57:	85 ff                	test   %edi,%edi
422f59:	74 0b                	je     0x422f66
422f5b:	53                   	push   %ebx
422f5c:	56                   	push   %esi
422f5d:	57                   	push   %edi
422f5e:	e8 dd 7e fe ff       	call   0x40ae40
422f63:	83 c4 0c             	add    $0xc,%esp
422f66:	6a 00                	push   $0x0
422f68:	e8 a3 3c fe ff       	call   0x406c10
422f6d:	59                   	pop    %ecx
422f6e:	56                   	push   %esi
422f6f:	ff 15 50 10 43 00    	call   *0x431050
422f75:	8b c7                	mov    %edi,%eax
422f77:	5f                   	pop    %edi
422f78:	5b                   	pop    %ebx
422f79:	5e                   	pop    %esi
422f7a:	c3                   	ret
422f7b:	8b ff                	mov    %edi,%edi
422f7d:	55                   	push   %ebp
422f7e:	8b ec                	mov    %esp,%ebp
422f80:	83 ec 14             	sub    $0x14,%esp
422f83:	53                   	push   %ebx
422f84:	56                   	push   %esi
422f85:	8b 75 08             	mov    0x8(%ebp),%esi
422f88:	85 f6                	test   %esi,%esi
422f8a:	75 13                	jne    0x422f9f
422f8c:	e8 e0 96 ff ff       	call   0x41c671
422f91:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422f97:	83 c8 ff             	or     $0xffffffff,%eax
422f9a:	e9 58 02 00 00       	jmp    0x4231f7
422f9f:	57                   	push   %edi
422fa0:	6a 3d                	push   $0x3d
422fa2:	56                   	push   %esi
422fa3:	8b fe                	mov    %esi,%edi
422fa5:	e8 dd c3 00 00       	call   0x42f387
422faa:	89 45 f0             	mov    %eax,-0x10(%ebp)
422fad:	59                   	pop    %ecx
422fae:	59                   	pop    %ecx
422faf:	85 c0                	test   %eax,%eax
422fb1:	0f 84 2a 02 00 00    	je     0x4231e1
422fb7:	3b c6                	cmp    %esi,%eax
422fb9:	0f 84 22 02 00 00    	je     0x4231e1
422fbf:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
422fc3:	8b c1                	mov    %ecx,%eax
422fc5:	89 45 ec             	mov    %eax,-0x14(%ebp)
422fc8:	89 45 f4             	mov    %eax,-0xc(%ebp)
422fcb:	e8 f4 02 00 00       	call   0x4232c4
422fd0:	a1 9c f7 43 00       	mov    0x43f79c,%eax
422fd5:	33 db                	xor    %ebx,%ebx
422fd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
422fda:	85 c0                	test   %eax,%eax
422fdc:	0f 85 96 00 00 00    	jne    0x423078
422fe2:	a1 98 f7 43 00       	mov    0x43f798,%eax
422fe7:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
422fea:	74 30                	je     0x42301c
422fec:	85 c0                	test   %eax,%eax
422fee:	74 2c                	je     0x42301c
422ff0:	e8 b4 6c ff ff       	call   0x419ca9
422ff5:	85 c0                	test   %eax,%eax
422ff7:	75 14                	jne    0x42300d
422ff9:	e8 73 96 ff ff       	call   0x41c671
422ffe:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
423004:	83 cb ff             	or     $0xffffffff,%ebx
423007:	56                   	push   %esi
423008:	e9 ba 01 00 00       	jmp    0x4231c7
42300d:	e8 b2 02 00 00       	call   0x4232c4
423012:	a1 9c f7 43 00       	mov    0x43f79c,%eax
423017:	89 45 fc             	mov    %eax,-0x4(%ebp)
42301a:	eb 58                	jmp    0x423074
42301c:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
423020:	74 e5                	je     0x423007
423022:	85 c0                	test   %eax,%eax
423024:	75 2b                	jne    0x423051
423026:	6a 04                	push   $0x4
423028:	6a 01                	push   $0x1
42302a:	e8 81 3b fe ff       	call   0x406bb0
42302f:	53                   	push   %ebx
423030:	a3 98 f7 43 00       	mov    %eax,0x43f798
423035:	e8 d6 3b fe ff       	call   0x406c10
42303a:	83 c4 0c             	add    $0xc,%esp
42303d:	39 1d 98 f7 43 00    	cmp    %ebx,0x43f798
423043:	74 bf                	je     0x423004
423045:	a1 9c f7 43 00       	mov    0x43f79c,%eax
42304a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42304d:	85 c0                	test   %eax,%eax
42304f:	75 27                	jne    0x423078
423051:	6a 04                	push   $0x4
423053:	6a 01                	push   $0x1
423055:	e8 56 3b fe ff       	call   0x406bb0
42305a:	53                   	push   %ebx
42305b:	a3 9c f7 43 00       	mov    %eax,0x43f79c
423060:	e8 ab 3b fe ff       	call   0x406c10
423065:	a1 9c f7 43 00       	mov    0x43f79c,%eax
42306a:	83 c4 0c             	add    $0xc,%esp
42306d:	89 45 fc             	mov    %eax,-0x4(%ebp)
423070:	85 c0                	test   %eax,%eax
423072:	74 90                	je     0x423004
423074:	85 c0                	test   %eax,%eax
423076:	74 8c                	je     0x423004
423078:	8b 45 f0             	mov    -0x10(%ebp),%eax
42307b:	2b c6                	sub    %esi,%eax
42307d:	d1 f8                	sar    $1,%eax
42307f:	50                   	push   %eax
423080:	56                   	push   %esi
423081:	89 45 f0             	mov    %eax,-0x10(%ebp)
423084:	e8 55 02 00 00       	call   0x4232de
423089:	59                   	pop    %ecx
42308a:	59                   	pop    %ecx
42308b:	8b c8                	mov    %eax,%ecx
42308d:	8b 45 fc             	mov    -0x4(%ebp),%eax
423090:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423093:	85 c9                	test   %ecx,%ecx
423095:	78 50                	js     0x4230e7
423097:	39 18                	cmp    %ebx,(%eax)
423099:	74 4c                	je     0x4230e7
42309b:	ff 34 88             	push   (%eax,%ecx,4)
42309e:	e8 6d 3b fe ff       	call   0x406c10
4230a3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4230a6:	59                   	pop    %ecx
4230a7:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
4230ab:	75 30                	jne    0x4230dd
4230ad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4230b0:	eb 08                	jmp    0x4230ba
4230b2:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4230b6:	89 04 91             	mov    %eax,(%ecx,%edx,4)
4230b9:	42                   	inc    %edx
4230ba:	39 1c 91             	cmp    %ebx,(%ecx,%edx,4)
4230bd:	75 f3                	jne    0x4230b2
4230bf:	6a 04                	push   $0x4
4230c1:	52                   	push   %edx
4230c2:	51                   	push   %ecx
4230c3:	e8 98 3b fe ff       	call   0x406c60
4230c8:	53                   	push   %ebx
4230c9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4230cc:	e8 3f 3b fe ff       	call   0x406c10
4230d1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4230d4:	83 c4 10             	add    $0x10,%esp
4230d7:	85 c0                	test   %eax,%eax
4230d9:	74 63                	je     0x42313e
4230db:	eb 5c                	jmp    0x423139
4230dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4230e0:	8b fb                	mov    %ebx,%edi
4230e2:	89 34 90             	mov    %esi,(%eax,%edx,4)
4230e5:	eb 57                	jmp    0x42313e
4230e7:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
4230eb:	0f 84 16 ff ff ff    	je     0x423007
4230f1:	f7 d9                	neg    %ecx
4230f3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4230f6:	8d 51 02             	lea    0x2(%ecx),%edx
4230f9:	3b d1                	cmp    %ecx,%edx
4230fb:	0f 82 03 ff ff ff    	jb     0x423004