420429:	52                   	push   %edx
42042a:	8b 70 08             	mov    0x8(%eax),%esi
42042d:	8b ce                	mov    %esi,%ecx
42042f:	ff 15 78 64 42 00    	call   *0x426478
420435:	ff d6                	call   *%esi
420437:	5e                   	pop    %esi
420438:	c3                   	ret
420439:	8b ff                	mov    %edi,%edi
42043b:	55                   	push   %ebp
42043c:	8b ec                	mov    %esp,%ebp
42043e:	51                   	push   %ecx
42043f:	53                   	push   %ebx
420440:	56                   	push   %esi
420441:	8b d9                	mov    %ecx,%ebx
420443:	8d 45 fc             	lea    -0x4(%ebp),%eax
420446:	57                   	push   %edi
420447:	33 f6                	xor    %esi,%esi
420449:	50                   	push   %eax
42044a:	c7 03 2c 12 40 00    	movl   $0x40122c,(%ebx)
420450:	8d 7b 0c             	lea    0xc(%ebx),%edi
420453:	56                   	push   %esi
420454:	89 37                	mov    %esi,(%edi)
420456:	89 75 fc             	mov    %esi,-0x4(%ebp)
420459:	ff 15 d0 62 42 00    	call   *0x4262d0
42045f:	85 c0                	test   %eax,%eax
420461:	78 30                	js     0x420493
420463:	8b 0f                	mov    (%edi),%ecx
420465:	85 c9                	test   %ecx,%ecx
420467:	74 12                	je     0x42047b
420469:	89 37                	mov    %esi,(%edi)
42046b:	8b 01                	mov    (%ecx),%eax
42046d:	51                   	push   %ecx
42046e:	8b 70 08             	mov    0x8(%eax),%esi
420471:	8b ce                	mov    %esi,%ecx
420473:	ff 15 78 64 42 00    	call   *0x426478
420479:	ff d6                	call   *%esi
42047b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42047e:	57                   	push   %edi
42047f:	68 10 4e 40 00       	push   $0x404e10
420484:	50                   	push   %eax
420485:	8b 08                	mov    (%eax),%ecx
420487:	8b 31                	mov    (%ecx),%esi
420489:	8b ce                	mov    %esi,%ecx
42048b:	ff 15 78 64 42 00    	call   *0x426478
420491:	ff d6                	call   *%esi
420493:	8d 4d fc             	lea    -0x4(%ebp),%ecx
420496:	e8 c4 9e fe ff       	call   0x40a35f
42049b:	5f                   	pop    %edi
42049c:	5e                   	pop    %esi
42049d:	8b c3                	mov    %ebx,%eax
42049f:	5b                   	pop    %ebx
4204a0:	c9                   	leave
4204a1:	c3                   	ret
4204a2:	8b ff                	mov    %edi,%edi
4204a4:	56                   	push   %esi
4204a5:	57                   	push   %edi
4204a6:	51                   	push   %ecx
4204a7:	8b fa                	mov    %edx,%edi
4204a9:	8b f1                	mov    %ecx,%esi
4204ab:	e8 cd 03 00 00       	call   0x42087d
4204b0:	85 c0                	test   %eax,%eax
4204b2:	78 11                	js     0x4204c5
4204b4:	8b 06                	mov    (%esi),%eax
4204b6:	57                   	push   %edi
4204b7:	56                   	push   %esi
4204b8:	8b 70 20             	mov    0x20(%eax),%esi
4204bb:	8b ce                	mov    %esi,%ecx
4204bd:	ff 15 78 64 42 00    	call   *0x426478
4204c3:	ff d6                	call   *%esi
4204c5:	5f                   	pop    %edi
4204c6:	5e                   	pop    %esi
4204c7:	c2 08 00             	ret    $0x8
4204ca:	cc                   	int3
4204cb:	cc                   	int3
4204cc:	cc                   	int3
4204cd:	cc                   	int3
4204ce:	cc                   	int3
4204cf:	cc                   	int3
4204d0:	8b ff                	mov    %edi,%edi
4204d2:	55                   	push   %ebp
4204d3:	8b ec                	mov    %esp,%ebp
4204d5:	53                   	push   %ebx
4204d6:	57                   	push   %edi
4204d7:	8b 7d 08             	mov    0x8(%ebp),%edi
4204da:	83 cb ff             	or     $0xffffffff,%ebx
4204dd:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
4204e2:	4b                   	dec    %ebx
4204e3:	75 32                	jne    0x420517
4204e5:	56                   	push   %esi
4204e6:	85 ff                	test   %edi,%edi
4204e8:	74 13                	je     0x4204fd
4204ea:	8b 07                	mov    (%edi),%eax
4204ec:	6a 01                	push   $0x1
4204ee:	8b 70 10             	mov    0x10(%eax),%esi
4204f1:	8b ce                	mov    %esi,%ecx
4204f3:	ff 15 78 64 42 00    	call   *0x426478
4204f9:	8b cf                	mov    %edi,%ecx
4204fb:	ff d6                	call   *%esi
4204fd:	a1 30 5e 42 00       	mov    0x425e30,%eax
420502:	85 c0                	test   %eax,%eax
420504:	74 10                	je     0x420516
420506:	8b 08                	mov    (%eax),%ecx
420508:	50                   	push   %eax
420509:	8b 71 08             	mov    0x8(%ecx),%esi
42050c:	8b ce                	mov    %esi,%ecx
42050e:	ff 15 78 64 42 00    	call   *0x426478
420514:	ff d6                	call   *%esi
420516:	5e                   	pop    %esi
420517:	5f                   	pop    %edi
420518:	8b c3                	mov    %ebx,%eax
42051a:	5b                   	pop    %ebx
42051b:	5d                   	pop    %ebp
42051c:	c2 04 00             	ret    $0x4
42051f:	cc                   	int3
420520:	8b ff                	mov    %edi,%edi
420522:	55                   	push   %ebp
420523:	8b ec                	mov    %esp,%ebp
420525:	8b 4d 08             	mov    0x8(%ebp),%ecx
420528:	33 c0                	xor    %eax,%eax
42052a:	40                   	inc    %eax
42052b:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
420530:	40                   	inc    %eax
420531:	5d                   	pop    %ebp
420532:	c2 04 00             	ret    $0x4
420535:	cc                   	int3
420536:	cc                   	int3
420537:	cc                   	int3
420538:	cc                   	int3
420539:	cc                   	int3
42053a:	cc                   	int3
42053b:	cc                   	int3
42053c:	cc                   	int3
42053d:	cc                   	int3
42053e:	cc                   	int3
42053f:	cc                   	int3
420540:	8b ff                	mov    %edi,%edi
420542:	55                   	push   %ebp
420543:	8b ec                	mov    %esp,%ebp
420545:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420548:	ba 00 4e 40 00       	mov    $0x404e00,%edx
42054d:	56                   	push   %esi
42054e:	8b 75 10             	mov    0x10(%ebp),%esi
420551:	57                   	push   %edi
420552:	33 ff                	xor    %edi,%edi
420554:	89 3e                	mov    %edi,(%esi)
420556:	e8 8c ea ff ff       	call   0x41efe7
42055b:	85 c0                	test   %eax,%eax
42055d:	75 22                	jne    0x420581
42055f:	ba 78 4c 40 00       	mov    $0x404c78,%edx
420564:	e8 7e ea ff ff       	call   0x41efe7
420569:	85 c0                	test   %eax,%eax
42056b:	74 0d                	je     0x42057a
42056d:	8b 4d 08             	mov    0x8(%ebp),%ecx
420570:	89 0e                	mov    %ecx,(%esi)
420572:	51                   	push   %ecx
420573:	8b 01                	mov    (%ecx),%eax
420575:	8b 70 04             	mov    0x4(%eax),%esi
420578:	eb 12                	jmp    0x42058c
42057a:	bf 02 40 00 80       	mov    $0x80004002,%edi
42057f:	eb 15                	jmp    0x420596
420581:	8b 55 08             	mov    0x8(%ebp),%edx
420584:	89 16                	mov    %edx,(%esi)
420586:	52                   	push   %edx
420587:	8b 0a                	mov    (%edx),%ecx
420589:	8b 71 04             	mov    0x4(%ecx),%esi
42058c:	8b ce                	mov    %esi,%ecx
42058e:	ff 15 78 64 42 00    	call   *0x426478
420594:	ff d6                	call   *%esi
420596:	8b c7                	mov    %edi,%eax
420598:	5f                   	pop    %edi
420599:	5e                   	pop    %esi
42059a:	5d                   	pop    %ebp
42059b:	c2 0c 00             	ret    $0xc
42059e:	cc                   	int3
42059f:	cc                   	int3
4205a0:	8b ff                	mov    %edi,%edi
4205a2:	55                   	push   %ebp
4205a3:	8b ec                	mov    %esp,%ebp
4205a5:	8b 45 08             	mov    0x8(%ebp),%eax
4205a8:	56                   	push   %esi
4205a9:	8b 70 0c             	mov    0xc(%eax),%esi
4205ac:	8b ce                	mov    %esi,%ecx
4205ae:	ff 15 78 64 42 00    	call   *0x426478
4205b4:	ff d6                	call   *%esi
4205b6:	33 c0                	xor    %eax,%eax
4205b8:	5e                   	pop    %esi
4205b9:	5d                   	pop    %ebp
4205ba:	c2 0c 00             	ret    $0xc
4205bd:	cc                   	int3
4205be:	cc                   	int3
4205bf:	cc                   	int3
4205c0:	8b ff                	mov    %edi,%edi
4205c2:	55                   	push   %ebp
4205c3:	8b ec                	mov    %esp,%ebp
4205c5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4205c8:	ba 00 4e 40 00       	mov    $0x404e00,%edx
4205cd:	56                   	push   %esi
4205ce:	8b 75 10             	mov    0x10(%ebp),%esi
4205d1:	57                   	push   %edi
4205d2:	33 ff                	xor    %edi,%edi
4205d4:	89 3e                	mov    %edi,(%esi)
4205d6:	e8 0c ea ff ff       	call   0x41efe7
4205db:	85 c0                	test   %eax,%eax
4205dd:	75 22                	jne    0x420601
4205df:	ba 50 4d 40 00       	mov    $0x404d50,%edx
4205e4:	e8 fe e9 ff ff       	call   0x41efe7
4205e9:	85 c0                	test   %eax,%eax
4205eb:	74 0d                	je     0x4205fa
4205ed:	8b 4d 08             	mov    0x8(%ebp),%ecx
4205f0:	89 0e                	mov    %ecx,(%esi)
4205f2:	51                   	push   %ecx
4205f3:	8b 01                	mov    (%ecx),%eax
4205f5:	8b 70 04             	mov    0x4(%eax),%esi
4205f8:	eb 12                	jmp    0x42060c
4205fa:	bf 02 40 00 80       	mov    $0x80004002,%edi
4205ff:	eb 15                	jmp    0x420616
420601:	8b 55 08             	mov    0x8(%ebp),%edx
420604:	89 16                	mov    %edx,(%esi)
420606:	52                   	push   %edx
420607:	8b 0a                	mov    (%edx),%ecx
420609:	8b 71 04             	mov    0x4(%ecx),%esi
42060c:	8b ce                	mov    %esi,%ecx
42060e:	ff 15 78 64 42 00    	call   *0x426478
420614:	ff d6                	call   *%esi
420616:	8b c7                	mov    %edi,%eax
420618:	5f                   	pop    %edi
420619:	5e                   	pop    %esi
42061a:	5d                   	pop    %ebp
42061b:	c2 0c 00             	ret    $0xc
42061e:	cc                   	int3
42061f:	cc                   	int3
420620:	8b ff                	mov    %edi,%edi
420622:	55                   	push   %ebp
420623:	8b ec                	mov    %esp,%ebp
420625:	56                   	push   %esi
420626:	ff 75 10             	push   0x10(%ebp)
420629:	51                   	push   %ecx
42062a:	8b 4d 08             	mov    0x8(%ebp),%ecx
42062d:	8d 49 0c             	lea    0xc(%ecx),%ecx
420630:	e8 63 f7 ff ff       	call   0x41fd98
420635:	8b f0                	mov    %eax,%esi
420637:	85 f6                	test   %esi,%esi
420639:	79 07                	jns    0x420642
42063b:	8b ce                	mov    %esi,%ecx
42063d:	e8 6e eb ff ff       	call   0x41f1b0
420642:	8b c6                	mov    %esi,%eax
420644:	5e                   	pop    %esi
420645:	5d                   	pop    %ebp
420646:	c2 0c 00             	ret    $0xc
420649:	8b ff                	mov    %edi,%edi
42064b:	55                   	push   %ebp
42064c:	8b ec                	mov    %esp,%ebp
42064e:	56                   	push   %esi
42064f:	8b f1                	mov    %ecx,%esi
420651:	ba 70 4d 40 00       	mov    $0x404d70,%edx
420656:	8b 4d 08             	mov    0x8(%ebp),%ecx
420659:	e8 89 e9 ff ff       	call   0x41efe7
42065e:	85 c0                	test   %eax,%eax
420660:	74 09                	je     0x42066b
420662:	8b 45 0c             	mov    0xc(%ebp),%eax
420665:	89 30                	mov    %esi,(%eax)
420667:	33 c0                	xor    %eax,%eax
420669:	eb 13                	jmp    0x42067e
42066b:	ba 10 4e 40 00       	mov    $0x404e10,%edx
420670:	e8 72 e9 ff ff       	call   0x41efe7
420675:	85 c0                	test   %eax,%eax
420677:	75 e9                	jne    0x420662
420679:	b8 02 40 00 80       	mov    $0x80004002,%eax
42067e:	5e                   	pop    %esi
42067f:	5d                   	pop    %ebp
420680:	c2 0c 00             	ret    $0xc
420683:	8b ff                	mov    %edi,%edi
420685:	55                   	push   %ebp
420686:	8b ec                	mov    %esp,%ebp
420688:	83 ec 1c             	sub    $0x1c,%esp
42068b:	53                   	push   %ebx
42068c:	8b d9                	mov    %ecx,%ebx
42068e:	56                   	push   %esi
42068f:	57                   	push   %edi
420690:	85 db                	test   %ebx,%ebx
420692:	74 10                	je     0x4206a4
420694:	8b 03                	mov    (%ebx),%eax
420696:	53                   	push   %ebx
420697:	8b 70 04             	mov    0x4(%eax),%esi
42069a:	8b ce                	mov    %esi,%ecx
42069c:	ff 15 78 64 42 00    	call   *0x426478
4206a2:	ff d6                	call   *%esi
4206a4:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4206a8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4206ab:	e8 90 06 00 00       	call   0x420d40
4206b0:	8b f8                	mov    %eax,%edi
4206b2:	89 7d f8             	mov    %edi,-0x8(%ebp)
4206b5:	85 ff                	test   %edi,%edi
4206b7:	0f 88 0c 01 00 00    	js     0x4207c9
4206bd:	8b 03                	mov    (%ebx),%eax
4206bf:	ff 75 f0             	push   -0x10(%ebp)
4206c2:	53                   	push   %ebx
4206c3:	8b 70 18             	mov    0x18(%eax),%esi
4206c6:	8b ce                	mov    %esi,%ecx
4206c8:	ff 15 78 64 42 00    	call   *0x426478
4206ce:	ff d6                	call   *%esi
4206d0:	8b f8                	mov    %eax,%edi
4206d2:	89 7d f8             	mov    %edi,-0x8(%ebp)
4206d5:	85 ff                	test   %edi,%edi
4206d7:	0f 88 ec 00 00 00    	js     0x4207c9
4206dd:	8b 45 f0             	mov    -0x10(%ebp),%eax
4206e0:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4206e4:	8b 40 20             	mov    0x20(%eax),%eax
4206e7:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4206eb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4206ee:	8d 45 ec             	lea    -0x14(%ebp),%eax
4206f1:	50                   	push   %eax
4206f2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4206f5:	50                   	push   %eax
4206f6:	6a 01                	push   $0x1
4206f8:	6a ff                	push   $0xffffffff
4206fa:	6a 08                	push   $0x8
4206fc:	ff 15 d4 62 42 00    	call   *0x4262d4
420702:	8b f8                	mov    %eax,%edi
420704:	89 7d f8             	mov    %edi,-0x8(%ebp)
420707:	85 ff                	test   %edi,%edi
420709:	78 12                	js     0x42071d
42070b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42070f:	74 0c                	je     0x42071d
420711:	bf c7 04 07 80       	mov    $0x800704c7,%edi
420716:	b0 01                	mov    $0x1,%al
420718:	89 7d f8             	mov    %edi,-0x8(%ebp)
42071b:	eb 03                	jmp    0x420720
42071d:	8a 45 ff             	mov    -0x1(%ebp),%al
420720:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
420724:	84 c0                	test   %al,%al
420726:	74 36                	je     0x42075e
420728:	8b 33                	mov    (%ebx),%esi
42072a:	8d 45 f4             	lea    -0xc(%ebp),%eax
42072d:	50                   	push   %eax
42072e:	e8 6a ea fe ff       	call   0x40f19d
420733:	8b 0e                	mov    (%esi),%ecx
420735:	50                   	push   %eax
420736:	68 9c 4e 40 00       	push   $0x404e9c
42073b:	53                   	push   %ebx
42073c:	ff 15 78 64 42 00    	call   *0x426478
420742:	ff 16                	call   *(%esi)
420744:	85 c0                	test   %eax,%eax
420746:	78 13                	js     0x42075b
420748:	8b 45 f4             	mov    -0xc(%ebp),%eax
42074b:	50                   	push   %eax
42074c:	8b 08                	mov    (%eax),%ecx
42074e:	8b 71 24             	mov    0x24(%ecx),%esi
420751:	8b ce                	mov    %esi,%ecx
420753:	ff 15 78 64 42 00    	call   *0x426478