5c2718:	0f 85 27 01 00 00    	jne    0x5c2845
5c271e:	8b 4b 10             	mov    0x10(%ebx),%ecx
5c2721:	8d 7b 08             	lea    0x8(%ebx),%edi
5c2724:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5c2727:	89 7d f4             	mov    %edi,-0xc(%ebp)
5c272a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c2730:	8b 37                	mov    (%edi),%esi
5c2732:	85 f6                	test   %esi,%esi
5c2734:	74 45                	je     0x5c277b
5c2736:	8d 3c 31             	lea    (%ecx,%esi,1),%edi
5c2739:	33 c9                	xor    %ecx,%ecx
5c273b:	8b c7                	mov    %edi,%eax
5c273d:	99                   	cltd
5c273e:	48                   	dec    %eax
5c273f:	0f b7 c0             	movzwl %ax,%eax
5c2742:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c2745:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c2748:	99                   	cltd
5c2749:	01 45 fc             	add    %eax,-0x4(%ebp)
5c274c:	13 ca                	adc    %edx,%ecx
5c274e:	85 c9                	test   %ecx,%ecx
5c2750:	75 09                	jne    0x5c275b
5c2752:	81 7d fc 00 00 01 00 	cmpl   $0x10000,-0x4(%ebp)
5c2759:	76 02                	jbe    0x5c275d
5c275b:	33 ff                	xor    %edi,%edi
5c275d:	8b c6                	mov    %esi,%eax
5c275f:	8d 4b 08             	lea    0x8(%ebx),%ecx
5c2762:	f0 0f b1 39          	lock cmpxchg %edi,(%ecx)
5c2766:	3b c6                	cmp    %esi,%eax
5c2768:	0f 94 c0             	sete   %al
5c276b:	84 c0                	test   %al,%al
5c276d:	0f 85 d0 00 00 00    	jne    0x5c2843
5c2773:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c2776:	8d 7b 08             	lea    0x8(%ebx),%edi
5c2779:	eb b5                	jmp    0x5c2730
5c277b:	8d 43 18             	lea    0x18(%ebx),%eax
5c277e:	50                   	push   %eax
5c277f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c2782:	ff 15 ac 21 60 00    	call   *0x6021ac
5c2788:	83 3f 00             	cmpl   $0x0,(%edi)
5c278b:	0f 85 a0 00 00 00    	jne    0x5c2831
5c2791:	8b 35 f0 eb 6d 00    	mov    0x6debf0,%esi
5c2797:	3b 35 f8 eb 6d 00    	cmp    0x6debf8,%esi
5c279d:	0f 83 eb 00 00 00    	jae    0x5c288e
5c27a3:	ba f0 eb 6d 00       	mov    $0x6debf0,%edx
5c27a8:	eb 06                	jmp    0x5c27b0
5c27aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c27b0:	8d 8e 00 00 01 00    	lea    0x10000(%esi),%ecx
5c27b6:	8b c6                	mov    %esi,%eax
5c27b8:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
5c27bc:	3b c6                	cmp    %esi,%eax
5c27be:	0f 94 c0             	sete   %al
5c27c1:	84 c0                	test   %al,%al
5c27c3:	75 13                	jne    0x5c27d8
5c27c5:	8b 35 f0 eb 6d 00    	mov    0x6debf0,%esi
5c27cb:	3b 35 f8 eb 6d 00    	cmp    0x6debf8,%esi
5c27d1:	72 dd                	jb     0x5c27b0
5c27d3:	e9 b6 00 00 00       	jmp    0x5c288e
5c27d8:	a1 f4 eb 6d 00       	mov    0x6debf4,%eax
5c27dd:	2b f0                	sub    %eax,%esi
5c27df:	c1 ee 10             	shr    $0x10,%esi
5c27e2:	8d 3c f5 fc eb 6d 00 	lea    0x6debfc(,%esi,8),%edi
5c27e9:	85 ff                	test   %edi,%edi
5c27eb:	0f 84 9a 00 00 00    	je     0x5c288b
5c27f1:	6a 04                	push   $0x4
5c27f3:	68 00 10 00 00       	push   $0x1000
5c27f8:	c1 e6 10             	shl    $0x10,%esi
5c27fb:	03 f0                	add    %eax,%esi
5c27fd:	68 00 00 01 00       	push   $0x10000
5c2802:	56                   	push   %esi
5c2803:	ff 15 1c 22 60 00    	call   *0x60221c
5c2809:	85 c0                	test   %eax,%eax
5c280b:	74 7e                	je     0x5c288b
5c280d:	89 1f                	mov    %ebx,(%edi)
5c280f:	8d 4b 30             	lea    0x30(%ebx),%ecx
5c2812:	8b 43 0c             	mov    0xc(%ebx),%eax
5c2815:	33 d2                	xor    %edx,%edx
5c2817:	89 47 04             	mov    %eax,0x4(%edi)
5c281a:	b8 00 00 01 00       	mov    $0x10000,%eax
5c281f:	f7 73 10             	divl   0x10(%ebx)
5c2822:	89 7b 0c             	mov    %edi,0xc(%ebx)
5c2825:	f0 0f c1 01          	lock xadd %eax,(%ecx)
5c2829:	ff 43 14             	incl   0x14(%ebx)
5c282c:	8d 7b 08             	lea    0x8(%ebx),%edi
5c282f:	87 37                	xchg   %esi,(%edi)
5c2831:	8d 43 18             	lea    0x18(%ebx),%eax
5c2834:	50                   	push   %eax
5c2835:	ff 15 60 21 60 00    	call   *0x602160
5c283b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c283e:	e9 ed fe ff ff       	jmp    0x5c2730
5c2843:	8b c6                	mov    %esi,%eax
5c2845:	2b 05 f4 eb 6d 00    	sub    0x6debf4,%eax
5c284b:	c1 e8 10             	shr    $0x10,%eax
5c284e:	f0 ff 4b 30          	lock decl 0x30(%ebx)
5c2852:	3d 00 02 00 00       	cmp    $0x200,%eax
5c2857:	72 29                	jb     0x5c2882
5c2859:	ff 35 f4 eb 6d 00    	push   0x6debf4
5c285f:	56                   	push   %esi
5c2860:	50                   	push   %eax
5c2861:	68 00 02 00 00       	push   $0x200
5c2866:	68 b0 c2 66 00       	push   $0x66c2b0
5c286b:	68 e9 02 00 00       	push   $0x2e9
5c2870:	68 78 bb 66 00       	push   $0x66bb78
5c2875:	e8 f6 8b ff ff       	call   0x5bb470
5c287a:	83 c4 1c             	add    $0x1c,%esp
5c287d:	84 c0                	test   %al,%al
5c287f:	75 01                	jne    0x5c2882
5c2881:	cc                   	int3
5c2882:	5f                   	pop    %edi
5c2883:	8b c6                	mov    %esi,%eax
5c2885:	5e                   	pop    %esi
5c2886:	5b                   	pop    %ebx
5c2887:	8b e5                	mov    %ebp,%esp
5c2889:	5d                   	pop    %ebp
5c288a:	c3                   	ret
5c288b:	8b 7d f4             	mov    -0xc(%ebp),%edi
5c288e:	33 c0                	xor    %eax,%eax
5c2890:	87 07                	xchg   %eax,(%edi)
5c2892:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c2895:	50                   	push   %eax
5c2896:	ff 15 60 21 60 00    	call   *0x602160
5c289c:	5f                   	pop    %edi
5c289d:	5e                   	pop    %esi
5c289e:	33 c0                	xor    %eax,%eax
5c28a0:	5b                   	pop    %ebx
5c28a1:	8b e5                	mov    %ebp,%esp
5c28a3:	5d                   	pop    %ebp
5c28a4:	c3                   	ret
5c28a5:	cc                   	int3
5c28a6:	cc                   	int3
5c28a7:	cc                   	int3
5c28a8:	cc                   	int3
5c28a9:	cc                   	int3
5c28aa:	cc                   	int3
5c28ab:	cc                   	int3
5c28ac:	cc                   	int3
5c28ad:	cc                   	int3
5c28ae:	cc                   	int3
5c28af:	cc                   	int3
5c28b0:	55                   	push   %ebp
5c28b1:	8b ec                	mov    %esp,%ebp
5c28b3:	83 ec 0c             	sub    $0xc,%esp
5c28b6:	53                   	push   %ebx
5c28b7:	56                   	push   %esi
5c28b8:	8b d9                	mov    %ecx,%ebx
5c28ba:	57                   	push   %edi
5c28bb:	53                   	push   %ebx
5c28bc:	e8 3f 83 00 00       	call   0x5cac00
5c28c1:	8b f0                	mov    %eax,%esi
5c28c3:	83 c4 04             	add    $0x4,%esp
5c28c6:	85 f6                	test   %esi,%esi
5c28c8:	0f 85 27 01 00 00    	jne    0x5c29f5
5c28ce:	8b 4b 10             	mov    0x10(%ebx),%ecx
5c28d1:	8d 7b 08             	lea    0x8(%ebx),%edi
5c28d4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5c28d7:	89 7d f4             	mov    %edi,-0xc(%ebp)
5c28da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c28e0:	8b 37                	mov    (%edi),%esi
5c28e2:	85 f6                	test   %esi,%esi
5c28e4:	74 45                	je     0x5c292b
5c28e6:	8d 3c 31             	lea    (%ecx,%esi,1),%edi
5c28e9:	33 c9                	xor    %ecx,%ecx
5c28eb:	8b c7                	mov    %edi,%eax
5c28ed:	99                   	cltd
5c28ee:	48                   	dec    %eax
5c28ef:	0f b7 c0             	movzwl %ax,%eax
5c28f2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c28f5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c28f8:	99                   	cltd
5c28f9:	01 45 fc             	add    %eax,-0x4(%ebp)
5c28fc:	13 ca                	adc    %edx,%ecx
5c28fe:	85 c9                	test   %ecx,%ecx
5c2900:	75 09                	jne    0x5c290b
5c2902:	81 7d fc 00 00 01 00 	cmpl   $0x10000,-0x4(%ebp)
5c2909:	76 02                	jbe    0x5c290d
5c290b:	33 ff                	xor    %edi,%edi
5c290d:	8b c6                	mov    %esi,%eax
5c290f:	8d 4b 08             	lea    0x8(%ebx),%ecx
5c2912:	f0 0f b1 39          	lock cmpxchg %edi,(%ecx)
5c2916:	3b c6                	cmp    %esi,%eax
5c2918:	0f 94 c0             	sete   %al
5c291b:	84 c0                	test   %al,%al
5c291d:	0f 85 d0 00 00 00    	jne    0x5c29f3
5c2923:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c2926:	8d 7b 08             	lea    0x8(%ebx),%edi
5c2929:	eb b5                	jmp    0x5c28e0
5c292b:	8d 43 18             	lea    0x18(%ebx),%eax
5c292e:	50                   	push   %eax
5c292f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c2932:	ff 15 ac 21 60 00    	call   *0x6021ac
5c2938:	83 3f 00             	cmpl   $0x0,(%edi)
5c293b:	0f 85 a0 00 00 00    	jne    0x5c29e1
5c2941:	8b 35 e0 eb 69 00    	mov    0x69ebe0,%esi
5c2947:	3b 35 e8 eb 69 00    	cmp    0x69ebe8,%esi
5c294d:	0f 83 eb 00 00 00    	jae    0x5c2a3e
5c2953:	ba e0 eb 69 00       	mov    $0x69ebe0,%edx
5c2958:	eb 06                	jmp    0x5c2960
5c295a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c2960:	8d 8e 00 00 01 00    	lea    0x10000(%esi),%ecx
5c2966:	8b c6                	mov    %esi,%eax
5c2968:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
5c296c:	3b c6                	cmp    %esi,%eax
5c296e:	0f 94 c0             	sete   %al
5c2971:	84 c0                	test   %al,%al
5c2973:	75 13                	jne    0x5c2988
5c2975:	8b 35 e0 eb 69 00    	mov    0x69ebe0,%esi
5c297b:	3b 35 e8 eb 69 00    	cmp    0x69ebe8,%esi
5c2981:	72 dd                	jb     0x5c2960
5c2983:	e9 b6 00 00 00       	jmp    0x5c2a3e
5c2988:	a1 e4 eb 69 00       	mov    0x69ebe4,%eax
5c298d:	2b f0                	sub    %eax,%esi
5c298f:	c1 ee 10             	shr    $0x10,%esi
5c2992:	8d 3c f5 ec eb 69 00 	lea    0x69ebec(,%esi,8),%edi
5c2999:	85 ff                	test   %edi,%edi
5c299b:	0f 84 9a 00 00 00    	je     0x5c2a3b
5c29a1:	6a 04                	push   $0x4
5c29a3:	68 00 10 00 00       	push   $0x1000
5c29a8:	c1 e6 10             	shl    $0x10,%esi
5c29ab:	03 f0                	add    %eax,%esi
5c29ad:	68 00 00 01 00       	push   $0x10000
5c29b2:	56                   	push   %esi
5c29b3:	ff 15 1c 22 60 00    	call   *0x60221c
5c29b9:	85 c0                	test   %eax,%eax
5c29bb:	74 7e                	je     0x5c2a3b
5c29bd:	89 1f                	mov    %ebx,(%edi)
5c29bf:	8d 4b 30             	lea    0x30(%ebx),%ecx
5c29c2:	8b 43 0c             	mov    0xc(%ebx),%eax
5c29c5:	33 d2                	xor    %edx,%edx
5c29c7:	89 47 04             	mov    %eax,0x4(%edi)
5c29ca:	b8 00 00 01 00       	mov    $0x10000,%eax
5c29cf:	f7 73 10             	divl   0x10(%ebx)
5c29d2:	89 7b 0c             	mov    %edi,0xc(%ebx)
5c29d5:	f0 0f c1 01          	lock xadd %eax,(%ecx)
5c29d9:	ff 43 14             	incl   0x14(%ebx)
5c29dc:	8d 7b 08             	lea    0x8(%ebx),%edi
5c29df:	87 37                	xchg   %esi,(%edi)
5c29e1:	8d 43 18             	lea    0x18(%ebx),%eax
5c29e4:	50                   	push   %eax
5c29e5:	ff 15 60 21 60 00    	call   *0x602160
5c29eb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c29ee:	e9 ed fe ff ff       	jmp    0x5c28e0
5c29f3:	8b c6                	mov    %esi,%eax
5c29f5:	2b 05 e4 eb 69 00    	sub    0x69ebe4,%eax
5c29fb:	c1 e8 10             	shr    $0x10,%eax
5c29fe:	f0 ff 4b 30          	lock decl 0x30(%ebx)
5c2a02:	3d 00 80 00 00       	cmp    $0x8000,%eax
5c2a07:	72 29                	jb     0x5c2a32
5c2a09:	ff 35 e4 eb 69 00    	push   0x69ebe4
5c2a0f:	56                   	push   %esi
5c2a10:	50                   	push   %eax
5c2a11:	68 00 80 00 00       	push   $0x8000
5c2a16:	68 b0 c2 66 00       	push   $0x66c2b0
5c2a1b:	68 e9 02 00 00       	push   $0x2e9
5c2a20:	68 78 bb 66 00       	push   $0x66bb78
5c2a25:	e8 46 8a ff ff       	call   0x5bb470
5c2a2a:	83 c4 1c             	add    $0x1c,%esp
5c2a2d:	84 c0                	test   %al,%al
5c2a2f:	75 01                	jne    0x5c2a32
5c2a31:	cc                   	int3
5c2a32:	5f                   	pop    %edi
5c2a33:	8b c6                	mov    %esi,%eax
5c2a35:	5e                   	pop    %esi
5c2a36:	5b                   	pop    %ebx
5c2a37:	8b e5                	mov    %ebp,%esp
5c2a39:	5d                   	pop    %ebp
5c2a3a:	c3                   	ret
5c2a3b:	8b 7d f4             	mov    -0xc(%ebp),%edi
5c2a3e:	33 c0                	xor    %eax,%eax
5c2a40:	87 07                	xchg   %eax,(%edi)
5c2a42:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c2a45:	50                   	push   %eax
5c2a46:	ff 15 60 21 60 00    	call   *0x602160
5c2a4c:	5f                   	pop    %edi
5c2a4d:	5e                   	pop    %esi
5c2a4e:	33 c0                	xor    %eax,%eax
5c2a50:	5b                   	pop    %ebx
5c2a51:	8b e5                	mov    %ebp,%esp
5c2a53:	5d                   	pop    %ebp
5c2a54:	c3                   	ret
5c2a55:	cc                   	int3
5c2a56:	cc                   	int3
5c2a57:	cc                   	int3
5c2a58:	cc                   	int3
5c2a59:	cc                   	int3
5c2a5a:	cc                   	int3
5c2a5b:	cc                   	int3
5c2a5c:	cc                   	int3
5c2a5d:	cc                   	int3
5c2a5e:	cc                   	int3
5c2a5f:	cc                   	int3
5c2a60:	55                   	push   %ebp
5c2a61:	8b ec                	mov    %esp,%ebp
5c2a63:	53                   	push   %ebx
5c2a64:	56                   	push   %esi
5c2a65:	8b f1                	mov    %ecx,%esi
5c2a67:	57                   	push   %edi
5c2a68:	8b 7d 08             	mov    0x8(%ebp),%edi
5c2a6b:	83 be 54 59 00 00 00 	cmpl   $0x0,0x5954(%esi)
5c2a72:	74 20                	je     0x5c2a94
5c2a74:	3b be 58 59 00 00    	cmp    0x5958(%esi),%edi
5c2a7a:	72 18                	jb     0x5c2a94
5c2a7c:	3b be 5c 59 00 00    	cmp    0x595c(%esi),%edi
5c2a82:	77 10                	ja     0x5c2a94
5c2a84:	57                   	push   %edi
5c2a85:	e8 46 03 00 00       	call   0x5c2dd0
5c2a8a:	8b d8                	mov    %eax,%ebx
5c2a8c:	85 db                	test   %ebx,%ebx
5c2a8e:	0f 85 88 00 00 00    	jne    0x5c2b1c
5c2a94:	8b 86 18 59 00 00    	mov    0x5918(%esi),%eax
5c2a9a:	83 f8 01             	cmp    $0x1,%eax
5c2a9d:	75 08                	jne    0x5c2aa7
5c2a9f:	81 ff 00 04 00 00    	cmp    $0x400,%edi
5c2aa5:	eb 0b                	jmp    0x5c2ab2
5c2aa7:	83 f8 02             	cmp    $0x2,%eax
5c2aaa:	75 40                	jne    0x5c2aec
5c2aac:	81 ff 00 40 00 00    	cmp    $0x4000,%edi
5c2ab2:	0f 96 c1             	setbe  %cl
5c2ab5:	84 c9                	test   %cl,%cl
5c2ab7:	74 33                	je     0x5c2aec
5c2ab9:	83 f8 01             	cmp    $0x1,%eax
5c2abc:	75 0b                	jne    0x5c2ac9
5c2abe:	57                   	push   %edi
5c2abf:	8d 4e 08             	lea    0x8(%esi),%ecx
5c2ac2:	e8 59 fb ff ff       	call   0x5c2620
5c2ac7:	eb 11                	jmp    0x5c2ada
5c2ac9:	83 f8 02             	cmp    $0x2,%eax
5c2acc:	75 12                	jne    0x5c2ae0
5c2ace:	57                   	push   %edi
5c2acf:	8d 8e 60 0c 00 00    	lea    0xc60(%esi),%ecx
5c2ad5:	e8 b6 fb ff ff       	call   0x5c2690
5c2ada:	8b d8                	mov    %eax,%ebx
5c2adc:	85 db                	test   %ebx,%ebx
5c2ade:	75 3c                	jne    0x5c2b1c
5c2ae0:	8b 86 28 59 00 00    	mov    0x5928(%esi),%eax
5c2ae6:	57                   	push   %edi
5c2ae7:	ff d0                	call   *%eax
5c2ae9:	83 c4 04             	add    $0x4,%esp
5c2aec:	57                   	push   %edi
5c2aed:	e8 fd 1d 02 00       	call   0x5e48ef
5c2af2:	8b d8                	mov    %eax,%ebx
5c2af4:	83 c4 04             	add    $0x4,%esp
5c2af7:	85 db                	test   %ebx,%ebx
5c2af9:	75 0a                	jne    0x5c2b05
5c2afb:	57                   	push   %edi
5c2afc:	8b ce                	mov    %esi,%ecx
5c2afe:	e8 2d 2f 00 00       	call   0x5c5a30
5c2b03:	eb 17                	jmp    0x5c2b1c
5c2b05:	53                   	push   %ebx
5c2b06:	e8 9e 47 02 00       	call   0x5e72a9
5c2b0b:	6a 00                	push   $0x0