424eae:	c2 04 00             	ret    $0x4
424eb1:	85 ff                	test   %edi,%edi
424eb3:	74 06                	je     0x424ebb
424eb5:	4f                   	dec    %edi
424eb6:	e9 e4 00 00 00       	jmp    0x424f9f
424ebb:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424ebf:	0f 85 89 00 00 00    	jne    0x424f4e
424ec5:	66 3b da             	cmp    %dx,%bx
424ec8:	75 09                	jne    0x424ed3
424eca:	51                   	push   %ecx
424ecb:	e8 50 f7 ff ff       	call   0x424620
424ed0:	0f b7 d8             	movzwl %ax,%ebx
424ed3:	83 c8 ff             	or     $0xffffffff,%eax
424ed6:	0f b7 d3             	movzwl %bx,%edx
424ed9:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
424edd:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
424ee1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
424ee4:	8b 45 fc             	mov    -0x4(%ebp),%eax
424ee7:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424eeb:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424eee:	0f 85 a1 00 00 00    	jne    0x424f95
424ef4:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
424efa:	8d 3c 52             	lea    (%edx,%edx,2),%edi
424efd:	ff 75 08             	push   0x8(%ebp)
424f00:	c1 e7 02             	shl    $0x2,%edi
424f03:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
424f06:	e8 d5 07 00 00       	call   0x4256e0
424f0b:	85 c0                	test   %eax,%eax
424f0d:	0f 85 26 01 00 00    	jne    0x425039
424f13:	8b 06                	mov    (%esi),%eax
424f15:	89 45 fc             	mov    %eax,-0x4(%ebp)
424f18:	0f b7 06             	movzwl (%esi),%eax
424f1b:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
424f1f:	0f b7 46 02          	movzwl 0x2(%esi),%eax
424f23:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424f27:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424f2b:	0f 8d ba 00 00 00    	jge    0x424feb
424f31:	66 39 5d fc          	cmp    %bx,-0x4(%ebp)
424f35:	0f 85 b0 00 00 00    	jne    0x424feb
424f3b:	66 83 7d fe ff       	cmpw   $0xffff,-0x2(%ebp)
424f40:	75 64                	jne    0x424fa6
424f42:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
424f49:	8b 4d f0             	mov    -0x10(%ebp),%ecx
424f4c:	eb 6d                	jmp    0x424fbb
424f4e:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
424f52:	8b d1                	mov    %ecx,%edx
424f54:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
424f57:	a1 e8 12 45 00       	mov    0x4512e8,%eax
424f5c:	8d 04 88             	lea    (%eax,%ecx,4),%eax
424f5f:	83 c0 04             	add    $0x4,%eax
424f62:	f0 0f c1 10          	lock xadd %edx,(%eax)
424f66:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
424f6a:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
424f6e:	66 48                	dec    %ax
424f70:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
424f74:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
424f78:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424f7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
424f7e:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424f82:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424f85:	0f 84 d3 00 00 00    	je     0x42505e
424f8b:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
424f8f:	50                   	push   %eax
424f90:	e8 4b f7 ff ff       	call   0x4246e0
424f95:	ba ff ff 00 00       	mov    $0xffff,%edx
424f9a:	b9 01 00 00 00       	mov    $0x1,%ecx
424f9f:	f3 90                	pause
424fa1:	e9 ba fe ff ff       	jmp    0x424e60
424fa6:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
424faa:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
424fae:	66 40                	inc    %ax
424fb0:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
424fb4:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
424fb8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424fbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
424fbe:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424fc2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424fc5:	0f 84 82 00 00 00    	je     0x42504d
424fcb:	f3 90                	pause
424fcd:	8b 06                	mov    (%esi),%eax
424fcf:	89 45 fc             	mov    %eax,-0x4(%ebp)
424fd2:	0f b7 06             	movzwl (%esi),%eax
424fd5:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
424fd9:	0f b7 46 02          	movzwl 0x2(%esi),%eax
424fdd:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424fe1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424fe5:	0f 8c 46 ff ff ff    	jl     0x424f31
424feb:	03 3d e8 12 45 00    	add    0x4512e8,%edi
424ff1:	b8 01 00 00 00       	mov    $0x1,%eax
424ff6:	b9 20 11 45 00       	mov    $0x451120,%ecx
424ffb:	f0 0f c1 01          	lock xadd %eax,(%ecx)
424fff:	8b 35 0c f0 44 00    	mov    0x44f00c,%esi
425005:	8b ce                	mov    %esi,%ecx
425007:	ff 15 84 23 45 00    	call   *0x452384
42500d:	ff d6                	call   *%esi
42500f:	6a 00                	push   $0x0
425011:	6a ff                	push   $0xffffffff
425013:	ff 37                	push   (%edi)
425015:	ff 15 24 22 45 00    	call   *0x452224
42501b:	8b 35 08 f0 44 00    	mov    0x44f008,%esi
425021:	8b ce                	mov    %esi,%ecx
425023:	ff 15 84 23 45 00    	call   *0x452384
425029:	ff d6                	call   *%esi
42502b:	b9 e4 11 45 00       	mov    $0x4511e4,%ecx
425030:	b8 01 00 00 00       	mov    $0x1,%eax
425035:	f0 0f c1 01          	lock xadd %eax,(%ecx)
425039:	53                   	push   %ebx
42503a:	e8 a1 f6 ff ff       	call   0x4246e0
42503f:	5f                   	pop    %edi
425040:	5e                   	pop    %esi
425041:	b8 01 00 00 00       	mov    $0x1,%eax
425046:	5b                   	pop    %ebx
425047:	8b e5                	mov    %ebp,%esp
425049:	5d                   	pop    %ebp
42504a:	c2 04 00             	ret    $0x4
42504d:	53                   	push   %ebx
42504e:	e8 8d f6 ff ff       	call   0x4246e0
425053:	5f                   	pop    %edi
425054:	5e                   	pop    %esi
425055:	33 c0                	xor    %eax,%eax
425057:	5b                   	pop    %ebx
425058:	8b e5                	mov    %ebp,%esp
42505a:	5d                   	pop    %ebp
42505b:	c2 04 00             	ret    $0x4
42505e:	b8 ff ff 00 00       	mov    $0xffff,%eax
425063:	66 3b d8             	cmp    %ax,%bx
425066:	74 06                	je     0x42506e
425068:	53                   	push   %ebx
425069:	e8 72 f6 ff ff       	call   0x4246e0
42506e:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
425072:	ff 75 08             	push   0x8(%ebp)
425075:	0f b7 c0             	movzwl %ax,%eax
425078:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
42507b:	a1 e8 12 45 00       	mov    0x4512e8,%eax
425080:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
425083:	e8 58 06 00 00       	call   0x4256e0
425088:	85 c0                	test   %eax,%eax
42508a:	0f 85 d8 00 00 00    	jne    0x425168
425090:	8b 06                	mov    (%esi),%eax
425092:	89 45 f8             	mov    %eax,-0x8(%ebp)
425095:	0f b7 06             	movzwl (%esi),%eax
425098:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
42509c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4250a0:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
4250a4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4250a8:	7d 67                	jge    0x425111
4250aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4250b0:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
4250b4:	0f b7 c0             	movzwl %ax,%eax
4250b7:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4250bb:	75 54                	jne    0x425111
4250bd:	66 83 7d fa ff       	cmpw   $0xffff,-0x6(%ebp)
4250c2:	75 0c                	jne    0x4250d0
4250c4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4250cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4250ce:	eb 15                	jmp    0x4250e5
4250d0:	0f b7 4d f8          	movzwl -0x8(%ebp),%ecx
4250d4:	0f b7 45 fa          	movzwl -0x6(%ebp),%eax
4250d8:	66 40                	inc    %ax
4250da:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
4250de:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
4250e2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4250e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4250e8:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
4250ec:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4250ef:	0f 84 8b 00 00 00    	je     0x425180
4250f5:	f3 90                	pause
4250f7:	8b 06                	mov    (%esi),%eax
4250f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4250fc:	0f b7 06             	movzwl (%esi),%eax
4250ff:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
425103:	0f b7 46 02          	movzwl 0x2(%esi),%eax
425107:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
42510b:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
42510f:	7c 9f                	jl     0x4250b0
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