420d7c:	81 fa 80 00 00 00    	cmp    $0x80,%edx
420d82:	7c 0e                	jl     0x420d92
420d84:	0f ba 25 70 a3 4b 00 	btl    $0x1,0x4ba370
420d8b:	01
420d8c:	0f 82 fb 5a 00 00    	jb     0x42688d
420d92:	57                   	push   %edi
420d93:	8b f9                	mov    %ecx,%edi
420d95:	83 fa 04             	cmp    $0x4,%edx
420d98:	72 31                	jb     0x420dcb
420d9a:	f7 d9                	neg    %ecx
420d9c:	83 e1 03             	and    $0x3,%ecx
420d9f:	74 0c                	je     0x420dad
420da1:	2b d1                	sub    %ecx,%edx
420da3:	88 07                	mov    %al,(%edi)
420da5:	83 c7 01             	add    $0x1,%edi
420da8:	83 e9 01             	sub    $0x1,%ecx
420dab:	75 f6                	jne    0x420da3
420dad:	8b c8                	mov    %eax,%ecx
420daf:	c1 e0 08             	shl    $0x8,%eax
420db2:	03 c1                	add    %ecx,%eax
420db4:	8b c8                	mov    %eax,%ecx
420db6:	c1 e0 10             	shl    $0x10,%eax
420db9:	03 c1                	add    %ecx,%eax
420dbb:	8b ca                	mov    %edx,%ecx
420dbd:	83 e2 03             	and    $0x3,%edx
420dc0:	c1 e9 02             	shr    $0x2,%ecx
420dc3:	74 06                	je     0x420dcb
420dc5:	f3 ab                	rep stos %eax,%es:(%edi)
420dc7:	85 d2                	test   %edx,%edx
420dc9:	74 0a                	je     0x420dd5
420dcb:	88 07                	mov    %al,(%edi)
420dcd:	83 c7 01             	add    $0x1,%edi
420dd0:	83 ea 01             	sub    $0x1,%edx
420dd3:	75 f6                	jne    0x420dcb
420dd5:	8b 44 24 08          	mov    0x8(%esp),%eax
420dd9:	5f                   	pop    %edi
420dda:	c3                   	ret
420ddb:	8b 44 24 04          	mov    0x4(%esp),%eax
420ddf:	c3                   	ret
420de0:	e9 79 e7 ff ff       	jmp    0x41f55e
420de5:	56                   	push   %esi
420de6:	6a 04                	push   $0x4
420de8:	6a 20                	push   $0x20
420dea:	e8 97 5b 00 00       	call   0x426986
420def:	59                   	pop    %ecx
420df0:	59                   	pop    %ecx
420df1:	8b f0                	mov    %eax,%esi
420df3:	56                   	push   %esi
420df4:	ff 15 00 a0 4b 00    	call   *0x4ba000
420dfa:	a3 e8 32 4c 00       	mov    %eax,0x4c32e8
420dff:	a3 e4 32 4c 00       	mov    %eax,0x4c32e4
420e04:	85 f6                	test   %esi,%esi
420e06:	75 05                	jne    0x420e0d
420e08:	6a 18                	push   $0x18
420e0a:	58                   	pop    %eax
420e0b:	5e                   	pop    %esi
420e0c:	c3                   	ret
420e0d:	83 26 00             	andl   $0x0,(%esi)
420e10:	33 c0                	xor    %eax,%eax
420e12:	5e                   	pop    %esi
420e13:	c3                   	ret
420e14:	6a 0c                	push   $0xc
420e16:	68 88 6a 4b 00       	push   $0x4b6a88
420e1b:	e8 a0 5c 00 00       	call   0x426ac0
420e20:	e8 8b 04 00 00       	call   0x4212b0
420e25:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420e29:	ff 75 08             	push   0x8(%ebp)
420e2c:	e8 23 00 00 00       	call   0x420e54
420e31:	59                   	pop    %ecx
420e32:	8b f0                	mov    %eax,%esi
420e34:	89 75 e4             	mov    %esi,-0x1c(%ebp)
420e37:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
420e3e:	e8 0b 00 00 00       	call   0x420e4e
420e43:	8b c6                	mov    %esi,%eax
420e45:	e8 bb 5c 00 00       	call   0x426b05
420e4a:	c3                   	ret
420e4b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
420e4e:	e8 66 04 00 00       	call   0x4212b9
420e53:	c3                   	ret
420e54:	55                   	push   %ebp
420e55:	8b ec                	mov    %esp,%ebp
420e57:	51                   	push   %ecx
420e58:	53                   	push   %ebx
420e59:	56                   	push   %esi
420e5a:	8b 35 04 a0 4b 00    	mov    0x4ba004,%esi
420e60:	57                   	push   %edi
420e61:	ff 35 e8 32 4c 00    	push   0x4c32e8
420e67:	ff d6                	call   *%esi
420e69:	ff 35 e4 32 4c 00    	push   0x4c32e4
420e6f:	89 45 fc             	mov    %eax,-0x4(%ebp)
420e72:	ff d6                	call   *%esi
420e74:	8b d8                	mov    %eax,%ebx
420e76:	8b 45 fc             	mov    -0x4(%ebp),%eax
420e79:	3b d8                	cmp    %eax,%ebx
420e7b:	0f 82 82 00 00 00    	jb     0x420f03
420e81:	8b fb                	mov    %ebx,%edi
420e83:	2b f8                	sub    %eax,%edi
420e85:	8d 4f 04             	lea    0x4(%edi),%ecx
420e88:	83 f9 04             	cmp    $0x4,%ecx
420e8b:	72 76                	jb     0x420f03
420e8d:	50                   	push   %eax
420e8e:	e8 c2 5a 00 00       	call   0x426955
420e93:	8b f0                	mov    %eax,%esi
420e95:	8d 47 04             	lea    0x4(%edi),%eax
420e98:	59                   	pop    %ecx
420e99:	3b f0                	cmp    %eax,%esi
420e9b:	73 47                	jae    0x420ee4
420e9d:	b8 00 08 00 00       	mov    $0x800,%eax
420ea2:	3b f0                	cmp    %eax,%esi
420ea4:	73 02                	jae    0x420ea8
420ea6:	8b c6                	mov    %esi,%eax
420ea8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
420eab:	03 c6                	add    %esi,%eax
420ead:	3b c6                	cmp    %esi,%eax
420eaf:	72 0d                	jb     0x420ebe
420eb1:	50                   	push   %eax
420eb2:	53                   	push   %ebx
420eb3:	e8 61 5b 00 00       	call   0x426a19
420eb8:	59                   	pop    %ecx
420eb9:	59                   	pop    %ecx
420eba:	85 c0                	test   %eax,%eax
420ebc:	75 14                	jne    0x420ed2
420ebe:	8d 46 10             	lea    0x10(%esi),%eax
420ec1:	3b c6                	cmp    %esi,%eax
420ec3:	72 3e                	jb     0x420f03
420ec5:	50                   	push   %eax
420ec6:	53                   	push   %ebx
420ec7:	e8 4d 5b 00 00       	call   0x426a19
420ecc:	59                   	pop    %ecx
420ecd:	59                   	pop    %ecx
420ece:	85 c0                	test   %eax,%eax
420ed0:	74 31                	je     0x420f03
420ed2:	c1 ff 02             	sar    $0x2,%edi
420ed5:	50                   	push   %eax
420ed6:	8d 1c b8             	lea    (%eax,%edi,4),%ebx
420ed9:	ff 15 00 a0 4b 00    	call   *0x4ba000
420edf:	a3 e8 32 4c 00       	mov    %eax,0x4c32e8
420ee4:	ff 75 08             	push   0x8(%ebp)
420ee7:	ff 15 00 a0 4b 00    	call   *0x4ba000
420eed:	8d 4b 04             	lea    0x4(%ebx),%ecx
420ef0:	51                   	push   %ecx
420ef1:	89 03                	mov    %eax,(%ebx)
420ef3:	ff 15 00 a0 4b 00    	call   *0x4ba000
420ef9:	a3 e4 32 4c 00       	mov    %eax,0x4c32e4
420efe:	8b 45 08             	mov    0x8(%ebp),%eax
420f01:	eb 02                	jmp    0x420f05
420f03:	33 c0                	xor    %eax,%eax
420f05:	5f                   	pop    %edi
420f06:	5e                   	pop    %esi
420f07:	5b                   	pop    %ebx
420f08:	c9                   	leave
420f09:	c3                   	ret
420f0a:	55                   	push   %ebp
420f0b:	8b ec                	mov    %esp,%ebp
420f0d:	ff 75 08             	push   0x8(%ebp)
420f10:	e8 ff fe ff ff       	call   0x420e14
420f15:	f7 d8                	neg    %eax
420f17:	1b c0                	sbb    %eax,%eax
420f19:	f7 d8                	neg    %eax
420f1b:	59                   	pop    %ecx
420f1c:	48                   	dec    %eax
420f1d:	5d                   	pop    %ebp
420f1e:	c3                   	ret
420f1f:	55                   	push   %ebp
420f20:	8b ec                	mov    %esp,%ebp
420f22:	56                   	push   %esi
420f23:	8b f1                	mov    %ecx,%esi
420f25:	8b 4d 08             	mov    0x8(%ebp),%ecx
420f28:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
420f2c:	85 c9                	test   %ecx,%ecx
420f2e:	75 66                	jne    0x420f96
420f30:	e8 d8 6a 00 00       	call   0x427a0d
420f35:	8b d0                	mov    %eax,%edx
420f37:	89 56 08             	mov    %edx,0x8(%esi)
420f3a:	8b 4a 6c             	mov    0x6c(%edx),%ecx
420f3d:	89 0e                	mov    %ecx,(%esi)
420f3f:	8b 4a 68             	mov    0x68(%edx),%ecx
420f42:	89 4e 04             	mov    %ecx,0x4(%esi)
420f45:	8b 0e                	mov    (%esi),%ecx
420f47:	3b 0d 94 ab 4b 00    	cmp    0x4bab94,%ecx
420f4d:	74 11                	je     0x420f60
420f4f:	a1 5c ac 4b 00       	mov    0x4bac5c,%eax
420f54:	85 42 70             	test   %eax,0x70(%edx)
420f57:	75 07                	jne    0x420f60
420f59:	e8 72 61 00 00       	call   0x4270d0
420f5e:	89 06                	mov    %eax,(%esi)
420f60:	8b 46 04             	mov    0x4(%esi),%eax
420f63:	3b 05 90 a3 4b 00    	cmp    0x4ba390,%eax
420f69:	74 15                	je     0x420f80
420f6b:	8b 4e 08             	mov    0x8(%esi),%ecx
420f6e:	a1 5c ac 4b 00       	mov    0x4bac5c,%eax
420f73:	85 41 70             	test   %eax,0x70(%ecx)
420f76:	75 08                	jne    0x420f80
420f78:	e8 d5 64 00 00       	call   0x427452
420f7d:	89 46 04             	mov    %eax,0x4(%esi)
420f80:	8b 4e 08             	mov    0x8(%esi),%ecx
420f83:	8b 41 70             	mov    0x70(%ecx),%eax
420f86:	a8 02                	test   $0x2,%al
420f88:	75 16                	jne    0x420fa0
420f8a:	83 c8 02             	or     $0x2,%eax
420f8d:	89 41 70             	mov    %eax,0x70(%ecx)
420f90:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
420f94:	eb 0a                	jmp    0x420fa0
420f96:	8b 01                	mov    (%ecx),%eax
420f98:	89 06                	mov    %eax,(%esi)
420f9a:	8b 41 04             	mov    0x4(%ecx),%eax
420f9d:	89 46 04             	mov    %eax,0x4(%esi)
420fa0:	8b c6                	mov    %esi,%eax
420fa2:	5e                   	pop    %esi
420fa3:	5d                   	pop    %ebp
420fa4:	c2 04 00             	ret    $0x4
420fa7:	55                   	push   %ebp
420fa8:	8b ec                	mov    %esp,%ebp
420faa:	83 3d 80 01 4c 00 00 	cmpl   $0x0,0x4c0180
420fb1:	75 75                	jne    0x421028
420fb3:	8b 55 08             	mov    0x8(%ebp),%edx
420fb6:	85 d2                	test   %edx,%edx
420fb8:	75 17                	jne    0x420fd1
420fba:	e8 4f 6c 00 00       	call   0x427c0e
420fbf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420fc5:	e8 46 5e 00 00       	call   0x426e10
420fca:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
420fcf:	5d                   	pop    %ebp
420fd0:	c3                   	ret
420fd1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420fd4:	85 c9                	test   %ecx,%ecx
420fd6:	74 e2                	je     0x420fba
420fd8:	53                   	push   %ebx
420fd9:	56                   	push   %esi
420fda:	57                   	push   %edi
420fdb:	6a 41                	push   $0x41
420fdd:	5f                   	pop    %edi
420fde:	6a 5a                	push   $0x5a
420fe0:	2b d1                	sub    %ecx,%edx
420fe2:	5b                   	pop    %ebx
420fe3:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
420fe7:	66 3b c7             	cmp    %di,%ax
420fea:	72 0d                	jb     0x420ff9
420fec:	66 3b c3             	cmp    %bx,%ax
420fef:	77 08                	ja     0x420ff9
420ff1:	83 c0 20             	add    $0x20,%eax
420ff4:	0f b7 f0             	movzwl %ax,%esi
420ff7:	eb 02                	jmp    0x420ffb
420ff9:	8b f0                	mov    %eax,%esi
420ffb:	0f b7 01             	movzwl (%ecx),%eax
420ffe:	66 3b c7             	cmp    %di,%ax
421001:	72 0b                	jb     0x42100e
421003:	66 3b c3             	cmp    %bx,%ax
421006:	77 06                	ja     0x42100e
421008:	83 c0 20             	add    $0x20,%eax
42100b:	0f b7 c0             	movzwl %ax,%eax
42100e:	83 c1 02             	add    $0x2,%ecx
421011:	66 85 f6             	test   %si,%si
421014:	74 05                	je     0x42101b
421016:	66 3b f0             	cmp    %ax,%si
421019:	74 c8                	je     0x420fe3
42101b:	0f b7 c8             	movzwl %ax,%ecx
42101e:	0f b7 c6             	movzwl %si,%eax
421021:	5f                   	pop    %edi
421022:	5e                   	pop    %esi
421023:	2b c1                	sub    %ecx,%eax
421025:	5b                   	pop    %ebx
421026:	5d                   	pop    %ebp
421027:	c3                   	ret
421028:	6a 00                	push   $0x0
42102a:	ff 75 0c             	push   0xc(%ebp)
42102d:	ff 75 08             	push   0x8(%ebp)
421030:	e8 05 00 00 00       	call   0x42103a
421035:	83 c4 0c             	add    $0xc,%esp
421038:	5d                   	pop    %ebp
421039:	c3                   	ret
42103a:	55                   	push   %ebp
42103b:	8b ec                	mov    %esp,%ebp
42103d:	83 ec 10             	sub    $0x10,%esp
421040:	8d 4d f0             	lea    -0x10(%ebp),%ecx
421043:	53                   	push   %ebx
421044:	56                   	push   %esi
421045:	ff 75 10             	push   0x10(%ebp)
421048:	e8 d2 fe ff ff       	call   0x420f1f
42104d:	8b 5d 08             	mov    0x8(%ebp),%ebx
421050:	85 db                	test   %ebx,%ebx
421052:	74 07                	je     0x42105b
421054:	8b 75 0c             	mov    0xc(%ebp),%esi
421057:	85 f6                	test   %esi,%esi
421059:	75 1a                	jne    0x421075
42105b:	e8 ae 6b 00 00       	call   0x427c0e
421060:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
421066:	e8 a5 5d 00 00       	call   0x426e10
42106b:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
421070:	e9 8b 00 00 00       	jmp    0x421100
421075:	8b 45 f0             	mov    -0x10(%ebp),%eax
421078:	57                   	push   %edi
421079:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
421080:	75 42                	jne    0x4210c4
421082:	6a 41                	push   $0x41
421084:	59                   	pop    %ecx
421085:	6a 5a                	push   $0x5a
421087:	2b de                	sub    %esi,%ebx
421089:	5a                   	pop    %edx
42108a:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
42108e:	66 3b c1             	cmp    %cx,%ax
421091:	72 0d                	jb     0x4210a0
421093:	66 3b c2             	cmp    %dx,%ax
421096:	77 08                	ja     0x4210a0
421098:	83 c0 20             	add    $0x20,%eax
42109b:	0f b7 f8             	movzwl %ax,%edi
42109e:	eb 02                	jmp    0x4210a2
4210a0:	8b f8                	mov    %eax,%edi
4210a2:	0f b7 06             	movzwl (%esi),%eax
4210a5:	66 3b c1             	cmp    %cx,%ax
4210a8:	72 0b                	jb     0x4210b5
4210aa:	66 3b c2             	cmp    %dx,%ax
4210ad:	77 06                	ja     0x4210b5
4210af:	83 c0 20             	add    $0x20,%eax
4210b2:	0f b7 c0             	movzwl %ax,%eax
4210b5:	83 c6 02             	add    $0x2,%esi
4210b8:	66 85 ff             	test   %di,%di
4210bb:	74 3a                	je     0x4210f7
4210bd:	66 3b f8             	cmp    %ax,%di
4210c0:	74 c8                	je     0x42108a
4210c2:	eb 33                	jmp    0x4210f7
4210c4:	0f b7 03             	movzwl (%ebx),%eax
4210c7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4210ca:	51                   	push   %ecx
4210cb:	50                   	push   %eax
4210cc:	e8 59 1d 00 00       	call   0x422e2a
4210d1:	0f b7 f8             	movzwl %ax,%edi
4210d4:	0f b7 06             	movzwl (%esi),%eax
4210d7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4210da:	51                   	push   %ecx
4210db:	50                   	push   %eax
4210dc:	8d 5b 02             	lea    0x2(%ebx),%ebx
4210df:	e8 46 1d 00 00       	call   0x422e2a
4210e4:	83 c4 10             	add    $0x10,%esp
4210e7:	0f b7 c0             	movzwl %ax,%eax
4210ea:	8d 76 02             	lea    0x2(%esi),%esi
4210ed:	66 85 ff             	test   %di,%di
4210f0:	74 05                	je     0x4210f7
4210f2:	66 3b f8             	cmp    %ax,%di
4210f5:	74 cd                	je     0x4210c4
4210f7:	0f b7 d7             	movzwl %di,%edx
4210fa:	0f b7 c0             	movzwl %ax,%eax
4210fd:	2b d0                	sub    %eax,%edx
4210ff:	5f                   	pop    %edi
421100:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
421104:	5e                   	pop    %esi
421105:	5b                   	pop    %ebx
421106:	74 07                	je     0x42110f
421108:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42110b:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)