5c7800:	8b 01                	mov    (%ecx),%eax
5c7802:	83 f8 ff             	cmp    $0xffffffff,%eax
5c7805:	74 08                	je     0x5c780f
5c7807:	50                   	push   %eax
5c7808:	ff 15 c8 21 60 00    	call   *0x6021c8
5c780e:	c3                   	ret
5c780f:	80 3d 58 fd 6d 00 00 	cmpb   $0x0,0x6dfd58
5c7816:	75 23                	jne    0x5c783b
5c7818:	68 e4 c5 66 00       	push   $0x66c5e4
5c781d:	68 49 0b 00 00       	push   $0xb49
5c7822:	68 c0 c4 66 00       	push   $0x66c4c0
5c7827:	c6 05 58 fd 6d 00 01 	movb   $0x1,0x6dfd58
5c782e:	e8 2d 3c ff ff       	call   0x5bb460
5c7833:	83 c4 0c             	add    $0xc,%esp
5c7836:	84 c0                	test   %al,%al
5c7838:	75 01                	jne    0x5c783b
5c783a:	cc                   	int3
5c783b:	33 c0                	xor    %eax,%eax
5c783d:	c3                   	ret
5c783e:	cc                   	int3
5c783f:	cc                   	int3
5c7840:	b8 50 7d 5c 00       	mov    $0x5c7d50,%eax
5c7845:	c3                   	ret
5c7846:	cc                   	int3
5c7847:	cc                   	int3
5c7848:	cc                   	int3
5c7849:	cc                   	int3
5c784a:	cc                   	int3
5c784b:	cc                   	int3
5c784c:	cc                   	int3
5c784d:	cc                   	int3
5c784e:	cc                   	int3
5c784f:	cc                   	int3
5c7850:	55                   	push   %ebp
5c7851:	8b ec                	mov    %esp,%ebp
5c7853:	51                   	push   %ecx
5c7854:	8b 41 04             	mov    0x4(%ecx),%eax
5c7857:	85 c0                	test   %eax,%eax
5c7859:	74 1e                	je     0x5c7879
5c785b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5c785e:	51                   	push   %ecx
5c785f:	50                   	push   %eax
5c7860:	ff 15 64 22 60 00    	call   *0x602264
5c7866:	85 c0                	test   %eax,%eax
5c7868:	74 0f                	je     0x5c7879
5c786a:	81 7d fc 03 01 00 00 	cmpl   $0x103,-0x4(%ebp)
5c7871:	75 06                	jne    0x5c7879
5c7873:	b0 01                	mov    $0x1,%al
5c7875:	8b e5                	mov    %ebp,%esp
5c7877:	5d                   	pop    %ebp
5c7878:	c3                   	ret
5c7879:	32 c0                	xor    %al,%al
5c787b:	8b e5                	mov    %ebp,%esp
5c787d:	5d                   	pop    %ebp
5c787e:	c3                   	ret
5c787f:	cc                   	int3
5c7880:	55                   	push   %ebp
5c7881:	8b ec                	mov    %esp,%ebp
5c7883:	51                   	push   %ecx
5c7884:	8b 41 04             	mov    0x4(%ecx),%eax
5c7887:	85 c0                	test   %eax,%eax
5c7889:	74 1d                	je     0x5c78a8
5c788b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5c788e:	51                   	push   %ecx
5c788f:	50                   	push   %eax
5c7890:	ff 15 64 22 60 00    	call   *0x602264
5c7896:	85 c0                	test   %eax,%eax
5c7898:	74 0e                	je     0x5c78a8
5c789a:	81 7d fc 03 01 00 00 	cmpl   $0x103,-0x4(%ebp)
5c78a1:	0f 94 c0             	sete   %al
5c78a4:	8b e5                	mov    %ebp,%esp
5c78a6:	5d                   	pop    %ebp
5c78a7:	c3                   	ret
5c78a8:	32 c0                	xor    %al,%al
5c78aa:	8b e5                	mov    %ebp,%esp
5c78ac:	5d                   	pop    %ebp
5c78ad:	c3                   	ret
5c78ae:	cc                   	int3
5c78af:	cc                   	int3
5c78b0:	55                   	push   %ebp
5c78b1:	8b ec                	mov    %esp,%ebp
5c78b3:	56                   	push   %esi
5c78b4:	57                   	push   %edi
5c78b5:	8b 7d 08             	mov    0x8(%ebp),%edi
5c78b8:	8b f1                	mov    %ecx,%esi
5c78ba:	ba e8 03 00 00       	mov    $0x3e8,%edx
5c78bf:	90                   	nop
5c78c0:	3b 3e                	cmp    (%esi),%edi
5c78c2:	74 4e                	je     0x5c7912
5c78c4:	8b cf                	mov    %edi,%ecx
5c78c6:	33 c0                	xor    %eax,%eax
5c78c8:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
5c78cc:	85 c0                	test   %eax,%eax
5c78ce:	0f 94 c0             	sete   %al
5c78d1:	84 c0                	test   %al,%al
5c78d3:	75 3d                	jne    0x5c7912
5c78d5:	f3 90                	pause
5c78d7:	83 ea 01             	sub    $0x1,%edx
5c78da:	75 e4                	jne    0x5c78c0
5c78dc:	53                   	push   %ebx
5c78dd:	8d 5e 08             	lea    0x8(%esi),%ebx
5c78e0:	53                   	push   %ebx
5c78e1:	ff 15 ac 21 60 00    	call   *0x6021ac
5c78e7:	3b 3e                	cmp    (%esi),%edi
5c78e9:	74 15                	je     0x5c7900
5c78eb:	8b cf                	mov    %edi,%ecx
5c78ed:	33 c0                	xor    %eax,%eax
5c78ef:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
5c78f3:	85 c0                	test   %eax,%eax
5c78f5:	0f 94 c0             	sete   %al
5c78f8:	84 c0                	test   %al,%al
5c78fa:	75 04                	jne    0x5c7900
5c78fc:	f3 90                	pause
5c78fe:	eb e7                	jmp    0x5c78e7
5c7900:	f0 ff 46 04          	lock incl 0x4(%esi)
5c7904:	53                   	push   %ebx
5c7905:	ff 15 60 21 60 00    	call   *0x602160
5c790b:	5b                   	pop    %ebx
5c790c:	5f                   	pop    %edi
5c790d:	5e                   	pop    %esi
5c790e:	5d                   	pop    %ebp
5c790f:	c2 04 00             	ret    $0x4
5c7912:	f0 ff 46 04          	lock incl 0x4(%esi)
5c7916:	5f                   	pop    %edi
5c7917:	5e                   	pop    %esi
5c7918:	5d                   	pop    %ebp
5c7919:	c2 04 00             	ret    $0x4
5c791c:	cc                   	int3
5c791d:	cc                   	int3
5c791e:	cc                   	int3
5c791f:	cc                   	int3
5c7920:	56                   	push   %esi
5c7921:	8b f1                	mov    %ecx,%esi
5c7923:	ff 15 24 21 60 00    	call   *0x602124
5c7929:	8b c8                	mov    %eax,%ecx
5c792b:	3b 0e                	cmp    (%esi),%ecx
5c792d:	74 1d                	je     0x5c794c
5c792f:	8b d1                	mov    %ecx,%edx
5c7931:	33 c0                	xor    %eax,%eax
5c7933:	f0 0f b1 16          	lock cmpxchg %edx,(%esi)
5c7937:	85 c0                	test   %eax,%eax
5c7939:	0f 94 c0             	sete   %al
5c793c:	84 c0                	test   %al,%al
5c793e:	75 0c                	jne    0x5c794c
5c7940:	f3 90                	pause
5c7942:	51                   	push   %ecx
5c7943:	8b ce                	mov    %esi,%ecx
5c7945:	e8 66 ff ff ff       	call   0x5c78b0
5c794a:	eb 04                	jmp    0x5c7950
5c794c:	f0 ff 46 04          	lock incl 0x4(%esi)
5c7950:	8b 46 30             	mov    0x30(%esi),%eax
5c7953:	53                   	push   %ebx
5c7954:	85 c0                	test   %eax,%eax
5c7956:	75 09                	jne    0x5c7961
5c7958:	39 46 34             	cmp    %eax,0x34(%esi)
5c795b:	75 04                	jne    0x5c7961
5c795d:	32 db                	xor    %bl,%bl
5c795f:	eb 02                	jmp    0x5c7963
5c7961:	b3 01                	mov    $0x1,%bl
5c7963:	40                   	inc    %eax
5c7964:	89 46 30             	mov    %eax,0x30(%esi)
5c7967:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
5c796b:	75 1c                	jne    0x5c7989
5c796d:	68 74 c5 66 00       	push   $0x66c574
5c7972:	68 db 06 00 00       	push   $0x6db
5c7977:	68 c0 c4 66 00       	push   $0x66c4c0
5c797c:	e8 df 3a ff ff       	call   0x5bb460
5c7981:	83 c4 0c             	add    $0xc,%esp
5c7984:	84 c0                	test   %al,%al
5c7986:	75 01                	jne    0x5c7989
5c7988:	cc                   	int3
5c7989:	ff 76 28             	push   0x28(%esi)
5c798c:	ff 15 50 21 60 00    	call   *0x602150
5c7992:	f0 ff 4e 04          	lock decl 0x4(%esi)
5c7996:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
5c799a:	75 04                	jne    0x5c79a0
5c799c:	33 c0                	xor    %eax,%eax
5c799e:	87 06                	xchg   %eax,(%esi)
5c79a0:	84 db                	test   %bl,%bl
5c79a2:	5b                   	pop    %ebx
5c79a3:	74 2d                	je     0x5c79d2
5c79a5:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
5c79a9:	75 1c                	jne    0x5c79c7
5c79ab:	68 74 c5 66 00       	push   $0x66c574
5c79b0:	68 db 06 00 00       	push   $0x6db
5c79b5:	68 c0 c4 66 00       	push   $0x66c4c0
5c79ba:	e8 a1 3a ff ff       	call   0x5bb460
5c79bf:	83 c4 0c             	add    $0xc,%esp
5c79c2:	84 c0                	test   %al,%al
5c79c4:	75 01                	jne    0x5c79c7
5c79c6:	cc                   	int3
5c79c7:	6a ff                	push   $0xffffffff
5c79c9:	ff 76 20             	push   0x20(%esi)
5c79cc:	ff 15 4c 21 60 00    	call   *0x60214c
5c79d2:	5e                   	pop    %esi
5c79d3:	c3                   	ret
5c79d4:	cc                   	int3
5c79d5:	cc                   	int3
5c79d6:	cc                   	int3
5c79d7:	cc                   	int3
5c79d8:	cc                   	int3
5c79d9:	cc                   	int3
5c79da:	cc                   	int3
5c79db:	cc                   	int3
5c79dc:	cc                   	int3
5c79dd:	cc                   	int3
5c79de:	cc                   	int3
5c79df:	cc                   	int3
5c79e0:	56                   	push   %esi
5c79e1:	8b f1                	mov    %ecx,%esi
5c79e3:	83 3e 00             	cmpl   $0x0,(%esi)
5c79e6:	75 1c                	jne    0x5c7a04
5c79e8:	68 74 c5 66 00       	push   $0x66c574
5c79ed:	68 db 06 00 00       	push   $0x6db
5c79f2:	68 c0 c4 66 00       	push   $0x66c4c0
5c79f7:	e8 64 3a ff ff       	call   0x5bb460
5c79fc:	83 c4 0c             	add    $0xc,%esp
5c79ff:	84 c0                	test   %al,%al
5c7a01:	75 01                	jne    0x5c7a04
5c7a03:	cc                   	int3
5c7a04:	ff 36                	push   (%esi)
5c7a06:	ff 15 54 21 60 00    	call   *0x602154
5c7a0c:	85 c0                	test   %eax,%eax
5c7a0e:	5e                   	pop    %esi
5c7a0f:	0f 95 c0             	setne  %al
5c7a12:	c3                   	ret
5c7a13:	cc                   	int3
5c7a14:	cc                   	int3
5c7a15:	cc                   	int3
5c7a16:	cc                   	int3
5c7a17:	cc                   	int3
5c7a18:	cc                   	int3
5c7a19:	cc                   	int3
5c7a1a:	cc                   	int3
5c7a1b:	cc                   	int3
5c7a1c:	cc                   	int3
5c7a1d:	cc                   	int3
5c7a1e:	cc                   	int3
5c7a1f:	cc                   	int3
5c7a20:	55                   	push   %ebp
5c7a21:	8b ec                	mov    %esp,%ebp
5c7a23:	8b 01                	mov    (%ecx),%eax
5c7a25:	83 f8 ff             	cmp    $0xffffffff,%eax
5c7a28:	74 0e                	je     0x5c7a38
5c7a2a:	ff 75 08             	push   0x8(%ebp)
5c7a2d:	50                   	push   %eax
5c7a2e:	ff 15 cc 21 60 00    	call   *0x6021cc
5c7a34:	5d                   	pop    %ebp
5c7a35:	c2 04 00             	ret    $0x4
5c7a38:	80 3d 59 fd 6d 00 00 	cmpb   $0x0,0x6dfd59
5c7a3f:	75 23                	jne    0x5c7a64
5c7a41:	68 fc c5 66 00       	push   $0x66c5fc
5c7a46:	68 60 0b 00 00       	push   $0xb60
5c7a4b:	68 c0 c4 66 00       	push   $0x66c4c0
5c7a50:	c6 05 59 fd 6d 00 01 	movb   $0x1,0x6dfd59
5c7a57:	e8 04 3a ff ff       	call   0x5bb460
5c7a5c:	83 c4 0c             	add    $0xc,%esp
5c7a5f:	84 c0                	test   %al,%al
5c7a61:	75 01                	jne    0x5c7a64
5c7a63:	cc                   	int3
5c7a64:	5d                   	pop    %ebp
5c7a65:	c2 04 00             	ret    $0x4
5c7a68:	cc                   	int3
5c7a69:	cc                   	int3
5c7a6a:	cc                   	int3
5c7a6b:	cc                   	int3
5c7a6c:	cc                   	int3
5c7a6d:	cc                   	int3
5c7a6e:	cc                   	int3
5c7a6f:	cc                   	int3
5c7a70:	55                   	push   %ebp
5c7a71:	8b ec                	mov    %esp,%ebp
5c7a73:	56                   	push   %esi
5c7a74:	8b f1                	mov    %ecx,%esi
5c7a76:	6a 1f                	push   $0x1f
5c7a78:	ff 75 08             	push   0x8(%ebp)
5c7a7b:	8d 46 10             	lea    0x10(%esi),%eax
5c7a7e:	50                   	push   %eax
5c7a7f:	e8 1c e9 00 00       	call   0x5d63a0
5c7a84:	83 c4 0c             	add    $0xc,%esp
5c7a87:	c6 46 2f 00          	movb   $0x0,0x2f(%esi)
5c7a8b:	5e                   	pop    %esi
5c7a8c:	5d                   	pop    %ebp
5c7a8d:	c2 04 00             	ret    $0x4
5c7a90:	55                   	push   %ebp
5c7a91:	8b ec                	mov    %esp,%ebp
5c7a93:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c7a99:	6a ff                	push   $0xffffffff
5c7a9b:	68 45 09 60 00       	push   $0x600945
5c7aa0:	50                   	push   %eax
5c7aa1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c7aa8:	83 ec 14             	sub    $0x14,%esp
5c7aab:	53                   	push   %ebx
5c7aac:	8b d9                	mov    %ecx,%ebx
5c7aae:	8b 43 04             	mov    0x4(%ebx),%eax
5c7ab1:	56                   	push   %esi
5c7ab2:	8d 73 04             	lea    0x4(%ebx),%esi
5c7ab5:	85 c0                	test   %eax,%eax
5c7ab7:	74 48                	je     0x5c7b01
5c7ab9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5c7abc:	51                   	push   %ecx
5c7abd:	50                   	push   %eax
5c7abe:	ff 15 64 22 60 00    	call   *0x602264
5c7ac4:	85 c0                	test   %eax,%eax
5c7ac6:	74 39                	je     0x5c7b01
5c7ac8:	81 7d e8 03 01 00 00 	cmpl   $0x103,-0x18(%ebp)
5c7acf:	75 30                	jne    0x5c7b01
5c7ad1:	68 8c c6 66 00       	push   $0x66c68c
5c7ad6:	68 44 0e 00 00       	push   $0xe44
5c7adb:	68 c0 c4 66 00       	push   $0x66c4c0
5c7ae0:	e8 7b 39 ff ff       	call   0x5bb460
5c7ae5:	83 c4 0c             	add    $0xc,%esp
5c7ae8:	84 c0                	test   %al,%al
5c7aea:	75 01                	jne    0x5c7aed
5c7aec:	cc                   	int3
5c7aed:	5e                   	pop    %esi
5c7aee:	32 c0                	xor    %al,%al
5c7af0:	5b                   	pop    %ebx
5c7af1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c7af4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c7afb:	8b e5                	mov    %ebp,%esp
5c7afd:	5d                   	pop    %ebp
5c7afe:	c2 04 00             	ret    $0x4
5c7b01:	57                   	push   %edi
5c7b02:	6a 00                	push   $0x0
5c7b04:	8d 4d e0             	lea    -0x20(%ebp),%ecx
5c7b07:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
5c7b0b:	e8 50 f8 ff ff       	call   0x5c7360
5c7b10:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c7b17:	8b 7d 08             	mov    0x8(%ebp),%edi
5c7b1a:	f7 df                	neg    %edi
5c7b1c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5c7b23:	6a 0c                	push   $0xc
5c7b25:	1b ff                	sbb    %edi,%edi
5c7b27:	81 e7 00 00 01 00    	and    $0x10000,%edi
5c7b2d:	e8 f3 96 00 00       	call   0x5d1225
5c7b32:	83 c4 04             	add    $0x4,%esp
5c7b35:	85 c0                	test   %eax,%eax
5c7b37:	74 10                	je     0x5c7b49
5c7b39:	8d 4d e0             	lea    -0x20(%ebp),%ecx
5c7b3c:	89 18                	mov    %ebx,(%eax)
5c7b3e:	89 48 04             	mov    %ecx,0x4(%eax)
5c7b41:	8d 4d f3             	lea    -0xd(%ebp),%ecx
5c7b44:	89 48 08             	mov    %ecx,0x8(%eax)
5c7b47:	eb 02                	jmp    0x5c7b4b
5c7b49:	33 c0                	xor    %eax,%eax
5c7b4b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5c7b4e:	51                   	push   %ecx
5c7b4f:	57                   	push   %edi
5c7b50:	50                   	push   %eax