409574:	e9 c9 0c 00 00       	jmp    0x40a242
409579:	8b 55 d0             	mov    -0x30(%ebp),%edx
40957c:	8b 42 0c             	mov    0xc(%edx),%eax
40957f:	85 c0                	test   %eax,%eax
409581:	74 47                	je     0x4095ca
409583:	83 f8 02             	cmp    $0x2,%eax
409586:	75 16                	jne    0x40959e
409588:	85 c0                	test   %eax,%eax
40958a:	74 3e                	je     0x4095ca
40958c:	8b 12                	mov    (%edx),%edx
40958e:	b9 e0 11 41 00       	mov    $0x4111e0,%ecx
409593:	e8 c7 45 00 00       	call   0x40db5f
409598:	8b f8                	mov    %eax,%edi
40959a:	85 ff                	test   %edi,%edi
40959c:	75 0a                	jne    0x4095a8
40959e:	68 d0 27 40 00       	push   $0x4027d0
4095a3:	e9 50 fe ff ff       	jmp    0x4093f8
4095a8:	8b 4e 10             	mov    0x10(%esi),%ecx
4095ab:	ba 50 32 40 00       	mov    $0x403250,%edx
4095b0:	e8 5f dd ff ff       	call   0x407314
4095b5:	57                   	push   %edi
4095b6:	8b ce                	mov    %esi,%ecx
4095b8:	e8 d6 ee ff ff       	call   0x408493
4095bd:	8b 4e 10             	mov    0x10(%esi),%ecx
4095c0:	ba 7c 32 40 00       	mov    $0x40327c,%edx
4095c5:	e8 4a dd ff ff       	call   0x407314
4095ca:	33 c0                	xor    %eax,%eax
4095cc:	40                   	inc    %eax
4095cd:	89 45 c8             	mov    %eax,-0x38(%ebp)
4095d0:	8d 45 d0             	lea    -0x30(%ebp),%eax
4095d3:	50                   	push   %eax
4095d4:	8d 45 bc             	lea    -0x44(%ebp),%eax
4095d7:	50                   	push   %eax
4095d8:	51                   	push   %ecx
4095d9:	6a 0d                	push   $0xd
4095db:	5a                   	pop    %edx
4095dc:	8b cb                	mov    %ebx,%ecx
4095de:	e8 82 ea ff ff       	call   0x408065
4095e3:	85 c0                	test   %eax,%eax
4095e5:	74 0a                	je     0x4095f1
4095e7:	68 24 28 40 00       	push   $0x402824
4095ec:	e9 51 0c 00 00       	jmp    0x40a242
4095f1:	8b 7d d0             	mov    -0x30(%ebp),%edi
4095f4:	8b 47 0c             	mov    0xc(%edi),%eax
4095f7:	85 c0                	test   %eax,%eax
4095f9:	74 59                	je     0x409654
4095fb:	83 f8 02             	cmp    $0x2,%eax
4095fe:	74 0a                	je     0x40960a
409600:	68 24 28 40 00       	push   $0x402824
409605:	e9 ee fd ff ff       	jmp    0x4093f8
40960a:	85 c0                	test   %eax,%eax
40960c:	74 46                	je     0x409654
40960e:	8b 17                	mov    (%edi),%edx
409610:	b9 c0 11 41 00       	mov    $0x4111c0,%ecx
409615:	e8 45 45 00 00       	call   0x40db5f
40961a:	89 45 c8             	mov    %eax,-0x38(%ebp)
40961d:	85 c0                	test   %eax,%eax
40961f:	75 08                	jne    0x409629
409621:	52                   	push   %edx
409622:	6a 13                	push   $0x13
409624:	e9 d1 fd ff ff       	jmp    0x4093fa
409629:	8b 4e 10             	mov    0x10(%esi),%ecx
40962c:	ba ac 32 40 00       	mov    $0x4032ac,%edx
409631:	e8 de dc ff ff       	call   0x407314
409636:	ff 75 c8             	push   -0x38(%ebp)
409639:	8b ce                	mov    %esi,%ecx
40963b:	e8 d2 ee ff ff       	call   0x408512
409640:	8b 4e 10             	mov    0x10(%esi),%ecx
409643:	ba d0 32 40 00       	mov    $0x4032d0,%edx
409648:	e8 c7 dc ff ff       	call   0x407314
40964d:	8b 3f                	mov    (%edi),%edi
40964f:	89 7d c8             	mov    %edi,-0x38(%ebp)
409652:	eb 10                	jmp    0x409664
409654:	8b 4e 10             	mov    0x10(%esi),%ecx
409657:	ba dc 32 40 00       	mov    $0x4032dc,%edx
40965c:	e8 b3 dc ff ff       	call   0x407314
409661:	8b 7d c8             	mov    -0x38(%ebp),%edi
409664:	8b 4e 10             	mov    0x10(%esi),%ecx
409667:	ba f8 32 40 00       	mov    $0x4032f8,%edx
40966c:	e8 a3 dc ff ff       	call   0x407314
409671:	8d 45 d0             	lea    -0x30(%ebp),%eax
409674:	50                   	push   %eax
409675:	8d 45 bc             	lea    -0x44(%ebp),%eax
409678:	50                   	push   %eax
409679:	51                   	push   %ecx
40967a:	6a 0e                	push   $0xe
40967c:	5a                   	pop    %edx
40967d:	8b cb                	mov    %ebx,%ecx
40967f:	e8 e1 e9 ff ff       	call   0x408065
409684:	85 c0                	test   %eax,%eax
409686:	74 0a                	je     0x409692
409688:	68 68 28 40 00       	push   $0x402868
40968d:	e9 b0 0b 00 00       	jmp    0x40a242
409692:	8b 4d d0             	mov    -0x30(%ebp),%ecx
409695:	8b 41 0c             	mov    0xc(%ecx),%eax
409698:	85 c0                	test   %eax,%eax
40969a:	74 23                	je     0x4096bf
40969c:	83 f8 02             	cmp    $0x2,%eax
40969f:	74 0a                	je     0x4096ab
4096a1:	68 68 28 40 00       	push   $0x402868
4096a6:	e9 4d fd ff ff       	jmp    0x4093f8
4096ab:	85 c0                	test   %eax,%eax
4096ad:	74 10                	je     0x4096bf
4096af:	ff 31                	push   (%ecx)
4096b1:	68 18 33 40 00       	push   $0x403318
4096b6:	56                   	push   %esi
4096b7:	e8 8c ec ff ff       	call   0x408348
4096bc:	83 c4 0c             	add    $0xc,%esp
4096bf:	8d 45 d0             	lea    -0x30(%ebp),%eax
4096c2:	50                   	push   %eax
4096c3:	8d 45 bc             	lea    -0x44(%ebp),%eax
4096c6:	50                   	push   %eax
4096c7:	51                   	push   %ecx
4096c8:	6a 0f                	push   $0xf
4096ca:	5a                   	pop    %edx
4096cb:	8b cb                	mov    %ebx,%ecx
4096cd:	e8 93 e9 ff ff       	call   0x408065
4096d2:	85 c0                	test   %eax,%eax
4096d4:	74 0a                	je     0x4096e0
4096d6:	68 bc 28 40 00       	push   $0x4028bc
4096db:	e9 62 0b 00 00       	jmp    0x40a242
4096e0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4096e3:	8b 41 0c             	mov    0xc(%ecx),%eax
4096e6:	85 c0                	test   %eax,%eax
4096e8:	74 23                	je     0x40970d
4096ea:	83 f8 02             	cmp    $0x2,%eax
4096ed:	74 0a                	je     0x4096f9
4096ef:	68 bc 28 40 00       	push   $0x4028bc
4096f4:	e9 ff fc ff ff       	jmp    0x4093f8
4096f9:	85 c0                	test   %eax,%eax
4096fb:	74 10                	je     0x40970d
4096fd:	ff 31                	push   (%ecx)
4096ff:	68 58 33 40 00       	push   $0x403358
409704:	56                   	push   %esi
409705:	e8 3e ec ff ff       	call   0x408348
40970a:	83 c4 0c             	add    $0xc,%esp
40970d:	8b 4e 10             	mov    0x10(%esi),%ecx
409710:	ba ac 33 40 00       	mov    $0x4033ac,%edx
409715:	e8 fa db ff ff       	call   0x407314
40971a:	8b 4e 10             	mov    0x10(%esi),%ecx
40971d:	ba cc 33 40 00       	mov    $0x4033cc,%edx
409722:	e8 ed db ff ff       	call   0x407314
409727:	83 ff 02             	cmp    $0x2,%edi
40972a:	75 67                	jne    0x409793
40972c:	83 7d b4 01          	cmpl   $0x1,-0x4c(%ebp)
409730:	75 61                	jne    0x409793
409732:	8d 45 d0             	lea    -0x30(%ebp),%eax
409735:	50                   	push   %eax
409736:	8d 45 bc             	lea    -0x44(%ebp),%eax
409739:	50                   	push   %eax
40973a:	51                   	push   %ecx
40973b:	6a 18                	push   $0x18
40973d:	5a                   	pop    %edx
40973e:	8b cb                	mov    %ebx,%ecx
409740:	e8 20 e9 ff ff       	call   0x408065
409745:	85 c0                	test   %eax,%eax
409747:	74 0a                	je     0x409753
409749:	68 28 29 40 00       	push   $0x402928
40974e:	e9 ef 0a 00 00       	jmp    0x40a242
409753:	8b 7d d0             	mov    -0x30(%ebp),%edi
409756:	8b 47 0c             	mov    0xc(%edi),%eax
409759:	85 c0                	test   %eax,%eax
40975b:	74 36                	je     0x409793
40975d:	83 f8 04             	cmp    $0x4,%eax
409760:	74 0a                	je     0x40976c
409762:	68 28 29 40 00       	push   $0x402928
409767:	e9 8c fc ff ff       	jmp    0x4093f8
40976c:	85 c0                	test   %eax,%eax
40976e:	74 23                	je     0x409793
409770:	8b 4e 10             	mov    0x10(%esi),%ecx
409773:	ba f4 33 40 00       	mov    $0x4033f4,%edx
409778:	e8 97 db ff ff       	call   0x407314
40977d:	ff 37                	push   (%edi)
40977f:	8b ce                	mov    %esi,%ecx
409781:	e8 0d ed ff ff       	call   0x408493
409786:	8b 4e 10             	mov    0x10(%esi),%ecx
409789:	ba 10 34 40 00       	mov    $0x403410,%edx
40978e:	e8 81 db ff ff       	call   0x407314
409793:	8d 45 d0             	lea    -0x30(%ebp),%eax
409796:	50                   	push   %eax
409797:	8d 45 bc             	lea    -0x44(%ebp),%eax
40979a:	50                   	push   %eax
40979b:	51                   	push   %ecx
40979c:	6a 10                	push   $0x10
40979e:	5a                   	pop    %edx
40979f:	8b cb                	mov    %ebx,%ecx
4097a1:	e8 bf e8 ff ff       	call   0x408065
4097a6:	85 c0                	test   %eax,%eax
4097a8:	74 0a                	je     0x4097b4
4097aa:	68 5c 29 40 00       	push   $0x40295c
4097af:	e9 8e 0a 00 00       	jmp    0x40a242
4097b4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4097b7:	8b 41 0c             	mov    0xc(%ecx),%eax
4097ba:	85 c0                	test   %eax,%eax
4097bc:	74 23                	je     0x4097e1
4097be:	83 f8 02             	cmp    $0x2,%eax
4097c1:	74 0a                	je     0x4097cd
4097c3:	68 5c 29 40 00       	push   $0x40295c
4097c8:	e9 2b fc ff ff       	jmp    0x4093f8
4097cd:	85 c0                	test   %eax,%eax
4097cf:	74 10                	je     0x4097e1
4097d1:	ff 31                	push   (%ecx)
4097d3:	68 30 34 40 00       	push   $0x403430
4097d8:	56                   	push   %esi
4097d9:	e8 6a eb ff ff       	call   0x408348
4097de:	83 c4 0c             	add    $0xc,%esp
4097e1:	8b 4e 10             	mov    0x10(%esi),%ecx
4097e4:	ba 70 34 40 00       	mov    $0x403470,%edx
4097e9:	e8 26 db ff ff       	call   0x407314
4097ee:	8b 4e 10             	mov    0x10(%esi),%ecx
4097f1:	ba 98 34 40 00       	mov    $0x403498,%edx
4097f6:	e8 19 db ff ff       	call   0x407314
4097fb:	8d 45 d0             	lea    -0x30(%ebp),%eax
4097fe:	50                   	push   %eax
4097ff:	8d 45 bc             	lea    -0x44(%ebp),%eax
409802:	50                   	push   %eax
409803:	51                   	push   %ecx
409804:	6a 09                	push   $0x9
409806:	5a                   	pop    %edx
409807:	8b cb                	mov    %ebx,%ecx
409809:	e8 57 e8 ff ff       	call   0x408065
40980e:	85 c0                	test   %eax,%eax
409810:	74 0a                	je     0x40981c
409812:	68 b0 29 40 00       	push   $0x4029b0
409817:	e9 26 0a 00 00       	jmp    0x40a242
40981c:	8b 7d d0             	mov    -0x30(%ebp),%edi
40981f:	8b 47 0c             	mov    0xc(%edi),%eax
409822:	85 c0                	test   %eax,%eax
409824:	0f 84 85 00 00 00    	je     0x4098af
40982a:	83 f8 03             	cmp    $0x3,%eax
40982d:	74 0a                	je     0x409839
40982f:	68 b0 29 40 00       	push   $0x4029b0
409834:	e9 bf fb ff ff       	jmp    0x4093f8
409839:	85 c0                	test   %eax,%eax
40983b:	74 72                	je     0x4098af
40983d:	33 c0                	xor    %eax,%eax
40983f:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
409846:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409849:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
40984d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
409851:	b1 20                	mov    $0x20,%cl
409853:	8b 07                	mov    (%edi),%eax
409855:	8b 57 04             	mov    0x4(%edi),%edx
409858:	e8 d3 53 00 00       	call   0x40ec30
40985d:	89 45 b0             	mov    %eax,-0x50(%ebp)
409860:	8d 55 d4             	lea    -0x2c(%ebp),%edx
409863:	8b 07                	mov    (%edi),%eax
409865:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409868:	89 45 ac             	mov    %eax,-0x54(%ebp)
40986b:	e8 e3 45 00 00       	call   0x40de53
409870:	8b 4e 10             	mov    0x10(%esi),%ecx
409873:	ba b8 34 40 00       	mov    $0x4034b8,%edx
409878:	e8 97 da ff ff       	call   0x407314
40987d:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
409881:	8b 45 d4             	mov    -0x2c(%ebp),%eax
409884:	73 03                	jae    0x409889
409886:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409889:	50                   	push   %eax
40988a:	8b ce                	mov    %esi,%ecx
40988c:	e8 02 ec ff ff       	call   0x408493
409891:	8b 4e 10             	mov    0x10(%esi),%ecx
409894:	ba d0 34 40 00       	mov    $0x4034d0,%edx
409899:	e8 76 da ff ff       	call   0x407314
40989e:	33 c0                	xor    %eax,%eax
4098a0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4098a4:	50                   	push   %eax
4098a5:	6a 01                	push   $0x1
4098a7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4098aa:	e8 41 cc ff ff       	call   0x4064f0
4098af:	8d 45 d0             	lea    -0x30(%ebp),%eax
4098b2:	50                   	push   %eax
4098b3:	8d 45 bc             	lea    -0x44(%ebp),%eax
4098b6:	50                   	push   %eax
4098b7:	51                   	push   %ecx
4098b8:	6a 0a                	push   $0xa
4098ba:	5a                   	pop    %edx
4098bb:	8b cb                	mov    %ebx,%ecx
4098bd:	e8 a3 e7 ff ff       	call   0x408065
4098c2:	85 c0                	test   %eax,%eax
4098c4:	74 0a                	je     0x4098d0
4098c6:	68 dc 29 40 00       	push   $0x4029dc
4098cb:	e9 72 09 00 00       	jmp    0x40a242
4098d0:	8b 7d d0             	mov    -0x30(%ebp),%edi
4098d3:	8b 47 0c             	mov    0xc(%edi),%eax
4098d6:	85 c0                	test   %eax,%eax
4098d8:	74 3b                	je     0x409915
4098da:	83 f8 04             	cmp    $0x4,%eax
4098dd:	74 0a                	je     0x4098e9
4098df:	68 dc 29 40 00       	push   $0x4029dc
4098e4:	e9 0f fb ff ff       	jmp    0x4093f8
4098e9:	85 c0                	test   %eax,%eax
4098eb:	74 28                	je     0x409915
4098ed:	8b 4e 10             	mov    0x10(%esi),%ecx
4098f0:	ba ec 34 40 00       	mov    $0x4034ec,%edx
4098f5:	e8 1a da ff ff       	call   0x407314
4098fa:	8b 17                	mov    (%edi),%edx
4098fc:	85 d2                	test   %edx,%edx
4098fe:	74 08                	je     0x409908
409900:	8b 4e 10             	mov    0x10(%esi),%ecx
409903:	e8 0c da ff ff       	call   0x407314
409908:	8b 4e 10             	mov    0x10(%esi),%ecx
40990b:	ba 1c 35 40 00       	mov    $0x40351c,%edx
409910:	e8 ff d9 ff ff       	call   0x407314
409915:	8d 45 d0             	lea    -0x30(%ebp),%eax
409918:	50                   	push   %eax
409919:	8d 45 bc             	lea    -0x44(%ebp),%eax
40991c:	50                   	push   %eax
40991d:	51                   	push   %ecx
40991e:	6a 1a                	push   $0x1a
409920:	5a                   	pop    %edx
409921:	8b cb                	mov    %ebx,%ecx
409923:	e8 3d e7 ff ff       	call   0x408065
409928:	85 c0                	test   %eax,%eax
40992a:	74 0a                	je     0x409936
40992c:	68 00 2a 40 00       	push   $0x402a00
409931:	e9 0c 09 00 00       	jmp    0x40a242
409936:	8b 7d d0             	mov    -0x30(%ebp),%edi
409939:	8b 47 0c             	mov    0xc(%edi),%eax
40993c:	85 c0                	test   %eax,%eax
40993e:	74 36                	je     0x409976
409940:	83 f8 04             	cmp    $0x4,%eax
409943:	74 0a                	je     0x40994f
409945:	68 00 2a 40 00       	push   $0x402a00
40994a:	e9 a9 fa ff ff       	jmp    0x4093f8
40994f:	85 c0                	test   %eax,%eax
409951:	74 23                	je     0x409976
409953:	8b 4e 10             	mov    0x10(%esi),%ecx
409956:	ba 48 35 40 00       	mov    $0x403548,%edx
40995b:	e8 b4 d9 ff ff       	call   0x407314
409960:	ff 37                	push   (%edi)
409962:	8b ce                	mov    %esi,%ecx
409964:	e8 2a eb ff ff       	call   0x408493
409969:	8b 4e 10             	mov    0x10(%esi),%ecx
40996c:	ba 60 35 40 00       	mov    $0x403560,%edx
409971:	e8 9e d9 ff ff       	call   0x407314
409976:	8d 45 d0             	lea    -0x30(%ebp),%eax
409979:	50                   	push   %eax
40997a:	8d 45 bc             	lea    -0x44(%ebp),%eax
40997d:	50                   	push   %eax
40997e:	51                   	push   %ecx
40997f:	6a 19                	push   $0x19
409981:	5a                   	pop    %edx
409982:	8b cb                	mov    %ebx,%ecx
409984:	e8 dc e6 ff ff       	call   0x408065
409989:	85 c0                	test   %eax,%eax
40998b:	74 0a                	je     0x409997
40998d:	68 2c 2a 40 00       	push   $0x402a2c
409992:	e9 ab 08 00 00       	jmp    0x40a242
409997:	8b 7d d0             	mov    -0x30(%ebp),%edi
40999a:	8b 47 0c             	mov    0xc(%edi),%eax