4053f3:	85 f6                	test   %esi,%esi
4053f5:	74 1b                	je     0x405412
4053f7:	ff 76 08             	push   0x8(%esi)
4053fa:	e8 14 78 00 00       	call   0x40cc13
4053ff:	ff 76 10             	push   0x10(%esi)
405402:	e8 0c 78 00 00       	call   0x40cc13
405407:	ff 76 14             	push   0x14(%esi)
40540a:	e8 04 78 00 00       	call   0x40cc13
40540f:	83 c4 0c             	add    $0xc,%esp
405412:	5e                   	pop    %esi
405413:	c3                   	ret
405414:	33 c0                	xor    %eax,%eax
405416:	57                   	push   %edi
405417:	8b f9                	mov    %ecx,%edi
405419:	40                   	inc    %eax
40541a:	f0 0f c1 05 00 30 43 	lock xadd %eax,0x433000
405421:	00
405422:	75 19                	jne    0x40543d
405424:	56                   	push   %esi
405425:	be 50 3f 43 00       	mov    $0x433f50,%esi
40542a:	56                   	push   %esi
40542b:	e8 d1 1b 00 00       	call   0x407001
405430:	83 c6 18             	add    $0x18,%esi
405433:	59                   	pop    %ecx
405434:	81 fe 10 40 43 00    	cmp    $0x434010,%esi
40543a:	75 ee                	jne    0x40542a
40543c:	5e                   	pop    %esi
40543d:	8b c7                	mov    %edi,%eax
40543f:	5f                   	pop    %edi
405440:	c3                   	ret
405441:	55                   	push   %ebp
405442:	8b ec                	mov    %esp,%ebp
405444:	8b 45 08             	mov    0x8(%ebp),%eax
405447:	56                   	push   %esi
405448:	8b f1                	mov    %ecx,%esi
40544a:	89 06                	mov    %eax,(%esi)
40544c:	85 c0                	test   %eax,%eax
40544e:	75 07                	jne    0x405457
405450:	e8 2d 7d 00 00       	call   0x40d182
405455:	eb 14                	jmp    0x40546b
405457:	83 f8 08             	cmp    $0x8,%eax
40545a:	7d 0f                	jge    0x40546b
40545c:	6b c0 18             	imul   $0x18,%eax,%eax
40545f:	05 50 3f 43 00       	add    $0x433f50,%eax
405464:	50                   	push   %eax
405465:	e8 ac 1b 00 00       	call   0x407016
40546a:	59                   	pop    %ecx
40546b:	8b c6                	mov    %esi,%eax
40546d:	5e                   	pop    %esi
40546e:	5d                   	pop    %ebp
40546f:	c2 04 00             	ret    $0x4
405472:	83 c8 ff             	or     $0xffffffff,%eax
405475:	f0 0f c1 05 00 30 43 	lock xadd %eax,0x433000
40547c:	00
40547d:	79 19                	jns    0x405498
40547f:	56                   	push   %esi
405480:	be 50 3f 43 00       	mov    $0x433f50,%esi
405485:	56                   	push   %esi
405486:	e8 68 1b 00 00       	call   0x406ff3
40548b:	83 c6 18             	add    $0x18,%esi
40548e:	59                   	pop    %ecx
40548f:	81 fe 10 40 43 00    	cmp    $0x434010,%esi
405495:	75 ee                	jne    0x405485
405497:	5e                   	pop    %esi
405498:	c3                   	ret
405499:	8b 01                	mov    (%ecx),%eax
40549b:	85 c0                	test   %eax,%eax
40549d:	0f 84 ed 7c 00 00    	je     0x40d190
4054a3:	83 f8 08             	cmp    $0x8,%eax
4054a6:	7d 0f                	jge    0x4054b7
4054a8:	6b c0 18             	imul   $0x18,%eax,%eax
4054ab:	05 50 3f 43 00       	add    $0x433f50,%eax
4054b0:	50                   	push   %eax
4054b1:	e8 6e 1b 00 00       	call   0x407024
4054b6:	59                   	pop    %ecx
4054b7:	c3                   	ret
4054b8:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4054bc:	8b c1                	mov    %ecx,%eax
4054be:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4054c2:	c7 41 04 e8 42 42 00 	movl   $0x4242e8,0x4(%ecx)
4054c9:	c7 01 e0 42 42 00    	movl   $0x4242e0,(%ecx)
4054cf:	c3                   	ret
4054d0:	55                   	push   %ebp
4054d1:	8b ec                	mov    %esp,%ebp
4054d3:	56                   	push   %esi
4054d4:	ff 75 08             	push   0x8(%ebp)
4054d7:	8b f1                	mov    %ecx,%esi
4054d9:	e8 52 bd ff ff       	call   0x401230
4054de:	c7 06 08 43 42 00    	movl   $0x424308,(%esi)
4054e4:	8b c6                	mov    %esi,%eax
4054e6:	5e                   	pop    %esi
4054e7:	5d                   	pop    %ebp
4054e8:	c2 04 00             	ret    $0x4
4054eb:	55                   	push   %ebp
4054ec:	8b ec                	mov    %esp,%ebp
4054ee:	51                   	push   %ecx
4054ef:	56                   	push   %esi
4054f0:	ff 75 08             	push   0x8(%ebp)
4054f3:	8b f1                	mov    %ecx,%esi
4054f5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4054f8:	e8 f3 bc ff ff       	call   0x4011f0
4054fd:	c7 06 08 43 42 00    	movl   $0x424308,(%esi)
405503:	8b c6                	mov    %esi,%eax
405505:	5e                   	pop    %esi
405506:	c9                   	leave
405507:	c2 04 00             	ret    $0x4
40550a:	55                   	push   %ebp
40550b:	8b ec                	mov    %esp,%ebp
40550d:	56                   	push   %esi
40550e:	ff 75 08             	push   0x8(%ebp)
405511:	8b f1                	mov    %ecx,%esi
405513:	e8 18 bd ff ff       	call   0x401230
405518:	c7 06 fc 42 42 00    	movl   $0x4242fc,(%esi)
40551e:	8b c6                	mov    %esi,%eax
405520:	5e                   	pop    %esi
405521:	5d                   	pop    %ebp
405522:	c2 04 00             	ret    $0x4
405525:	55                   	push   %ebp
405526:	8b ec                	mov    %esp,%ebp
405528:	56                   	push   %esi
405529:	ff 75 08             	push   0x8(%ebp)
40552c:	8b f1                	mov    %ecx,%esi
40552e:	e8 fd bc ff ff       	call   0x401230
405533:	c7 06 14 43 42 00    	movl   $0x424314,(%esi)
405539:	8b c6                	mov    %esi,%eax
40553b:	5e                   	pop    %esi
40553c:	5d                   	pop    %ebp
40553d:	c2 04 00             	ret    $0x4
405540:	55                   	push   %ebp
405541:	8b ec                	mov    %esp,%ebp
405543:	51                   	push   %ecx
405544:	56                   	push   %esi
405545:	ff 75 08             	push   0x8(%ebp)
405548:	8b f1                	mov    %ecx,%esi
40554a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40554d:	e8 9e bc ff ff       	call   0x4011f0
405552:	c7 06 14 43 42 00    	movl   $0x424314,(%esi)
405558:	8b c6                	mov    %esi,%eax
40555a:	5e                   	pop    %esi
40555b:	c9                   	leave
40555c:	c2 04 00             	ret    $0x4
40555f:	55                   	push   %ebp
405560:	8b ec                	mov    %esp,%ebp
405562:	51                   	push   %ecx
405563:	56                   	push   %esi
405564:	ff 75 08             	push   0x8(%ebp)
405567:	8b f1                	mov    %ecx,%esi
405569:	89 75 fc             	mov    %esi,-0x4(%ebp)
40556c:	e8 7f bc ff ff       	call   0x4011f0
405571:	c7 06 20 43 42 00    	movl   $0x424320,(%esi)
405577:	8b c6                	mov    %esi,%eax
405579:	5e                   	pop    %esi
40557a:	c9                   	leave
40557b:	c2 04 00             	ret    $0x4
40557e:	55                   	push   %ebp
40557f:	8b ec                	mov    %esp,%ebp
405581:	56                   	push   %esi
405582:	8b f1                	mov    %ecx,%esi
405584:	8d 46 04             	lea    0x4(%esi),%eax
405587:	c7 06 d4 42 42 00    	movl   $0x4242d4,(%esi)
40558d:	50                   	push   %eax
40558e:	e8 a1 30 00 00       	call   0x408634
405593:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405597:	59                   	pop    %ecx
405598:	74 0a                	je     0x4055a4
40559a:	6a 0c                	push   $0xc
40559c:	56                   	push   %esi
40559d:	e8 aa 20 00 00       	call   0x40764c
4055a2:	59                   	pop    %ecx
4055a3:	59                   	pop    %ecx
4055a4:	8b c6                	mov    %esi,%eax
4055a6:	5e                   	pop    %esi
4055a7:	5d                   	pop    %ebp
4055a8:	c2 04 00             	ret    $0x4
4055ab:	55                   	push   %ebp
4055ac:	8b ec                	mov    %esp,%ebp
4055ae:	83 ec 0c             	sub    $0xc,%esp
4055b1:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4055b4:	e8 ff fe ff ff       	call   0x4054b8
4055b9:	68 dc 10 43 00       	push   $0x4310dc
4055be:	8d 45 f4             	lea    -0xc(%ebp),%eax
4055c1:	50                   	push   %eax
4055c2:	e8 33 33 00 00       	call   0x4088fa
4055c7:	cc                   	int3
4055c8:	55                   	push   %ebp
4055c9:	8b ec                	mov    %esp,%ebp
4055cb:	83 ec 0c             	sub    $0xc,%esp
4055ce:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4055d1:	ff 75 08             	push   0x8(%ebp)
4055d4:	e8 12 ff ff ff       	call   0x4054eb
4055d9:	68 14 11 43 00       	push   $0x431114
4055de:	8d 45 f4             	lea    -0xc(%ebp),%eax
4055e1:	50                   	push   %eax
4055e2:	e8 13 33 00 00       	call   0x4088fa
4055e7:	cc                   	int3
4055e8:	55                   	push   %ebp
4055e9:	8b ec                	mov    %esp,%ebp
4055eb:	83 ec 0c             	sub    $0xc,%esp
4055ee:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4055f1:	ff 75 08             	push   0x8(%ebp)
4055f4:	e8 47 ff ff ff       	call   0x405540
4055f9:	68 50 11 43 00       	push   $0x431150
4055fe:	8d 45 f4             	lea    -0xc(%ebp),%eax
405601:	50                   	push   %eax
405602:	e8 f3 32 00 00       	call   0x4088fa
405607:	cc                   	int3
405608:	55                   	push   %ebp
405609:	8b ec                	mov    %esp,%ebp
40560b:	83 ec 0c             	sub    $0xc,%esp
40560e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
405611:	ff 75 08             	push   0x8(%ebp)
405614:	e8 46 ff ff ff       	call   0x40555f
405619:	68 8c 11 43 00       	push   $0x43118c
40561e:	8d 45 f4             	lea    -0xc(%ebp),%eax
405621:	50                   	push   %eax
405622:	e8 d3 32 00 00       	call   0x4088fa
405627:	cc                   	int3
405628:	55                   	push   %ebp
405629:	8b ec                	mov    %esp,%ebp
40562b:	ff 75 0c             	push   0xc(%ebp)
40562e:	e8 e5 7f 00 00       	call   0x40d618
405633:	59                   	pop    %ecx
405634:	8b c8                	mov    %eax,%ecx
405636:	83 f9 ff             	cmp    $0xffffffff,%ecx
405639:	75 04                	jne    0x40563f
40563b:	32 c0                	xor    %al,%al
40563d:	5d                   	pop    %ebp
40563e:	c3                   	ret
40563f:	8b 45 08             	mov    0x8(%ebp),%eax
405642:	88 08                	mov    %cl,(%eax)
405644:	b0 01                	mov    $0x1,%al
405646:	5d                   	pop    %ebp
405647:	c3                   	ret
405648:	55                   	push   %ebp
405649:	8b ec                	mov    %esp,%ebp
40564b:	ff 75 0c             	push   0xc(%ebp)
40564e:	0f be 45 08          	movsbl 0x8(%ebp),%eax
405652:	50                   	push   %eax
405653:	e8 4c 81 00 00       	call   0x40d7a4
405658:	83 f8 ff             	cmp    $0xffffffff,%eax
40565b:	59                   	pop    %ecx
40565c:	59                   	pop    %ecx
40565d:	0f 95 c0             	setne  %al
405660:	5d                   	pop    %ebp
405661:	c3                   	ret
405662:	55                   	push   %ebp
405663:	8b ec                	mov    %esp,%ebp
405665:	83 ec 0c             	sub    $0xc,%esp
405668:	8b 55 08             	mov    0x8(%ebp),%edx
40566b:	53                   	push   %ebx
40566c:	8b 59 10             	mov    0x10(%ecx),%ebx
40566f:	56                   	push   %esi
405670:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
405675:	89 4d f4             	mov    %ecx,-0xc(%ebp)
405678:	8b c6                	mov    %esi,%eax
40567a:	2b c3                	sub    %ebx,%eax
40567c:	57                   	push   %edi
40567d:	3b c2                	cmp    %edx,%eax
40567f:	72 7c                	jb     0x4056fd
405681:	8b 41 14             	mov    0x14(%ecx),%eax
405684:	8d 3c 13             	lea    (%ebx,%edx,1),%edi
405687:	56                   	push   %esi
405688:	50                   	push   %eax
405689:	57                   	push   %edi
40568a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40568d:	e8 1e fd ff ff       	call   0x4053b0
405692:	8b f0                	mov    %eax,%esi
405694:	8d 4e 01             	lea    0x1(%esi),%ecx
405697:	51                   	push   %ecx
405698:	e8 d3 f9 ff ff       	call   0x405070
40569d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4056a0:	83 c4 10             	add    $0x10,%esp
4056a3:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
4056a7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4056aa:	53                   	push   %ebx
4056ab:	89 78 10             	mov    %edi,0x10(%eax)
4056ae:	8b 7d f8             	mov    -0x8(%ebp),%edi
4056b1:	89 70 14             	mov    %esi,0x14(%eax)
4056b4:	72 24                	jb     0x4056da
4056b6:	8b 30                	mov    (%eax),%esi
4056b8:	56                   	push   %esi
4056b9:	57                   	push   %edi
4056ba:	e8 b1 32 00 00       	call   0x408970
4056bf:	8a 45 10             	mov    0x10(%ebp),%al
4056c2:	88 04 3b             	mov    %al,(%ebx,%edi,1)
4056c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056c8:	40                   	inc    %eax
4056c9:	c6 44 3b 01 00       	movb   $0x0,0x1(%ebx,%edi,1)
4056ce:	50                   	push   %eax
4056cf:	56                   	push   %esi
4056d0:	e8 5b f9 ff ff       	call   0x405030
4056d5:	83 c4 14             	add    $0x14,%esp
4056d8:	eb 15                	jmp    0x4056ef
4056da:	50                   	push   %eax
4056db:	57                   	push   %edi
4056dc:	e8 8f 32 00 00       	call   0x408970
4056e1:	8a 45 10             	mov    0x10(%ebp),%al
4056e4:	83 c4 0c             	add    $0xc,%esp
4056e7:	88 04 3b             	mov    %al,(%ebx,%edi,1)
4056ea:	c6 44 3b 01 00       	movb   $0x0,0x1(%ebx,%edi,1)
4056ef:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4056f2:	8b c1                	mov    %ecx,%eax
4056f4:	89 39                	mov    %edi,(%ecx)
4056f6:	5f                   	pop    %edi
4056f7:	5e                   	pop    %esi
4056f8:	5b                   	pop    %ebx
4056f9:	c9                   	leave
4056fa:	c2 0c 00             	ret    $0xc
4056fd:	e8 ae bc ff ff       	call   0x4013b0
405702:	cc                   	int3
405703:	6a 08                	push   $0x8
405705:	b8 12 2e 42 00       	mov    $0x422e12,%eax
40570a:	e8 2d 24 00 00       	call   0x407b3c
40570f:	6a 00                	push   $0x0
405711:	8d 4d ec             	lea    -0x14(%ebp),%ecx
405714:	e8 28 fd ff ff       	call   0x405441
405719:	8b 35 cc 40 43 00    	mov    0x4340cc,%esi
40571f:	b9 c0 40 43 00       	mov    $0x4340c0,%ecx
405724:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405728:	89 75 f0             	mov    %esi,-0x10(%ebp)
40572b:	e8 00 c4 ff ff       	call   0x401b30
405730:	8b 4d 08             	mov    0x8(%ebp),%ecx
405733:	50                   	push   %eax
405734:	e8 d7 c4 ff ff       	call   0x401c10
405739:	8b f8                	mov    %eax,%edi
40573b:	85 ff                	test   %edi,%edi
40573d:	75 43                	jne    0x405782
40573f:	85 f6                	test   %esi,%esi
405741:	74 04                	je     0x405747
405743:	8b fe                	mov    %esi,%edi
405745:	eb 3b                	jmp    0x405782
405747:	ff 75 08             	push   0x8(%ebp)
40574a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40574d:	50                   	push   %eax
40574e:	e8 bf 04 00 00       	call   0x405c12
405753:	59                   	pop    %ecx
405754:	59                   	pop    %ecx
405755:	83 f8 ff             	cmp    $0xffffffff,%eax
405758:	74 38                	je     0x405792
40575a:	8b 7d f0             	mov    -0x10(%ebp),%edi
40575d:	89 7d f0             	mov    %edi,-0x10(%ebp)
405760:	57                   	push   %edi
405761:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405765:	e8 3e 13 00 00       	call   0x406aa8
40576a:	8b 07                	mov    (%edi),%eax
40576c:	59                   	pop    %ecx
40576d:	8b 70 04             	mov    0x4(%eax),%esi
405770:	8b ce                	mov    %esi,%ecx
405772:	ff 15 54 41 42 00    	call   *0x424154
405778:	8b cf                	mov    %edi,%ecx