425111:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
425115:	bb 01 00 00 00       	mov    $0x1,%ebx
42511a:	0f b7 c0             	movzwl %ax,%eax
42511d:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
425120:	a1 e8 12 45 00       	mov    0x4512e8,%eax
425125:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
425128:	8b c3                	mov    %ebx,%eax
42512a:	b9 20 11 45 00       	mov    $0x451120,%ecx
42512f:	f0 0f c1 01          	lock xadd %eax,(%ecx)
425133:	8b 35 0c f0 44 00    	mov    0x44f00c,%esi
425139:	8b ce                	mov    %esi,%ecx
42513b:	ff 15 84 23 45 00    	call   *0x452384
425141:	ff d6                	call   *%esi
425143:	6a 00                	push   $0x0
425145:	6a ff                	push   $0xffffffff
425147:	ff 37                	push   (%edi)
425149:	ff 15 24 22 45 00    	call   *0x452224
42514f:	8b 35 08 f0 44 00    	mov    0x44f008,%esi
425155:	8b ce                	mov    %esi,%ecx
425157:	ff 15 84 23 45 00    	call   *0x452384
42515d:	ff d6                	call   *%esi
42515f:	b8 e4 11 45 00       	mov    $0x4511e4,%eax
425164:	f0 0f c1 18          	lock xadd %ebx,(%eax)
425168:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
42516c:	50                   	push   %eax
42516d:	e8 6e f5 ff ff       	call   0x4246e0
425172:	5f                   	pop    %edi
425173:	5e                   	pop    %esi
425174:	b8 01 00 00 00       	mov    $0x1,%eax
425179:	5b                   	pop    %ebx
42517a:	8b e5                	mov    %ebp,%esp
42517c:	5d                   	pop    %ebp
42517d:	c2 04 00             	ret    $0x4
425180:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
425184:	50                   	push   %eax
425185:	e8 56 f5 ff ff       	call   0x4246e0
42518a:	5f                   	pop    %edi
42518b:	5e                   	pop    %esi
42518c:	33 c0                	xor    %eax,%eax
42518e:	5b                   	pop    %ebx
42518f:	8b e5                	mov    %ebp,%esp
425191:	5d                   	pop    %ebp
425192:	c2 04 00             	ret    $0x4
425195:	cc                   	int3
425196:	cc                   	int3
425197:	cc                   	int3
425198:	cc                   	int3
425199:	cc                   	int3
42519a:	cc                   	int3
42519b:	cc                   	int3
42519c:	cc                   	int3
42519d:	cc                   	int3
42519e:	cc                   	int3
42519f:	cc                   	int3
4251a0:	8b ff                	mov    %edi,%edi
4251a2:	55                   	push   %ebp
4251a3:	8b ec                	mov    %esp,%ebp
4251a5:	83 ec 10             	sub    $0x10,%esp
4251a8:	53                   	push   %ebx
4251a9:	56                   	push   %esi
4251aa:	8b f1                	mov    %ecx,%esi
4251ac:	bb ff ff 00 00       	mov    $0xffff,%ebx
4251b1:	57                   	push   %edi
4251b2:	8b 3d e0 11 45 00    	mov    0x4511e0,%edi
4251b8:	8b 06                	mov    (%esi),%eax
4251ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
4251bd:	0f b7 06             	movzwl (%esi),%eax
4251c0:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4251c4:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4251c8:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4251cc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4251d0:	0f 8f 01 03 00 00    	jg     0x4254d7
4251d6:	8b d3                	mov    %ebx,%edx
4251d8:	b9 01 00 00 00       	mov    $0x1,%ecx
4251dd:	83 c8 ff             	or     $0xffffffff,%eax
4251e0:	85 ff                	test   %edi,%edi
4251e2:	74 06                	je     0x4251ea
4251e4:	4f                   	dec    %edi
4251e5:	e9 eb 00 00 00       	jmp    0x4252d5
4251ea:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4251ee:	0f 85 90 00 00 00    	jne    0x425284
4251f4:	66 3b da             	cmp    %dx,%bx
4251f7:	75 0c                	jne    0x425205
4251f9:	51                   	push   %ecx
4251fa:	e8 21 f4 ff ff       	call   0x424620
4251ff:	0f b7 d8             	movzwl %ax,%ebx
425202:	83 c8 ff             	or     $0xffffffff,%eax
425205:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
425209:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
42520d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
425210:	8b 45 fc             	mov    -0x4(%ebp),%eax
425213:	0f b7 d3             	movzwl %bx,%edx
425216:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
42521a:	3b 45 fc             	cmp    -0x4(%ebp),%eax
42521d:	0f 85 a8 00 00 00    	jne    0x4252cb
425223:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
425229:	8d 3c 52             	lea    (%edx,%edx,2),%edi
42522c:	c1 e7 02             	shl    $0x2,%edi
42522f:	6a ff                	push   $0xffffffff
425231:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
425234:	e8 a7 04 00 00       	call   0x4256e0
425239:	85 c0                	test   %eax,%eax
42523b:	0f 85 bd 00 00 00    	jne    0x4252fe
425241:	8b 06                	mov    (%esi),%eax
425243:	89 45 fc             	mov    %eax,-0x4(%ebp)
425246:	0f b7 06             	movzwl (%esi),%eax
425249:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
42524d:	0f b7 46 02          	movzwl 0x2(%esi),%eax
425251:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
425255:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
425259:	0f 8d f8 00 00 00    	jge    0x425357
42525f:	90                   	nop
425260:	66 39 5d fc          	cmp    %bx,-0x4(%ebp)
425264:	0f 85 ed 00 00 00    	jne    0x425357
42526a:	66 83 7d fe ff       	cmpw   $0xffff,-0x2(%ebp)
42526f:	0f 85 9d 00 00 00    	jne    0x425312
425275:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
42527c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42527f:	e9 a3 00 00 00       	jmp    0x425327
425284:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
425288:	8b d1                	mov    %ecx,%edx
42528a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
42528d:	a1 e8 12 45 00       	mov    0x4512e8,%eax
425292:	8d 04 88             	lea    (%eax,%ecx,4),%eax
425295:	83 c0 04             	add    $0x4,%eax
425298:	f0 0f c1 10          	lock xadd %edx,(%eax)
42529c:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
4252a0:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
4252a4:	66 48                	dec    %ax
4252a6:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
4252aa:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
4252ae:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4252b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4252b4:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
4252b8:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4252bb:	0f 84 09 01 00 00    	je     0x4253ca
4252c1:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
4252c5:	50                   	push   %eax
4252c6:	e8 15 f4 ff ff       	call   0x4246e0
4252cb:	ba ff ff 00 00       	mov    $0xffff,%edx
4252d0:	b9 01 00 00 00       	mov    $0x1,%ecx
4252d5:	f3 90                	pause
4252d7:	8b 06                	mov    (%esi),%eax
4252d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4252dc:	0f b7 06             	movzwl (%esi),%eax
4252df:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4252e3:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4252e7:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4252eb:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4252ef:	0f 8e e8 fe ff ff    	jle    0x4251dd
4252f5:	66 3b da             	cmp    %dx,%bx
4252f8:	0f 84 d9 01 00 00    	je     0x4254d7
4252fe:	53                   	push   %ebx
4252ff:	e8 dc f3 ff ff       	call   0x4246e0
425304:	5f                   	pop    %edi
425305:	5e                   	pop    %esi
425306:	b8 01 00 00 00       	mov    $0x1,%eax
42530b:	5b                   	pop    %ebx
42530c:	8b e5                	mov    %ebp,%esp
42530e:	5d                   	pop    %ebp
42530f:	c2 04 00             	ret    $0x4
425312:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
425316:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
42531a:	66 40                	inc    %ax
42531c:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
425320:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
425324:	8b 4d f4             	mov    -0xc(%ebp),%ecx
425327:	8b 45 fc             	mov    -0x4(%ebp),%eax
42532a:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
42532e:	3b 45 fc             	cmp    -0x4(%ebp),%eax
425331:	0f 84 82 00 00 00    	je     0x4253b9
425337:	f3 90                	pause
425339:	8b 06                	mov    (%esi),%eax
42533b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42533e:	0f b7 06             	movzwl (%esi),%eax
425341:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
425345:	0f b7 46 02          	movzwl 0x2(%esi),%eax
425349:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
42534d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
425351:	0f 8c 09 ff ff ff    	jl     0x425260
425357:	03 3d e8 12 45 00    	add    0x4512e8,%edi
42535d:	b8 01 00 00 00       	mov    $0x1,%eax
425362:	b9 20 11 45 00       	mov    $0x451120,%ecx
425367:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42536b:	8b 35 0c f0 44 00    	mov    0x44f00c,%esi
425371:	8b ce                	mov    %esi,%ecx
425373:	ff 15 84 23 45 00    	call   *0x452384
425379:	ff d6                	call   *%esi
42537b:	6a 00                	push   $0x0
42537d:	6a ff                	push   $0xffffffff
42537f:	ff 37                	push   (%edi)
425381:	ff 15 24 22 45 00    	call   *0x452224
425387:	8b 35 08 f0 44 00    	mov    0x44f008,%esi
42538d:	8b ce                	mov    %esi,%ecx
42538f:	ff 15 84 23 45 00    	call   *0x452384
425395:	ff d6                	call   *%esi
425397:	b9 e4 11 45 00       	mov    $0x4511e4,%ecx
42539c:	b8 01 00 00 00       	mov    $0x1,%eax
4253a1:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4253a5:	53                   	push   %ebx
4253a6:	e8 35 f3 ff ff       	call   0x4246e0
4253ab:	5f                   	pop    %edi
4253ac:	5e                   	pop    %esi
4253ad:	b8 01 00 00 00       	mov    $0x1,%eax
4253b2:	5b                   	pop    %ebx
4253b3:	8b e5                	mov    %ebp,%esp
4253b5:	5d                   	pop    %ebp
4253b6:	c2 04 00             	ret    $0x4
4253b9:	53                   	push   %ebx
4253ba:	e8 21 f3 ff ff       	call   0x4246e0
4253bf:	5f                   	pop    %edi
4253c0:	5e                   	pop    %esi
4253c1:	33 c0                	xor    %eax,%eax
4253c3:	5b                   	pop    %ebx
4253c4:	8b e5                	mov    %ebp,%esp
4253c6:	5d                   	pop    %ebp
4253c7:	c2 04 00             	ret    $0x4
4253ca:	b8 ff ff 00 00       	mov    $0xffff,%eax
4253cf:	66 3b d8             	cmp    %ax,%bx
4253d2:	74 06                	je     0x4253da
4253d4:	53                   	push   %ebx
4253d5:	e8 06 f3 ff ff       	call   0x4246e0
4253da:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
4253de:	0f b7 c0             	movzwl %ax,%eax
4253e1:	6a ff                	push   $0xffffffff
4253e3:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4253e6:	a1 e8 12 45 00       	mov    0x4512e8,%eax
4253eb:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4253ee:	e8 ed 02 00 00       	call   0x4256e0
4253f3:	85 c0                	test   %eax,%eax
4253f5:	0f 85 d2 00 00 00    	jne    0x4254cd
4253fb:	8b 06                	mov    (%esi),%eax
4253fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
425400:	0f b7 06             	movzwl (%esi),%eax
425403:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
425407:	0f b7 46 02          	movzwl 0x2(%esi),%eax
42540b:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
42540f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
425413:	7d 61                	jge    0x425476
425415:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
425419:	0f b7 c0             	movzwl %ax,%eax
42541c:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
425420:	75 54                	jne    0x425476
425422:	66 83 7d fa ff       	cmpw   $0xffff,-0x6(%ebp)
425427:	75 0c                	jne    0x425435
425429:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
425430:	8b 4d f0             	mov    -0x10(%ebp),%ecx
425433:	eb 15                	jmp    0x42544a
425435:	0f b7 4d f8          	movzwl -0x8(%ebp),%ecx
425439:	0f b7 45 fa          	movzwl -0x6(%ebp),%eax
42543d:	66 40                	inc    %ax
42543f:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
425443:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
425447:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42544a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42544d:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
425451:	3b 45 f8             	cmp    -0x8(%ebp),%eax
425454:	0f 84 8b 00 00 00    	je     0x4254e5
42545a:	f3 90                	pause
42545c:	8b 06                	mov    (%esi),%eax
42545e:	89 45 f8             	mov    %eax,-0x8(%ebp)
425461:	0f b7 06             	movzwl (%esi),%eax
425464:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
425468:	0f b7 46 02          	movzwl 0x2(%esi),%eax
42546c:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
425470:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
425474:	7c 9f                	jl     0x425415
425476:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
42547a:	bb 01 00 00 00       	mov    $0x1,%ebx
42547f:	0f b7 c0             	movzwl %ax,%eax
425482:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
425485:	a1 e8 12 45 00       	mov    0x4512e8,%eax
42548a:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
42548d:	8b c3                	mov    %ebx,%eax
42548f:	b9 20 11 45 00       	mov    $0x451120,%ecx
425494:	f0 0f c1 01          	lock xadd %eax,(%ecx)
425498:	8b 35 0c f0 44 00    	mov    0x44f00c,%esi
42549e:	8b ce                	mov    %esi,%ecx
4254a0:	ff 15 84 23 45 00    	call   *0x452384
4254a6:	ff d6                	call   *%esi
4254a8:	6a 00                	push   $0x0
4254aa:	6a ff                	push   $0xffffffff
4254ac:	ff 37                	push   (%edi)
4254ae:	ff 15 24 22 45 00    	call   *0x452224
4254b4:	8b 35 08 f0 44 00    	mov    0x44f008,%esi
4254ba:	8b ce                	mov    %esi,%ecx
4254bc:	ff 15 84 23 45 00    	call   *0x452384
4254c2:	ff d6                	call   *%esi
4254c4:	b8 e4 11 45 00       	mov    $0x4511e4,%eax
4254c9:	f0 0f c1 18          	lock xadd %ebx,(%eax)
4254cd:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
4254d1:	50                   	push   %eax
4254d2:	e8 09 f2 ff ff       	call   0x4246e0
4254d7:	5f                   	pop    %edi
4254d8:	5e                   	pop    %esi
4254d9:	b8 01 00 00 00       	mov    $0x1,%eax
4254de:	5b                   	pop    %ebx
4254df:	8b e5                	mov    %ebp,%esp
4254e1:	5d                   	pop    %ebp
4254e2:	c2 04 00             	ret    $0x4
4254e5:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
4254e9:	50                   	push   %eax
4254ea:	e8 f1 f1 ff ff       	call   0x4246e0
4254ef:	5f                   	pop    %edi
4254f0:	5e                   	pop    %esi
4254f1:	33 c0                	xor    %eax,%eax
4254f3:	5b                   	pop    %ebx
4254f4:	8b e5                	mov    %ebp,%esp
4254f6:	5d                   	pop    %ebp
4254f7:	c2 04 00             	ret    $0x4
4254fa:	cc                   	int3
4254fb:	cc                   	int3
4254fc:	cc                   	int3
4254fd:	cc                   	int3
4254fe:	cc                   	int3
4254ff:	cc                   	int3
425500:	8b ff                	mov    %edi,%edi
425502:	55                   	push   %ebp
425503:	8b ec                	mov    %esp,%ebp
425505:	8b 45 08             	mov    0x8(%ebp),%eax
425508:	56                   	push   %esi
425509:	8b f1                	mov    %ecx,%esi
42550b:	57                   	push   %edi
42550c:	8d 7e 04             	lea    0x4(%esi),%edi
42550f:	f0 0f c1 07          	lock xadd %eax,(%edi)
425513:	03 45 08             	add    0x8(%ebp),%eax
425516:	75 71                	jne    0x425589
425518:	8b 16                	mov    (%esi),%edx
42551a:	8b c2                	mov    %edx,%eax
42551c:	8d 8a ff 7f 00 00    	lea    0x7fff(%edx),%ecx
425522:	c1 e1 10             	shl    $0x10,%ecx
425525:	c1 f9 1f             	sar    $0x1f,%ecx
425528:	81 e1 00 00 ff ff    	and    $0xffff0000,%ecx
42552e:	81 f1 ff ff 00 80    	xor    $0x8000ffff,%ecx
425534:	23 ca                	and    %edx,%ecx
425536:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
42553a:	3b c2                	cmp    %edx,%eax
42553c:	74 2a                	je     0x425568
42553e:	8b ff                	mov    %edi,%edi
425540:	f3 90                	pause
425542:	8b 16                	mov    (%esi),%edx
425544:	8b c2                	mov    %edx,%eax
425546:	8d 8a ff 7f 00 00    	lea    0x7fff(%edx),%ecx
42554c:	c1 e1 10             	shl    $0x10,%ecx
42554f:	c1 f9 1f             	sar    $0x1f,%ecx
425552:	81 e1 00 00 ff ff    	and    $0xffff0000,%ecx
425558:	81 f1 ff ff 00 80    	xor    $0x8000ffff,%ecx
42555e:	23 ca                	and    %edx,%ecx
425560:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
425564:	3b c2                	cmp    %edx,%eax