465e6d:	5d                   	pop    %ebp
465e6e:	c3                   	ret
465e6f:	8b ff                	mov    %edi,%edi
465e71:	55                   	push   %ebp
465e72:	8b ec                	mov    %esp,%ebp
465e74:	6a 01                	push   $0x1
465e76:	e8 8c e2 fe ff       	call   0x454107
465e7b:	50                   	push   %eax
465e7c:	ff 75 08             	push   0x8(%ebp)
465e7f:	e8 10 00 00 00       	call   0x465e94
465e84:	83 c4 0c             	add    $0xc,%esp
465e87:	5d                   	pop    %ebp
465e88:	c3                   	ret
465e89:	8b ff                	mov    %edi,%edi
465e8b:	55                   	push   %ebp
465e8c:	8b ec                	mov    %esp,%ebp
465e8e:	5d                   	pop    %ebp
465e8f:	e9 b2 ff ff ff       	jmp    0x465e46
465e94:	6a 0c                	push   $0xc
465e96:	68 58 4a 4b 00       	push   $0x4b4a58
465e9b:	e8 c0 aa fd ff       	call   0x440960
465ea0:	33 c0                	xor    %eax,%eax
465ea2:	8b 75 0c             	mov    0xc(%ebp),%esi
465ea5:	85 f6                	test   %esi,%esi
465ea7:	0f 95 c0             	setne  %al
465eaa:	85 c0                	test   %eax,%eax
465eac:	75 18                	jne    0x465ec6
465eae:	e8 7c 6f fe ff       	call   0x44ce2f
465eb3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
465eb9:	e8 18 6e fe ff       	call   0x44ccd6
465ebe:	83 c8 ff             	or     $0xffffffff,%eax
465ec1:	e9 be 00 00 00       	jmp    0x465f84
465ec6:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
465eca:	56                   	push   %esi
465ecb:	e8 d9 e2 fe ff       	call   0x4541a9
465ed0:	59                   	pop    %ecx
465ed1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
465ed5:	8b 46 0c             	mov    0xc(%esi),%eax
465ed8:	c1 e8 0c             	shr    $0xc,%eax
465edb:	a8 01                	test   $0x1,%al
465edd:	0f 85 83 00 00 00    	jne    0x465f66
465ee3:	56                   	push   %esi
465ee4:	e8 8d 22 01 00       	call   0x478176
465ee9:	59                   	pop    %ecx
465eea:	8b d0                	mov    %eax,%edx
465eec:	83 fa ff             	cmp    $0xffffffff,%edx
465eef:	74 1e                	je     0x465f0f
465ef1:	83 fa fe             	cmp    $0xfffffffe,%edx
465ef4:	74 19                	je     0x465f0f
465ef6:	8b ca                	mov    %edx,%ecx
465ef8:	c1 f9 06             	sar    $0x6,%ecx
465efb:	83 e0 3f             	and    $0x3f,%eax
465efe:	6b c0 30             	imul   $0x30,%eax,%eax
465f01:	03 04 8d 00 c0 4b 00 	add    0x4bc000(,%ecx,4),%eax
465f08:	b9 08 83 4b 00       	mov    $0x4b8308,%ecx
465f0d:	eb 07                	jmp    0x465f16
465f0f:	b9 08 83 4b 00       	mov    $0x4b8308,%ecx
465f14:	8b c1                	mov    %ecx,%eax
465f16:	80 78 29 00          	cmpb   $0x0,0x29(%eax)
465f1a:	75 22                	jne    0x465f3e
465f1c:	83 fa ff             	cmp    $0xffffffff,%edx
465f1f:	74 17                	je     0x465f38
465f21:	83 fa fe             	cmp    $0xfffffffe,%edx
465f24:	74 12                	je     0x465f38
465f26:	8b c2                	mov    %edx,%eax
465f28:	c1 f8 06             	sar    $0x6,%eax
465f2b:	83 e2 3f             	and    $0x3f,%edx
465f2e:	6b ca 30             	imul   $0x30,%edx,%ecx
465f31:	03 0c 85 00 c0 4b 00 	add    0x4bc000(,%eax,4),%ecx
465f38:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
465f3c:	74 28                	je     0x465f66
465f3e:	e8 ec 6e fe ff       	call   0x44ce2f
465f43:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
465f49:	e8 88 6d fe ff       	call   0x44ccd6
465f4e:	6a fe                	push   $0xfffffffe
465f50:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465f53:	51                   	push   %ecx
465f54:	68 94 80 4b 00       	push   $0x4b8094
465f59:	e8 32 0c fe ff       	call   0x446b90
465f5e:	83 c4 0c             	add    $0xc,%esp
465f61:	e9 58 ff ff ff       	jmp    0x465ebe
465f66:	56                   	push   %esi
465f67:	ff 75 08             	push   0x8(%ebp)
465f6a:	e8 d7 fe ff ff       	call   0x465e46
465f6f:	59                   	pop    %ecx
465f70:	59                   	pop    %ecx
465f71:	8b f8                	mov    %eax,%edi
465f73:	89 7d e4             	mov    %edi,-0x1c(%ebp)
465f76:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
465f7d:	e8 0e 00 00 00       	call   0x465f90
465f82:	8b c7                	mov    %edi,%eax
465f84:	e8 1d aa fd ff       	call   0x4409a6
465f89:	c3                   	ret
465f8a:	8b 75 0c             	mov    0xc(%ebp),%esi
465f8d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
465f90:	56                   	push   %esi
465f91:	e8 27 e2 fe ff       	call   0x4541bd
465f96:	59                   	pop    %ecx
465f97:	c3                   	ret
465f98:	8b ff                	mov    %edi,%edi
465f9a:	55                   	push   %ebp
465f9b:	8b ec                	mov    %esp,%ebp
465f9d:	5d                   	pop    %ebp
465f9e:	e9 f1 fe ff ff       	jmp    0x465e94
465fa3:	8b ff                	mov    %edi,%edi
465fa5:	55                   	push   %ebp
465fa6:	8b ec                	mov    %esp,%ebp
465fa8:	5d                   	pop    %ebp
465fa9:	e9 c1 fe ff ff       	jmp    0x465e6f
465fae:	8b ff                	mov    %edi,%edi
465fb0:	55                   	push   %ebp
465fb1:	8b ec                	mov    %esp,%ebp
465fb3:	8b 45 08             	mov    0x8(%ebp),%eax
465fb6:	8b 48 04             	mov    0x4(%eax),%ecx
465fb9:	89 08                	mov    %ecx,(%eax)
465fbb:	8b 45 08             	mov    0x8(%ebp),%eax
465fbe:	83 60 08 00          	andl   $0x0,0x8(%eax)
465fc2:	5d                   	pop    %ebp
465fc3:	c3                   	ret
465fc4:	8b 01                	mov    (%ecx),%eax
465fc6:	8b 40 0c             	mov    0xc(%eax),%eax
465fc9:	25 c0 04 00 00       	and    $0x4c0,%eax
465fce:	f7 d8                	neg    %eax
465fd0:	1b c0                	sbb    %eax,%eax
465fd2:	f7 d8                	neg    %eax
465fd4:	c3                   	ret
465fd5:	8b ff                	mov    %edi,%edi
465fd7:	55                   	push   %ebp
465fd8:	8b ec                	mov    %esp,%ebp
465fda:	8b 01                	mov    (%ecx),%eax
465fdc:	8b 40 0c             	mov    0xc(%eax),%eax
465fdf:	23 45 08             	and    0x8(%ebp),%eax
465fe2:	f7 d8                	neg    %eax
465fe4:	1b c0                	sbb    %eax,%eax
465fe6:	f7 d8                	neg    %eax
465fe8:	5d                   	pop    %ebp
465fe9:	c2 04 00             	ret    $0x4
465fec:	8b ff                	mov    %edi,%edi
465fee:	55                   	push   %ebp
465fef:	8b ec                	mov    %esp,%ebp
465ff1:	8b 11                	mov    (%ecx),%edx
465ff3:	56                   	push   %esi
465ff4:	8b 75 08             	mov    0x8(%ebp),%esi
465ff7:	83 c2 0c             	add    $0xc,%edx
465ffa:	8b 02                	mov    (%edx),%eax
465ffc:	8b c8                	mov    %eax,%ecx
465ffe:	0b ce                	or     %esi,%ecx
466000:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
466004:	75 f6                	jne    0x465ffc
466006:	23 c6                	and    %esi,%eax
466008:	f7 d8                	neg    %eax
46600a:	5e                   	pop    %esi
46600b:	1b c0                	sbb    %eax,%eax
46600d:	f7 d8                	neg    %eax
46600f:	5d                   	pop    %ebp
466010:	c2 04 00             	ret    $0x4
466013:	8b ff                	mov    %edi,%edi
466015:	55                   	push   %ebp
466016:	8b ec                	mov    %esp,%ebp
466018:	ff 75 14             	push   0x14(%ebp)
46601b:	ff 75 10             	push   0x10(%ebp)
46601e:	ff 75 0c             	push   0xc(%ebp)
466021:	6a ff                	push   $0xffffffff
466023:	ff 75 08             	push   0x8(%ebp)
466026:	e8 05 00 00 00       	call   0x466030
46602b:	83 c4 14             	add    $0x14,%esp
46602e:	5d                   	pop    %ebp
46602f:	c3                   	ret
466030:	8b ff                	mov    %edi,%edi
466032:	55                   	push   %ebp
466033:	8b ec                	mov    %esp,%ebp
466035:	83 ec 14             	sub    $0x14,%esp
466038:	53                   	push   %ebx
466039:	56                   	push   %esi
46603a:	8b 75 10             	mov    0x10(%ebp),%esi
46603d:	57                   	push   %edi
46603e:	85 f6                	test   %esi,%esi
466040:	74 1d                	je     0x46605f
466042:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
466046:	74 17                	je     0x46605f
466048:	8b 7d 08             	mov    0x8(%ebp),%edi
46604b:	85 ff                	test   %edi,%edi
46604d:	75 19                	jne    0x466068
46604f:	e8 db 6d fe ff       	call   0x44ce2f
466054:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46605a:	e8 77 6c fe ff       	call   0x44ccd6
46605f:	33 c0                	xor    %eax,%eax
466061:	5f                   	pop    %edi
466062:	5e                   	pop    %esi
466063:	5b                   	pop    %ebx
466064:	8b e5                	mov    %ebp,%esp
466066:	5d                   	pop    %ebp
466067:	c3                   	ret
466068:	8b 4d 18             	mov    0x18(%ebp),%ecx
46606b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46606e:	85 c9                	test   %ecx,%ecx
466070:	74 0c                	je     0x46607e
466072:	83 c8 ff             	or     $0xffffffff,%eax
466075:	33 d2                	xor    %edx,%edx
466077:	f7 f6                	div    %esi
466079:	39 45 14             	cmp    %eax,0x14(%ebp)
46607c:	76 24                	jbe    0x4660a2
46607e:	83 fb ff             	cmp    $0xffffffff,%ebx
466081:	74 0f                	je     0x466092
466083:	53                   	push   %ebx
466084:	6a 00                	push   $0x0
466086:	57                   	push   %edi
466087:	e8 d4 dd fd ff       	call   0x443e60
46608c:	8b 4d 18             	mov    0x18(%ebp),%ecx
46608f:	83 c4 0c             	add    $0xc,%esp
466092:	85 c9                	test   %ecx,%ecx
466094:	74 b9                	je     0x46604f
466096:	83 c8 ff             	or     $0xffffffff,%eax
466099:	33 d2                	xor    %edx,%edx
46609b:	f7 f6                	div    %esi
46609d:	39 45 14             	cmp    %eax,0x14(%ebp)
4660a0:	77 ad                	ja     0x46604f
4660a2:	8d 41 0c             	lea    0xc(%ecx),%eax
4660a5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4660a8:	8b 00                	mov    (%eax),%eax
4660aa:	a9 c0 04 00 00       	test   $0x4c0,%eax
4660af:	74 08                	je     0x4660b9
4660b1:	8b 41 18             	mov    0x18(%ecx),%eax
4660b4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4660b7:	eb 07                	jmp    0x4660c0
4660b9:	c7 45 f0 00 10 00 00 	movl   $0x1000,-0x10(%ebp)
4660c0:	0f af 75 14          	imul   0x14(%ebp),%esi
4660c4:	8b d3                	mov    %ebx,%edx
4660c6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4660c9:	8b fe                	mov    %esi,%edi
4660cb:	85 f6                	test   %esi,%esi
4660cd:	e9 e9 00 00 00       	jmp    0x4661bb
4660d2:	8b 41 0c             	mov    0xc(%ecx),%eax
4660d5:	a9 c0 04 00 00       	test   $0x4c0,%eax
4660da:	74 4a                	je     0x466126
4660dc:	8b 41 08             	mov    0x8(%ecx),%eax
4660df:	89 45 f4             	mov    %eax,-0xc(%ebp)
4660e2:	85 c0                	test   %eax,%eax
4660e4:	74 40                	je     0x466126
4660e6:	0f 88 03 01 00 00    	js     0x4661ef
4660ec:	3b f8                	cmp    %eax,%edi
4660ee:	73 05                	jae    0x4660f5
4660f0:	8b c7                	mov    %edi,%eax
4660f2:	89 7d f4             	mov    %edi,-0xc(%ebp)
4660f5:	3b c2                	cmp    %edx,%eax
4660f7:	0f 87 cf 00 00 00    	ja     0x4661cc
4660fd:	50                   	push   %eax
4660fe:	ff 31                	push   (%ecx)
466100:	52                   	push   %edx
466101:	ff 75 fc             	push   -0x4(%ebp)
466104:	e8 b1 01 00 00       	call   0x4662ba
466109:	8b 4d 18             	mov    0x18(%ebp),%ecx
46610c:	83 c4 10             	add    $0x10,%esp
46610f:	8b 45 f4             	mov    -0xc(%ebp),%eax
466112:	2b f8                	sub    %eax,%edi
466114:	8b 55 f8             	mov    -0x8(%ebp),%edx
466117:	01 45 fc             	add    %eax,-0x4(%ebp)
46611a:	29 41 08             	sub    %eax,0x8(%ecx)
46611d:	01 01                	add    %eax,(%ecx)
46611f:	2b d0                	sub    %eax,%edx
466121:	e9 93 00 00 00       	jmp    0x4661b9
466126:	3b 7d f0             	cmp    -0x10(%ebp),%edi
466129:	72 65                	jb     0x466190
46612b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
466130:	3b f8                	cmp    %eax,%edi
466132:	76 05                	jbe    0x466139
466134:	89 45 f4             	mov    %eax,-0xc(%ebp)
466137:	eb 05                	jmp    0x46613e
466139:	8b c7                	mov    %edi,%eax
46613b:	89 7d f4             	mov    %edi,-0xc(%ebp)
46613e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
466142:	74 0d                	je     0x466151
466144:	33 d2                	xor    %edx,%edx
466146:	f7 75 f0             	divl   -0x10(%ebp)
466149:	8b 45 f4             	mov    -0xc(%ebp),%eax
46614c:	2b c2                	sub    %edx,%eax
46614e:	8b 55 f8             	mov    -0x8(%ebp),%edx
466151:	89 45 f4             	mov    %eax,-0xc(%ebp)
466154:	3b c2                	cmp    %edx,%eax
466156:	77 74                	ja     0x4661cc
466158:	ff 75 f4             	push   -0xc(%ebp)
46615b:	8b 41 04             	mov    0x4(%ecx),%eax
46615e:	ff 75 fc             	push   -0x4(%ebp)
466161:	83 61 08 00          	andl   $0x0,0x8(%ecx)
466165:	51                   	push   %ecx
466166:	89 01                	mov    %eax,(%ecx)
466168:	e8 09 20 01 00       	call   0x478176
46616d:	59                   	pop    %ecx
46616e:	50                   	push   %eax
46616f:	e8 3d 2e 01 00       	call   0x478fb1
466174:	83 c4 0c             	add    $0xc,%esp
466177:	85 c0                	test   %eax,%eax
466179:	0f 84 87 00 00 00    	je     0x466206
46617f:	78 6e                	js     0x4661ef
466181:	8b 55 f8             	mov    -0x8(%ebp),%edx
466184:	2b f8                	sub    %eax,%edi
466186:	01 45 fc             	add    %eax,-0x4(%ebp)
466189:	2b d0                	sub    %eax,%edx
46618b:	8b 4d 18             	mov    0x18(%ebp),%ecx
46618e:	eb 29                	jmp    0x4661b9
466190:	51                   	push   %ecx
466191:	e8 cf 35 01 00       	call   0x479765
466196:	59                   	pop    %ecx
466197:	8b c8                	mov    %eax,%ecx
466199:	83 f9 ff             	cmp    $0xffffffff,%ecx
46619c:	74 5a                	je     0x4661f8
46619e:	8b 55 f8             	mov    -0x8(%ebp),%edx
4661a1:	85 d2                	test   %edx,%edx
4661a3:	74 27                	je     0x4661cc
4661a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4661a8:	88 08                	mov    %cl,(%eax)
4661aa:	40                   	inc    %eax
4661ab:	8b 4d 18             	mov    0x18(%ebp),%ecx
4661ae:	4f                   	dec    %edi
4661af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4661b2:	4a                   	dec    %edx
4661b3:	8b 41 18             	mov    0x18(%ecx),%eax
4661b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4661b9:	85 ff                	test   %edi,%edi
4661bb:	89 55 f8             	mov    %edx,-0x8(%ebp)
4661be:	0f 85 0e ff ff ff    	jne    0x4660d2
4661c4:	8b 45 14             	mov    0x14(%ebp),%eax
4661c7:	e9 95 fe ff ff       	jmp    0x466061
4661cc:	83 fb ff             	cmp    $0xffffffff,%ebx
4661cf:	74 0e                	je     0x4661df
4661d1:	53                   	push   %ebx
4661d2:	6a 00                	push   $0x0
4661d4:	ff 75 08             	push   0x8(%ebp)
4661d7:	e8 84 dc fd ff       	call   0x443e60
4661dc:	83 c4 0c             	add    $0xc,%esp
4661df:	e8 4b 6c fe ff       	call   0x44ce2f
4661e4:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4661ea:	e9 6b fe ff ff       	jmp    0x46605a
4661ef:	6a 10                	push   $0x10
4661f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4661f4:	59                   	pop    %ecx
4661f5:	f0 09 08             	lock or %ecx,(%eax)
4661f8:	2b f7                	sub    %edi,%esi
4661fa:	33 d2                	xor    %edx,%edx
4661fc:	8b c6                	mov    %esi,%eax
4661fe:	f7 75 10             	divl   0x10(%ebp)
466201:	e9 5b fe ff ff       	jmp    0x466061
466206:	6a 08                	push   $0x8
466208:	eb e7                	jmp    0x4661f1
46620a:	8b ff                	mov    %edi,%edi
46620c:	55                   	push   %ebp
46620d:	8b ec                	mov    %esp,%ebp
46620f:	ff 75 14             	push   0x14(%ebp)
466212:	ff 75 10             	push   0x10(%ebp)
466215:	ff 75 0c             	push   0xc(%ebp)