44537b:	ff d6                	call   *%esi
44537d:	8b 75 08             	mov    0x8(%ebp),%esi
445380:	8d 45 f8             	lea    -0x8(%ebp),%eax
445383:	50                   	push   %eax
445384:	8d 45 fc             	lea    -0x4(%ebp),%eax
445387:	89 75 fc             	mov    %esi,-0x4(%ebp)
44538a:	50                   	push   %eax
44538b:	8d 46 24             	lea    0x24(%esi),%eax
44538e:	50                   	push   %eax
44538f:	8d 4f 28             	lea    0x28(%edi),%ecx
445392:	e8 00 cf fe ff       	call   0x432297
445397:	8b d8                	mov    %eax,%ebx
445399:	85 db                	test   %ebx,%ebx
44539b:	75 14                	jne    0x4453b1
44539d:	40                   	inc    %eax
44539e:	8b c8                	mov    %eax,%ecx
4453a0:	f0 0f c1 4e 08       	lock xadd %ecx,0x8(%esi)
4453a5:	41                   	inc    %ecx
4453a6:	3b c8                	cmp    %eax,%ecx
4453a8:	75 04                	jne    0x4453ae
4453aa:	f0 ff 46 0c          	lock incl 0xc(%esi)
4453ae:	89 46 14             	mov    %eax,0x14(%esi)
4453b1:	8b 07                	mov    (%edi),%eax
4453b3:	8b 70 1c             	mov    0x1c(%eax),%esi
4453b6:	8b ce                	mov    %esi,%ecx
4453b8:	ff 15 c4 12 45 00    	call   *0x4512c4
4453be:	8b cf                	mov    %edi,%ecx
4453c0:	ff d6                	call   *%esi
4453c2:	5f                   	pop    %edi
4453c3:	5e                   	pop    %esi
4453c4:	8b c3                	mov    %ebx,%eax
4453c6:	5b                   	pop    %ebx
4453c7:	c9                   	leave
4453c8:	c2 08 00             	ret    $0x8
4453cb:	cc                   	int3
4453cc:	cc                   	int3
4453cd:	cc                   	int3
4453ce:	cc                   	int3
4453cf:	cc                   	int3
4453d0:	8b ff                	mov    %edi,%edi
4453d2:	55                   	push   %ebp
4453d3:	8b ec                	mov    %esp,%ebp
4453d5:	51                   	push   %ecx
4453d6:	51                   	push   %ecx
4453d7:	53                   	push   %ebx
4453d8:	56                   	push   %esi
4453d9:	57                   	push   %edi
4453da:	8b f9                	mov    %ecx,%edi
4453dc:	8b 07                	mov    (%edi),%eax
4453de:	8b 70 18             	mov    0x18(%eax),%esi
4453e1:	8b ce                	mov    %esi,%ecx
4453e3:	ff 15 c4 12 45 00    	call   *0x4512c4
4453e9:	8b cf                	mov    %edi,%ecx
4453eb:	ff d6                	call   *%esi
4453ed:	8b 75 08             	mov    0x8(%ebp),%esi
4453f0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4453f3:	50                   	push   %eax
4453f4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4453f7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4453fa:	50                   	push   %eax
4453fb:	8d 46 24             	lea    0x24(%esi),%eax
4453fe:	50                   	push   %eax
4453ff:	8d 4f 28             	lea    0x28(%edi),%ecx
445402:	e8 33 fa ff ff       	call   0x444e3a
445407:	8b d8                	mov    %eax,%ebx
445409:	85 db                	test   %ebx,%ebx
44540b:	75 14                	jne    0x445421
44540d:	40                   	inc    %eax
44540e:	8b c8                	mov    %eax,%ecx
445410:	f0 0f c1 4e 08       	lock xadd %ecx,0x8(%esi)
445415:	41                   	inc    %ecx
445416:	3b c8                	cmp    %eax,%ecx
445418:	75 04                	jne    0x44541e
44541a:	f0 ff 46 0c          	lock incl 0xc(%esi)
44541e:	89 46 14             	mov    %eax,0x14(%esi)
445421:	8b 07                	mov    (%edi),%eax
445423:	8b 70 1c             	mov    0x1c(%eax),%esi
445426:	8b ce                	mov    %esi,%ecx
445428:	ff 15 c4 12 45 00    	call   *0x4512c4
44542e:	8b cf                	mov    %edi,%ecx
445430:	ff d6                	call   *%esi
445432:	5f                   	pop    %edi
445433:	5e                   	pop    %esi
445434:	8b c3                	mov    %ebx,%eax
445436:	5b                   	pop    %ebx
445437:	c9                   	leave
445438:	c2 08 00             	ret    $0x8
44543b:	8b ff                	mov    %edi,%edi
44543d:	55                   	push   %ebp
44543e:	8b ec                	mov    %esp,%ebp
445440:	51                   	push   %ecx
445441:	53                   	push   %ebx
445442:	57                   	push   %edi
445443:	8b 7d 10             	mov    0x10(%ebp),%edi
445446:	33 db                	xor    %ebx,%ebx
445448:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44544b:	38 1f                	cmp    %bl,(%edi)
44544d:	0f 84 48 01 00 00    	je     0x44559b
445453:	56                   	push   %esi
445454:	8b 75 08             	mov    0x8(%ebp),%esi
445457:	8b 16                	mov    (%esi),%edx
445459:	8b 42 20             	mov    0x20(%edx),%eax
44545c:	2b c3                	sub    %ebx,%eax
44545e:	0f 84 2f 01 00 00    	je     0x445593
445464:	83 e8 01             	sub    $0x1,%eax
445467:	74 0f                	je     0x445478
445469:	83 e8 01             	sub    $0x1,%eax
44546c:	75 29                	jne    0x445497
44546e:	21 5a 20             	and    %ebx,0x20(%edx)
445471:	88 1f                	mov    %bl,(%edi)
445473:	e9 22 01 00 00       	jmp    0x44559a
445478:	8b 55 0c             	mov    0xc(%ebp),%edx
44547b:	88 1f                	mov    %bl,(%edi)
44547d:	8b 42 20             	mov    0x20(%edx),%eax
445480:	83 e8 00             	sub    $0x0,%eax
445483:	0f 84 11 01 00 00    	je     0x44559a
445489:	83 e8 01             	sub    $0x1,%eax
44548c:	0f 84 ba 00 00 00    	je     0x44554c
445492:	83 e8 01             	sub    $0x1,%eax
445495:	74 0a                	je     0x4454a1
445497:	bb 07 00 00 80       	mov    $0x80000007,%ebx
44549c:	e9 f9 00 00 00       	jmp    0x44559a
4454a1:	8b 3e                	mov    (%esi),%edi
4454a3:	8b 47 14             	mov    0x14(%edi),%eax
4454a6:	8b 7f 1c             	mov    0x1c(%edi),%edi
4454a9:	8b 48 18             	mov    0x18(%eax),%ecx
4454ac:	85 ff                	test   %edi,%edi
4454ae:	74 11                	je     0x4454c1
4454b0:	8b 06                	mov    (%esi),%eax
4454b2:	39 47 14             	cmp    %eax,0x14(%edi)
4454b5:	75 05                	jne    0x4454bc
4454b7:	89 4f 14             	mov    %ecx,0x14(%edi)
4454ba:	eb 0a                	jmp    0x4454c6
4454bc:	89 4f 18             	mov    %ecx,0x18(%edi)
4454bf:	eb 05                	jmp    0x4454c6
4454c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4454c4:	89 08                	mov    %ecx,(%eax)
4454c6:	8b 06                	mov    (%esi),%eax
4454c8:	89 48 1c             	mov    %ecx,0x1c(%eax)
4454cb:	89 4a 1c             	mov    %ecx,0x1c(%edx)
4454ce:	8b 41 14             	mov    0x14(%ecx),%eax
4454d1:	85 c0                	test   %eax,%eax
4454d3:	74 03                	je     0x4454d8
4454d5:	89 50 1c             	mov    %edx,0x1c(%eax)
4454d8:	8b 41 18             	mov    0x18(%ecx),%eax
4454db:	89 45 fc             	mov    %eax,-0x4(%ebp)
4454de:	85 c0                	test   %eax,%eax
4454e0:	74 0e                	je     0x4454f0
4454e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4454e5:	8b 06                	mov    (%esi),%eax
4454e7:	89 42 1c             	mov    %eax,0x1c(%edx)
4454ea:	8b 41 18             	mov    0x18(%ecx),%eax
4454ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4454f0:	8b 06                	mov    (%esi),%eax
4454f2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4454f5:	89 50 14             	mov    %edx,0x14(%eax)
4454f8:	8b 55 0c             	mov    0xc(%ebp),%edx
4454fb:	8b 41 14             	mov    0x14(%ecx),%eax
4454fe:	89 42 18             	mov    %eax,0x18(%edx)
445501:	89 51 14             	mov    %edx,0x14(%ecx)
445504:	8b 06                	mov    (%esi),%eax
445506:	89 41 18             	mov    %eax,0x18(%ecx)
445509:	8b 41 20             	mov    0x20(%ecx),%eax
44550c:	89 79 1c             	mov    %edi,0x1c(%ecx)
44550f:	83 e8 00             	sub    $0x0,%eax
445512:	74 28                	je     0x44553c
445514:	83 e8 01             	sub    $0x1,%eax
445517:	74 15                	je     0x44552e
445519:	83 e8 01             	sub    $0x1,%eax
44551c:	74 07                	je     0x445525
44551e:	bb 07 00 00 80       	mov    $0x80000007,%ebx
445523:	eb 1f                	jmp    0x445544
445525:	c7 42 20 01 00 00 00 	movl   $0x1,0x20(%edx)
44552c:	eb 11                	jmp    0x44553f
44552e:	21 5a 20             	and    %ebx,0x20(%edx)
445531:	8b 06                	mov    (%esi),%eax
445533:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
44553a:	eb 08                	jmp    0x445544
44553c:	21 5a 20             	and    %ebx,0x20(%edx)
44553f:	8b 06                	mov    (%esi),%eax
445541:	21 58 20             	and    %ebx,0x20(%eax)
445544:	83 61 20 00          	andl   $0x0,0x20(%ecx)
445548:	89 0e                	mov    %ecx,(%esi)
44554a:	eb 4e                	jmp    0x44559a
44554c:	8b 06                	mov    (%esi),%eax
44554e:	8b 78 1c             	mov    0x1c(%eax),%edi
445551:	85 ff                	test   %edi,%edi
445553:	74 0f                	je     0x445564
445555:	39 47 14             	cmp    %eax,0x14(%edi)
445558:	75 05                	jne    0x44555f
44555a:	89 57 14             	mov    %edx,0x14(%edi)
44555d:	eb 07                	jmp    0x445566
44555f:	89 57 18             	mov    %edx,0x18(%edi)
445562:	eb 02                	jmp    0x445566
445564:	89 11                	mov    %edx,(%ecx)
445566:	8b 4a 18             	mov    0x18(%edx),%ecx
445569:	85 c9                	test   %ecx,%ecx
44556b:	74 05                	je     0x445572
44556d:	8b 06                	mov    (%esi),%eax
44556f:	89 41 1c             	mov    %eax,0x1c(%ecx)
445572:	8b 06                	mov    (%esi),%eax
445574:	21 58 20             	and    %ebx,0x20(%eax)
445577:	8b 0e                	mov    (%esi),%ecx
445579:	8b 42 18             	mov    0x18(%edx),%eax
44557c:	89 41 14             	mov    %eax,0x14(%ecx)
44557f:	8b 06                	mov    (%esi),%eax
445581:	89 50 1c             	mov    %edx,0x1c(%eax)
445584:	21 5a 20             	and    %ebx,0x20(%edx)
445587:	8b 06                	mov    (%esi),%eax
445589:	89 42 18             	mov    %eax,0x18(%edx)
44558c:	89 7a 1c             	mov    %edi,0x1c(%edx)
44558f:	89 16                	mov    %edx,(%esi)
445591:	eb 07                	jmp    0x44559a
445593:	c7 42 20 01 00 00 00 	movl   $0x1,0x20(%edx)
44559a:	5e                   	pop    %esi
44559b:	5f                   	pop    %edi
44559c:	8b c3                	mov    %ebx,%eax
44559e:	5b                   	pop    %ebx
44559f:	c9                   	leave
4455a0:	c2 0c 00             	ret    $0xc
4455a3:	8b ff                	mov    %edi,%edi
4455a5:	55                   	push   %ebp
4455a6:	8b ec                	mov    %esp,%ebp
4455a8:	51                   	push   %ecx
4455a9:	51                   	push   %ecx
4455aa:	53                   	push   %ebx
4455ab:	57                   	push   %edi
4455ac:	8b 7d 10             	mov    0x10(%ebp),%edi
4455af:	33 db                	xor    %ebx,%ebx
4455b1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4455b4:	38 1f                	cmp    %bl,(%edi)
4455b6:	0f 84 3c 01 00 00    	je     0x4456f8
4455bc:	56                   	push   %esi
4455bd:	8b 75 08             	mov    0x8(%ebp),%esi
4455c0:	8b 16                	mov    (%esi),%edx
4455c2:	8b 42 20             	mov    0x20(%edx),%eax
4455c5:	2b c3                	sub    %ebx,%eax
4455c7:	0f 84 23 01 00 00    	je     0x4456f0
4455cd:	83 e8 01             	sub    $0x1,%eax
4455d0:	0f 84 13 01 00 00    	je     0x4456e9
4455d6:	83 e8 01             	sub    $0x1,%eax
4455d9:	75 1a                	jne    0x4455f5
4455db:	8b 55 0c             	mov    0xc(%ebp),%edx
4455de:	88 1f                	mov    %bl,(%edi)
4455e0:	8b 42 20             	mov    0x20(%edx),%eax
4455e3:	2b c3                	sub    %ebx,%eax
4455e5:	0f 84 0c 01 00 00    	je     0x4456f7
4455eb:	83 e8 01             	sub    $0x1,%eax
4455ee:	74 59                	je     0x445649
4455f0:	83 e8 01             	sub    $0x1,%eax
4455f3:	74 0a                	je     0x4455ff
4455f5:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4455fa:	e9 f8 00 00 00       	jmp    0x4456f7
4455ff:	8b 06                	mov    (%esi),%eax
445601:	8b 78 1c             	mov    0x1c(%eax),%edi
445604:	85 ff                	test   %edi,%edi
445606:	74 0f                	je     0x445617
445608:	39 47 14             	cmp    %eax,0x14(%edi)
44560b:	75 05                	jne    0x445612
44560d:	89 57 14             	mov    %edx,0x14(%edi)
445610:	eb 07                	jmp    0x445619
445612:	89 57 18             	mov    %edx,0x18(%edi)
445615:	eb 02                	jmp    0x445619
445617:	89 11                	mov    %edx,(%ecx)
445619:	8b 4a 14             	mov    0x14(%edx),%ecx
44561c:	85 c9                	test   %ecx,%ecx
44561e:	74 05                	je     0x445625
445620:	8b 06                	mov    (%esi),%eax
445622:	89 41 1c             	mov    %eax,0x1c(%ecx)
445625:	8b 06                	mov    (%esi),%eax
445627:	21 58 20             	and    %ebx,0x20(%eax)
44562a:	8b 0e                	mov    (%esi),%ecx
44562c:	8b 42 14             	mov    0x14(%edx),%eax
44562f:	89 41 18             	mov    %eax,0x18(%ecx)
445632:	8b 06                	mov    (%esi),%eax
445634:	89 50 1c             	mov    %edx,0x1c(%eax)
445637:	21 5a 20             	and    %ebx,0x20(%edx)
44563a:	8b 06                	mov    (%esi),%eax
44563c:	89 42 14             	mov    %eax,0x14(%edx)
44563f:	89 7a 1c             	mov    %edi,0x1c(%edx)
445642:	89 16                	mov    %edx,(%esi)
445644:	e9 ae 00 00 00       	jmp    0x4456f7
445649:	8b 0e                	mov    (%esi),%ecx
44564b:	8b 41 18             	mov    0x18(%ecx),%eax
44564e:	8b 78 14             	mov    0x14(%eax),%edi
445651:	8b 41 1c             	mov    0x1c(%ecx),%eax
445654:	89 45 f8             	mov    %eax,-0x8(%ebp)
445657:	85 c0                	test   %eax,%eax
445659:	74 0f                	je     0x44566a
44565b:	39 48 14             	cmp    %ecx,0x14(%eax)
44565e:	75 05                	jne    0x445665
445660:	89 78 14             	mov    %edi,0x14(%eax)
445663:	eb 0a                	jmp    0x44566f
445665:	89 78 18             	mov    %edi,0x18(%eax)
445668:	eb 05                	jmp    0x44566f
44566a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44566d:	89 38                	mov    %edi,(%eax)
44566f:	8b 06                	mov    (%esi),%eax
445671:	89 78 1c             	mov    %edi,0x1c(%eax)
445674:	89 7a 1c             	mov    %edi,0x1c(%edx)
445677:	8b 47 18             	mov    0x18(%edi),%eax
44567a:	85 c0                	test   %eax,%eax
44567c:	74 03                	je     0x445681
44567e:	89 50 1c             	mov    %edx,0x1c(%eax)
445681:	8b 4f 14             	mov    0x14(%edi),%ecx
445684:	85 c9                	test   %ecx,%ecx
445686:	74 05                	je     0x44568d
445688:	8b 06                	mov    (%esi),%eax
44568a:	89 41 1c             	mov    %eax,0x1c(%ecx)
44568d:	8b 47 18             	mov    0x18(%edi),%eax
445690:	89 42 14             	mov    %eax,0x14(%edx)
445693:	8b 0e                	mov    (%esi),%ecx
445695:	8b 47 14             	mov    0x14(%edi),%eax
445698:	89 41 18             	mov    %eax,0x18(%ecx)
44569b:	33 c9                	xor    %ecx,%ecx
44569d:	89 57 18             	mov    %edx,0x18(%edi)
4456a0:	8b 06                	mov    (%esi),%eax
4456a2:	89 47 14             	mov    %eax,0x14(%edi)
4456a5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4456a8:	89 47 1c             	mov    %eax,0x1c(%edi)
4456ab:	8b 47 20             	mov    0x20(%edi),%eax
4456ae:	2b c1                	sub    %ecx,%eax
4456b0:	74 28                	je     0x4456da
4456b2:	83 e8 01             	sub    $0x1,%eax
4456b5:	74 1a                	je     0x4456d1
4456b7:	83 e8 01             	sub    $0x1,%eax
4456ba:	74 07                	je     0x4456c3
4456bc:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4456c1:	eb 1f                	jmp    0x4456e2
4456c3:	89 4a 20             	mov    %ecx,0x20(%edx)
4456c6:	8b 06                	mov    (%esi),%eax
4456c8:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%eax)
4456cf:	eb 11                	jmp    0x4456e2
4456d1:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
4456d8:	eb 03                	jmp    0x4456dd
4456da:	89 4a 20             	mov    %ecx,0x20(%edx)
4456dd:	8b 06                	mov    (%esi),%eax
4456df:	89 48 20             	mov    %ecx,0x20(%eax)
4456e2:	89 4f 20             	mov    %ecx,0x20(%edi)
4456e5:	89 3e                	mov    %edi,(%esi)
4456e7:	eb 0e                	jmp    0x4456f7
4456e9:	21 5a 20             	and    %ebx,0x20(%edx)
4456ec:	88 1f                	mov    %bl,(%edi)
4456ee:	eb 07                	jmp    0x4456f7
4456f0:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
4456f7:	5e                   	pop    %esi
4456f8:	5f                   	pop    %edi
4456f9:	8b c3                	mov    %ebx,%eax
4456fb:	5b                   	pop    %ebx
4456fc:	c9                   	leave