4442dd:	e8 76 a1 fd ff       	call   0x41e458
4442e2:	85 c0                	test   %eax,%eax
4442e4:	75 3b                	jne    0x444321
4442e6:	8b 4f 08             	mov    0x8(%edi),%ecx
4442e9:	39 4e 08             	cmp    %ecx,0x8(%esi)
4442ec:	75 17                	jne    0x444305
4442ee:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
4442f2:	75 0d                	jne    0x444301
4442f4:	8b 57 0c             	mov    0xc(%edi),%edx
4442f7:	8b 4e 0c             	mov    0xc(%esi),%ecx
4442fa:	e8 59 a1 fd ff       	call   0x41e458
4442ff:	eb 20                	jmp    0x444321
444301:	33 c0                	xor    %eax,%eax
444303:	eb 1c                	jmp    0x444321
444305:	33 c0                	xor    %eax,%eax
444307:	39 4e 08             	cmp    %ecx,0x8(%esi)
44430a:	eb 0b                	jmp    0x444317
44430c:	33 c0                	xor    %eax,%eax
44430e:	39 0e                	cmp    %ecx,(%esi)
444310:	eb 05                	jmp    0x444317
444312:	33 c0                	xor    %eax,%eax
444314:	39 4e 10             	cmp    %ecx,0x10(%esi)
444317:	0f 9d c0             	setge  %al
44431a:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
444321:	5f                   	pop    %edi
444322:	5e                   	pop    %esi
444323:	5d                   	pop    %ebp
444324:	c2 04 00             	ret    $0x4
444327:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
44432b:	74 1b                	je     0x444348
44432d:	8b 01                	mov    (%ecx),%eax
44432f:	85 c0                	test   %eax,%eax
444331:	74 0b                	je     0x44433e
444333:	eb 02                	jmp    0x444337
444335:	8b c2                	mov    %edx,%eax
444337:	8b 50 0c             	mov    0xc(%eax),%edx
44433a:	85 d2                	test   %edx,%edx
44433c:	75 f7                	jne    0x444335
44433e:	83 c0 04             	add    $0x4,%eax
444341:	50                   	push   %eax
444342:	e8 2f 03 00 00       	call   0x444676
444347:	c3                   	ret
444348:	b8 02 00 00 80       	mov    $0x80000002,%eax
44434d:	c3                   	ret
44434e:	cc                   	int3
44434f:	cc                   	int3
444350:	8b ff                	mov    %edi,%edi
444352:	55                   	push   %ebp
444353:	8b ec                	mov    %esp,%ebp
444355:	83 ec 14             	sub    $0x14,%esp
444358:	53                   	push   %ebx
444359:	56                   	push   %esi
44435a:	57                   	push   %edi
44435b:	8b f9                	mov    %ecx,%edi
44435d:	8b 07                	mov    (%edi),%eax
44435f:	8b 70 18             	mov    0x18(%eax),%esi
444362:	8b ce                	mov    %esi,%ecx
444364:	ff 15 c4 12 45 00    	call   *0x4512c4
44436a:	8b cf                	mov    %edi,%ecx
44436c:	ff d6                	call   *%esi
44436e:	8b 47 38             	mov    0x38(%edi),%eax
444371:	8d 4f 28             	lea    0x28(%edi),%ecx
444374:	8b 5d 08             	mov    0x8(%ebp),%ebx
444377:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
44437b:	89 45 f4             	mov    %eax,-0xc(%ebp)
44437e:	8d 45 f8             	lea    -0x8(%ebp),%eax
444381:	50                   	push   %eax
444382:	8d 43 24             	lea    0x24(%ebx),%eax
444385:	50                   	push   %eax
444386:	e8 47 d9 fe ff       	call   0x431cd2
44438b:	89 45 fc             	mov    %eax,-0x4(%ebp)
44438e:	85 c0                	test   %eax,%eax
444390:	0f 85 cc 00 00 00    	jne    0x444462
444396:	8b 47 34             	mov    0x34(%edi),%eax
444399:	85 c0                	test   %eax,%eax
44439b:	74 0b                	je     0x4443a8
44439d:	eb 02                	jmp    0x4443a1
44439f:	8b c1                	mov    %ecx,%eax
4443a1:	8b 48 0c             	mov    0xc(%eax),%ecx
4443a4:	85 c9                	test   %ecx,%ecx
4443a6:	75 f7                	jne    0x44439f
4443a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4443ab:	85 c0                	test   %eax,%eax
4443ad:	74 3d                	je     0x4443ec
4443af:	39 18                	cmp    %ebx,(%eax)
4443b1:	74 0d                	je     0x4443c0
4443b3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4443b6:	e8 44 0a 00 00       	call   0x444dff
4443bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4443be:	eb eb                	jmp    0x4443ab
4443c0:	83 c0 04             	add    $0x4,%eax
4443c3:	8d 4f 34             	lea    0x34(%edi),%ecx
4443c6:	50                   	push   %eax
4443c7:	e8 aa 02 00 00       	call   0x444676
4443cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4443cf:	85 c0                	test   %eax,%eax
4443d1:	74 19                	je     0x4443ec
4443d3:	8b 0f                	mov    (%edi),%ecx
4443d5:	8b 71 1c             	mov    0x1c(%ecx),%esi
4443d8:	8b ce                	mov    %esi,%ecx
4443da:	ff 15 c4 12 45 00    	call   *0x4512c4
4443e0:	8b cf                	mov    %edi,%ecx
4443e2:	ff d6                	call   *%esi
4443e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4443e7:	e9 8c 00 00 00       	jmp    0x444478
4443ec:	ff 15 64 11 45 00    	call   *0x451164
4443f2:	33 f6                	xor    %esi,%esi
4443f4:	46                   	inc    %esi
4443f5:	f0 0f c1 77 44       	lock xadd %esi,0x44(%edi)
4443fa:	46                   	inc    %esi
4443fb:	8b 53 28             	mov    0x28(%ebx),%edx
4443fe:	8d 4f 34             	lea    0x34(%edi),%ecx
444401:	03 d0                	add    %eax,%edx
444403:	89 75 f0             	mov    %esi,-0x10(%ebp)
444406:	8d 45 fc             	lea    -0x4(%ebp),%eax
444409:	89 55 ec             	mov    %edx,-0x14(%ebp)
44440c:	50                   	push   %eax
44440d:	8b 45 f8             	mov    -0x8(%ebp),%eax
444410:	83 c0 14             	add    $0x14,%eax
444413:	50                   	push   %eax
444414:	8d 45 ec             	lea    -0x14(%ebp),%eax
444417:	50                   	push   %eax
444418:	e8 15 0d 00 00       	call   0x445132
44441d:	89 45 fc             	mov    %eax,-0x4(%ebp)
444420:	8b 07                	mov    (%edi),%eax
444422:	8b 70 1c             	mov    0x1c(%eax),%esi
444425:	8b ce                	mov    %esi,%ecx
444427:	ff 15 c4 12 45 00    	call   *0x4512c4
44442d:	8b cf                	mov    %edi,%ecx
44442f:	ff d6                	call   *%esi
444431:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
444435:	75 1b                	jne    0x444452
444437:	8b 43 28             	mov    0x28(%ebx),%eax
44443a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44443d:	89 45 f4             	mov    %eax,-0xc(%ebp)
444440:	8b 07                	mov    (%edi),%eax
444442:	51                   	push   %ecx
444443:	8b 70 30             	mov    0x30(%eax),%esi
444446:	8b ce                	mov    %esi,%ecx
444448:	ff 15 c4 12 45 00    	call   *0x4512c4
44444e:	8b cf                	mov    %edi,%ecx
444450:	ff d6                	call   *%esi
444452:	8b 75 fc             	mov    -0x4(%ebp),%esi
444455:	85 f6                	test   %esi,%esi
444457:	74 1d                	je     0x444476
444459:	8b cb                	mov    %ebx,%ecx
44445b:	e8 a0 12 00 00       	call   0x445700
444460:	eb 14                	jmp    0x444476
444462:	8b 07                	mov    (%edi),%eax
444464:	8b 70 1c             	mov    0x1c(%eax),%esi
444467:	8b ce                	mov    %esi,%ecx
444469:	ff 15 c4 12 45 00    	call   *0x4512c4
44446f:	8b cf                	mov    %edi,%ecx
444471:	ff d6                	call   *%esi
444473:	8b 75 fc             	mov    -0x4(%ebp),%esi
444476:	8b c6                	mov    %esi,%eax
444478:	5f                   	pop    %edi
444479:	5e                   	pop    %esi
44447a:	5b                   	pop    %ebx
44447b:	c9                   	leave
44447c:	c2 04 00             	ret    $0x4
44447f:	cc                   	int3
444480:	8b ff                	mov    %edi,%edi
444482:	55                   	push   %ebp
444483:	8b ec                	mov    %esp,%ebp
444485:	83 ec 14             	sub    $0x14,%esp
444488:	53                   	push   %ebx
444489:	56                   	push   %esi
44448a:	57                   	push   %edi
44448b:	8b f9                	mov    %ecx,%edi
44448d:	8b 07                	mov    (%edi),%eax
44448f:	8b 70 18             	mov    0x18(%eax),%esi
444492:	8b ce                	mov    %esi,%ecx
444494:	ff 15 c4 12 45 00    	call   *0x4512c4
44449a:	8b cf                	mov    %edi,%ecx
44449c:	ff d6                	call   *%esi
44449e:	8b 47 38             	mov    0x38(%edi),%eax
4444a1:	8d 4f 28             	lea    0x28(%edi),%ecx
4444a4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4444a7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4444ab:	89 45 f4             	mov    %eax,-0xc(%ebp)
4444ae:	8d 45 f8             	lea    -0x8(%ebp),%eax
4444b1:	50                   	push   %eax
4444b2:	8d 43 24             	lea    0x24(%ebx),%eax
4444b5:	50                   	push   %eax
4444b6:	e8 41 08 00 00       	call   0x444cfc
4444bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4444be:	85 c0                	test   %eax,%eax
4444c0:	0f 85 cc 00 00 00    	jne    0x444592
4444c6:	8b 47 34             	mov    0x34(%edi),%eax
4444c9:	85 c0                	test   %eax,%eax
4444cb:	74 0b                	je     0x4444d8
4444cd:	eb 02                	jmp    0x4444d1
4444cf:	8b c1                	mov    %ecx,%eax
4444d1:	8b 48 0c             	mov    0xc(%eax),%ecx
4444d4:	85 c9                	test   %ecx,%ecx
4444d6:	75 f7                	jne    0x4444cf
4444d8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4444db:	85 c0                	test   %eax,%eax
4444dd:	74 3d                	je     0x44451c
4444df:	39 18                	cmp    %ebx,(%eax)
4444e1:	74 0d                	je     0x4444f0
4444e3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4444e6:	e8 14 09 00 00       	call   0x444dff
4444eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4444ee:	eb eb                	jmp    0x4444db
4444f0:	83 c0 04             	add    $0x4,%eax
4444f3:	8d 4f 34             	lea    0x34(%edi),%ecx
4444f6:	50                   	push   %eax
4444f7:	e8 7a 01 00 00       	call   0x444676
4444fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4444ff:	85 c0                	test   %eax,%eax
444501:	74 19                	je     0x44451c
444503:	8b 0f                	mov    (%edi),%ecx
444505:	8b 71 1c             	mov    0x1c(%ecx),%esi
444508:	8b ce                	mov    %esi,%ecx
44450a:	ff 15 c4 12 45 00    	call   *0x4512c4
444510:	8b cf                	mov    %edi,%ecx
444512:	ff d6                	call   *%esi
444514:	8b 45 fc             	mov    -0x4(%ebp),%eax
444517:	e9 8c 00 00 00       	jmp    0x4445a8
44451c:	ff 15 64 11 45 00    	call   *0x451164
444522:	33 f6                	xor    %esi,%esi
444524:	46                   	inc    %esi
444525:	f0 0f c1 77 44       	lock xadd %esi,0x44(%edi)
44452a:	46                   	inc    %esi
44452b:	8b 53 38             	mov    0x38(%ebx),%edx
44452e:	8d 4f 34             	lea    0x34(%edi),%ecx
444531:	03 d0                	add    %eax,%edx
444533:	89 75 f0             	mov    %esi,-0x10(%ebp)
444536:	8d 45 fc             	lea    -0x4(%ebp),%eax
444539:	89 55 ec             	mov    %edx,-0x14(%ebp)
44453c:	50                   	push   %eax
44453d:	8b 45 f8             	mov    -0x8(%ebp),%eax
444540:	83 c0 24             	add    $0x24,%eax
444543:	50                   	push   %eax
444544:	8d 45 ec             	lea    -0x14(%ebp),%eax
444547:	50                   	push   %eax
444548:	e8 e5 0b 00 00       	call   0x445132
44454d:	89 45 fc             	mov    %eax,-0x4(%ebp)
444550:	8b 07                	mov    (%edi),%eax
444552:	8b 70 1c             	mov    0x1c(%eax),%esi
444555:	8b ce                	mov    %esi,%ecx
444557:	ff 15 c4 12 45 00    	call   *0x4512c4
44455d:	8b cf                	mov    %edi,%ecx
44455f:	ff d6                	call   *%esi
444561:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
444565:	75 1b                	jne    0x444582
444567:	8b 43 38             	mov    0x38(%ebx),%eax
44456a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44456d:	89 45 f4             	mov    %eax,-0xc(%ebp)
444570:	8b 07                	mov    (%edi),%eax
444572:	51                   	push   %ecx
444573:	8b 70 30             	mov    0x30(%eax),%esi
444576:	8b ce                	mov    %esi,%ecx
444578:	ff 15 c4 12 45 00    	call   *0x4512c4
44457e:	8b cf                	mov    %edi,%ecx
444580:	ff d6                	call   *%esi
444582:	8b 75 fc             	mov    -0x4(%ebp),%esi
444585:	85 f6                	test   %esi,%esi
444587:	74 1d                	je     0x4445a6
444589:	8b cb                	mov    %ebx,%ecx
44458b:	e8 70 11 00 00       	call   0x445700
444590:	eb 14                	jmp    0x4445a6
444592:	8b 07                	mov    (%edi),%eax
444594:	8b 70 1c             	mov    0x1c(%eax),%esi
444597:	8b ce                	mov    %esi,%ecx
444599:	ff 15 c4 12 45 00    	call   *0x4512c4
44459f:	8b cf                	mov    %edi,%ecx
4445a1:	ff d6                	call   *%esi
4445a3:	8b 75 fc             	mov    -0x4(%ebp),%esi
4445a6:	8b c6                	mov    %esi,%eax
4445a8:	5f                   	pop    %edi
4445a9:	5e                   	pop    %esi
4445aa:	5b                   	pop    %ebx
4445ab:	c9                   	leave
4445ac:	c2 04 00             	ret    $0x4
4445af:	8b ff                	mov    %edi,%edi
4445b1:	55                   	push   %ebp
4445b2:	8b ec                	mov    %esp,%ebp
4445b4:	83 ec 0c             	sub    $0xc,%esp
4445b7:	53                   	push   %ebx
4445b8:	8b d9                	mov    %ecx,%ebx
4445ba:	56                   	push   %esi
4445bb:	57                   	push   %edi
4445bc:	8b 33                	mov    (%ebx),%esi
4445be:	85 f6                	test   %esi,%esi
4445c0:	0f 84 a4 00 00 00    	je     0x44466a
4445c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4445c9:	56                   	push   %esi
4445ca:	e8 e9 fc ff ff       	call   0x4442b8
4445cf:	85 c0                	test   %eax,%eax
4445d1:	74 0c                	je     0x4445df
4445d3:	79 05                	jns    0x4445da
4445d5:	8b 76 14             	mov    0x14(%esi),%esi
4445d8:	eb e4                	jmp    0x4445be
4445da:	8b 76 18             	mov    0x18(%esi),%esi
4445dd:	eb df                	jmp    0x4445be
4445df:	8b 7e 1c             	mov    0x1c(%esi),%edi
4445e2:	8b cb                	mov    %ebx,%ecx
4445e4:	89 7d f8             	mov    %edi,-0x8(%ebp)
4445e7:	85 ff                	test   %edi,%edi
4445e9:	74 70                	je     0x44465b
4445eb:	8b 47 14             	mov    0x14(%edi),%eax
4445ee:	89 45 f4             	mov    %eax,-0xc(%ebp)
4445f1:	8d 45 ff             	lea    -0x1(%ebp),%eax
4445f4:	50                   	push   %eax
4445f5:	56                   	push   %esi
4445f6:	e8 57 01 00 00       	call   0x444752
4445fb:	ff 4b 04             	decl   0x4(%ebx)
4445fe:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
444602:	74 53                	je     0x444657
444604:	39 75 f4             	cmp    %esi,-0xc(%ebp)
444607:	8b c7                	mov    %edi,%eax
444609:	0f 94 c1             	sete   %cl
44460c:	88 4d fe             	mov    %cl,-0x2(%ebp)
44460f:	85 c0                	test   %eax,%eax
444611:	74 44                	je     0x444657
444613:	8d 45 ff             	lea    -0x1(%ebp),%eax
444616:	84 c9                	test   %cl,%cl
444618:	50                   	push   %eax
444619:	8d 45 f8             	lea    -0x8(%ebp),%eax
44461c:	8b cb                	mov    %ebx,%ecx
44461e:	74 0b                	je     0x44462b
444620:	ff 77 18             	push   0x18(%edi)
444623:	50                   	push   %eax
444624:	e8 c4 03 00 00       	call   0x4449ed
444629:	eb 09                	jmp    0x444634
44462b:	ff 77 14             	push   0x14(%edi)
44462e:	50                   	push   %eax
44462f:	e8 3f 05 00 00       	call   0x444b73
444634:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444637:	8b 79 1c             	mov    0x1c(%ecx),%edi
44463a:	8b c7                	mov    %edi,%eax
44463c:	89 7d f8             	mov    %edi,-0x8(%ebp)
44463f:	85 c0                	test   %eax,%eax
444641:	74 0b                	je     0x44464e
444643:	39 4f 14             	cmp    %ecx,0x14(%edi)
444646:	0f 94 c1             	sete   %cl
444649:	88 4d fe             	mov    %cl,-0x2(%ebp)
44464c:	eb 03                	jmp    0x444651
44464e:	8a 4d fe             	mov    -0x2(%ebp),%cl
444651:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
444655:	75 b8                	jne    0x44460f
444657:	33 c0                	xor    %eax,%eax
444659:	eb 14                	jmp    0x44466f
44465b:	ff 4b 04             	decl   0x4(%ebx)
44465e:	8d 45 ff             	lea    -0x1(%ebp),%eax
444661:	50                   	push   %eax
444662:	56                   	push   %esi