414f41:	cc                   	int3
414f42:	cc                   	int3
414f43:	cc                   	int3
414f44:	cc                   	int3
414f45:	cc                   	int3
414f46:	cc                   	int3
414f47:	cc                   	int3
414f48:	cc                   	int3
414f49:	cc                   	int3
414f4a:	cc                   	int3
414f4b:	cc                   	int3
414f4c:	cc                   	int3
414f4d:	cc                   	int3
414f4e:	cc                   	int3
414f4f:	cc                   	int3
414f50:	8b ff                	mov    %edi,%edi
414f52:	56                   	push   %esi
414f53:	57                   	push   %edi
414f54:	8b f9                	mov    %ecx,%edi
414f56:	8b 37                	mov    (%edi),%esi
414f58:	8b d6                	mov    %esi,%edx
414f5a:	c1 fa 1f             	sar    $0x1f,%edx
414f5d:	8b c6                	mov    %esi,%eax
414f5f:	81 ca ff ff 00 00    	or     $0xffff,%edx
414f65:	23 d6                	and    %esi,%edx
414f67:	81 ca 00 00 00 80    	or     $0x80000000,%edx
414f6d:	42                   	inc    %edx
414f6e:	f0 0f b1 17          	lock cmpxchg %edx,(%edi)
414f72:	8b d0                	mov    %eax,%edx
414f74:	0f b7 c8             	movzwl %ax,%ecx
414f77:	33 d6                	xor    %esi,%edx
414f79:	0b d1                	or     %ecx,%edx
414f7b:	74 69                	je     0x414fe6
414f7d:	8d 49 00             	lea    0x0(%ecx),%ecx
414f80:	3b c6                	cmp    %esi,%eax
414f82:	74 2c                	je     0x414fb0
414f84:	f3 90                	pause
414f86:	8b 37                	mov    (%edi),%esi
414f88:	8b ce                	mov    %esi,%ecx
414f8a:	c1 f9 1f             	sar    $0x1f,%ecx
414f8d:	8b c6                	mov    %esi,%eax
414f8f:	81 c9 ff ff 00 00    	or     $0xffff,%ecx
414f95:	23 ce                	and    %esi,%ecx
414f97:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
414f9d:	41                   	inc    %ecx
414f9e:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
414fa2:	8b d0                	mov    %eax,%edx
414fa4:	0f b7 c8             	movzwl %ax,%ecx
414fa7:	33 d6                	xor    %esi,%edx
414fa9:	0b d1                	or     %ecx,%edx
414fab:	75 d3                	jne    0x414f80
414fad:	5f                   	pop    %edi
414fae:	5e                   	pop    %esi
414faf:	c3                   	ret
414fb0:	8b c8                	mov    %eax,%ecx
414fb2:	81 e1 00 80 00 80    	and    $0x80008000,%ecx
414fb8:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
414fbe:	75 10                	jne    0x414fd0
414fc0:	c1 e8 10             	shr    $0x10,%eax
414fc3:	8b cf                	mov    %edi,%ecx
414fc5:	25 ff 7f 00 00       	and    $0x7fff,%eax
414fca:	50                   	push   %eax
414fcb:	e8 c0 05 01 00       	call   0x425590
414fd0:	8d 4f 08             	lea    0x8(%edi),%ecx
414fd3:	e8 b8 f7 00 00       	call   0x424790
414fd8:	85 c0                	test   %eax,%eax
414fda:	75 0a                	jne    0x414fe6
414fdc:	6a ff                	push   $0xffffffff
414fde:	8d 4f 08             	lea    0x8(%edi),%ecx
414fe1:	e8 fa fa 00 00       	call   0x424ae0
414fe6:	5f                   	pop    %edi
414fe7:	5e                   	pop    %esi
414fe8:	c3                   	ret
414fe9:	cc                   	int3
414fea:	cc                   	int3
414feb:	cc                   	int3
414fec:	cc                   	int3
414fed:	cc                   	int3
414fee:	cc                   	int3
414fef:	cc                   	int3
414ff0:	8b ff                	mov    %edi,%edi
414ff2:	56                   	push   %esi
414ff3:	57                   	push   %edi
414ff4:	8b f9                	mov    %ecx,%edi
414ff6:	8b 17                	mov    (%edi),%edx
414ff8:	81 e2 ff 7f ff ff    	and    $0xffff7fff,%edx
414ffe:	8d 72 ff             	lea    -0x1(%edx),%esi
415001:	8d 46 ff             	lea    -0x1(%esi),%eax
415004:	25 00 80 ff ff       	and    $0xffff8000,%eax
415009:	c1 e0 10             	shl    $0x10,%eax
41500c:	2b f0                	sub    %eax,%esi
41500e:	8b c2                	mov    %edx,%eax
415010:	8b ce                	mov    %esi,%ecx
415012:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
415016:	3b c2                	cmp    %edx,%eax
415018:	74 33                	je     0x41504d
41501a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
415020:	a9 00 80 00 00       	test   $0x8000,%eax
415025:	75 3b                	jne    0x415062
415027:	f3 90                	pause
415029:	8b 17                	mov    (%edi),%edx
41502b:	81 e2 ff 7f ff ff    	and    $0xffff7fff,%edx
415031:	8d 72 ff             	lea    -0x1(%edx),%esi
415034:	8d 46 ff             	lea    -0x1(%esi),%eax
415037:	25 00 80 ff ff       	and    $0xffff8000,%eax
41503c:	c1 e0 10             	shl    $0x10,%eax
41503f:	2b f0                	sub    %eax,%esi
415041:	8b c2                	mov    %edx,%eax
415043:	8b ce                	mov    %esi,%ecx
415045:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
415049:	3b c2                	cmp    %edx,%eax
41504b:	75 d3                	jne    0x415020
41504d:	f7 c6 ff 7f 00 00    	test   $0x7fff,%esi
415053:	74 0a                	je     0x41505f
415055:	6a 01                	push   $0x1
415057:	8d 4f 08             	lea    0x8(%edi),%ecx
41505a:	e8 e1 fd ff ff       	call   0x414e40
41505f:	5f                   	pop    %edi
415060:	5e                   	pop    %esi
415061:	c3                   	ret
415062:	6a ff                	push   $0xffffffff
415064:	8b cf                	mov    %edi,%ecx
415066:	e8 95 04 01 00       	call   0x425500
41506b:	5f                   	pop    %edi
41506c:	5e                   	pop    %esi
41506d:	c3                   	ret
41506e:	cc                   	int3
41506f:	cc                   	int3
415070:	8b ff                	mov    %edi,%edi
415072:	53                   	push   %ebx
415073:	8b d9                	mov    %ecx,%ebx
415075:	33 c9                	xor    %ecx,%ecx
415077:	56                   	push   %esi
415078:	57                   	push   %edi
415079:	8b 13                	mov    (%ebx),%edx
41507b:	8b c2                	mov    %edx,%eax
41507d:	25 00 80 00 80       	and    $0x80008000,%eax
415082:	3d 00 00 00 80       	cmp    $0x80000000,%eax
415087:	8b c2                	mov    %edx,%eax
415089:	0f 95 c1             	setne  %cl
41508c:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
415091:	81 c1 ff 7f 01 00    	add    $0x17fff,%ecx
415097:	03 c8                	add    %eax,%ecx
415099:	8b c2                	mov    %edx,%eax
41509b:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
41509f:	8b f8                	mov    %eax,%edi
4150a1:	8b f7                	mov    %edi,%esi
4150a3:	8b cf                	mov    %edi,%ecx
4150a5:	33 f2                	xor    %edx,%esi
4150a7:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
4150ad:	0b f1                	or     %ecx,%esi
4150af:	74 6e                	je     0x41511f
4150b1:	3b fa                	cmp    %edx,%edi
4150b3:	74 3d                	je     0x4150f2
4150b5:	f3 90                	pause
4150b7:	8b 13                	mov    (%ebx),%edx
4150b9:	33 c9                	xor    %ecx,%ecx
4150bb:	8b c2                	mov    %edx,%eax
4150bd:	25 00 80 00 80       	and    $0x80008000,%eax
4150c2:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4150c7:	8b c2                	mov    %edx,%eax
4150c9:	0f 95 c1             	setne  %cl
4150cc:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
4150d1:	81 c1 ff 7f 01 00    	add    $0x17fff,%ecx
4150d7:	03 c8                	add    %eax,%ecx
4150d9:	8b c2                	mov    %edx,%eax
4150db:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
4150df:	8b f8                	mov    %eax,%edi
4150e1:	25 00 00 00 80       	and    $0x80000000,%eax
4150e6:	8b cf                	mov    %edi,%ecx
4150e8:	33 ca                	xor    %edx,%ecx
4150ea:	0b c8                	or     %eax,%ecx
4150ec:	75 c3                	jne    0x4150b1
4150ee:	5f                   	pop    %edi
4150ef:	5e                   	pop    %esi
4150f0:	5b                   	pop    %ebx
4150f1:	c3                   	ret
4150f2:	81 e7 00 80 00 80    	and    $0x80008000,%edi
4150f8:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
4150fe:	75 09                	jne    0x415109
415100:	6a 01                	push   $0x1
415102:	8b cb                	mov    %ebx,%ecx
415104:	e8 f7 03 01 00       	call   0x425500
415109:	8d 4b 0c             	lea    0xc(%ebx),%ecx
41510c:	e8 7f f6 00 00       	call   0x424790
415111:	85 c0                	test   %eax,%eax
415113:	75 0a                	jne    0x41511f
415115:	6a ff                	push   $0xffffffff
415117:	8d 4b 0c             	lea    0xc(%ebx),%ecx
41511a:	e8 c1 f9 00 00       	call   0x424ae0
41511f:	5f                   	pop    %edi
415120:	5e                   	pop    %esi
415121:	5b                   	pop    %ebx
415122:	c3                   	ret
415123:	cc                   	int3
415124:	cc                   	int3
415125:	cc                   	int3
415126:	cc                   	int3
415127:	cc                   	int3
415128:	cc                   	int3
415129:	cc                   	int3
41512a:	cc                   	int3
41512b:	cc                   	int3
41512c:	cc                   	int3
41512d:	cc                   	int3
41512e:	cc                   	int3
41512f:	cc                   	int3
415130:	8b ff                	mov    %edi,%edi
415132:	56                   	push   %esi
415133:	57                   	push   %edi
415134:	8b f9                	mov    %ecx,%edi
415136:	8b 37                	mov    (%edi),%esi
415138:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
41513e:	8d 86 00 00 fe ff    	lea    -0x20000(%esi),%eax
415144:	c1 f8 1f             	sar    $0x1f,%eax
415147:	8d 96 00 00 ff ff    	lea    -0x10000(%esi),%edx
41514d:	25 00 80 ff ff       	and    $0xffff8000,%eax
415152:	03 d0                	add    %eax,%edx
415154:	8b c6                	mov    %esi,%eax
415156:	f0 0f b1 17          	lock cmpxchg %edx,(%edi)
41515a:	3b c6                	cmp    %esi,%eax
41515c:	0f 84 a8 00 00 00    	je     0x41520a
415162:	85 c0                	test   %eax,%eax
415164:	78 2d                	js     0x415193
415166:	f3 90                	pause
415168:	8b 17                	mov    (%edi),%edx
41516a:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
415170:	8d 82 00 00 fe ff    	lea    -0x20000(%edx),%eax
415176:	c1 f8 1f             	sar    $0x1f,%eax
415179:	8d 8a 00 00 ff ff    	lea    -0x10000(%edx),%ecx
41517f:	25 00 80 ff ff       	and    $0xffff8000,%eax
415184:	03 c8                	add    %eax,%ecx
415186:	8b c2                	mov    %edx,%eax
415188:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
41518c:	3b c2                	cmp    %edx,%eax
41518e:	75 d2                	jne    0x415162
415190:	5f                   	pop    %edi
415191:	5e                   	pop    %esi
415192:	c3                   	ret
415193:	8d 77 04             	lea    0x4(%edi),%esi
415196:	83 c8 ff             	or     $0xffffffff,%eax
415199:	f0 0f c1 06          	lock xadd %eax,(%esi)
41519d:	83 c0 ff             	add    $0xffffffff,%eax
4151a0:	75 68                	jne    0x41520a
4151a2:	8b 17                	mov    (%edi),%edx
4151a4:	8b ca                	mov    %edx,%ecx
4151a6:	81 e1 00 00 ff 7f    	and    $0x7fff0000,%ecx
4151ac:	8b c2                	mov    %edx,%eax
4151ae:	f7 d9                	neg    %ecx
4151b0:	1b c9                	sbb    %ecx,%ecx
4151b2:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
4151b8:	81 c1 00 80 ff ff    	add    $0xffff8000,%ecx
4151be:	03 ca                	add    %edx,%ecx
4151c0:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
4151c4:	3b c2                	cmp    %edx,%eax
4151c6:	74 28                	je     0x4151f0
4151c8:	f3 90                	pause
4151ca:	8b 17                	mov    (%edi),%edx
4151cc:	8b ca                	mov    %edx,%ecx
4151ce:	81 e1 00 00 ff 7f    	and    $0x7fff0000,%ecx
4151d4:	8b c2                	mov    %edx,%eax
4151d6:	f7 d9                	neg    %ecx
4151d8:	1b c9                	sbb    %ecx,%ecx
4151da:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
4151e0:	81 c1 00 80 ff ff    	add    $0xffff8000,%ecx
4151e6:	03 ca                	add    %edx,%ecx
4151e8:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
4151ec:	3b c2                	cmp    %edx,%eax
4151ee:	75 d8                	jne    0x4151c8
4151f0:	a9 00 00 ff 7f       	test   $0x7fff0000,%eax
4151f5:	74 09                	je     0x415200
4151f7:	b8 01 00 00 00       	mov    $0x1,%eax
4151fc:	f0 0f c1 06          	lock xadd %eax,(%esi)
415200:	6a 01                	push   $0x1
415202:	8d 4f 08             	lea    0x8(%edi),%ecx
415205:	e8 36 fc ff ff       	call   0x414e40
41520a:	5f                   	pop    %edi
41520b:	5e                   	pop    %esi
41520c:	c3                   	ret
41520d:	cc                   	int3
41520e:	cc                   	int3
41520f:	cc                   	int3
415210:	8b ff                	mov    %edi,%edi
415212:	55                   	push   %ebp
415213:	8b ec                	mov    %esp,%ebp
415215:	d1 ea                	shr    $1,%edx
415217:	8b c2                	mov    %edx,%eax
415219:	f7 d8                	neg    %eax
41521b:	1b c0                	sbb    %eax,%eax
41521d:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
415222:	05 57 00 07 80       	add    $0x80070057,%eax
415227:	85 d2                	test   %edx,%edx
415229:	74 0a                	je     0x415235
41522b:	51                   	push   %ecx
41522c:	ff 75 08             	push   0x8(%ebp)
41522f:	51                   	push   %ecx
415230:	e8 7b 00 00 00       	call   0x4152b0
415235:	5d                   	pop    %ebp
415236:	c2 04 00             	ret    $0x4
415239:	cc                   	int3
41523a:	cc                   	int3
41523b:	cc                   	int3
41523c:	cc                   	int3
41523d:	cc                   	int3
41523e:	cc                   	int3
41523f:	cc                   	int3
415240:	8b ff                	mov    %edi,%edi
415242:	55                   	push   %ebp
415243:	8b ec                	mov    %esp,%ebp
415245:	56                   	push   %esi
415246:	8b f2                	mov    %edx,%esi
415248:	d1 ee                	shr    $1,%esi
41524a:	8b c6                	mov    %esi,%eax
41524c:	f7 d8                	neg    %eax
41524e:	57                   	push   %edi
41524f:	1b c0                	sbb    %eax,%eax
415251:	8b f9                	mov    %ecx,%edi
415253:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
415258:	05 57 00 07 80       	add    $0x80070057,%eax
41525d:	85 f6                	test   %esi,%esi
41525f:	74 2c                	je     0x41528d
415261:	8b c6                	mov    %esi,%eax
415263:	66 83 39 00          	cmpw   $0x0,(%ecx)
415267:	74 08                	je     0x415271
415269:	83 c1 02             	add    $0x2,%ecx
41526c:	83 e8 01             	sub    $0x1,%eax
41526f:	75 f2                	jne    0x415263
415271:	8b d0                	mov    %eax,%edx
415273:	8b ce                	mov    %esi,%ecx
415275:	f7 d8                	neg    %eax
415277:	1b c0                	sbb    %eax,%eax
415279:	2b ca                	sub    %edx,%ecx
41527b:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
415280:	05 57 00 07 80       	add    $0x80070057,%eax
415285:	f7 da                	neg    %edx
415287:	1b d2                	sbb    %edx,%edx
415289:	23 d1                	and    %ecx,%edx
41528b:	eb 02                	jmp    0x41528f
41528d:	33 d2                	xor    %edx,%edx
41528f:	85 c0                	test   %eax,%eax
415291:	78 11                	js     0x4152a4
415293:	51                   	push   %ecx
415294:	ff 75 08             	push   0x8(%ebp)
415297:	2b f2                	sub    %edx,%esi
415299:	51                   	push   %ecx
41529a:	8d 0c 57             	lea    (%edi,%edx,2),%ecx
41529d:	8b d6                	mov    %esi,%edx
41529f:	e8 0c 00 00 00       	call   0x4152b0
4152a4:	5f                   	pop    %edi
4152a5:	5e                   	pop    %esi