4204f5:	6a 01                	push   $0x1
4204f7:	8b cf                	mov    %edi,%ecx
4204f9:	8b 58 70             	mov    0x70(%eax),%ebx
4204fc:	ff d3                	call   *%ebx
4204fe:	85 c0                	test   %eax,%eax
420500:	75 0f                	jne    0x420511
420502:	a1 80 6d 43 00       	mov    0x436d80,%eax
420507:	f6 45 0a 80          	testb  $0x80,0xa(%ebp)
42050b:	89 06                	mov    %eax,(%esi)
42050d:	74 02                	je     0x420511
42050f:	ff 0e                	decl   (%esi)
420511:	6a 00                	push   $0x0
420513:	8b cf                	mov    %edi,%ecx
420515:	ff d3                	call   *%ebx
420517:	85 c0                	test   %eax,%eax
420519:	75 11                	jne    0x42052c
42051b:	a1 84 6d 43 00       	mov    0x436d84,%eax
420520:	f6 45 0a 80          	testb  $0x80,0xa(%ebp)
420524:	89 46 04             	mov    %eax,0x4(%esi)
420527:	74 03                	je     0x42052c
420529:	ff 4e 04             	decl   0x4(%esi)
42052c:	5f                   	pop    %edi
42052d:	5e                   	pop    %esi
42052e:	5b                   	pop    %ebx
42052f:	5d                   	pop    %ebp
420530:	c2 04 00             	ret    $0x4
420533:	55                   	push   %ebp
420534:	8b ec                	mov    %esp,%ebp
420536:	83 ec 10             	sub    $0x10,%esp
420539:	53                   	push   %ebx
42053a:	56                   	push   %esi
42053b:	8d 45 f0             	lea    -0x10(%ebp),%eax
42053e:	57                   	push   %edi
42053f:	8b d9                	mov    %ecx,%ebx
420541:	50                   	push   %eax
420542:	ff 73 1c             	push   0x1c(%ebx)
420545:	ff 15 4c 99 43 00    	call   *0x43994c
42054b:	8b 75 08             	mov    0x8(%ebp),%esi
42054e:	8b 45 f8             	mov    -0x8(%ebp),%eax
420551:	8b cb                	mov    %ebx,%ecx
420553:	89 06                	mov    %eax,(%esi)
420555:	8b 45 fc             	mov    -0x4(%ebp),%eax
420558:	89 46 04             	mov    %eax,0x4(%esi)
42055b:	e8 78 d1 ff ff       	call   0x41d6d8
420560:	8b 7d 0c             	mov    0xc(%ebp),%edi
420563:	8b cb                	mov    %ebx,%ecx
420565:	57                   	push   %edi
420566:	89 45 08             	mov    %eax,0x8(%ebp)
420569:	e8 6b ff ff ff       	call   0x4204d9
42056e:	8b 07                	mov    (%edi),%eax
420570:	85 c0                	test   %eax,%eax
420572:	74 08                	je     0x42057c
420574:	f6 45 0a 20          	testb  $0x20,0xa(%ebp)
420578:	74 02                	je     0x42057c
42057a:	01 06                	add    %eax,(%esi)
42057c:	8b 47 04             	mov    0x4(%edi),%eax
42057f:	85 c0                	test   %eax,%eax
420581:	74 09                	je     0x42058c
420583:	f6 45 0a 10          	testb  $0x10,0xa(%ebp)
420587:	74 03                	je     0x42058c
420589:	01 46 04             	add    %eax,0x4(%esi)
42058c:	8b 06                	mov    (%esi),%eax
42058e:	3b 07                	cmp    (%edi),%eax
420590:	7e 0d                	jle    0x42059f
420592:	8b 46 04             	mov    0x4(%esi),%eax
420595:	3b 47 04             	cmp    0x4(%edi),%eax
420598:	7e 05                	jle    0x42059f
42059a:	6a 01                	push   $0x1
42059c:	58                   	pop    %eax
42059d:	eb 02                	jmp    0x4205a1
42059f:	33 c0                	xor    %eax,%eax
4205a1:	5f                   	pop    %edi
4205a2:	5e                   	pop    %esi
4205a3:	5b                   	pop    %ebx
4205a4:	c9                   	leave
4205a5:	c2 08 00             	ret    $0x8
4205a8:	55                   	push   %ebp
4205a9:	8b ec                	mov    %esp,%ebp
4205ab:	51                   	push   %ecx
4205ac:	51                   	push   %ecx
4205ad:	53                   	push   %ebx
4205ae:	56                   	push   %esi
4205af:	8d 45 f8             	lea    -0x8(%ebp),%eax
4205b2:	57                   	push   %edi
4205b3:	8b f9                	mov    %ecx,%edi
4205b5:	50                   	push   %eax
4205b6:	e8 1e ff ff ff       	call   0x4204d9
4205bb:	8b 47 4c             	mov    0x4c(%edi),%eax
4205be:	8b 4f 50             	mov    0x50(%edi),%ecx
4205c1:	2b 45 08             	sub    0x8(%ebp),%eax
4205c4:	8b 75 14             	mov    0x14(%ebp),%esi
4205c7:	2b 4d 0c             	sub    0xc(%ebp),%ecx
4205ca:	89 06                	mov    %eax,(%esi)
4205cc:	8d 45 08             	lea    0x8(%ebp),%eax
4205cf:	89 4e 04             	mov    %ecx,0x4(%esi)
4205d2:	50                   	push   %eax
4205d3:	8b cf                	mov    %edi,%ecx
4205d5:	e8 0c fe ff ff       	call   0x4203e6
4205da:	8b c8                	mov    %eax,%ecx
4205dc:	8b 45 18             	mov    0x18(%ebp),%eax
4205df:	8b 11                	mov    (%ecx),%edx
4205e1:	89 10                	mov    %edx,(%eax)
4205e3:	33 d2                	xor    %edx,%edx
4205e5:	8b 49 04             	mov    0x4(%ecx),%ecx
4205e8:	89 48 04             	mov    %ecx,0x4(%eax)
4205eb:	33 c9                	xor    %ecx,%ecx
4205ed:	39 16                	cmp    %edx,(%esi)
4205ef:	0f 9f c1             	setg   %cl
4205f2:	8b f9                	mov    %ecx,%edi
4205f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4205f7:	3b fa                	cmp    %edx,%edi
4205f9:	75 04                	jne    0x4205ff
4205fb:	89 10                	mov    %edx,(%eax)
4205fd:	eb 08                	jmp    0x420607
4205ff:	39 55 1c             	cmp    %edx,0x1c(%ebp)
420602:	74 03                	je     0x420607
420604:	01 4e 04             	add    %ecx,0x4(%esi)
420607:	33 db                	xor    %ebx,%ebx
420609:	39 56 04             	cmp    %edx,0x4(%esi)
42060c:	0f 9f c3             	setg   %bl
42060f:	3b da                	cmp    %edx,%ebx
420611:	89 5d 14             	mov    %ebx,0x14(%ebp)
420614:	75 05                	jne    0x42061b
420616:	89 50 04             	mov    %edx,0x4(%eax)
420619:	eb 0a                	jmp    0x420625
42061b:	39 55 1c             	cmp    %edx,0x1c(%ebp)
42061e:	74 05                	je     0x420625
420620:	8b 5d f8             	mov    -0x8(%ebp),%ebx
420623:	01 1e                	add    %ebx,(%esi)
420625:	8b 5d 14             	mov    0x14(%ebp),%ebx
420628:	3b da                	cmp    %edx,%ebx
42062a:	74 0e                	je     0x42063a
42062c:	3b fa                	cmp    %edx,%edi
42062e:	75 0a                	jne    0x42063a
420630:	39 16                	cmp    %edx,(%esi)
420632:	7e 06                	jle    0x42063a
420634:	01 4e 04             	add    %ecx,0x4(%esi)
420637:	6a 01                	push   $0x1
420639:	5f                   	pop    %edi
42063a:	8b 0e                	mov    (%esi),%ecx
42063c:	3b ca                	cmp    %edx,%ecx
42063e:	7e 06                	jle    0x420646
420640:	39 08                	cmp    %ecx,(%eax)
420642:	7c 02                	jl     0x420646
420644:	89 08                	mov    %ecx,(%eax)
420646:	8b 76 04             	mov    0x4(%esi),%esi
420649:	3b f2                	cmp    %edx,%esi
42064b:	7e 08                	jle    0x420655
42064d:	39 70 04             	cmp    %esi,0x4(%eax)
420650:	7c 03                	jl     0x420655
420652:	89 70 04             	mov    %esi,0x4(%eax)
420655:	8b 45 10             	mov    0x10(%ebp),%eax
420658:	89 38                	mov    %edi,(%eax)
42065a:	5f                   	pop    %edi
42065b:	89 58 04             	mov    %ebx,0x4(%eax)
42065e:	5e                   	pop    %esi
42065f:	5b                   	pop    %ebx
420660:	c9                   	leave
420661:	c2 18 00             	ret    $0x18
420664:	55                   	push   %ebp
420665:	8b ec                	mov    %esp,%ebp
420667:	83 ec 68             	sub    $0x68,%esp
42066a:	53                   	push   %ebx
42066b:	56                   	push   %esi
42066c:	57                   	push   %edi
42066d:	8b f1                	mov    %ecx,%esi
42066f:	33 ff                	xor    %edi,%edi
420671:	39 7e 68             	cmp    %edi,0x68(%esi)
420674:	0f 85 5b 01 00 00    	jne    0x4207d5
42067a:	6a 01                	push   $0x1
42067c:	5b                   	pop    %ebx
42067d:	ff 76 1c             	push   0x1c(%esi)
420680:	89 5e 68             	mov    %ebx,0x68(%esi)
420683:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420686:	ff 15 a8 98 43 00    	call   *0x4398a8
42068c:	50                   	push   %eax
42068d:	e8 2e 9c ff ff       	call   0x41a2c0
420692:	3b c7                	cmp    %edi,%eax
420694:	74 1a                	je     0x4206b0
420696:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
420699:	51                   	push   %ecx
42069a:	57                   	push   %edi
42069b:	68 68 03 00 00       	push   $0x368
4206a0:	ff 70 1c             	push   0x1c(%eax)
4206a3:	ff 15 88 99 43 00    	call   *0x439988
4206a9:	3b c7                	cmp    %edi,%eax
4206ab:	74 03                	je     0x4206b0
4206ad:	89 7d fc             	mov    %edi,-0x4(%ebp)
4206b0:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4206b3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4206b6:	50                   	push   %eax
4206b7:	74 3d                	je     0x4206f6
4206b9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4206bc:	8b ce                	mov    %esi,%ecx
4206be:	50                   	push   %eax
4206bf:	e8 6f fe ff ff       	call   0x420533
4206c4:	85 c0                	test   %eax,%eax
4206c6:	75 49                	jne    0x420711
4206c8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4206cb:	50                   	push   %eax
4206cc:	ff 76 1c             	push   0x1c(%esi)
4206cf:	ff 15 4c 99 43 00    	call   *0x43994c
4206d5:	39 7d bc             	cmp    %edi,-0x44(%ebp)
4206d8:	0f 8e f4 00 00 00    	jle    0x4207d2
4206de:	39 7d c0             	cmp    %edi,-0x40(%ebp)
4206e1:	0f 8e eb 00 00 00    	jle    0x4207d2
4206e7:	57                   	push   %edi
4206e8:	6a 03                	push   $0x3
4206ea:	8b ce                	mov    %esi,%ecx
4206ec:	e8 7c b4 ff ff       	call   0x41bb6d
4206f1:	e9 dc 00 00 00       	jmp    0x4207d2
4206f6:	8b ce                	mov    %esi,%ecx
4206f8:	e8 dc fd ff ff       	call   0x4204d9
4206fd:	8b 4d cc             	mov    -0x34(%ebp),%ecx
420700:	8b 45 d0             	mov    -0x30(%ebp),%eax
420703:	2b 4d c4             	sub    -0x3c(%ebp),%ecx
420706:	2b 45 c8             	sub    -0x38(%ebp),%eax
420709:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42070c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42070f:	eb 06                	jmp    0x420717
420711:	8b 45 f8             	mov    -0x8(%ebp),%eax
420714:	8b 4d f4             	mov    -0xc(%ebp),%ecx
420717:	ff 75 fc             	push   -0x4(%ebp)
42071a:	8d 55 dc             	lea    -0x24(%ebp),%edx
42071d:	52                   	push   %edx
42071e:	8d 55 d4             	lea    -0x2c(%ebp),%edx
420721:	52                   	push   %edx
420722:	8d 55 ec             	lea    -0x14(%ebp),%edx
420725:	52                   	push   %edx
420726:	50                   	push   %eax
420727:	51                   	push   %ecx
420728:	8b ce                	mov    %esi,%ecx
42072a:	e8 79 fe ff ff       	call   0x4205a8
42072f:	39 7d ec             	cmp    %edi,-0x14(%ebp)
420732:	74 06                	je     0x42073a
420734:	8b 45 e8             	mov    -0x18(%ebp),%eax
420737:	29 45 f8             	sub    %eax,-0x8(%ebp)
42073a:	39 7d f0             	cmp    %edi,-0x10(%ebp)
42073d:	74 06                	je     0x420745
42073f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
420742:	29 45 f4             	sub    %eax,-0xc(%ebp)
420745:	ff 75 e0             	push   -0x20(%ebp)
420748:	8b ce                	mov    %esi,%ecx
42074a:	ff 75 dc             	push   -0x24(%ebp)
42074d:	e8 0d fd ff ff       	call   0x42045f
420752:	ff 75 ec             	push   -0x14(%ebp)
420755:	8b ce                	mov    %esi,%ecx
420757:	c7 45 9c 03 00 00 00 	movl   $0x3,-0x64(%ebp)
42075e:	89 7d a0             	mov    %edi,-0x60(%ebp)
420761:	57                   	push   %edi
420762:	e8 06 b4 ff ff       	call   0x41bb6d
420767:	39 7d ec             	cmp    %edi,-0x14(%ebp)
42076a:	74 2b                	je     0x420797
42076c:	8b 45 f4             	mov    -0xc(%ebp),%eax
42076f:	53                   	push   %ebx
420770:	89 45 a8             	mov    %eax,-0x58(%ebp)
420773:	8b 46 4c             	mov    0x4c(%esi),%eax
420776:	48                   	dec    %eax
420777:	8b ce                	mov    %esi,%ecx
420779:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42077c:	8d 45 98             	lea    -0x68(%ebp),%eax
42077f:	50                   	push   %eax
420780:	57                   	push   %edi
420781:	e8 2a b4 ff ff       	call   0x41bbb0
420786:	85 c0                	test   %eax,%eax
420788:	75 0d                	jne    0x420797
42078a:	53                   	push   %ebx
42078b:	8b ce                	mov    %esi,%ecx
42078d:	ff 75 d4             	push   -0x2c(%ebp)
420790:	57                   	push   %edi
420791:	57                   	push   %edi
420792:	e8 a3 b3 ff ff       	call   0x41bb3a
420797:	ff 75 f0             	push   -0x10(%ebp)
42079a:	8b ce                	mov    %esi,%ecx
42079c:	53                   	push   %ebx
42079d:	e8 cb b3 ff ff       	call   0x41bb6d
4207a2:	39 7d f0             	cmp    %edi,-0x10(%ebp)
4207a5:	74 2b                	je     0x4207d2
4207a7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4207aa:	53                   	push   %ebx
4207ab:	89 45 a8             	mov    %eax,-0x58(%ebp)
4207ae:	8b 46 50             	mov    0x50(%esi),%eax
4207b1:	48                   	dec    %eax
4207b2:	8b ce                	mov    %esi,%ecx
4207b4:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4207b7:	8d 45 98             	lea    -0x68(%ebp),%eax
4207ba:	50                   	push   %eax
4207bb:	53                   	push   %ebx
4207bc:	e8 ef b3 ff ff       	call   0x41bbb0
4207c1:	85 c0                	test   %eax,%eax
4207c3:	75 0d                	jne    0x4207d2
4207c5:	53                   	push   %ebx
4207c6:	8b ce                	mov    %esi,%ecx
4207c8:	ff 75 d8             	push   -0x28(%ebp)
4207cb:	57                   	push   %edi
4207cc:	53                   	push   %ebx
4207cd:	e8 68 b3 ff ff       	call   0x41bb3a
4207d2:	89 7e 68             	mov    %edi,0x68(%esi)
4207d5:	5f                   	pop    %edi
4207d6:	5e                   	pop    %esi
4207d7:	5b                   	pop    %ebx
4207d8:	c9                   	leave
4207d9:	c3                   	ret
4207da:	55                   	push   %ebp
4207db:	8b ec                	mov    %esp,%ebp
4207dd:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4207e1:	56                   	push   %esi
4207e2:	57                   	push   %edi
4207e3:	8b f9                	mov    %ecx,%edi
4207e5:	74 0e                	je     0x4207f5
4207e7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4207ea:	6a 00                	push   $0x0
4207ec:	e8 0a b7 ff ff       	call   0x41befb
4207f1:	85 c0                	test   %eax,%eax
4207f3:	75 23                	jne    0x420818
4207f5:	8b 37                	mov    (%edi),%esi
4207f7:	6a 00                	push   $0x0
4207f9:	8b cf                	mov    %edi,%ecx
4207fb:	ff 56 70             	call   *0x70(%esi)
4207fe:	39 45 10             	cmp    %eax,0x10(%ebp)
420801:	75 15                	jne    0x420818
420803:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
420807:	6a 01                	push   $0x1
420809:	80 cc ff             	or     $0xff,%ah
42080c:	ff 75 0c             	push   0xc(%ebp)
42080f:	8b cf                	mov    %edi,%ecx
420811:	50                   	push   %eax
420812:	ff 96 c4 00 00 00    	call   *0xc4(%esi)
420818:	5f                   	pop    %edi
420819:	5e                   	pop    %esi
42081a:	5d                   	pop    %ebp
42081b:	c2 0c 00             	ret    $0xc
42081e:	55                   	push   %ebp
42081f:	8b ec                	mov    %esp,%ebp
420821:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
420825:	56                   	push   %esi
420826:	57                   	push   %edi
420827:	8b f9                	mov    %ecx,%edi
420829:	74 0e                	je     0x420839
42082b:	8b 4d 10             	mov    0x10(%ebp),%ecx
42082e:	6a 00                	push   $0x0
420830:	e8 c6 b6 ff ff       	call   0x41befb
420835:	85 c0                	test   %eax,%eax
420837:	75 26                	jne    0x42085f
420839:	8b 37                	mov    (%edi),%esi
42083b:	6a 01                	push   $0x1
42083d:	8b cf                	mov    %edi,%ecx
42083f:	ff 56 70             	call   *0x70(%esi)
420842:	39 45 10             	cmp    %eax,0x10(%ebp)
420845:	75 18                	jne    0x42085f