b0bd78:	8d 5e 0c             	lea    0xc(%esi),%ebx
b0bd7b:	8b c8                	mov    %eax,%ecx
b0bd7d:	e8 5b a1 90 ff       	call   0x415edd
b0bd82:	6a 4c                	push   $0x4c
b0bd84:	8d 78 80             	lea    -0x80(%eax),%edi
b0bd87:	e8 f1 eb 91 ff       	call   0x42a97d
b0bd8c:	59                   	pop    %ecx
b0bd8d:	89 45 f0             	mov    %eax,-0x10(%ebp)
b0bd90:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
b0bd94:	85 c0                	test   %eax,%eax
b0bd96:	74 0c                	je     0xb0bda4
b0bd98:	56                   	push   %esi
b0bd99:	8b c8                	mov    %eax,%ecx
b0bd9b:	e8 79 9a 92 ff       	call   0x435819
b0bda0:	8b d0                	mov    %eax,%edx
b0bda2:	eb 02                	jmp    0xb0bda6
b0bda4:	33 d2                	xor    %edx,%edx
b0bda6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
b0bdaa:	8d 47 3c             	lea    0x3c(%edi),%eax
b0bdad:	8b ca                	mov    %edx,%ecx
b0bdaf:	87 08                	xchg   %ecx,(%eax)
b0bdb1:	83 f9 01             	cmp    $0x1,%ecx
b0bdb4:	75 08                	jne    0xb0bdbe
b0bdb6:	57                   	push   %edi
b0bdb7:	8b ca                	mov    %edx,%ecx
b0bdb9:	e8 34 b9 90 ff       	call   0x4176f2
b0bdbe:	83 c8 ff             	or     $0xffffffff,%eax
b0bdc1:	f0 0f c1 03          	lock xadd %eax,(%ebx)
b0bdc5:	48                   	dec    %eax
b0bdc6:	85 c0                	test   %eax,%eax
b0bdc8:	8d 46 10             	lea    0x10(%esi),%eax
b0bdcb:	7f ae                	jg     0xb0bd7b
b0bdcd:	e8 45 26 90 ff       	call   0x40e417
b0bdd2:	c3                   	ret
b0bdd3:	cc                   	int3
b0bdd4:	cc                   	int3
b0bdd5:	cc                   	int3
b0bdd6:	cc                   	int3
b0bdd7:	cc                   	int3
b0bdd8:	cc                   	int3
b0bdd9:	cc                   	int3
b0bdda:	cc                   	int3
b0bddb:	cc                   	int3
b0bddc:	cc                   	int3
b0bddd:	cc                   	int3
b0bdde:	cc                   	int3
b0bddf:	cc                   	int3
b0bde0:	cc                   	int3
b0bde1:	cc                   	int3
b0bde2:	cc                   	int3
b0bde3:	cc                   	int3
b0bde4:	cc                   	int3
b0bde5:	cc                   	int3
b0bde6:	cc                   	int3
b0bde7:	cc                   	int3
b0bde8:	cc                   	int3
b0bde9:	cc                   	int3
b0bdea:	cc                   	int3
b0bdeb:	cc                   	int3
b0bdec:	cc                   	int3
b0bded:	cc                   	int3
b0bdee:	55                   	push   %ebp
b0bdef:	8b ec                	mov    %esp,%ebp
b0bdf1:	56                   	push   %esi
b0bdf2:	8b f1                	mov    %ecx,%esi
b0bdf4:	8d 46 20             	lea    0x20(%esi),%eax
b0bdf7:	50                   	push   %eax
b0bdf8:	ff 15 08 37 d8 00    	call   *0xd83708
b0bdfe:	85 c0                	test   %eax,%eax
b0be00:	74 0f                	je     0xb0be11
b0be02:	f0 ff 4e 1c          	lock decl 0x1c(%esi)
b0be06:	8d 48 bc             	lea    -0x44(%eax),%ecx
b0be09:	8b 45 08             	mov    0x8(%ebp),%eax
b0be0c:	89 48 3c             	mov    %ecx,0x3c(%eax)
b0be0f:	eb 26                	jmp    0xb0be37
b0be11:	8b 45 08             	mov    0x8(%ebp),%eax
b0be14:	8d 4e 10             	lea    0x10(%esi),%ecx
b0be17:	83 e8 80             	sub    $0xffffff80,%eax
b0be1a:	50                   	push   %eax
b0be1b:	e8 2e 97 92 ff       	call   0x43554e
b0be20:	33 c0                	xor    %eax,%eax
b0be22:	40                   	inc    %eax
b0be23:	f0 0f c1 46 0c       	lock xadd %eax,0xc(%esi)
b0be28:	40                   	inc    %eax
b0be29:	83 f8 01             	cmp    $0x1,%eax
b0be2c:	75 09                	jne    0xb0be37
b0be2e:	ff 76 08             	push   0x8(%esi)
b0be31:	ff 15 44 35 d8 00    	call   *0xd83544
b0be37:	5e                   	pop    %esi
b0be38:	5d                   	pop    %ebp
b0be39:	c2 04 00             	ret    $0x4
b0be3c:	cc                   	int3
b0be3d:	cc                   	int3
b0be3e:	cc                   	int3
b0be3f:	cc                   	int3
b0be40:	cc                   	int3
b0be41:	cc                   	int3
b0be42:	cc                   	int3
b0be43:	cc                   	int3
b0be44:	cc                   	int3
b0be45:	cc                   	int3
b0be46:	cc                   	int3
b0be47:	cc                   	int3
b0be48:	cc                   	int3
b0be49:	cc                   	int3
b0be4a:	cc                   	int3
b0be4b:	cc                   	int3
b0be4c:	cc                   	int3
b0be4d:	cc                   	int3
b0be4e:	cc                   	int3
b0be4f:	8b d1                	mov    %ecx,%edx
b0be51:	8b 02                	mov    (%edx),%eax
b0be53:	85 c0                	test   %eax,%eax
b0be55:	75 01                	jne    0xb0be58
b0be57:	c3                   	ret
b0be58:	56                   	push   %esi
b0be59:	8b 70 04             	mov    0x4(%eax),%esi
b0be5c:	3b c6                	cmp    %esi,%eax
b0be5e:	75 05                	jne    0xb0be65
b0be60:	83 22 00             	andl   $0x0,(%edx)
b0be63:	eb 0d                	jmp    0xb0be72
b0be65:	8b 4e 04             	mov    0x4(%esi),%ecx
b0be68:	89 01                	mov    %eax,(%ecx)
b0be6a:	8b 12                	mov    (%edx),%edx
b0be6c:	8b 4e 04             	mov    0x4(%esi),%ecx
b0be6f:	89 4a 04             	mov    %ecx,0x4(%edx)
b0be72:	8b c6                	mov    %esi,%eax
b0be74:	5e                   	pop    %esi
b0be75:	c3                   	ret
b0be76:	cc                   	int3
b0be77:	cc                   	int3
b0be78:	cc                   	int3
b0be79:	cc                   	int3
b0be7a:	cc                   	int3
b0be7b:	cc                   	int3
b0be7c:	cc                   	int3
b0be7d:	cc                   	int3
b0be7e:	cc                   	int3
b0be7f:	6a 00                	push   $0x0
b0be81:	b8 61 fc bb 00       	mov    $0xbbfc61,%eax
b0be86:	e8 00 e4 8f ff       	call   0x40a28b
b0be8b:	8b f9                	mov    %ecx,%edi
b0be8d:	8d 77 04             	lea    0x4(%edi),%esi
b0be90:	8b ce                	mov    %esi,%ecx
b0be92:	e8 4d 97 92 ff       	call   0x4355e4
b0be97:	8b cf                	mov    %edi,%ecx
b0be99:	e8 59 c7 90 ff       	call   0x4185f7
b0be9e:	8b f8                	mov    %eax,%edi
b0bea0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
b0bea4:	8b ce                	mov    %esi,%ecx
b0bea6:	e8 b9 ae 91 ff       	call   0x426d64
b0beab:	8b c7                	mov    %edi,%eax
b0bead:	e8 65 25 90 ff       	call   0x40e417
b0beb2:	c3                   	ret
b0beb3:	cc                   	int3
b0beb4:	cc                   	int3
b0beb5:	cc                   	int3
b0beb6:	cc                   	int3
b0beb7:	cc                   	int3
b0beb8:	cc                   	int3
b0beb9:	cc                   	int3
b0beba:	cc                   	int3
b0bebb:	cc                   	int3
b0bebc:	cc                   	int3
b0bebd:	cc                   	int3
b0bebe:	cc                   	int3
b0bebf:	cc                   	int3
b0bec0:	55                   	push   %ebp
b0bec1:	8b ec                	mov    %esp,%ebp
b0bec3:	8d 41 1c             	lea    0x1c(%ecx),%eax
b0bec6:	83 38 08             	cmpl   $0x8,(%eax)
b0bec9:	7c 0e                	jl     0xb0bed9
b0becb:	8b 45 08             	mov    0x8(%ebp),%eax
b0bece:	ff 70 14             	push   0x14(%eax)
b0bed1:	ff 15 44 35 d8 00    	call   *0xd83544
b0bed7:	eb 14                	jmp    0xb0beed
b0bed9:	f0 ff 00             	lock incl (%eax)
b0bedc:	8b 45 08             	mov    0x8(%ebp),%eax
b0bedf:	83 c0 44             	add    $0x44,%eax
b0bee2:	50                   	push   %eax
b0bee3:	8d 41 20             	lea    0x20(%ecx),%eax
b0bee6:	50                   	push   %eax
b0bee7:	ff 15 64 38 d8 00    	call   *0xd83864
b0beed:	5d                   	pop    %ebp
b0beee:	c2 04 00             	ret    $0x4
b0bef1:	cc                   	int3
b0bef2:	cc                   	int3
b0bef3:	cc                   	int3
b0bef4:	cc                   	int3
b0bef5:	cc                   	int3
b0bef6:	cc                   	int3
b0bef7:	cc                   	int3
b0bef8:	cc                   	int3
b0bef9:	cc                   	int3
b0befa:	cc                   	int3
b0befb:	cc                   	int3
b0befc:	cc                   	int3
b0befd:	55                   	push   %ebp
b0befe:	8b ec                	mov    %esp,%ebp
b0bf00:	8b 4d 08             	mov    0x8(%ebp),%ecx
b0bf03:	e8 95 fd 90 ff       	call   0x41bc9d
b0bf08:	5d                   	pop    %ebp
b0bf09:	c2 08 00             	ret    $0x8
b0bf0c:	cc                   	int3
b0bf0d:	cc                   	int3
b0bf0e:	cc                   	int3
b0bf0f:	55                   	push   %ebp
b0bf10:	8b ec                	mov    %esp,%ebp
b0bf12:	56                   	push   %esi
b0bf13:	8b 75 08             	mov    0x8(%ebp),%esi
b0bf16:	33 d2                	xor    %edx,%edx
b0bf18:	42                   	inc    %edx
b0bf19:	33 c0                	xor    %eax,%eax
b0bf1b:	8d 4e 3c             	lea    0x3c(%esi),%ecx
b0bf1e:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
b0bf22:	85 c0                	test   %eax,%eax
b0bf24:	74 08                	je     0xb0bf2e
b0bf26:	56                   	push   %esi
b0bf27:	8b c8                	mov    %eax,%ecx
b0bf29:	e8 c4 b7 90 ff       	call   0x4176f2
b0bf2e:	5e                   	pop    %esi
b0bf2f:	5d                   	pop    %ebp
b0bf30:	c2 04 00             	ret    $0x4
b0bf33:	cc                   	int3
b0bf34:	cc                   	int3
b0bf35:	cc                   	int3
b0bf36:	cc                   	int3
b0bf37:	cc                   	int3
b0bf38:	cc                   	int3
b0bf39:	cc                   	int3
b0bf3a:	cc                   	int3
b0bf3b:	cc                   	int3
b0bf3c:	c7 01 e8 c7 c8 00    	movl   $0xc8c7e8,(%ecx)
b0bf42:	8b c1                	mov    %ecx,%eax
b0bf44:	c3                   	ret
b0bf45:	cc                   	int3
b0bf46:	cc                   	int3
b0bf47:	55                   	push   %ebp
b0bf48:	8b ec                	mov    %esp,%ebp
b0bf4a:	83 ec 14             	sub    $0x14,%esp
b0bf4d:	8b 45 08             	mov    0x8(%ebp),%eax
b0bf50:	89 41 04             	mov    %eax,0x4(%ecx)
b0bf53:	8b 45 0c             	mov    0xc(%ebp),%eax
b0bf56:	53                   	push   %ebx
b0bf57:	89 41 14             	mov    %eax,0x14(%ecx)
b0bf5a:	33 db                	xor    %ebx,%ebx
b0bf5c:	56                   	push   %esi
b0bf5d:	33 c0                	xor    %eax,%eax
b0bf5f:	c7 01 00 c8 c8 00    	movl   $0xc8c800,(%ecx)
b0bf65:	57                   	push   %edi
b0bf66:	8b 79 04             	mov    0x4(%ecx),%edi
b0bf69:	43                   	inc    %ebx
b0bf6a:	89 41 18             	mov    %eax,0x18(%ecx)
b0bf6d:	88 41 1c             	mov    %al,0x1c(%ecx)
b0bf70:	89 59 20             	mov    %ebx,0x20(%ecx)
b0bf73:	89 41 24             	mov    %eax,0x24(%ecx)
b0bf76:	8b 07                	mov    (%edi),%eax
b0bf78:	89 4d fc             	mov    %ecx,-0x4(%ebp)
b0bf7b:	8b 70 08             	mov    0x8(%eax),%esi
b0bf7e:	8b ce                	mov    %esi,%ecx
b0bf80:	e8 e0 06 92 ff       	call   0x42c665
b0bf85:	8b cf                	mov    %edi,%ecx
b0bf87:	ff d6                	call   *%esi
b0bf89:	f0 0f c1 1d e0 01 d6 	lock xadd %ebx,0xd601e0
b0bf90:	00
b0bf91:	43                   	inc    %ebx
b0bf92:	8b 75 fc             	mov    -0x4(%ebp),%esi
b0bf95:	6a 00                	push   $0x0
b0bf97:	89 5e 28             	mov    %ebx,0x28(%esi)
b0bf9a:	e8 c2 d5 8f ff       	call   0x409561
b0bf9f:	89 46 0c             	mov    %eax,0xc(%esi)
b0bfa2:	8d 46 2c             	lea    0x2c(%esi),%eax
b0bfa5:	50                   	push   %eax
b0bfa6:	8b 46 14             	mov    0x14(%esi),%eax
b0bfa9:	68 00 00 01 00       	push   $0x10000
b0bfae:	56                   	push   %esi
b0bfaf:	68 11 a2 42 00       	push   $0x42a211
b0bfb4:	c1 e0 0a             	shl    $0xa,%eax
b0bfb7:	50                   	push   %eax
b0bfb8:	6a 00                	push   $0x0
b0bfba:	e8 f1 c5 91 ff       	call   0x4285b0
b0bfbf:	83 c4 1c             	add    $0x1c,%esp
b0bfc2:	89 46 08             	mov    %eax,0x8(%esi)
b0bfc5:	85 c0                	test   %eax,%eax
b0bfc7:	75 28                	jne    0xb0bff1
b0bfc9:	ff 76 0c             	push   0xc(%esi)
b0bfcc:	ff 15 84 36 d8 00    	call   *0xd83684
b0bfd2:	8b 7e 04             	mov    0x4(%esi),%edi
b0bfd5:	8b 07                	mov    (%edi),%eax
b0bfd7:	8b 70 0c             	mov    0xc(%eax),%esi
b0bfda:	8b ce                	mov    %esi,%ecx
b0bfdc:	e8 84 06 92 ff       	call   0x42c665
b0bfe1:	8b cf                	mov    %edi,%ecx
b0bfe3:	ff d6                	call   *%esi
b0bfe5:	ff 15 d4 36 d8 00    	call   *0xd836d4
b0bfeb:	85 c0                	test   %eax,%eax
b0bfed:	7e 15                	jle    0xb0c004
b0bfef:	eb 0b                	jmp    0xb0bffc
b0bff1:	5f                   	pop    %edi
b0bff2:	8b c6                	mov    %esi,%eax
b0bff4:	5e                   	pop    %esi
b0bff5:	5b                   	pop    %ebx
b0bff6:	8b e5                	mov    %ebp,%esp
b0bff8:	5d                   	pop    %ebp
b0bff9:	c2 08 00             	ret    $0x8
b0bffc:	0f b7 c0             	movzwl %ax,%eax
b0bfff:	0d 00 00 07 80       	or     $0x80070000,%eax
b0c004:	50                   	push   %eax
b0c005:	8d 4d ec             	lea    -0x14(%ebp),%ecx
b0c008:	e8 29 3f 92 ff       	call   0x42ff36
b0c00d:	68 3c ec d4 00       	push   $0xd4ec3c
b0c012:	8d 45 ec             	lea    -0x14(%ebp),%eax
b0c015:	50                   	push   %eax
b0c016:	e8 74 19 91 ff       	call   0x41d98f
b0c01b:	cc                   	int3
b0c01c:	cc                   	int3
b0c01d:	cc                   	int3
b0c01e:	cc                   	int3
b0c01f:	cc                   	int3
b0c020:	cc                   	int3
b0c021:	cc                   	int3
b0c022:	cc                   	int3
b0c023:	cc                   	int3
b0c024:	cc                   	int3
b0c025:	cc                   	int3
b0c026:	cc                   	int3
b0c027:	cc                   	int3
b0c028:	cc                   	int3
b0c029:	cc                   	int3
b0c02a:	cc                   	int3
b0c02b:	cc                   	int3
b0c02c:	cc                   	int3
b0c02d:	cc                   	int3
b0c02e:	cc                   	int3
b0c02f:	cc                   	int3
b0c030:	cc                   	int3
b0c031:	cc                   	int3
b0c032:	cc                   	int3
b0c033:	cc                   	int3
b0c034:	cc                   	int3
b0c035:	cc                   	int3
b0c036:	cc                   	int3
b0c037:	cc                   	int3
b0c038:	cc                   	int3
b0c039:	cc                   	int3
b0c03a:	cc                   	int3
b0c03b:	cc                   	int3
b0c03c:	cc                   	int3
b0c03d:	cc                   	int3
b0c03e:	cc                   	int3