480d79:	8b 4e 60             	mov    0x60(%esi),%ecx
480d7c:	f7 d9                	neg    %ecx
480d7e:	1b c9                	sbb    %ecx,%ecx
480d80:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
480d86:	81 c1 01 10 00 00    	add    $0x1001,%ecx
480d8c:	51                   	push   %ecx
480d8d:	57                   	push   %edi
480d8e:	e8 bf 43 ff ff       	call   0x475152
480d93:	85 c0                	test   %eax,%eax
480d95:	75 06                	jne    0x480d9d
480d97:	21 46 58             	and    %eax,0x58(%esi)
480d9a:	40                   	inc    %eax
480d9b:	eb 56                	jmp    0x480df3
480d9d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
480da3:	50                   	push   %eax
480da4:	ff 76 50             	push   0x50(%esi)
480da7:	e8 5b 63 fe ff       	call   0x467107
480dac:	59                   	pop    %ecx
480dad:	59                   	pop    %ecx
480dae:	85 c0                	test   %eax,%eax
480db0:	75 36                	jne    0x480de8
480db2:	8b cf                	mov    %edi,%ecx
480db4:	53                   	push   %ebx
480db5:	33 db                	xor    %ebx,%ebx
480db7:	8d 51 02             	lea    0x2(%ecx),%edx
480dba:	66 8b 01             	mov    (%ecx),%ax
480dbd:	83 c1 02             	add    $0x2,%ecx
480dc0:	66 3b c3             	cmp    %bx,%ax
480dc3:	75 f5                	jne    0x480dba
480dc5:	2b ca                	sub    %edx,%ecx
480dc7:	d1 f9                	sar    $1,%ecx
480dc9:	8d 41 01             	lea    0x1(%ecx),%eax
480dcc:	50                   	push   %eax
480dcd:	57                   	push   %edi
480dce:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
480dd4:	6a 55                	push   $0x55
480dd6:	50                   	push   %eax
480dd7:	e8 f6 e1 ff ff       	call   0x47efd2
480ddc:	83 c4 10             	add    $0x10,%esp
480ddf:	85 c0                	test   %eax,%eax
480de1:	75 22                	jne    0x480e05
480de3:	83 4e 58 04          	orl    $0x4,0x58(%esi)
480de7:	5b                   	pop    %ebx
480de8:	8b 46 58             	mov    0x58(%esi),%eax
480deb:	c1 e8 02             	shr    $0x2,%eax
480dee:	f7 d0                	not    %eax
480df0:	83 e0 01             	and    $0x1,%eax
480df3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
480df6:	5f                   	pop    %edi
480df7:	33 cd                	xor    %ebp,%ecx
480df9:	5e                   	pop    %esi
480dfa:	e8 03 ec fb ff       	call   0x43fa02
480dff:	8b e5                	mov    %ebp,%esp
480e01:	5d                   	pop    %ebp
480e02:	c2 0c 00             	ret    $0xc
480e05:	53                   	push   %ebx
480e06:	53                   	push   %ebx
480e07:	53                   	push   %ebx
480e08:	53                   	push   %ebx
480e09:	53                   	push   %ebx
480e0a:	e8 f4 be fc ff       	call   0x44cd03
480e0f:	cc                   	int3
480e10:	8b ff                	mov    %edi,%edi
480e12:	55                   	push   %ebp
480e13:	8b ec                	mov    %esp,%ebp
480e15:	51                   	push   %ecx
480e16:	8b 4d 08             	mov    0x8(%ebp),%ecx
480e19:	56                   	push   %esi
480e1a:	57                   	push   %edi
480e1b:	85 c9                	test   %ecx,%ecx
480e1d:	0f 84 a0 00 00 00    	je     0x480ec3
480e23:	33 c0                	xor    %eax,%eax
480e25:	66 39 01             	cmp    %ax,(%ecx)
480e28:	0f 84 95 00 00 00    	je     0x480ec3
480e2e:	be 50 fc 49 00       	mov    $0x49fc50,%esi
480e33:	8b d1                	mov    %ecx,%edx
480e35:	66 8b 3a             	mov    (%edx),%di
480e38:	66 3b 3e             	cmp    (%esi),%di
480e3b:	75 1e                	jne    0x480e5b
480e3d:	66 85 ff             	test   %di,%di
480e40:	74 15                	je     0x480e57
480e42:	66 8b 7a 02          	mov    0x2(%edx),%di
480e46:	66 3b 7e 02          	cmp    0x2(%esi),%di
480e4a:	75 0f                	jne    0x480e5b
480e4c:	83 c2 04             	add    $0x4,%edx
480e4f:	83 c6 04             	add    $0x4,%esi
480e52:	66 85 ff             	test   %di,%di
480e55:	75 de                	jne    0x480e35
480e57:	8b d0                	mov    %eax,%edx
480e59:	eb 05                	jmp    0x480e60
480e5b:	1b d2                	sbb    %edx,%edx
480e5d:	83 ca 01             	or     $0x1,%edx
480e60:	85 d2                	test   %edx,%edx
480e62:	74 5f                	je     0x480ec3
480e64:	be 58 fc 49 00       	mov    $0x49fc58,%esi
480e69:	8b d1                	mov    %ecx,%edx
480e6b:	66 8b 3a             	mov    (%edx),%di
480e6e:	66 3b 3e             	cmp    (%esi),%di
480e71:	75 1c                	jne    0x480e8f
480e73:	66 85 ff             	test   %di,%di
480e76:	74 1c                	je     0x480e94
480e78:	66 8b 7a 02          	mov    0x2(%edx),%di
480e7c:	66 3b 7e 02          	cmp    0x2(%esi),%di
480e80:	75 0d                	jne    0x480e8f
480e82:	83 c2 04             	add    $0x4,%edx
480e85:	83 c6 04             	add    $0x4,%esi
480e88:	66 85 ff             	test   %di,%di
480e8b:	75 de                	jne    0x480e6b
480e8d:	eb 05                	jmp    0x480e94
480e8f:	1b c0                	sbb    %eax,%eax
480e91:	83 c8 01             	or     $0x1,%eax
480e94:	85 c0                	test   %eax,%eax
480e96:	75 22                	jne    0x480eba
480e98:	6a 02                	push   $0x2
480e9a:	8d 45 fc             	lea    -0x4(%ebp),%eax
480e9d:	50                   	push   %eax
480e9e:	8b 45 0c             	mov    0xc(%ebp),%eax
480ea1:	68 0b 00 00 20       	push   $0x2000000b
480ea6:	05 50 02 00 00       	add    $0x250,%eax
480eab:	50                   	push   %eax
480eac:	e8 a1 42 ff ff       	call   0x475152
480eb1:	85 c0                	test   %eax,%eax
480eb3:	74 2b                	je     0x480ee0
480eb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
480eb8:	eb 37                	jmp    0x480ef1
480eba:	51                   	push   %ecx
480ebb:	e8 b3 08 ff ff       	call   0x471773
480ec0:	59                   	pop    %ecx
480ec1:	eb 2e                	jmp    0x480ef1
480ec3:	6a 02                	push   $0x2
480ec5:	8d 45 fc             	lea    -0x4(%ebp),%eax
480ec8:	50                   	push   %eax
480ec9:	8b 45 0c             	mov    0xc(%ebp),%eax
480ecc:	68 04 10 00 20       	push   $0x20001004
480ed1:	05 50 02 00 00       	add    $0x250,%eax
480ed6:	50                   	push   %eax
480ed7:	e8 76 42 ff ff       	call   0x475152
480edc:	85 c0                	test   %eax,%eax
480ede:	75 04                	jne    0x480ee4
480ee0:	33 c0                	xor    %eax,%eax
480ee2:	eb 0d                	jmp    0x480ef1
480ee4:	8b 45 fc             	mov    -0x4(%ebp),%eax
480ee7:	85 c0                	test   %eax,%eax
480ee9:	75 06                	jne    0x480ef1
480eeb:	ff 15 88 40 49 00    	call   *0x494088
480ef1:	5f                   	pop    %edi
480ef2:	5e                   	pop    %esi
480ef3:	8b e5                	mov    %ebp,%esp
480ef5:	5d                   	pop    %ebp
480ef6:	c3                   	ret
480ef7:	8b ff                	mov    %edi,%edi
480ef9:	55                   	push   %ebp
480efa:	8b ec                	mov    %esp,%ebp
480efc:	83 ec 18             	sub    $0x18,%esp
480eff:	a1 94 80 4b 00       	mov    0x4b8094,%eax
480f04:	33 c5                	xor    %ebp,%eax
480f06:	89 45 fc             	mov    %eax,-0x4(%ebp)
480f09:	56                   	push   %esi
480f0a:	8b 75 08             	mov    0x8(%ebp),%esi
480f0d:	8d 45 e8             	lea    -0x18(%ebp),%eax
480f10:	6a 09                	push   $0x9
480f12:	50                   	push   %eax
480f13:	6a 59                	push   $0x59
480f15:	56                   	push   %esi
480f16:	e8 37 42 ff ff       	call   0x475152
480f1b:	85 c0                	test   %eax,%eax
480f1d:	74 14                	je     0x480f33
480f1f:	6a 09                	push   $0x9
480f21:	8d 45 e8             	lea    -0x18(%ebp),%eax
480f24:	56                   	push   %esi
480f25:	50                   	push   %eax
480f26:	e8 65 f3 fe ff       	call   0x470290
480f2b:	83 c4 0c             	add    $0xc,%esp
480f2e:	f7 d8                	neg    %eax
480f30:	1b c0                	sbb    %eax,%eax
480f32:	40                   	inc    %eax
480f33:	8b 4d fc             	mov    -0x4(%ebp),%ecx
480f36:	33 cd                	xor    %ebp,%ecx
480f38:	5e                   	pop    %esi
480f39:	e8 c4 ea fb ff       	call   0x43fa02
480f3e:	8b e5                	mov    %ebp,%esp
480f40:	5d                   	pop    %ebp
480f41:	c3                   	ret
480f42:	8b ff                	mov    %edi,%edi
480f44:	55                   	push   %ebp
480f45:	8b ec                	mov    %esp,%ebp
480f47:	ff 75 08             	push   0x8(%ebp)
480f4a:	e8 a8 ff ff ff       	call   0x480ef7
480f4f:	59                   	pop    %ecx
480f50:	85 c0                	test   %eax,%eax
480f52:	75 2f                	jne    0x480f83
480f54:	39 45 0c             	cmp    %eax,0xc(%ebp)
480f57:	74 2a                	je     0x480f83
480f59:	8b 45 10             	mov    0x10(%ebp),%eax
480f5c:	56                   	push   %esi
480f5d:	8b 08                	mov    (%eax),%ecx
480f5f:	8b f1                	mov    %ecx,%esi
480f61:	8d 56 02             	lea    0x2(%esi),%edx
480f64:	66 8b 06             	mov    (%esi),%ax
480f67:	83 c6 02             	add    $0x2,%esi
480f6a:	66 85 c0             	test   %ax,%ax
480f6d:	75 f5                	jne    0x480f64
480f6f:	2b f2                	sub    %edx,%esi
480f71:	51                   	push   %ecx
480f72:	d1 fe                	sar    $1,%esi
480f74:	e8 b8 fa ff ff       	call   0x480a31
480f79:	59                   	pop    %ecx
480f7a:	3b c6                	cmp    %esi,%eax
480f7c:	5e                   	pop    %esi
480f7d:	75 04                	jne    0x480f83
480f7f:	33 c0                	xor    %eax,%eax
480f81:	5d                   	pop    %ebp
480f82:	c3                   	ret
480f83:	33 c0                	xor    %eax,%eax
480f85:	40                   	inc    %eax
480f86:	5d                   	pop    %ebp
480f87:	c3                   	ret
480f88:	8b ff                	mov    %edi,%edi
480f8a:	55                   	push   %ebp
480f8b:	8b ec                	mov    %esp,%ebp
480f8d:	51                   	push   %ecx
480f8e:	56                   	push   %esi
480f8f:	8b 75 0c             	mov    0xc(%ebp),%esi
480f92:	33 d2                	xor    %edx,%edx
480f94:	57                   	push   %edi
480f95:	42                   	inc    %edx
480f96:	33 ff                	xor    %edi,%edi
480f98:	85 f6                	test   %esi,%esi
480f9a:	78 4e                	js     0x480fea
480f9c:	53                   	push   %ebx
480f9d:	85 d2                	test   %edx,%edx
480f9f:	74 48                	je     0x480fe9
480fa1:	8d 04 37             	lea    (%edi,%esi,1),%eax
480fa4:	99                   	cltd
480fa5:	2b c2                	sub    %edx,%eax
480fa7:	8b d8                	mov    %eax,%ebx
480fa9:	8b 45 08             	mov    0x8(%ebp),%eax
480fac:	d1 fb                	sar    $1,%ebx
480fae:	6b cb 0c             	imul   $0xc,%ebx,%ecx
480fb1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
480fb4:	ff 34 01             	push   (%ecx,%eax,1)
480fb7:	8b 45 10             	mov    0x10(%ebp),%eax
480fba:	ff 30                	push   (%eax)
480fbc:	e8 46 61 fe ff       	call   0x467107
480fc1:	8b d0                	mov    %eax,%edx
480fc3:	59                   	pop    %ecx
480fc4:	59                   	pop    %ecx
480fc5:	85 d2                	test   %edx,%edx
480fc7:	75 12                	jne    0x480fdb
480fc9:	8b 45 08             	mov    0x8(%ebp),%eax
480fcc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
480fcf:	83 c0 04             	add    $0x4,%eax
480fd2:	03 c8                	add    %eax,%ecx
480fd4:	8b 45 10             	mov    0x10(%ebp),%eax
480fd7:	89 08                	mov    %ecx,(%eax)
480fd9:	eb 0a                	jmp    0x480fe5
480fdb:	79 05                	jns    0x480fe2
480fdd:	8d 73 ff             	lea    -0x1(%ebx),%esi
480fe0:	eb 03                	jmp    0x480fe5
480fe2:	8d 7b 01             	lea    0x1(%ebx),%edi
480fe5:	3b fe                	cmp    %esi,%edi
480fe7:	7e b4                	jle    0x480f9d
480fe9:	5b                   	pop    %ebx
480fea:	33 c0                	xor    %eax,%eax
480fec:	85 d2                	test   %edx,%edx
480fee:	5f                   	pop    %edi
480fef:	0f 94 c0             	sete   %al
480ff2:	5e                   	pop    %esi
480ff3:	8b e5                	mov    %ebp,%esp
480ff5:	5d                   	pop    %ebp
480ff6:	c3                   	ret
480ff7:	8b ff                	mov    %edi,%edi
480ff9:	55                   	push   %ebp
480ffa:	8b ec                	mov    %esp,%ebp
480ffc:	51                   	push   %ecx
480ffd:	51                   	push   %ecx
480ffe:	53                   	push   %ebx
480fff:	56                   	push   %esi
481000:	57                   	push   %edi
481001:	e8 fa 0f ff ff       	call   0x472000
481006:	8b 5d 08             	mov    0x8(%ebp),%ebx
481009:	33 c9                	xor    %ecx,%ecx
48100b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48100e:	8d 70 50             	lea    0x50(%eax),%esi
481011:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
481017:	89 4e 08             	mov    %ecx,0x8(%esi)
48101a:	66 89 08             	mov    %cx,(%eax)
48101d:	8d 7e 04             	lea    0x4(%esi),%edi
481020:	89 45 fc             	mov    %eax,-0x4(%ebp)
481023:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
481029:	89 1e                	mov    %ebx,(%esi)
48102b:	89 07                	mov    %eax,(%edi)
48102d:	66 39 08             	cmp    %cx,(%eax)
481030:	74 12                	je     0x481044
481032:	57                   	push   %edi
481033:	6a 16                	push   $0x16
481035:	68 38 fb 49 00       	push   $0x49fb38
48103a:	e8 49 ff ff ff       	call   0x480f88
48103f:	83 c4 0c             	add    $0xc,%esp
481042:	33 c9                	xor    %ecx,%ecx
481044:	8b 06                	mov    (%esi),%eax
481046:	56                   	push   %esi
481047:	66 39 08             	cmp    %cx,(%eax)
48104a:	74 47                	je     0x481093
48104c:	8b 07                	mov    (%edi),%eax
48104e:	66 39 08             	cmp    %cx,(%eax)
481051:	74 07                	je     0x48105a
481053:	e8 e4 f8 ff ff       	call   0x48093c
481058:	eb 05                	jmp    0x48105f
48105a:	e8 77 f9 ff ff       	call   0x4809d6
48105f:	33 c0                	xor    %eax,%eax
481061:	59                   	pop    %ecx
481062:	39 46 08             	cmp    %eax,0x8(%esi)
481065:	75 32                	jne    0x481099
481067:	56                   	push   %esi
481068:	6a 40                	push   $0x40
48106a:	68 28 f8 49 00       	push   $0x49f828
48106f:	e8 14 ff ff ff       	call   0x480f88
481074:	83 c4 0c             	add    $0xc,%esp
481077:	85 c0                	test   %eax,%eax
481079:	74 1e                	je     0x481099
48107b:	8b 07                	mov    (%edi),%eax
48107d:	33 c9                	xor    %ecx,%ecx
48107f:	56                   	push   %esi
481080:	66 39 08             	cmp    %cx,(%eax)
481083:	74 07                	je     0x48108c
481085:	e8 b2 f8 ff ff       	call   0x48093c
48108a:	eb 0c                	jmp    0x481098
48108c:	e8 45 f9 ff ff       	call   0x4809d6
481091:	eb 05                	jmp    0x481098
481093:	e8 1b f8 ff ff       	call   0x4808b3
481098:	59                   	pop    %ecx
481099:	33 ff                	xor    %edi,%edi
48109b:	39 7e 08             	cmp    %edi,0x8(%esi)
48109e:	0f 84 0c 01 00 00    	je     0x4811b0
4810a4:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
4810aa:	56                   	push   %esi
4810ab:	50                   	push   %eax
4810ac:	e8 5f fd ff ff       	call   0x480e10
4810b1:	8b f0                	mov    %eax,%esi
4810b3:	59                   	pop    %ecx
4810b4:	59                   	pop    %ecx
4810b5:	85 f6                	test   %esi,%esi
4810b7:	0f 84 f3 00 00 00    	je     0x4811b0
4810bd:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
4810c3:	0f 84 e7 00 00 00    	je     0x4811b0
4810c9:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
4810cf:	0f 84 db 00 00 00    	je     0x4811b0
4810d5:	0f b7 c6             	movzwl %si,%eax
4810d8:	50                   	push   %eax