4043a5:	74 10                	je     0x4043b7
4043a7:	8b 01                	mov    (%ecx),%eax
4043a9:	51                   	push   %ecx
4043aa:	8b 70 08             	mov    0x8(%eax),%esi
4043ad:	8b ce                	mov    %esi,%ecx
4043af:	ff 15 20 f2 40 00    	call   *0x40f220
4043b5:	ff d6                	call   *%esi
4043b7:	c7 07 a4 15 40 00    	movl   $0x4015a4,(%edi)
4043bd:	83 c7 08             	add    $0x8,%edi
4043c0:	80 7f 18 00          	cmpb   $0x0,0x18(%edi)
4043c4:	74 0b                	je     0x4043d1
4043c6:	57                   	push   %edi
4043c7:	c6 47 18 00          	movb   $0x0,0x18(%edi)
4043cb:	ff 15 48 f0 40 00    	call   *0x40f048
4043d1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4043d4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4043db:	59                   	pop    %ecx
4043dc:	5f                   	pop    %edi
4043dd:	5e                   	pop    %esi
4043de:	c9                   	leave
4043df:	c3                   	ret
4043e0:	8b ff                	mov    %edi,%edi
4043e2:	55                   	push   %ebp
4043e3:	8b ec                	mov    %esp,%ebp
4043e5:	8b 55 10             	mov    0x10(%ebp),%edx
4043e8:	85 d2                	test   %edx,%edx
4043ea:	75 07                	jne    0x4043f3
4043ec:	b8 03 40 00 80       	mov    $0x80004003,%eax
4043f1:	eb 41                	jmp    0x404434
4043f3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4043f6:	57                   	push   %edi
4043f7:	33 ff                	xor    %edi,%edi
4043f9:	89 3a                	mov    %edi,(%edx)
4043fb:	e8 aa 19 00 00       	call   0x405daa
404400:	85 c0                	test   %eax,%eax
404402:	74 19                	je     0x40441d
404404:	8b 4d 08             	mov    0x8(%ebp),%ecx
404407:	89 0a                	mov    %ecx,(%edx)
404409:	56                   	push   %esi
40440a:	51                   	push   %ecx
40440b:	8b 01                	mov    (%ecx),%eax
40440d:	8b 70 04             	mov    0x4(%eax),%esi
404410:	8b ce                	mov    %esi,%ecx
404412:	ff 15 20 f2 40 00    	call   *0x40f220
404418:	ff d6                	call   *%esi
40441a:	5e                   	pop    %esi
40441b:	eb 14                	jmp    0x404431
40441d:	52                   	push   %edx
40441e:	51                   	push   %ecx
40441f:	8b 4d 08             	mov    0x8(%ebp),%ecx
404422:	ba 90 16 40 00       	mov    $0x401690,%edx
404427:	8d 49 08             	lea    0x8(%ecx),%ecx
40442a:	e8 bf 19 00 00       	call   0x405dee
40442f:	8b f8                	mov    %eax,%edi
404431:	8b c7                	mov    %edi,%eax
404433:	5f                   	pop    %edi
404434:	5d                   	pop    %ebp
404435:	c2 0c 00             	ret    $0xc
404438:	cc                   	int3
404439:	cc                   	int3
40443a:	cc                   	int3
40443b:	cc                   	int3
40443c:	cc                   	int3
40443d:	cc                   	int3
40443e:	cc                   	int3
40443f:	cc                   	int3
404440:	6a 00                	push   $0x0
404442:	b8 69 a4 40 00       	mov    $0x40a469,%eax
404447:	e8 82 59 00 00       	call   0x409dce
40444c:	8b 45 08             	mov    0x8(%ebp),%eax
40444f:	8b 58 04             	mov    0x4(%eax),%ebx
404452:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
404458:	75 03                	jne    0x40445d
40445a:	4b                   	dec    %ebx
40445b:	eb 54                	jmp    0x4044b1
40445d:	83 eb 01             	sub    $0x1,%ebx
404460:	89 58 04             	mov    %ebx,0x4(%eax)
404463:	75 4c                	jne    0x4044b1
404465:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
40446b:	8b 07                	mov    (%edi),%eax
40446d:	8b 70 04             	mov    0x4(%eax),%esi
404470:	8b ce                	mov    %esi,%ecx
404472:	ff 15 20 f2 40 00    	call   *0x40f220
404478:	8b cf                	mov    %edi,%ecx
40447a:	ff d6                	call   *%esi
40447c:	8b 7d 08             	mov    0x8(%ebp),%edi
40447f:	85 ff                	test   %edi,%edi
404481:	74 13                	je     0x404496
404483:	8b 07                	mov    (%edi),%eax
404485:	6a 01                	push   $0x1
404487:	8b 70 0c             	mov    0xc(%eax),%esi
40448a:	8b ce                	mov    %esi,%ecx
40448c:	ff 15 20 f2 40 00    	call   *0x40f220
404492:	8b cf                	mov    %edi,%ecx
404494:	ff d6                	call   *%esi
404496:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40449a:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
4044a0:	8b 17                	mov    (%edi),%edx
4044a2:	8b 72 08             	mov    0x8(%edx),%esi
4044a5:	8b ce                	mov    %esi,%ecx
4044a7:	ff 15 20 f2 40 00    	call   *0x40f220
4044ad:	8b cf                	mov    %edi,%ecx
4044af:	ff d6                	call   *%esi
4044b1:	8b c3                	mov    %ebx,%eax
4044b3:	e8 e4 58 00 00       	call   0x409d9c
4044b8:	c2 04 00             	ret    $0x4
4044bb:	cc                   	int3
4044bc:	cc                   	int3
4044bd:	cc                   	int3
4044be:	cc                   	int3
4044bf:	cc                   	int3
4044c0:	8b ff                	mov    %edi,%edi
4044c2:	55                   	push   %ebp
4044c3:	8b ec                	mov    %esp,%ebp
4044c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4044c8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4044cd:	8b 51 04             	mov    0x4(%ecx),%edx
4044d0:	3b d0                	cmp    %eax,%edx
4044d2:	74 06                	je     0x4044da
4044d4:	8d 42 01             	lea    0x1(%edx),%eax
4044d7:	89 41 04             	mov    %eax,0x4(%ecx)
4044da:	5d                   	pop    %ebp
4044db:	c2 04 00             	ret    $0x4
4044de:	8b ff                	mov    %edi,%edi
4044e0:	55                   	push   %ebp
4044e1:	8b ec                	mov    %esp,%ebp
4044e3:	6a ff                	push   $0xffffffff
4044e5:	68 4e a4 40 00       	push   $0x40a44e
4044ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4044f0:	50                   	push   %eax
4044f1:	56                   	push   %esi
4044f2:	57                   	push   %edi
4044f3:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
4044f8:	33 c5                	xor    %ebp,%eax
4044fa:	50                   	push   %eax
4044fb:	8d 45 f4             	lea    -0xc(%ebp),%eax
4044fe:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404504:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
40450a:	c7 01 94 15 40 00    	movl   $0x401594,(%ecx)
404510:	c7 41 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ecx)
404517:	8b 07                	mov    (%edi),%eax
404519:	8b 70 08             	mov    0x8(%eax),%esi
40451c:	8b ce                	mov    %esi,%ecx
40451e:	ff 15 20 f2 40 00    	call   *0x40f220
404524:	8b cf                	mov    %edi,%ecx
404526:	ff d6                	call   *%esi
404528:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40452b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404532:	59                   	pop    %ecx
404533:	5f                   	pop    %edi
404534:	5e                   	pop    %esi
404535:	c9                   	leave
404536:	c3                   	ret
404537:	cc                   	int3
404538:	cc                   	int3
404539:	cc                   	int3
40453a:	cc                   	int3
40453b:	cc                   	int3
40453c:	cc                   	int3
40453d:	cc                   	int3
40453e:	cc                   	int3
40453f:	cc                   	int3
404540:	6a 00                	push   $0x0
404542:	b8 69 a4 40 00       	mov    $0x40a469,%eax
404547:	e8 82 58 00 00       	call   0x409dce
40454c:	8b 45 08             	mov    0x8(%ebp),%eax
40454f:	8b 58 04             	mov    0x4(%eax),%ebx
404552:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
404558:	75 03                	jne    0x40455d
40455a:	4b                   	dec    %ebx
40455b:	eb 54                	jmp    0x4045b1
40455d:	83 eb 01             	sub    $0x1,%ebx
404560:	89 58 04             	mov    %ebx,0x4(%eax)
404563:	75 4c                	jne    0x4045b1
404565:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
40456b:	8b 07                	mov    (%edi),%eax
40456d:	8b 70 04             	mov    0x4(%eax),%esi
404570:	8b ce                	mov    %esi,%ecx
404572:	ff 15 20 f2 40 00    	call   *0x40f220
404578:	8b cf                	mov    %edi,%ecx
40457a:	ff d6                	call   *%esi
40457c:	8b 7d 08             	mov    0x8(%ebp),%edi
40457f:	85 ff                	test   %edi,%edi
404581:	74 13                	je     0x404596
404583:	8b 07                	mov    (%edi),%eax
404585:	6a 01                	push   $0x1
404587:	8b 70 20             	mov    0x20(%eax),%esi
40458a:	8b ce                	mov    %esi,%ecx
40458c:	ff 15 20 f2 40 00    	call   *0x40f220
404592:	8b cf                	mov    %edi,%ecx
404594:	ff d6                	call   *%esi
404596:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40459a:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
4045a0:	8b 17                	mov    (%edi),%edx
4045a2:	8b 72 08             	mov    0x8(%edx),%esi
4045a5:	8b ce                	mov    %esi,%ecx
4045a7:	ff 15 20 f2 40 00    	call   *0x40f220
4045ad:	8b cf                	mov    %edi,%ecx
4045af:	ff d6                	call   *%esi
4045b1:	8b c3                	mov    %ebx,%eax
4045b3:	e8 e4 57 00 00       	call   0x409d9c
4045b8:	c2 04 00             	ret    $0x4
4045bb:	8b ff                	mov    %edi,%edi
4045bd:	55                   	push   %ebp
4045be:	8b ec                	mov    %esp,%ebp
4045c0:	6a ff                	push   $0xffffffff
4045c2:	68 4e a4 40 00       	push   $0x40a44e
4045c7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4045cd:	50                   	push   %eax
4045ce:	56                   	push   %esi
4045cf:	57                   	push   %edi
4045d0:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
4045d5:	33 c5                	xor    %ebp,%eax
4045d7:	50                   	push   %eax
4045d8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4045db:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4045e1:	8b 3d a4 c5 40 00    	mov    0x40c5a4,%edi
4045e7:	c7 01 70 15 40 00    	movl   $0x401570,(%ecx)
4045ed:	c7 41 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ecx)
4045f4:	8b 07                	mov    (%edi),%eax
4045f6:	8b 70 08             	mov    0x8(%eax),%esi
4045f9:	8b ce                	mov    %esi,%ecx
4045fb:	ff 15 20 f2 40 00    	call   *0x40f220
404601:	8b cf                	mov    %edi,%ecx
404603:	ff d6                	call   *%esi
404605:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404608:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40460f:	59                   	pop    %ecx
404610:	5f                   	pop    %edi
404611:	5e                   	pop    %esi
404612:	c9                   	leave
404613:	c3                   	ret
404614:	cc                   	int3
404615:	cc                   	int3
404616:	cc                   	int3
404617:	cc                   	int3
404618:	cc                   	int3
404619:	cc                   	int3
40461a:	cc                   	int3
40461b:	cc                   	int3
40461c:	cc                   	int3
40461d:	cc                   	int3
40461e:	cc                   	int3
40461f:	cc                   	int3
404620:	8b ff                	mov    %edi,%edi
404622:	55                   	push   %ebp
404623:	8b ec                	mov    %esp,%ebp
404625:	56                   	push   %esi
404626:	8b f1                	mov    %ecx,%esi
404628:	e8 b1 fe ff ff       	call   0x4044de
40462d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
404631:	74 08                	je     0x40463b
404633:	56                   	push   %esi
404634:	ff 15 04 f2 40 00    	call   *0x40f204
40463a:	59                   	pop    %ecx
40463b:	8b c6                	mov    %esi,%eax
40463d:	5e                   	pop    %esi
40463e:	5d                   	pop    %ebp
40463f:	c2 04 00             	ret    $0x4
404642:	cc                   	int3
404643:	cc                   	int3
404644:	cc                   	int3
404645:	cc                   	int3
404646:	cc                   	int3
404647:	cc                   	int3
404648:	cc                   	int3
404649:	cc                   	int3
40464a:	cc                   	int3
40464b:	cc                   	int3
40464c:	cc                   	int3
40464d:	cc                   	int3
40464e:	cc                   	int3
40464f:	cc                   	int3
404650:	8b ff                	mov    %edi,%edi
404652:	55                   	push   %ebp
404653:	8b ec                	mov    %esp,%ebp
404655:	56                   	push   %esi
404656:	8b f1                	mov    %ecx,%esi
404658:	e8 5e ff ff ff       	call   0x4045bb
40465d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
404661:	74 08                	je     0x40466b
404663:	56                   	push   %esi
404664:	ff 15 04 f2 40 00    	call   *0x40f204
40466a:	59                   	pop    %ecx
40466b:	8b c6                	mov    %esi,%eax
40466d:	5e                   	pop    %esi
40466e:	5d                   	pop    %ebp
40466f:	c2 04 00             	ret    $0x4
404672:	6a 10                	push   $0x10
404674:	b8 84 a4 40 00       	mov    $0x40a484,%eax
404679:	e8 b9 57 00 00       	call   0x409e37
40467e:	8b f1                	mov    %ecx,%esi
404680:	89 75 ec             	mov    %esi,-0x14(%ebp)
404683:	85 f6                	test   %esi,%esi
404685:	75 07                	jne    0x40468e
404687:	b8 03 40 00 80       	mov    $0x80004003,%eax
40468c:	eb 62                	jmp    0x4046f0
40468e:	83 26 00             	andl   $0x0,(%esi)
404691:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
404696:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40469a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40469e:	6a 08                	push   $0x8
4046a0:	89 7d e8             	mov    %edi,-0x18(%ebp)
4046a3:	e8 ac 46 00 00       	call   0x408d54
4046a8:	59                   	pop    %ecx
4046a9:	8b c8                	mov    %eax,%ecx
4046ab:	85 c9                	test   %ecx,%ecx
4046ad:	74 0c                	je     0x4046bb
4046af:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4046b3:	c7 01 cc 15 40 00    	movl   $0x4015cc,(%ecx)
4046b9:	eb 13                	jmp    0x4046ce
4046bb:	33 c9                	xor    %ecx,%ecx
4046bd:	eb 0f                	jmp    0x4046ce
4046bf:	b8 c5 46 40 00       	mov    $0x4046c5,%eax
4046c4:	c3                   	ret
4046c5:	8b 75 ec             	mov    -0x14(%ebp),%esi
4046c8:	8b 7d e8             	mov    -0x18(%ebp),%edi
4046cb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4046ce:	85 c9                	test   %ecx,%ecx
4046d0:	74 1a                	je     0x4046ec
4046d2:	8b 41 04             	mov    0x4(%ecx),%eax
4046d5:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4046da:	3b c2                	cmp    %edx,%eax
4046dc:	74 0c                	je     0x4046ea
4046de:	40                   	inc    %eax
4046df:	89 41 04             	mov    %eax,0x4(%ecx)
4046e2:	3b c2                	cmp    %edx,%eax
4046e4:	74 04                	je     0x4046ea
4046e6:	48                   	dec    %eax
4046e7:	89 41 04             	mov    %eax,0x4(%ecx)
4046ea:	33 ff                	xor    %edi,%edi
4046ec:	89 0e                	mov    %ecx,(%esi)
4046ee:	8b c7                	mov    %edi,%eax
4046f0:	e8 a7 56 00 00       	call   0x409d9c
4046f5:	c3                   	ret
4046f6:	cc                   	int3
4046f7:	cc                   	int3
4046f8:	cc                   	int3
4046f9:	cc                   	int3
4046fa:	cc                   	int3
4046fb:	cc                   	int3
4046fc:	cc                   	int3
4046fd:	cc                   	int3
4046fe:	cc                   	int3
4046ff:	cc                   	int3
404700:	8b ff                	mov    %edi,%edi
404702:	55                   	push   %ebp
404703:	8b ec                	mov    %esp,%ebp
404705:	8b 55 14             	mov    0x14(%ebp),%edx
404708:	b8 03 40 00 80       	mov    $0x80004003,%eax