4354a2:	59                   	pop    %ecx
4354a3:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
4354a9:	59                   	pop    %ecx
4354aa:	8b 00                	mov    (%eax),%eax
4354ac:	8a 00                	mov    (%eax),%al
4354ae:	88 06                	mov    %al,(%esi)
4354b0:	8b 45 14             	mov    0x14(%ebp),%eax
4354b3:	46                   	inc    %esi
4354b4:	8b 40 04             	mov    0x4(%eax),%eax
4354b7:	85 c0                	test   %eax,%eax
4354b9:	79 26                	jns    0x4354e1
4354bb:	38 5d 18             	cmp    %bl,0x18(%ebp)
4354be:	74 06                	je     0x4354c6
4354c0:	8b f8                	mov    %eax,%edi
4354c2:	f7 df                	neg    %edi
4354c4:	eb 08                	jmp    0x4354ce
4354c6:	f7 d8                	neg    %eax
4354c8:	3b f8                	cmp    %eax,%edi
4354ca:	7c 02                	jl     0x4354ce
4354cc:	8b f8                	mov    %eax,%edi
4354ce:	57                   	push   %edi
4354cf:	56                   	push   %esi
4354d0:	e8 60 03 00 00       	call   0x435835
4354d5:	57                   	push   %edi
4354d6:	6a 30                	push   $0x30
4354d8:	56                   	push   %esi
4354d9:	e8 72 b8 fe ff       	call   0x420d50
4354de:	83 c4 14             	add    $0x14,%esp
4354e1:	5f                   	pop    %edi
4354e2:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4354e6:	74 07                	je     0x4354ef
4354e8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4354eb:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4354ef:	5e                   	pop    %esi
4354f0:	8b c3                	mov    %ebx,%eax
4354f2:	5b                   	pop    %ebx
4354f3:	c9                   	leave
4354f4:	c3                   	ret
4354f5:	55                   	push   %ebp
4354f6:	8b ec                	mov    %esp,%ebp
4354f8:	83 ec 2c             	sub    $0x2c,%esp
4354fb:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
435500:	33 c5                	xor    %ebp,%eax
435502:	89 45 fc             	mov    %eax,-0x4(%ebp)
435505:	8b 45 08             	mov    0x8(%ebp),%eax
435508:	53                   	push   %ebx
435509:	57                   	push   %edi
43550a:	8b 7d 0c             	mov    0xc(%ebp),%edi
43550d:	6a 16                	push   $0x16
43550f:	5b                   	pop    %ebx
435510:	53                   	push   %ebx
435511:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
435514:	51                   	push   %ecx
435515:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
435518:	51                   	push   %ecx
435519:	ff 70 04             	push   0x4(%eax)
43551c:	ff 30                	push   (%eax)
43551e:	e8 c2 15 00 00       	call   0x436ae5
435523:	83 c4 14             	add    $0x14,%esp
435526:	85 ff                	test   %edi,%edi
435528:	75 10                	jne    0x43553a
43552a:	e8 df 26 ff ff       	call   0x427c0e
43552f:	89 18                	mov    %ebx,(%eax)
435531:	e8 da 18 ff ff       	call   0x426e10
435536:	8b c3                	mov    %ebx,%eax
435538:	eb 6c                	jmp    0x4355a6
43553a:	56                   	push   %esi
43553b:	8b 75 10             	mov    0x10(%ebp),%esi
43553e:	85 f6                	test   %esi,%esi
435540:	75 10                	jne    0x435552
435542:	e8 c7 26 ff ff       	call   0x427c0e
435547:	89 18                	mov    %ebx,(%eax)
435549:	e8 c2 18 ff ff       	call   0x426e10
43554e:	8b c3                	mov    %ebx,%eax
435550:	eb 53                	jmp    0x4355a5
435552:	83 c9 ff             	or     $0xffffffff,%ecx
435555:	3b f1                	cmp    %ecx,%esi
435557:	74 0d                	je     0x435566
435559:	33 c0                	xor    %eax,%eax
43555b:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
43555f:	8b ce                	mov    %esi,%ecx
435561:	0f 94 c0             	sete   %al
435564:	2b c8                	sub    %eax,%ecx
435566:	8b 5d 14             	mov    0x14(%ebp),%ebx
435569:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43556c:	50                   	push   %eax
43556d:	8b 45 d8             	mov    -0x28(%ebp),%eax
435570:	03 c3                	add    %ebx,%eax
435572:	50                   	push   %eax
435573:	33 c0                	xor    %eax,%eax
435575:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
435579:	51                   	push   %ecx
43557a:	0f 94 c0             	sete   %al
43557d:	03 c7                	add    %edi,%eax
43557f:	50                   	push   %eax
435580:	e8 d2 12 00 00       	call   0x436857
435585:	83 c4 10             	add    $0x10,%esp
435588:	85 c0                	test   %eax,%eax
43558a:	74 05                	je     0x435591
43558c:	c6 07 00             	movb   $0x0,(%edi)
43558f:	eb 14                	jmp    0x4355a5
435591:	ff 75 18             	push   0x18(%ebp)
435594:	8d 45 d4             	lea    -0x2c(%ebp),%eax
435597:	6a 00                	push   $0x0
435599:	50                   	push   %eax
43559a:	53                   	push   %ebx
43559b:	56                   	push   %esi
43559c:	57                   	push   %edi
43559d:	e8 69 fe ff ff       	call   0x43540b
4355a2:	83 c4 18             	add    $0x18,%esp
4355a5:	5e                   	pop    %esi
4355a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4355a9:	5f                   	pop    %edi
4355aa:	33 cd                	xor    %ebp,%ecx
4355ac:	5b                   	pop    %ebx
4355ad:	e8 5a 51 ff ff       	call   0x42a70c
4355b2:	c9                   	leave
4355b3:	c3                   	ret
4355b4:	55                   	push   %ebp
4355b5:	8b ec                	mov    %esp,%ebp
4355b7:	83 ec 30             	sub    $0x30,%esp
4355ba:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
4355bf:	33 c5                	xor    %ebp,%eax
4355c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4355c4:	8b 45 08             	mov    0x8(%ebp),%eax
4355c7:	53                   	push   %ebx
4355c8:	57                   	push   %edi
4355c9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4355cc:	6a 16                	push   $0x16
4355ce:	5b                   	pop    %ebx
4355cf:	53                   	push   %ebx
4355d0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4355d3:	51                   	push   %ecx
4355d4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4355d7:	51                   	push   %ecx
4355d8:	ff 70 04             	push   0x4(%eax)
4355db:	ff 30                	push   (%eax)
4355dd:	e8 03 15 00 00       	call   0x436ae5
4355e2:	83 c4 14             	add    $0x14,%esp
4355e5:	85 ff                	test   %edi,%edi
4355e7:	75 13                	jne    0x4355fc
4355e9:	e8 20 26 ff ff       	call   0x427c0e
4355ee:	89 18                	mov    %ebx,(%eax)
4355f0:	e8 1b 18 ff ff       	call   0x426e10
4355f5:	8b c3                	mov    %ebx,%eax
4355f7:	e9 a7 00 00 00       	jmp    0x4356a3
4355fc:	56                   	push   %esi
4355fd:	8b 75 10             	mov    0x10(%ebp),%esi
435600:	85 f6                	test   %esi,%esi
435602:	75 13                	jne    0x435617
435604:	e8 05 26 ff ff       	call   0x427c0e
435609:	89 18                	mov    %ebx,(%eax)
43560b:	e8 00 18 ff ff       	call   0x426e10
435610:	8b c3                	mov    %ebx,%eax
435612:	e9 8b 00 00 00       	jmp    0x4356a2
435617:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43561a:	48                   	dec    %eax
43561b:	33 c9                	xor    %ecx,%ecx
43561d:	83 7d d0 2d          	cmpl   $0x2d,-0x30(%ebp)
435621:	89 45 e0             	mov    %eax,-0x20(%ebp)
435624:	0f 94 c1             	sete   %cl
435627:	83 c8 ff             	or     $0xffffffff,%eax
43562a:	8d 1c 39             	lea    (%ecx,%edi,1),%ebx
43562d:	3b f0                	cmp    %eax,%esi
43562f:	74 04                	je     0x435635
435631:	8b c6                	mov    %esi,%eax
435633:	2b c1                	sub    %ecx,%eax
435635:	8d 4d d0             	lea    -0x30(%ebp),%ecx
435638:	51                   	push   %ecx
435639:	ff 75 14             	push   0x14(%ebp)
43563c:	50                   	push   %eax
43563d:	53                   	push   %ebx
43563e:	e8 14 12 00 00       	call   0x436857
435643:	83 c4 10             	add    $0x10,%esp
435646:	85 c0                	test   %eax,%eax
435648:	74 05                	je     0x43564f
43564a:	c6 07 00             	movb   $0x0,(%edi)
43564d:	eb 53                	jmp    0x4356a2
43564f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
435652:	48                   	dec    %eax
435653:	39 45 e0             	cmp    %eax,-0x20(%ebp)
435656:	0f 9c c1             	setl   %cl
435659:	83 f8 fc             	cmp    $0xfffffffc,%eax
43565c:	7c 2b                	jl     0x435689
43565e:	3b 45 14             	cmp    0x14(%ebp),%eax
435661:	7d 26                	jge    0x435689
435663:	84 c9                	test   %cl,%cl
435665:	74 0a                	je     0x435671
435667:	8a 03                	mov    (%ebx),%al
435669:	43                   	inc    %ebx
43566a:	84 c0                	test   %al,%al
43566c:	75 f9                	jne    0x435667
43566e:	88 43 fe             	mov    %al,-0x2(%ebx)
435671:	ff 75 1c             	push   0x1c(%ebp)
435674:	8d 45 d0             	lea    -0x30(%ebp),%eax
435677:	6a 01                	push   $0x1
435679:	50                   	push   %eax
43567a:	ff 75 14             	push   0x14(%ebp)
43567d:	56                   	push   %esi
43567e:	57                   	push   %edi
43567f:	e8 87 fd ff ff       	call   0x43540b
435684:	83 c4 18             	add    $0x18,%esp
435687:	eb 19                	jmp    0x4356a2
435689:	ff 75 1c             	push   0x1c(%ebp)
43568c:	8d 45 d0             	lea    -0x30(%ebp),%eax
43568f:	6a 01                	push   $0x1
435691:	50                   	push   %eax
435692:	ff 75 18             	push   0x18(%ebp)
435695:	ff 75 14             	push   0x14(%ebp)
435698:	56                   	push   %esi
435699:	57                   	push   %edi
43569a:	e8 51 fb ff ff       	call   0x4351f0
43569f:	83 c4 1c             	add    $0x1c,%esp
4356a2:	5e                   	pop    %esi
4356a3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4356a6:	5f                   	pop    %edi
4356a7:	33 cd                	xor    %ebp,%ecx
4356a9:	5b                   	pop    %ebx
4356aa:	e8 5d 50 ff ff       	call   0x42a70c
4356af:	c9                   	leave
4356b0:	c3                   	ret
4356b1:	55                   	push   %ebp
4356b2:	8b ec                	mov    %esp,%ebp
4356b4:	6a 00                	push   $0x0
4356b6:	ff 75 08             	push   0x8(%ebp)
4356b9:	e8 04 00 00 00       	call   0x4356c2
4356be:	59                   	pop    %ecx
4356bf:	59                   	pop    %ecx
4356c0:	5d                   	pop    %ebp
4356c1:	c3                   	ret
4356c2:	55                   	push   %ebp
4356c3:	8b ec                	mov    %esp,%ebp
4356c5:	83 ec 10             	sub    $0x10,%esp
4356c8:	57                   	push   %edi
4356c9:	ff 75 0c             	push   0xc(%ebp)
4356cc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4356cf:	e8 4b b8 fe ff       	call   0x420f1f
4356d4:	8b 55 08             	mov    0x8(%ebp),%edx
4356d7:	8b 7d f0             	mov    -0x10(%ebp),%edi
4356da:	8a 0a                	mov    (%edx),%cl
4356dc:	84 c9                	test   %cl,%cl
4356de:	74 15                	je     0x4356f5
4356e0:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
4356e6:	8b 00                	mov    (%eax),%eax
4356e8:	8a 00                	mov    (%eax),%al
4356ea:	3a c8                	cmp    %al,%cl
4356ec:	74 07                	je     0x4356f5
4356ee:	42                   	inc    %edx
4356ef:	8a 0a                	mov    (%edx),%cl
4356f1:	84 c9                	test   %cl,%cl
4356f3:	75 f5                	jne    0x4356ea
4356f5:	8a 02                	mov    (%edx),%al
4356f7:	42                   	inc    %edx
4356f8:	84 c0                	test   %al,%al
4356fa:	74 34                	je     0x435730
4356fc:	eb 09                	jmp    0x435707
4356fe:	3c 65                	cmp    $0x65,%al
435700:	74 0b                	je     0x43570d
435702:	3c 45                	cmp    $0x45,%al
435704:	74 07                	je     0x43570d
435706:	42                   	inc    %edx
435707:	8a 02                	mov    (%edx),%al
435709:	84 c0                	test   %al,%al
43570b:	75 f1                	jne    0x4356fe
43570d:	56                   	push   %esi
43570e:	8b f2                	mov    %edx,%esi
435710:	4a                   	dec    %edx
435711:	80 3a 30             	cmpb   $0x30,(%edx)
435714:	74 fa                	je     0x435710
435716:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
43571c:	8b 08                	mov    (%eax),%ecx
43571e:	8a 02                	mov    (%edx),%al
435720:	3a 01                	cmp    (%ecx),%al
435722:	75 01                	jne    0x435725
435724:	4a                   	dec    %edx
435725:	8a 06                	mov    (%esi),%al
435727:	42                   	inc    %edx
435728:	46                   	inc    %esi
435729:	88 02                	mov    %al,(%edx)
43572b:	84 c0                	test   %al,%al
43572d:	75 f6                	jne    0x435725
43572f:	5e                   	pop    %esi
435730:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
435734:	5f                   	pop    %edi
435735:	74 07                	je     0x43573e
435737:	8b 45 f8             	mov    -0x8(%ebp),%eax
43573a:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
43573e:	c9                   	leave
43573f:	c3                   	ret
435740:	55                   	push   %ebp
435741:	8b ec                	mov    %esp,%ebp
435743:	6a 00                	push   $0x0
435745:	ff 75 10             	push   0x10(%ebp)
435748:	ff 75 0c             	push   0xc(%ebp)
43574b:	ff 75 08             	push   0x8(%ebp)
43574e:	e8 05 00 00 00       	call   0x435758
435753:	83 c4 10             	add    $0x10,%esp
435756:	5d                   	pop    %ebp
435757:	c3                   	ret
435758:	55                   	push   %ebp
435759:	8b ec                	mov    %esp,%ebp
43575b:	51                   	push   %ecx
43575c:	51                   	push   %ecx
43575d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435761:	ff 75 14             	push   0x14(%ebp)
435764:	ff 75 10             	push   0x10(%ebp)
435767:	74 19                	je     0x435782
435769:	8d 45 f8             	lea    -0x8(%ebp),%eax
43576c:	50                   	push   %eax
43576d:	e8 95 11 00 00       	call   0x436907
435772:	8b 4d 0c             	mov    0xc(%ebp),%ecx
435775:	8b 45 f8             	mov    -0x8(%ebp),%eax
435778:	89 01                	mov    %eax,(%ecx)
43577a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43577d:	89 41 04             	mov    %eax,0x4(%ecx)
435780:	eb 11                	jmp    0x435793
435782:	8d 45 08             	lea    0x8(%ebp),%eax
435785:	50                   	push   %eax
435786:	e8 08 12 00 00       	call   0x436993
43578b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43578e:	8b 45 08             	mov    0x8(%ebp),%eax
435791:	89 01                	mov    %eax,(%ecx)
435793:	83 c4 0c             	add    $0xc,%esp
435796:	c9                   	leave
435797:	c3                   	ret
435798:	55                   	push   %ebp
435799:	8b ec                	mov    %esp,%ebp
43579b:	6a 00                	push   $0x0
43579d:	ff 75 08             	push   0x8(%ebp)
4357a0:	e8 04 00 00 00       	call   0x4357a9
4357a5:	59                   	pop    %ecx
4357a6:	59                   	pop    %ecx
4357a7:	5d                   	pop    %ebp
4357a8:	c3                   	ret
4357a9:	55                   	push   %ebp
4357aa:	8b ec                	mov    %esp,%ebp
4357ac:	83 ec 10             	sub    $0x10,%esp
4357af:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4357b2:	56                   	push   %esi
4357b3:	ff 75 0c             	push   0xc(%ebp)
4357b6:	e8 64 b7 fe ff       	call   0x420f1f
4357bb:	8b 75 08             	mov    0x8(%ebp),%esi
4357be:	0f be 06             	movsbl (%esi),%eax
4357c1:	50                   	push   %eax
4357c2:	e8 67 d8 fe ff       	call   0x42302e
4357c7:	83 f8 65             	cmp    $0x65,%eax
4357ca:	eb 0c                	jmp    0x4357d8
4357cc:	46                   	inc    %esi
4357cd:	0f b6 06             	movzbl (%esi),%eax
4357d0:	50                   	push   %eax