5fc881:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
5fc886:	75 07                	jne    0x5fc88f
5fc888:	8b 06                	mov    (%esi),%eax
5fc88a:	8b ce                	mov    %esi,%ecx
5fc88c:	ff 50 04             	call   *0x4(%eax)
5fc88f:	8b 74 24 14          	mov    0x14(%esp),%esi
5fc893:	8b 7c 24 18          	mov    0x18(%esp),%edi
5fc897:	89 7d 04             	mov    %edi,0x4(%ebp)
5fc89a:	89 75 00             	mov    %esi,0x0(%ebp)
5fc89d:	85 f6                	test   %esi,%esi
5fc89f:	74 22                	je     0x5fc8c3
5fc8a1:	85 ff                	test   %edi,%edi
5fc8a3:	74 04                	je     0x5fc8a9
5fc8a5:	f0 ff 47 08          	lock incl 0x8(%edi)
5fc8a9:	8b 4e 10             	mov    0x10(%esi),%ecx
5fc8ac:	85 c9                	test   %ecx,%ecx
5fc8ae:	74 0d                	je     0x5fc8bd
5fc8b0:	f0 0f c1 59 08       	lock xadd %ebx,0x8(%ecx)
5fc8b5:	4b                   	dec    %ebx
5fc8b6:	75 05                	jne    0x5fc8bd
5fc8b8:	8b 01                	mov    (%ecx),%eax
5fc8ba:	ff 50 04             	call   *0x4(%eax)
5fc8bd:	89 7e 10             	mov    %edi,0x10(%esi)
5fc8c0:	89 76 0c             	mov    %esi,0xc(%esi)
5fc8c3:	5f                   	pop    %edi
5fc8c4:	5e                   	pop    %esi
5fc8c5:	5d                   	pop    %ebp
5fc8c6:	5b                   	pop    %ebx
5fc8c7:	c2 08 00             	ret    $0x8
5fc8ca:	cc                   	int3
5fc8cb:	cc                   	int3
5fc8cc:	cc                   	int3
5fc8cd:	cc                   	int3
5fc8ce:	cc                   	int3
5fc8cf:	cc                   	int3
5fc8d0:	cc                   	int3
5fc8d1:	cc                   	int3
5fc8d2:	cc                   	int3
5fc8d3:	cc                   	int3
5fc8d4:	cc                   	int3
5fc8d5:	cc                   	int3
5fc8d6:	cc                   	int3
5fc8d7:	cc                   	int3
5fc8d8:	cc                   	int3
5fc8d9:	cc                   	int3
5fc8da:	cc                   	int3
5fc8db:	cc                   	int3
5fc8dc:	cc                   	int3
5fc8dd:	cc                   	int3
5fc8de:	cc                   	int3
5fc8df:	cc                   	int3
5fc8e0:	cc                   	int3
5fc8e1:	cc                   	int3
5fc8e2:	cc                   	int3
5fc8e3:	cc                   	int3
5fc8e4:	cc                   	int3
5fc8e5:	cc                   	int3
5fc8e6:	cc                   	int3
5fc8e7:	cc                   	int3
5fc8e8:	cc                   	int3
5fc8e9:	cc                   	int3
5fc8ea:	cc                   	int3
5fc8eb:	cc                   	int3
5fc8ec:	cc                   	int3
5fc8ed:	cc                   	int3
5fc8ee:	cc                   	int3
5fc8ef:	cc                   	int3
5fc8f0:	8b 44 24 04          	mov    0x4(%esp),%eax
5fc8f4:	53                   	push   %ebx
5fc8f5:	56                   	push   %esi
5fc8f6:	57                   	push   %edi
5fc8f7:	8b 78 04             	mov    0x4(%eax),%edi
5fc8fa:	8b f1                	mov    %ecx,%esi
5fc8fc:	8b 18                	mov    (%eax),%ebx
5fc8fe:	85 ff                	test   %edi,%edi
5fc900:	74 04                	je     0x5fc906
5fc902:	f0 ff 47 08          	lock incl 0x8(%edi)
5fc906:	8b 4e 04             	mov    0x4(%esi),%ecx
5fc909:	85 c9                	test   %ecx,%ecx
5fc90b:	74 0f                	je     0x5fc91c
5fc90d:	83 c8 ff             	or     $0xffffffff,%eax
5fc910:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
5fc915:	75 05                	jne    0x5fc91c
5fc917:	8b 01                	mov    (%ecx),%eax
5fc919:	ff 50 04             	call   *0x4(%eax)
5fc91c:	89 7e 04             	mov    %edi,0x4(%esi)
5fc91f:	5f                   	pop    %edi
5fc920:	89 1e                	mov    %ebx,(%esi)
5fc922:	5e                   	pop    %esi
5fc923:	5b                   	pop    %ebx
5fc924:	c2 04 00             	ret    $0x4
5fc927:	cc                   	int3
5fc928:	cc                   	int3
5fc929:	cc                   	int3
5fc92a:	cc                   	int3
5fc92b:	cc                   	int3
5fc92c:	cc                   	int3
5fc92d:	cc                   	int3
5fc92e:	cc                   	int3
5fc92f:	cc                   	int3
5fc930:	cc                   	int3
5fc931:	cc                   	int3
5fc932:	cc                   	int3
5fc933:	cc                   	int3
5fc934:	cc                   	int3
5fc935:	cc                   	int3
5fc936:	cc                   	int3
5fc937:	cc                   	int3
5fc938:	cc                   	int3
5fc939:	cc                   	int3
5fc93a:	cc                   	int3
5fc93b:	cc                   	int3
5fc93c:	cc                   	int3
5fc93d:	cc                   	int3
5fc93e:	cc                   	int3
5fc93f:	cc                   	int3
5fc940:	56                   	push   %esi
5fc941:	57                   	push   %edi
5fc942:	8b 7c 24 10          	mov    0x10(%esp),%edi
5fc946:	8b f1                	mov    %ecx,%esi
5fc948:	85 ff                	test   %edi,%edi
5fc94a:	74 04                	je     0x5fc950
5fc94c:	f0 ff 47 08          	lock incl 0x8(%edi)
5fc950:	8b 4e 04             	mov    0x4(%esi),%ecx
5fc953:	85 c9                	test   %ecx,%ecx
5fc955:	74 0f                	je     0x5fc966
5fc957:	83 c8 ff             	or     $0xffffffff,%eax
5fc95a:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
5fc95f:	75 05                	jne    0x5fc966
5fc961:	8b 01                	mov    (%ecx),%eax
5fc963:	ff 50 04             	call   *0x4(%eax)
5fc966:	8b 44 24 0c          	mov    0xc(%esp),%eax
5fc96a:	89 7e 04             	mov    %edi,0x4(%esi)
5fc96d:	5f                   	pop    %edi
5fc96e:	89 06                	mov    %eax,(%esi)
5fc970:	5e                   	pop    %esi
5fc971:	c2 08 00             	ret    $0x8
5fc974:	cc                   	int3
5fc975:	cc                   	int3
5fc976:	cc                   	int3
5fc977:	cc                   	int3
5fc978:	cc                   	int3
5fc979:	cc                   	int3
5fc97a:	cc                   	int3
5fc97b:	cc                   	int3
5fc97c:	cc                   	int3
5fc97d:	cc                   	int3
5fc97e:	cc                   	int3
5fc97f:	cc                   	int3
5fc980:	cc                   	int3
5fc981:	cc                   	int3
5fc982:	cc                   	int3
5fc983:	cc                   	int3
5fc984:	cc                   	int3
5fc985:	cc                   	int3
5fc986:	cc                   	int3
5fc987:	cc                   	int3
5fc988:	cc                   	int3
5fc989:	cc                   	int3
5fc98a:	cc                   	int3
5fc98b:	cc                   	int3
5fc98c:	cc                   	int3
5fc98d:	cc                   	int3
5fc98e:	cc                   	int3
5fc98f:	cc                   	int3
5fc990:	8b 44 24 04          	mov    0x4(%esp),%eax
5fc994:	53                   	push   %ebx
5fc995:	56                   	push   %esi
5fc996:	57                   	push   %edi
5fc997:	8b 78 04             	mov    0x4(%eax),%edi
5fc99a:	8b f1                	mov    %ecx,%esi
5fc99c:	8b 18                	mov    (%eax),%ebx
5fc99e:	85 ff                	test   %edi,%edi
5fc9a0:	74 04                	je     0x5fc9a6
5fc9a2:	f0 ff 47 08          	lock incl 0x8(%edi)
5fc9a6:	8b 4e 04             	mov    0x4(%esi),%ecx
5fc9a9:	85 c9                	test   %ecx,%ecx
5fc9ab:	74 0f                	je     0x5fc9bc
5fc9ad:	83 c8 ff             	or     $0xffffffff,%eax
5fc9b0:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
5fc9b5:	75 05                	jne    0x5fc9bc
5fc9b7:	8b 01                	mov    (%ecx),%eax
5fc9b9:	ff 50 04             	call   *0x4(%eax)
5fc9bc:	89 7e 04             	mov    %edi,0x4(%esi)
5fc9bf:	5f                   	pop    %edi
5fc9c0:	89 1e                	mov    %ebx,(%esi)
5fc9c2:	5e                   	pop    %esi
5fc9c3:	5b                   	pop    %ebx
5fc9c4:	c2 04 00             	ret    $0x4
5fc9c7:	cc                   	int3
5fc9c8:	cc                   	int3
5fc9c9:	cc                   	int3
5fc9ca:	cc                   	int3
5fc9cb:	cc                   	int3
5fc9cc:	cc                   	int3
5fc9cd:	cc                   	int3
5fc9ce:	cc                   	int3
5fc9cf:	cc                   	int3
5fc9d0:	cc                   	int3
5fc9d1:	cc                   	int3
5fc9d2:	cc                   	int3
5fc9d3:	cc                   	int3
5fc9d4:	cc                   	int3
5fc9d5:	cc                   	int3
5fc9d6:	cc                   	int3
5fc9d7:	cc                   	int3
5fc9d8:	cc                   	int3
5fc9d9:	cc                   	int3
5fc9da:	cc                   	int3
5fc9db:	cc                   	int3
5fc9dc:	cc                   	int3
5fc9dd:	cc                   	int3
5fc9de:	cc                   	int3
5fc9df:	cc                   	int3
5fc9e0:	56                   	push   %esi
5fc9e1:	57                   	push   %edi
5fc9e2:	8b 7c 24 10          	mov    0x10(%esp),%edi
5fc9e6:	8b f1                	mov    %ecx,%esi
5fc9e8:	85 ff                	test   %edi,%edi
5fc9ea:	74 04                	je     0x5fc9f0
5fc9ec:	f0 ff 47 08          	lock incl 0x8(%edi)
5fc9f0:	8b 4e 04             	mov    0x4(%esi),%ecx
5fc9f3:	85 c9                	test   %ecx,%ecx
5fc9f5:	74 0f                	je     0x5fca06
5fc9f7:	83 c8 ff             	or     $0xffffffff,%eax
5fc9fa:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
5fc9ff:	75 05                	jne    0x5fca06
5fca01:	8b 01                	mov    (%ecx),%eax
5fca03:	ff 50 04             	call   *0x4(%eax)
5fca06:	8b 44 24 0c          	mov    0xc(%esp),%eax
5fca0a:	89 7e 04             	mov    %edi,0x4(%esi)
5fca0d:	5f                   	pop    %edi
5fca0e:	89 06                	mov    %eax,(%esi)
5fca10:	5e                   	pop    %esi
5fca11:	c2 08 00             	ret    $0x8
5fca14:	cc                   	int3
5fca15:	cc                   	int3
5fca16:	cc                   	int3
5fca17:	cc                   	int3
5fca18:	cc                   	int3
5fca19:	cc                   	int3
5fca1a:	cc                   	int3
5fca1b:	cc                   	int3
5fca1c:	cc                   	int3
5fca1d:	cc                   	int3
5fca1e:	cc                   	int3
5fca1f:	cc                   	int3
5fca20:	cc                   	int3
5fca21:	cc                   	int3
5fca22:	cc                   	int3
5fca23:	cc                   	int3
5fca24:	cc                   	int3
5fca25:	cc                   	int3
5fca26:	cc                   	int3
5fca27:	cc                   	int3
5fca28:	cc                   	int3
5fca29:	cc                   	int3
5fca2a:	cc                   	int3
5fca2b:	cc                   	int3
5fca2c:	cc                   	int3
5fca2d:	cc                   	int3
5fca2e:	cc                   	int3
5fca2f:	cc                   	int3
5fca30:	56                   	push   %esi
5fca31:	57                   	push   %edi
5fca32:	8b 7c 24 10          	mov    0x10(%esp),%edi
5fca36:	8b f1                	mov    %ecx,%esi
5fca38:	85 ff                	test   %edi,%edi
5fca3a:	74 04                	je     0x5fca40
5fca3c:	f0 ff 47 08          	lock incl 0x8(%edi)
5fca40:	8b 4e 04             	mov    0x4(%esi),%ecx
5fca43:	85 c9                	test   %ecx,%ecx
5fca45:	74 0f                	je     0x5fca56
5fca47:	83 c8 ff             	or     $0xffffffff,%eax
5fca4a:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
5fca4f:	75 05                	jne    0x5fca56
5fca51:	8b 01                	mov    (%ecx),%eax
5fca53:	ff 50 04             	call   *0x4(%eax)
5fca56:	8b 44 24 0c          	mov    0xc(%esp),%eax
5fca5a:	89 7e 04             	mov    %edi,0x4(%esi)
5fca5d:	5f                   	pop    %edi
5fca5e:	89 06                	mov    %eax,(%esi)
5fca60:	5e                   	pop    %esi
5fca61:	c2 08 00             	ret    $0x8
5fca64:	cc                   	int3
5fca65:	cc                   	int3
5fca66:	cc                   	int3
5fca67:	cc                   	int3
5fca68:	cc                   	int3
5fca69:	cc                   	int3
5fca6a:	cc                   	int3
5fca6b:	cc                   	int3
5fca6c:	cc                   	int3
5fca6d:	cc                   	int3
5fca6e:	cc                   	int3
5fca6f:	cc                   	int3
5fca70:	cc                   	int3
5fca71:	cc                   	int3
5fca72:	cc                   	int3
5fca73:	cc                   	int3
5fca74:	cc                   	int3
5fca75:	cc                   	int3
5fca76:	cc                   	int3
5fca77:	cc                   	int3
5fca78:	cc                   	int3
5fca79:	cc                   	int3
5fca7a:	cc                   	int3
5fca7b:	cc                   	int3
5fca7c:	cc                   	int3
5fca7d:	cc                   	int3
5fca7e:	cc                   	int3
5fca7f:	cc                   	int3
5fca80:	ff 74 24 04          	push   0x4(%esp)
5fca84:	e8 84 3c e1 ff       	call   0x41070d
5fca89:	c2 08 00             	ret    $0x8
5fca8c:	cc                   	int3
5fca8d:	cc                   	int3
5fca8e:	cc                   	int3
5fca8f:	cc                   	int3
5fca90:	ff 74 24 04          	push   0x4(%esp)
5fca94:	e8 67 ea e0 ff       	call   0x40b500
5fca99:	c2 08 00             	ret    $0x8
5fca9c:	cc                   	int3
5fca9d:	cc                   	int3
5fca9e:	cc                   	int3
5fca9f:	cc                   	int3
5fcaa0:	51                   	push   %ecx
5fcaa1:	56                   	push   %esi
5fcaa2:	57                   	push   %edi
5fcaa3:	8b f9                	mov    %ecx,%edi
5fcaa5:	6a 00                	push   $0x0
5fcaa7:	8b 07                	mov    (%edi),%eax
5fcaa9:	c6 40 08 00          	movb   $0x0,0x8(%eax)
5fcaad:	8b 07                	mov    (%edi),%eax
5fcaaf:	c6 40 09 00          	movb   $0x0,0x9(%eax)
5fcab3:	8b 0f                	mov    (%edi),%ecx
5fcab5:	81 c1 c8 00 00 00    	add    $0xc8,%ecx
5fcabb:	e8 5f 4d e1 ff       	call   0x41181f
5fcac0:	6a 10                	push   $0x10
5fcac2:	e8 b6 de e2 ff       	call   0x42a97d
5fcac7:	8b f0                	mov    %eax,%esi
5fcac9:	83 c4 04             	add    $0x4,%esp
5fcacc:	89 74 24 08          	mov    %esi,0x8(%esp)
5fcad0:	85 f6                	test   %esi,%esi
5fcad2:	74 2e                	je     0x5fcb02
5fcad4:	57                   	push   %edi
5fcad5:	8d 4e 04             	lea    0x4(%esi),%ecx
5fcad8:	c7 06 98 bc be 00    	movl   $0xbebc98,(%esi)
5fcade:	e8 b6 ff e1 ff       	call   0x41ca99
5fcae3:	8b 44 24 10          	mov    0x10(%esp),%eax