4294e9:	85 d2                	test   %edx,%edx
4294eb:	0f 95 c0             	setne  %al
4294ee:	c3                   	ret
4294ef:	8b ff                	mov    %edi,%edi
4294f1:	55                   	push   %ebp
4294f2:	8b ec                	mov    %esp,%ebp
4294f4:	8b 45 08             	mov    0x8(%ebp),%eax
4294f7:	a3 cc 5a 45 00       	mov    %eax,0x455acc
4294fc:	5d                   	pop    %ebp
4294fd:	c3                   	ret
4294fe:	cc                   	int3
4294ff:	cc                   	int3
429500:	8b ff                	mov    %edi,%edi
429502:	55                   	push   %ebp
429503:	8b ec                	mov    %esp,%ebp
429505:	8b 0d 14 40 45 00    	mov    0x454014,%ecx
42950b:	56                   	push   %esi
42950c:	8b 35 cc 5a 45 00    	mov    0x455acc,%esi
429512:	83 e1 1f             	and    $0x1f,%ecx
429515:	33 35 14 40 45 00    	xor    0x454014,%esi
42951b:	d3 ce                	ror    %cl,%esi
42951d:	85 f6                	test   %esi,%esi
42951f:	75 04                	jne    0x429525
429521:	33 c0                	xor    %eax,%eax
429523:	eb 0e                	jmp    0x429533
429525:	ff 75 08             	push   0x8(%ebp)
429528:	8b ce                	mov    %esi,%ecx
42952a:	ff 15 3c f2 43 00    	call   *0x43f23c
429530:	ff d6                	call   *%esi
429532:	59                   	pop    %ecx
429533:	5e                   	pop    %esi
429534:	5d                   	pop    %ebp
429535:	c3                   	ret
429536:	8b ff                	mov    %edi,%edi
429538:	55                   	push   %ebp
429539:	8b ec                	mov    %esp,%ebp
42953b:	ff 75 08             	push   0x8(%ebp)
42953e:	e8 70 ff ff ff       	call   0x4294b3
429543:	59                   	pop    %ecx
429544:	a3 cc 5a 45 00       	mov    %eax,0x455acc
429549:	5d                   	pop    %ebp
42954a:	c3                   	ret
42954b:	8b ff                	mov    %edi,%edi
42954d:	55                   	push   %ebp
42954e:	8b ec                	mov    %esp,%ebp
429550:	83 ec 0c             	sub    $0xc,%esp
429553:	57                   	push   %edi
429554:	8b 7d 08             	mov    0x8(%ebp),%edi
429557:	85 ff                	test   %edi,%edi
429559:	75 07                	jne    0x429562
42955b:	33 c0                	xor    %eax,%eax
42955d:	e9 1c 01 00 00       	jmp    0x42967e
429562:	56                   	push   %esi
429563:	83 ff 02             	cmp    $0x2,%edi
429566:	74 1b                	je     0x429583
429568:	83 ff 01             	cmp    $0x1,%edi
42956b:	74 16                	je     0x429583
42956d:	e8 ce d0 ff ff       	call   0x426640
429572:	6a 16                	push   $0x16
429574:	5e                   	pop    %esi
429575:	89 30                	mov    %esi,(%eax)
429577:	e8 f3 74 ff ff       	call   0x420a6f
42957c:	8b c6                	mov    %esi,%eax
42957e:	e9 fa 00 00 00       	jmp    0x42967d
429583:	53                   	push   %ebx
429584:	68 04 01 00 00       	push   $0x104
429589:	bb d0 5a 45 00       	mov    $0x455ad0,%ebx
42958e:	33 f6                	xor    %esi,%esi
429590:	53                   	push   %ebx
429591:	56                   	push   %esi
429592:	ff 15 10 f0 43 00    	call   *0x43f010
429598:	89 1d 20 61 45 00    	mov    %ebx,0x456120
42959e:	8b 1d 34 61 45 00    	mov    0x456134,%ebx
4295a4:	85 db                	test   %ebx,%ebx
4295a6:	74 05                	je     0x4295ad
4295a8:	66 39 33             	cmp    %si,(%ebx)
4295ab:	75 05                	jne    0x4295b2
4295ad:	bb d0 5a 45 00       	mov    $0x455ad0,%ebx
4295b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4295b5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4295b8:	50                   	push   %eax
4295b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4295bc:	89 75 f4             	mov    %esi,-0xc(%ebp)
4295bf:	50                   	push   %eax
4295c0:	56                   	push   %esi
4295c1:	56                   	push   %esi
4295c2:	53                   	push   %ebx
4295c3:	e8 b9 00 00 00       	call   0x429681
4295c8:	6a 02                	push   $0x2
4295ca:	ff 75 f4             	push   -0xc(%ebp)
4295cd:	ff 75 fc             	push   -0x4(%ebp)
4295d0:	e8 4d 02 00 00       	call   0x429822
4295d5:	8b f0                	mov    %eax,%esi
4295d7:	83 c4 20             	add    $0x20,%esp
4295da:	85 f6                	test   %esi,%esi
4295dc:	75 0c                	jne    0x4295ea
4295de:	e8 5d d0 ff ff       	call   0x426640
4295e3:	6a 0c                	push   $0xc
4295e5:	5e                   	pop    %esi
4295e6:	89 30                	mov    %esi,(%eax)
4295e8:	eb 2f                	jmp    0x429619
4295ea:	8d 45 f4             	lea    -0xc(%ebp),%eax
4295ed:	50                   	push   %eax
4295ee:	8d 45 fc             	lea    -0x4(%ebp),%eax
4295f1:	50                   	push   %eax
4295f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4295f5:	8d 04 86             	lea    (%esi,%eax,4),%eax
4295f8:	50                   	push   %eax
4295f9:	56                   	push   %esi
4295fa:	53                   	push   %ebx
4295fb:	e8 81 00 00 00       	call   0x429681
429600:	83 c4 14             	add    $0x14,%esp
429603:	83 ff 01             	cmp    $0x1,%edi
429606:	75 1c                	jne    0x429624
429608:	8b 45 fc             	mov    -0x4(%ebp),%eax
42960b:	48                   	dec    %eax
42960c:	89 35 2c 61 45 00    	mov    %esi,0x45612c
429612:	a3 24 61 45 00       	mov    %eax,0x456124
429617:	33 f6                	xor    %esi,%esi
429619:	6a 00                	push   $0x0
42961b:	e8 57 2e 00 00       	call   0x42c477
429620:	8b c6                	mov    %esi,%eax
429622:	eb 57                	jmp    0x42967b
429624:	8d 45 f8             	lea    -0x8(%ebp),%eax
429627:	33 db                	xor    %ebx,%ebx
429629:	50                   	push   %eax
42962a:	56                   	push   %esi
42962b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42962e:	e8 87 9f 00 00       	call   0x4335ba
429633:	8b f8                	mov    %eax,%edi
429635:	59                   	pop    %ecx
429636:	59                   	pop    %ecx
429637:	85 ff                	test   %edi,%edi
429639:	74 0a                	je     0x429645
42963b:	ff 75 f8             	push   -0x8(%ebp)
42963e:	e8 34 2e 00 00       	call   0x42c477
429643:	eb 2a                	jmp    0x42966f
429645:	8b 55 f8             	mov    -0x8(%ebp),%edx
429648:	8b cb                	mov    %ebx,%ecx
42964a:	8b c2                	mov    %edx,%eax
42964c:	39 1a                	cmp    %ebx,(%edx)
42964e:	74 08                	je     0x429658
429650:	8d 40 04             	lea    0x4(%eax),%eax
429653:	41                   	inc    %ecx
429654:	39 18                	cmp    %ebx,(%eax)
429656:	75 f8                	jne    0x429650
429658:	53                   	push   %ebx
429659:	89 0d 24 61 45 00    	mov    %ecx,0x456124
42965f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
429662:	89 15 2c 61 45 00    	mov    %edx,0x45612c
429668:	e8 0a 2e 00 00       	call   0x42c477
42966d:	8b fb                	mov    %ebx,%edi
42966f:	59                   	pop    %ecx
429670:	56                   	push   %esi
429671:	89 5d f8             	mov    %ebx,-0x8(%ebp)
429674:	e8 fe 2d 00 00       	call   0x42c477
429679:	8b c7                	mov    %edi,%eax
42967b:	59                   	pop    %ecx
42967c:	5b                   	pop    %ebx
42967d:	5e                   	pop    %esi
42967e:	5f                   	pop    %edi
42967f:	c9                   	leave
429680:	c3                   	ret
429681:	8b ff                	mov    %edi,%edi
429683:	55                   	push   %ebp
429684:	8b ec                	mov    %esp,%ebp
429686:	8b 45 18             	mov    0x18(%ebp),%eax
429689:	83 ec 0c             	sub    $0xc,%esp
42968c:	8b 4d 14             	mov    0x14(%ebp),%ecx
42968f:	8b 55 08             	mov    0x8(%ebp),%edx
429692:	83 20 00             	andl   $0x0,(%eax)
429695:	56                   	push   %esi
429696:	8b 75 0c             	mov    0xc(%ebp),%esi
429699:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
42969f:	8b 4d 10             	mov    0x10(%ebp),%ecx
4296a2:	85 f6                	test   %esi,%esi
4296a4:	74 08                	je     0x4296ae
4296a6:	89 0e                	mov    %ecx,(%esi)
4296a8:	83 c6 04             	add    $0x4,%esi
4296ab:	89 75 0c             	mov    %esi,0xc(%ebp)
4296ae:	53                   	push   %ebx
4296af:	57                   	push   %edi
4296b0:	32 db                	xor    %bl,%bl
4296b2:	c7 45 f4 09 00 00 00 	movl   $0x9,-0xc(%ebp)
4296b9:	eb 03                	jmp    0x4296be
4296bb:	8b 45 18             	mov    0x18(%ebp),%eax
4296be:	6a 22                	push   $0x22
4296c0:	5e                   	pop    %esi
4296c1:	66 39 32             	cmp    %si,(%edx)
4296c4:	8b fa                	mov    %edx,%edi
4296c6:	8b 75 0c             	mov    0xc(%ebp),%esi
4296c9:	75 0d                	jne    0x4296d8
4296cb:	84 db                	test   %bl,%bl
4296cd:	6a 22                	push   $0x22
4296cf:	0f 94 c3             	sete   %bl
4296d2:	83 c2 02             	add    $0x2,%edx
4296d5:	58                   	pop    %eax
4296d6:	eb 1a                	jmp    0x4296f2
4296d8:	ff 00                	incl   (%eax)
4296da:	85 c9                	test   %ecx,%ecx
4296dc:	74 09                	je     0x4296e7
4296de:	66 8b 02             	mov    (%edx),%ax
4296e1:	66 89 01             	mov    %ax,(%ecx)
4296e4:	83 c1 02             	add    $0x2,%ecx
4296e7:	0f b7 02             	movzwl (%edx),%eax
4296ea:	83 c2 02             	add    $0x2,%edx
4296ed:	66 85 c0             	test   %ax,%ax
4296f0:	74 23                	je     0x429715
4296f2:	84 db                	test   %bl,%bl
4296f4:	75 c5                	jne    0x4296bb
4296f6:	6a 20                	push   $0x20
4296f8:	5f                   	pop    %edi
4296f9:	66 3b c7             	cmp    %di,%ax
4296fc:	74 0b                	je     0x429709
4296fe:	6a 09                	push   $0x9
429700:	5f                   	pop    %edi
429701:	66 3b c7             	cmp    %di,%ax
429704:	8b 45 18             	mov    0x18(%ebp),%eax
429707:	75 b5                	jne    0x4296be
429709:	85 c9                	test   %ecx,%ecx
42970b:	74 0a                	je     0x429717
42970d:	33 c0                	xor    %eax,%eax
42970f:	66 89 41 fe          	mov    %ax,-0x2(%ecx)
429713:	eb 02                	jmp    0x429717
429715:	8b d7                	mov    %edi,%edx
429717:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
42971b:	0f b7 02             	movzwl (%edx),%eax
42971e:	8b f8                	mov    %eax,%edi
429720:	66 85 c0             	test   %ax,%ax
429723:	74 19                	je     0x42973e
429725:	6a 20                	push   $0x20
429727:	5b                   	pop    %ebx
429728:	66 3b c3             	cmp    %bx,%ax
42972b:	74 09                	je     0x429736
42972d:	0f b7 f8             	movzwl %ax,%edi
429730:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
429734:	75 08                	jne    0x42973e
429736:	83 c2 02             	add    $0x2,%edx
429739:	0f b7 02             	movzwl (%edx),%eax
42973c:	eb ea                	jmp    0x429728
42973e:	66 85 ff             	test   %di,%di
429741:	0f 84 ca 00 00 00    	je     0x429811
429747:	85 f6                	test   %esi,%esi
429749:	74 08                	je     0x429753
42974b:	89 0e                	mov    %ecx,(%esi)
42974d:	83 c6 04             	add    $0x4,%esi
429750:	89 75 0c             	mov    %esi,0xc(%ebp)
429753:	8b 45 14             	mov    0x14(%ebp),%eax
429756:	6a 5c                	push   $0x5c
429758:	5e                   	pop    %esi
429759:	ff 00                	incl   (%eax)
42975b:	0f b7 02             	movzwl (%edx),%eax
42975e:	33 db                	xor    %ebx,%ebx
429760:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
429767:	8b f8                	mov    %eax,%edi
429769:	66 3b c6             	cmp    %si,%ax
42976c:	75 0e                	jne    0x42977c
42976e:	83 c2 02             	add    $0x2,%edx
429771:	43                   	inc    %ebx
429772:	0f b7 02             	movzwl (%edx),%eax
429775:	66 3b c6             	cmp    %si,%ax
429778:	74 f4                	je     0x42976e
42977a:	8b f8                	mov    %eax,%edi
42977c:	6a 22                	push   $0x22
42977e:	58                   	pop    %eax
42977f:	66 3b f8             	cmp    %ax,%di
429782:	75 29                	jne    0x4297ad
429784:	f6 c3 01             	test   $0x1,%bl
429787:	75 22                	jne    0x4297ab
429789:	8a 45 ff             	mov    -0x1(%ebp),%al
42978c:	84 c0                	test   %al,%al
42978e:	74 11                	je     0x4297a1
429790:	6a 22                	push   $0x22
429792:	5f                   	pop    %edi
429793:	66 39 7a 02          	cmp    %di,0x2(%edx)
429797:	75 05                	jne    0x42979e
429799:	83 c2 02             	add    $0x2,%edx
42979c:	eb 0d                	jmp    0x4297ab
42979e:	8a 45 ff             	mov    -0x1(%ebp),%al
4297a1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4297a5:	84 c0                	test   %al,%al
4297a7:	0f 94 45 ff          	sete   -0x1(%ebp)
4297ab:	d1 eb                	shr    $1,%ebx
4297ad:	8b 7d 18             	mov    0x18(%ebp),%edi
4297b0:	85 db                	test   %ebx,%ebx
4297b2:	74 0f                	je     0x4297c3
4297b4:	4b                   	dec    %ebx
4297b5:	85 c9                	test   %ecx,%ecx
4297b7:	74 06                	je     0x4297bf
4297b9:	66 89 31             	mov    %si,(%ecx)
4297bc:	83 c1 02             	add    $0x2,%ecx
4297bf:	ff 07                	incl   (%edi)
4297c1:	eb ed                	jmp    0x4297b0
4297c3:	0f b7 02             	movzwl (%edx),%eax
4297c6:	66 85 c0             	test   %ax,%ax
4297c9:	74 30                	je     0x4297fb
4297cb:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4297cf:	75 10                	jne    0x4297e1
4297d1:	6a 20                	push   $0x20
4297d3:	5b                   	pop    %ebx
4297d4:	66 3b c3             	cmp    %bx,%ax
4297d7:	74 22                	je     0x4297fb
4297d9:	6a 09                	push   $0x9
4297db:	5b                   	pop    %ebx
4297dc:	66 3b c3             	cmp    %bx,%ax
4297df:	74 1a                	je     0x4297fb
4297e1:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4297e5:	74 0c                	je     0x4297f3
4297e7:	85 c9                	test   %ecx,%ecx
4297e9:	74 06                	je     0x4297f1
4297eb:	66 89 01             	mov    %ax,(%ecx)
4297ee:	83 c1 02             	add    $0x2,%ecx
4297f1:	ff 07                	incl   (%edi)
4297f3:	83 c2 02             	add    $0x2,%edx
4297f6:	e9 60 ff ff ff       	jmp    0x42975b
4297fb:	8b 75 0c             	mov    0xc(%ebp),%esi
4297fe:	85 c9                	test   %ecx,%ecx
429800:	74 08                	je     0x42980a
429802:	33 c0                	xor    %eax,%eax
429804:	66 89 01             	mov    %ax,(%ecx)
429807:	83 c1 02             	add    $0x2,%ecx
42980a:	ff 07                	incl   (%edi)
42980c:	e9 0a ff ff ff       	jmp    0x42971b
429811:	5f                   	pop    %edi
429812:	5b                   	pop    %ebx
429813:	85 f6                	test   %esi,%esi
429815:	74 03                	je     0x42981a
429817:	83 26 00             	andl   $0x0,(%esi)
42981a:	8b 45 14             	mov    0x14(%ebp),%eax
42981d:	5e                   	pop    %esi
42981e:	ff 00                	incl   (%eax)
429820:	c9                   	leave
429821:	c3                   	ret
429822:	8b ff                	mov    %edi,%edi
429824:	55                   	push   %ebp
429825:	8b ec                	mov    %esp,%ebp
429827:	56                   	push   %esi
429828:	8b 75 08             	mov    0x8(%ebp),%esi
42982b:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
429831:	73 39                	jae    0x42986c
429833:	83 c8 ff             	or     $0xffffffff,%eax
429836:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429839:	33 d2                	xor    %edx,%edx
42983b:	f7 75 10             	divl   0x10(%ebp)
42983e:	3b c8                	cmp    %eax,%ecx
429840:	73 2a                	jae    0x42986c
429842:	0f af 4d 10          	imul   0x10(%ebp),%ecx
429846:	c1 e6 02             	shl    $0x2,%esi
429849:	8b c6                	mov    %esi,%eax
42984b:	f7 d0                	not    %eax