42483e:	85 d2                	test   %edx,%edx
424840:	74 03                	je     0x424845
424842:	c6 07 00             	movb   $0x0,(%edi)
424845:	5f                   	pop    %edi
424846:	5d                   	pop    %ebp
424847:	c2 08 00             	ret    $0x8
42484a:	cc                   	int3
42484b:	cc                   	int3
42484c:	cc                   	int3
42484d:	cc                   	int3
42484e:	cc                   	int3
42484f:	cc                   	int3
424850:	8b ff                	mov    %edi,%edi
424852:	55                   	push   %ebp
424853:	8b ec                	mov    %esp,%ebp
424855:	51                   	push   %ecx
424856:	83 3d e8 12 45 00 00 	cmpl   $0x0,0x4512e8
42485d:	0f 84 ba 00 00 00    	je     0x42491d
424863:	57                   	push   %edi
424864:	8b 3d ec 12 45 00    	mov    0x4512ec,%edi
42486a:	a1 ec 12 45 00       	mov    0x4512ec,%eax
42486f:	83 e8 01             	sub    $0x1,%eax
424872:	89 7d fc             	mov    %edi,-0x4(%ebp)
424875:	a3 ec 12 45 00       	mov    %eax,0x4512ec
42487a:	78 6b                	js     0x4248e7
42487c:	53                   	push   %ebx
42487d:	bb 00 80 00 00       	mov    $0x8000,%ebx
424882:	56                   	push   %esi
424883:	8d 7b ff             	lea    -0x1(%ebx),%edi
424886:	a1 ec 12 45 00       	mov    0x4512ec,%eax
42488b:	6a 00                	push   $0x0
42488d:	6a 02                	push   $0x2
42488f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
424892:	a1 e8 12 45 00       	mov    0x4512e8,%eax
424897:	ff 34 88             	push   (%eax,%ecx,4)
42489a:	8d 34 88             	lea    (%eax,%ecx,4),%esi
42489d:	ff 15 0c 21 45 00    	call   *0x45210c
4248a3:	ff 36                	push   (%esi)
4248a5:	ff 15 10 21 45 00    	call   *0x452110
4248ab:	0f b7 46 04          	movzwl 0x4(%esi),%eax
4248af:	66 23 c3             	and    %bx,%ax
4248b2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4248b8:	66 89 46 04          	mov    %ax,0x4(%esi)
4248bc:	0f b7 46 04          	movzwl 0x4(%esi),%eax
4248c0:	66 23 c7             	and    %di,%ax
4248c3:	66 89 46 04          	mov    %ax,0x4(%esi)
4248c7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4248ce:	a1 ec 12 45 00       	mov    0x4512ec,%eax
4248d3:	a1 ec 12 45 00       	mov    0x4512ec,%eax
4248d8:	83 e8 01             	sub    $0x1,%eax
4248db:	a3 ec 12 45 00       	mov    %eax,0x4512ec
4248e0:	79 a4                	jns    0x424886
4248e2:	8b 7d fc             	mov    -0x4(%ebp),%edi
4248e5:	5e                   	pop    %esi
4248e6:	5b                   	pop    %ebx
4248e7:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
4248ed:	85 c9                	test   %ecx,%ecx
4248ef:	74 19                	je     0x42490a
4248f1:	68 00 40 00 00       	push   $0x4000
4248f6:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4248f9:	c1 e0 02             	shl    $0x2,%eax
4248fc:	50                   	push   %eax
4248fd:	51                   	push   %ecx
4248fe:	ff 15 84 21 45 00    	call   *0x452184
424904:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
42490a:	5f                   	pop    %edi
42490b:	85 c9                	test   %ecx,%ecx
42490d:	74 0e                	je     0x42491d
42490f:	68 00 80 00 00       	push   $0x8000
424914:	6a 00                	push   $0x0
424916:	51                   	push   %ecx
424917:	ff 15 84 21 45 00    	call   *0x452184
42491d:	c7 05 e8 12 45 00 00 	movl   $0x0,0x4512e8
424924:	00 00 00
424927:	c7 05 ec 12 45 00 00 	movl   $0x0,0x4512ec
42492e:	00 00 00
424931:	8b e5                	mov    %ebp,%esp
424933:	5d                   	pop    %ebp
424934:	c3                   	ret
424935:	cc                   	int3
424936:	cc                   	int3
424937:	cc                   	int3
424938:	cc                   	int3
424939:	cc                   	int3
42493a:	cc                   	int3
42493b:	cc                   	int3
42493c:	cc                   	int3
42493d:	cc                   	int3
42493e:	cc                   	int3
42493f:	cc                   	int3
424940:	8b ff                	mov    %edi,%edi
424942:	55                   	push   %ebp
424943:	8b ec                	mov    %esp,%ebp
424945:	83 ec 08             	sub    $0x8,%esp
424948:	53                   	push   %ebx
424949:	57                   	push   %edi
42494a:	b8 01 00 00 00       	mov    $0x1,%eax
42494f:	b9 ec 12 45 00       	mov    $0x4512ec,%ecx
424954:	f0 0f c1 01          	lock xadd %eax,(%ecx)
424958:	0f b7 d8             	movzwl %ax,%ebx
42495b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42495e:	ff 15 54 22 45 00    	call   *0x452254
424964:	8b f8                	mov    %eax,%edi
424966:	56                   	push   %esi
424967:	eb 07                	jmp    0x424970
424969:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
424970:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
424976:	85 c9                	test   %ecx,%ecx
424978:	75 04                	jne    0x42497e
42497a:	33 f6                	xor    %esi,%esi
42497c:	eb 21                	jmp    0x42499f
42497e:	0f b7 c3             	movzwl %bx,%eax
424981:	40                   	inc    %eax
424982:	6a 04                	push   $0x4
424984:	68 00 10 00 00       	push   $0x1000
424989:	8d 04 40             	lea    (%eax,%eax,2),%eax
42498c:	c1 e0 02             	shl    $0x2,%eax
42498f:	50                   	push   %eax
424990:	51                   	push   %ecx
424991:	ff 15 8c 21 45 00    	call   *0x45218c
424997:	8b f0                	mov    %eax,%esi
424999:	f7 de                	neg    %esi
42499b:	1b f6                	sbb    %esi,%esi
42499d:	f7 de                	neg    %esi
42499f:	ff 15 54 22 45 00    	call   *0x452254
4249a5:	2b c7                	sub    %edi,%eax
4249a7:	85 f6                	test   %esi,%esi
4249a9:	75 1c                	jne    0x4249c7
4249ab:	3d 20 bf 02 00       	cmp    $0x2bf20,%eax
4249b0:	72 be                	jb     0x424970
4249b2:	68 1e 01 00 00       	push   $0x11e
4249b7:	68 80 07 41 00       	push   $0x410780
4249bc:	68 a4 07 41 00       	push   $0x4107a4
4249c1:	56                   	push   %esi
4249c2:	e8 49 3c 00 00       	call   0x428610
4249c7:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
4249cd:	ba 00 80 00 00       	mov    $0x8000,%edx
4249d2:	0f b7 c3             	movzwl %bx,%eax
4249d5:	8d 1c 40             	lea    (%eax,%eax,2),%ebx
4249d8:	c1 e3 02             	shl    $0x2,%ebx
4249db:	03 cb                	add    %ebx,%ecx
4249dd:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4249e1:	66 23 c2             	and    %dx,%ax
4249e4:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4249ea:	66 89 41 04          	mov    %ax,0x4(%ecx)
4249ee:	ba ff 7f 00 00       	mov    $0x7fff,%edx
4249f3:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4249f7:	66 23 c2             	and    %dx,%ax
4249fa:	66 89 41 04          	mov    %ax,0x4(%ecx)
4249fe:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
424a05:	ff 15 54 22 45 00    	call   *0x452254
424a0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
424a0e:	8b ff                	mov    %edi,%edi
424a10:	8b 3d e8 12 45 00    	mov    0x4512e8,%edi
424a16:	b9 00 80 00 00       	mov    $0x8000,%ecx
424a1b:	03 fb                	add    %ebx,%edi
424a1d:	0f b7 47 04          	movzwl 0x4(%edi),%eax
424a21:	66 23 c1             	and    %cx,%ax
424a24:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
424a29:	66 89 47 04          	mov    %ax,0x4(%edi)
424a2d:	0f b7 47 04          	movzwl 0x4(%edi),%eax
424a31:	8b 35 28 1a 45 00    	mov    0x451a28,%esi
424a37:	66 23 c1             	and    %cx,%ax
424a3a:	66 89 47 04          	mov    %ax,0x4(%edi)
424a3e:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
424a45:	85 f6                	test   %esi,%esi
424a47:	74 19                	je     0x424a62
424a49:	6a 00                	push   $0x0
424a4b:	68 ff ff ff 7f       	push   $0x7fffffff
424a50:	6a 00                	push   $0x0
424a52:	6a 00                	push   $0x0
424a54:	8b ce                	mov    %esi,%ecx
424a56:	ff 15 84 23 45 00    	call   *0x452384
424a5c:	ff d6                	call   *%esi
424a5e:	8b f0                	mov    %eax,%esi
424a60:	eb 2c                	jmp    0x424a8e
424a62:	8b 35 2c 1a 45 00    	mov    0x451a2c,%esi
424a68:	85 f6                	test   %esi,%esi
424a6a:	74 20                	je     0x424a8c
424a6c:	68 03 00 1f 00       	push   $0x1f0003
424a71:	6a 00                	push   $0x0
424a73:	6a 00                	push   $0x0
424a75:	68 ff ff ff 7f       	push   $0x7fffffff
424a7a:	6a 00                	push   $0x0
424a7c:	6a 00                	push   $0x0
424a7e:	8b ce                	mov    %esi,%ecx
424a80:	ff 15 84 23 45 00    	call   *0x452384
424a86:	ff d6                	call   *%esi
424a88:	8b f0                	mov    %eax,%esi
424a8a:	eb 02                	jmp    0x424a8e
424a8c:	33 f6                	xor    %esi,%esi
424a8e:	89 37                	mov    %esi,(%edi)
424a90:	85 f6                	test   %esi,%esi
424a92:	74 0d                	je     0x424aa1
424a94:	6a 02                	push   $0x2
424a96:	6a 02                	push   $0x2
424a98:	56                   	push   %esi
424a99:	ff 15 0c 21 45 00    	call   *0x45210c
424a9f:	8b 37                	mov    (%edi),%esi
424aa1:	ff 15 54 22 45 00    	call   *0x452254
424aa7:	2b 45 fc             	sub    -0x4(%ebp),%eax
424aaa:	85 f6                	test   %esi,%esi
424aac:	75 0d                	jne    0x424abb
424aae:	3d 20 bf 02 00       	cmp    $0x2bf20,%eax
424ab3:	0f 82 57 ff ff ff    	jb     0x424a10
424ab9:	85 f6                	test   %esi,%esi
424abb:	8b 5d f8             	mov    -0x8(%ebp),%ebx
424abe:	5e                   	pop    %esi
424abf:	75 16                	jne    0x424ad7
424ac1:	68 30 01 00 00       	push   $0x130
424ac6:	68 80 07 41 00       	push   $0x410780
424acb:	68 a4 07 41 00       	push   $0x4107a4
424ad0:	6a 00                	push   $0x0
424ad2:	e8 39 3b 00 00       	call   0x428610
424ad7:	5f                   	pop    %edi
424ad8:	66 8b c3             	mov    %bx,%ax
424adb:	5b                   	pop    %ebx
424adc:	8b e5                	mov    %ebp,%esp
424ade:	5d                   	pop    %ebp
424adf:	c3                   	ret
424ae0:	8b ff                	mov    %edi,%edi
424ae2:	55                   	push   %ebp
424ae3:	8b ec                	mov    %esp,%ebp
424ae5:	83 ec 10             	sub    $0x10,%esp
424ae8:	53                   	push   %ebx
424ae9:	56                   	push   %esi
424aea:	bb ff ff 00 00       	mov    $0xffff,%ebx
424aef:	8b f1                	mov    %ecx,%esi
424af1:	57                   	push   %edi
424af2:	8b 3d e0 11 45 00    	mov    0x4511e0,%edi
424af8:	8b d3                	mov    %ebx,%edx
424afa:	b9 01 00 00 00       	mov    $0x1,%ecx
424aff:	90                   	nop
424b00:	8b 06                	mov    (%esi),%eax
424b02:	89 45 fc             	mov    %eax,-0x4(%ebp)
424b05:	0f b7 06             	movzwl (%esi),%eax
424b08:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
424b0c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
424b10:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424b14:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424b18:	7e 37                	jle    0x424b51
424b1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
424b1d:	48                   	dec    %eax
424b1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
424b21:	8b 4d f0             	mov    -0x10(%ebp),%ecx
424b24:	8b 45 fc             	mov    -0x4(%ebp),%eax
424b27:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424b2b:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424b2e:	0f 85 06 01 00 00    	jne    0x424c3a
424b34:	66 3b da             	cmp    %dx,%bx
424b37:	0f 84 d5 02 00 00    	je     0x424e12
424b3d:	53                   	push   %ebx
424b3e:	e8 9d fb ff ff       	call   0x4246e0
424b43:	5f                   	pop    %edi
424b44:	5e                   	pop    %esi
424b45:	b8 01 00 00 00       	mov    $0x1,%eax
424b4a:	5b                   	pop    %ebx
424b4b:	8b e5                	mov    %ebp,%esp
424b4d:	5d                   	pop    %ebp
424b4e:	c2 04 00             	ret    $0x4
424b51:	85 ff                	test   %edi,%edi
424b53:	74 06                	je     0x424b5b
424b55:	4f                   	dec    %edi
424b56:	e9 e4 00 00 00       	jmp    0x424c3f
424b5b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424b5f:	0f 85 89 00 00 00    	jne    0x424bee
424b65:	66 3b da             	cmp    %dx,%bx
424b68:	75 09                	jne    0x424b73
424b6a:	51                   	push   %ecx
424b6b:	e8 b0 fa ff ff       	call   0x424620
424b70:	0f b7 d8             	movzwl %ax,%ebx
424b73:	83 c8 ff             	or     $0xffffffff,%eax
424b76:	0f b7 d3             	movzwl %bx,%edx
424b79:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
424b7d:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
424b81:	8b 4d f8             	mov    -0x8(%ebp),%ecx
424b84:	8b 45 fc             	mov    -0x4(%ebp),%eax
424b87:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424b8b:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424b8e:	0f 85 a1 00 00 00    	jne    0x424c35
424b94:	8b 0d e8 12 45 00    	mov    0x4512e8,%ecx
424b9a:	8d 3c 52             	lea    (%edx,%edx,2),%edi
424b9d:	ff 75 08             	push   0x8(%ebp)
424ba0:	c1 e7 02             	shl    $0x2,%edi
424ba3:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
424ba6:	e8 35 0b 00 00       	call   0x4256e0
424bab:	85 c0                	test   %eax,%eax
424bad:	0f 85 26 01 00 00    	jne    0x424cd9
424bb3:	8b 06                	mov    (%esi),%eax
424bb5:	89 45 fc             	mov    %eax,-0x4(%ebp)
424bb8:	0f b7 06             	movzwl (%esi),%eax
424bbb:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
424bbf:	0f b7 46 02          	movzwl 0x2(%esi),%eax
424bc3:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424bc7:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424bcb:	0f 8d ba 00 00 00    	jge    0x424c8b
424bd1:	66 39 5d fc          	cmp    %bx,-0x4(%ebp)
424bd5:	0f 85 b0 00 00 00    	jne    0x424c8b
424bdb:	66 83 7d fe ff       	cmpw   $0xffff,-0x2(%ebp)
424be0:	75 64                	jne    0x424c46
424be2:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
424be9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
424bec:	eb 6d                	jmp    0x424c5b
424bee:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
424bf2:	8b d1                	mov    %ecx,%edx
424bf4:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
424bf7:	a1 e8 12 45 00       	mov    0x4512e8,%eax
424bfc:	8d 04 88             	lea    (%eax,%ecx,4),%eax
424bff:	83 c0 04             	add    $0x4,%eax
424c02:	f0 0f c1 10          	lock xadd %edx,(%eax)
424c06:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
424c0a:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
424c0e:	66 48                	dec    %ax
424c10:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
424c14:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
424c18:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424c1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
424c1e:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424c22:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424c25:	0f 84 d3 00 00 00    	je     0x424cfe
424c2b:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
424c2f:	50                   	push   %eax
424c30:	e8 ab fa ff ff       	call   0x4246e0
424c35:	ba ff ff 00 00       	mov    $0xffff,%edx
424c3a:	b9 01 00 00 00       	mov    $0x1,%ecx
424c3f:	f3 90                	pause
424c41:	e9 ba fe ff ff       	jmp    0x424b00
424c46:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
424c4a:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
424c4e:	66 40                	inc    %ax
424c50:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
424c54:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
424c58:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424c5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
424c5e:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
424c62:	3b 45 fc             	cmp    -0x4(%ebp),%eax
424c65:	0f 84 82 00 00 00    	je     0x424ced
424c6b:	f3 90                	pause
424c6d:	8b 06                	mov    (%esi),%eax
424c6f:	89 45 fc             	mov    %eax,-0x4(%ebp)
424c72:	0f b7 06             	movzwl (%esi),%eax
424c75:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
424c79:	0f b7 46 02          	movzwl 0x2(%esi),%eax
424c7d:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424c81:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
424c85:	0f 8c 46 ff ff ff    	jl     0x424bd1
424c8b:	03 3d e8 12 45 00    	add    0x4512e8,%edi
424c91:	b8 01 00 00 00       	mov    $0x1,%eax
424c96:	b9 20 11 45 00       	mov    $0x451120,%ecx
424c9b:	f0 0f c1 01          	lock xadd %eax,(%ecx)