4344ef:	83 fa 03             	cmp    $0x3,%edx
4344f2:	0f 94 c0             	sete   %al
4344f5:	89 46 14             	mov    %eax,0x14(%esi)
4344f8:	83 f9 03             	cmp    $0x3,%ecx
4344fb:	74 0a                	je     0x434507
4344fd:	ff 36                	push   (%esi)
4344ff:	e8 94 00 00 00       	call   0x434598
434504:	59                   	pop    %ecx
434505:	8b f8                	mov    %eax,%edi
434507:	33 db                	xor    %ebx,%ebx
434509:	89 7e 0c             	mov    %edi,0xc(%esi)
43450c:	53                   	push   %ebx
43450d:	53                   	push   %ebx
43450e:	6a 03                	push   $0x3
434510:	68 d0 45 43 00       	push   $0x4345d0
434515:	e8 4c 90 ff ff       	call   0x42d566
43451a:	8b 4e 08             	mov    0x8(%esi),%ecx
43451d:	f6 c1 07             	test   $0x7,%cl
434520:	0f 95 c2             	setne  %dl
434523:	0f ba e1 09          	bt     $0x9,%ecx
434527:	0f 92 c0             	setb   %al
43452a:	22 d0                	and    %al,%dl
43452c:	0f ba e1 08          	bt     $0x8,%ecx
434530:	0f 92 c0             	setb   %al
434533:	84 d0                	test   %dl,%al
434535:	75 03                	jne    0x43453a
434537:	89 5e 08             	mov    %ebx,0x8(%esi)
43453a:	5f                   	pop    %edi
43453b:	5e                   	pop    %esi
43453c:	5b                   	pop    %ebx
43453d:	c9                   	leave
43453e:	c3                   	ret
43453f:	8b ff                	mov    %edi,%edi
434541:	55                   	push   %ebp
434542:	8b ec                	mov    %esp,%ebp
434544:	53                   	push   %ebx
434545:	56                   	push   %esi
434546:	8b 75 08             	mov    0x8(%ebp),%esi
434549:	33 db                	xor    %ebx,%ebx
43454b:	57                   	push   %edi
43454c:	6a 02                	push   $0x2
43454e:	5a                   	pop    %edx
43454f:	8b 0e                	mov    (%esi),%ecx
434551:	8d 79 02             	lea    0x2(%ecx),%edi
434554:	66 8b 01             	mov    (%ecx),%ax
434557:	03 ca                	add    %edx,%ecx
434559:	66 3b c3             	cmp    %bx,%ax
43455c:	75 f6                	jne    0x434554
43455e:	2b cf                	sub    %edi,%ecx
434560:	33 c0                	xor    %eax,%eax
434562:	d1 f9                	sar    $1,%ecx
434564:	83 f9 03             	cmp    $0x3,%ecx
434567:	0f 94 c0             	sete   %al
43456a:	89 46 10             	mov    %eax,0x10(%esi)
43456d:	74 0a                	je     0x434579
43456f:	ff 36                	push   (%esi)
434571:	e8 22 00 00 00       	call   0x434598
434576:	59                   	pop    %ecx
434577:	8b d0                	mov    %eax,%edx
434579:	53                   	push   %ebx
43457a:	53                   	push   %ebx
43457b:	6a 03                	push   $0x3
43457d:	68 c0 48 43 00       	push   $0x4348c0
434582:	89 56 0c             	mov    %edx,0xc(%esi)
434585:	e8 dc 8f ff ff       	call   0x42d566
43458a:	f6 46 08 04          	testb  $0x4,0x8(%esi)
43458e:	75 03                	jne    0x434593
434590:	89 5e 08             	mov    %ebx,0x8(%esi)
434593:	5f                   	pop    %edi
434594:	5e                   	pop    %esi
434595:	5b                   	pop    %ebx
434596:	5d                   	pop    %ebp
434597:	c3                   	ret
434598:	8b ff                	mov    %edi,%edi
43459a:	55                   	push   %ebp
43459b:	8b ec                	mov    %esp,%ebp
43459d:	8b 4d 08             	mov    0x8(%ebp),%ecx
4345a0:	33 d2                	xor    %edx,%edx
4345a2:	85 c9                	test   %ecx,%ecx
4345a4:	75 04                	jne    0x4345aa
4345a6:	33 c0                	xor    %eax,%eax
4345a8:	5d                   	pop    %ebp
4345a9:	c3                   	ret
4345aa:	0f b7 01             	movzwl (%ecx),%eax
4345ad:	83 c1 02             	add    $0x2,%ecx
4345b0:	66 83 f8 41          	cmp    $0x41,%ax
4345b4:	72 06                	jb     0x4345bc
4345b6:	66 83 f8 5a          	cmp    $0x5a,%ax
4345ba:	76 09                	jbe    0x4345c5
4345bc:	83 c0 9f             	add    $0xffffff9f,%eax
4345bf:	66 83 f8 19          	cmp    $0x19,%ax
4345c3:	77 03                	ja     0x4345c8
4345c5:	42                   	inc    %edx
4345c6:	eb e2                	jmp    0x4345aa
4345c8:	8b c2                	mov    %edx,%eax
4345ca:	5d                   	pop    %ebp
4345cb:	c3                   	ret
4345cc:	cc                   	int3
4345cd:	cc                   	int3
4345ce:	cc                   	int3
4345cf:	cc                   	int3
4345d0:	8b ff                	mov    %edi,%edi
4345d2:	55                   	push   %ebp
4345d3:	8b ec                	mov    %esp,%ebp
4345d5:	81 ec 88 00 00 00    	sub    $0x88,%esp
4345db:	a1 14 50 45 00       	mov    0x455014,%eax
4345e0:	33 c5                	xor    %ebp,%eax
4345e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4345e5:	56                   	push   %esi
4345e6:	57                   	push   %edi
4345e7:	8b 7d 08             	mov    0x8(%ebp),%edi
4345ea:	e8 da 5f ff ff       	call   0x42a5c9
4345ef:	8b f0                	mov    %eax,%esi
4345f1:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4345f7:	6a 40                	push   $0x40
4345f9:	50                   	push   %eax
4345fa:	8b 4e 64             	mov    0x64(%esi),%ecx
4345fd:	f7 d9                	neg    %ecx
4345ff:	1b c9                	sbb    %ecx,%ecx
434601:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
434607:	81 c1 02 10 00 00    	add    $0x1002,%ecx
43460d:	51                   	push   %ecx
43460e:	57                   	push   %edi
43460f:	e8 fc 90 ff ff       	call   0x42d710
434614:	85 c0                	test   %eax,%eax
434616:	75 09                	jne    0x434621
434618:	21 46 58             	and    %eax,0x58(%esi)
43461b:	40                   	inc    %eax
43461c:	e9 47 02 00 00       	jmp    0x434868
434621:	53                   	push   %ebx
434622:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
434628:	50                   	push   %eax
434629:	ff 76 54             	push   0x54(%esi)
43462c:	e8 3c 1d ff ff       	call   0x42636d
434631:	33 db                	xor    %ebx,%ebx
434633:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
434639:	59                   	pop    %ecx
43463a:	59                   	pop    %ecx
43463b:	85 c0                	test   %eax,%eax
43463d:	0f 85 e0 00 00 00    	jne    0x434723
434643:	6a 40                	push   $0x40
434645:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43464b:	50                   	push   %eax
43464c:	8b 46 60             	mov    0x60(%esi),%eax
43464f:	f7 d8                	neg    %eax
434651:	1b c0                	sbb    %eax,%eax
434653:	25 02 f0 ff ff       	and    $0xfffff002,%eax
434658:	05 01 10 00 00       	add    $0x1001,%eax
43465d:	50                   	push   %eax
43465e:	57                   	push   %edi
43465f:	e8 ac 90 ff ff       	call   0x42d710
434664:	85 c0                	test   %eax,%eax
434666:	75 08                	jne    0x434670
434668:	21 5e 58             	and    %ebx,0x58(%esi)
43466b:	e9 ef 00 00 00       	jmp    0x43475f
434670:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
434676:	50                   	push   %eax
434677:	ff 76 50             	push   0x50(%esi)
43467a:	e8 ee 1c ff ff       	call   0x42636d
43467f:	59                   	pop    %ecx
434680:	59                   	pop    %ecx
434681:	8b 4e 58             	mov    0x58(%esi),%ecx
434684:	85 c0                	test   %eax,%eax
434686:	75 1b                	jne    0x4346a3
434688:	81 c9 04 03 00 00    	or     $0x304,%ecx
43468e:	89 4e 58             	mov    %ecx,0x58(%esi)
434691:	8b cf                	mov    %edi,%ecx
434693:	8d 51 02             	lea    0x2(%ecx),%edx
434696:	66 8b 01             	mov    (%ecx),%ax
434699:	83 c1 02             	add    $0x2,%ecx
43469c:	66 3b c3             	cmp    %bx,%ax
43469f:	75 f5                	jne    0x434696
4346a1:	eb 5e                	jmp    0x434701
4346a3:	f6 c1 02             	test   $0x2,%cl
4346a6:	75 7b                	jne    0x434723
4346a8:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
4346ab:	74 2f                	je     0x4346dc
4346ad:	ff 76 5c             	push   0x5c(%esi)
4346b0:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4346b6:	50                   	push   %eax
4346b7:	ff 76 50             	push   0x50(%esi)
4346ba:	e8 fe 1d ff ff       	call   0x4264bd
4346bf:	83 c4 0c             	add    $0xc,%esp
4346c2:	85 c0                	test   %eax,%eax
4346c4:	75 16                	jne    0x4346dc
4346c6:	83 4e 58 02          	orl    $0x2,0x58(%esi)
4346ca:	8b cf                	mov    %edi,%ecx
4346cc:	8d 51 02             	lea    0x2(%ecx),%edx
4346cf:	66 8b 01             	mov    (%ecx),%ax
4346d2:	83 c1 02             	add    $0x2,%ecx
4346d5:	66 3b c3             	cmp    %bx,%ax
4346d8:	75 f5                	jne    0x4346cf
4346da:	eb 25                	jmp    0x434701
4346dc:	f6 46 58 01          	testb  $0x1,0x58(%esi)
4346e0:	75 41                	jne    0x434723
4346e2:	57                   	push   %edi
4346e3:	e8 87 03 00 00       	call   0x434a6f
4346e8:	59                   	pop    %ecx
4346e9:	85 c0                	test   %eax,%eax
4346eb:	74 36                	je     0x434723
4346ed:	83 4e 58 01          	orl    $0x1,0x58(%esi)
4346f1:	8b cf                	mov    %edi,%ecx
4346f3:	8d 51 02             	lea    0x2(%ecx),%edx
4346f6:	66 8b 01             	mov    (%ecx),%ax
4346f9:	83 c1 02             	add    $0x2,%ecx
4346fc:	66 3b c3             	cmp    %bx,%ax
4346ff:	75 f5                	jne    0x4346f6
434701:	2b ca                	sub    %edx,%ecx
434703:	d1 f9                	sar    $1,%ecx
434705:	8d 41 01             	lea    0x1(%ecx),%eax
434708:	50                   	push   %eax
434709:	57                   	push   %edi
43470a:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
434710:	6a 55                	push   $0x55
434712:	50                   	push   %eax
434713:	e8 12 04 ff ff       	call   0x424b2a
434718:	83 c4 10             	add    $0x10,%esp
43471b:	85 c0                	test   %eax,%eax
43471d:	0f 85 83 01 00 00    	jne    0x4348a6
434723:	8b 46 58             	mov    0x58(%esi),%eax
434726:	b9 00 03 00 00       	mov    $0x300,%ecx
43472b:	23 c1                	and    %ecx,%eax
43472d:	3b c1                	cmp    %ecx,%eax
43472f:	0f 84 27 01 00 00    	je     0x43485c
434735:	8b 4e 60             	mov    0x60(%esi),%ecx
434738:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43473e:	f7 d9                	neg    %ecx
434740:	6a 40                	push   $0x40
434742:	1b c9                	sbb    %ecx,%ecx
434744:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
43474a:	50                   	push   %eax
43474b:	81 c1 01 10 00 00    	add    $0x1001,%ecx
434751:	51                   	push   %ecx
434752:	57                   	push   %edi
434753:	e8 b8 8f ff ff       	call   0x42d710
434758:	85 c0                	test   %eax,%eax
43475a:	75 0b                	jne    0x434767
43475c:	89 5e 58             	mov    %ebx,0x58(%esi)
43475f:	33 c0                	xor    %eax,%eax
434761:	40                   	inc    %eax
434762:	e9 00 01 00 00       	jmp    0x434867
434767:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43476d:	50                   	push   %eax
43476e:	ff 76 50             	push   0x50(%esi)
434771:	e8 f7 1b ff ff       	call   0x42636d
434776:	59                   	pop    %ecx
434777:	59                   	pop    %ecx
434778:	85 c0                	test   %eax,%eax
43477a:	0f 85 dc 00 00 00    	jne    0x43485c
434780:	8b 4e 58             	mov    0x58(%esi),%ecx
434783:	81 c9 00 02 00 00    	or     $0x200,%ecx
434789:	89 4e 58             	mov    %ecx,0x58(%esi)
43478c:	39 5e 60             	cmp    %ebx,0x60(%esi)
43478f:	74 31                	je     0x4347c2
434791:	81 c9 00 01 00 00    	or     $0x100,%ecx
434797:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
43479d:	89 4e 58             	mov    %ecx,0x58(%esi)
4347a0:	66 39 1a             	cmp    %bx,(%edx)
4347a3:	0f 85 b3 00 00 00    	jne    0x43485c
4347a9:	8b cf                	mov    %edi,%ecx
4347ab:	8d 59 02             	lea    0x2(%ecx),%ebx
4347ae:	66 8b 01             	mov    (%ecx),%ax
4347b1:	83 c1 02             	add    $0x2,%ecx
4347b4:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
4347bb:	75 f1                	jne    0x4347ae
4347bd:	e9 82 00 00 00       	jmp    0x434844
4347c2:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
4347c5:	0f 84 af 00 00 00    	je     0x43487a
4347cb:	8b 56 50             	mov    0x50(%esi),%edx
4347ce:	8d 5a 02             	lea    0x2(%edx),%ebx
4347d1:	66 8b 02             	mov    (%edx),%ax
4347d4:	83 c2 02             	add    $0x2,%edx
4347d7:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
4347de:	75 f1                	jne    0x4347d1
4347e0:	2b d3                	sub    %ebx,%edx
4347e2:	d1 fa                	sar    $1,%edx
4347e4:	3b 56 5c             	cmp    0x5c(%esi),%edx
4347e7:	0f 85 8b 00 00 00    	jne    0x434878
4347ed:	57                   	push   %edi
4347ee:	e8 7c 02 00 00       	call   0x434a6f
4347f3:	59                   	pop    %ecx
4347f4:	85 c0                	test   %eax,%eax
4347f6:	75 24                	jne    0x43481c
4347f8:	8b 5e 50             	mov    0x50(%esi),%ebx
4347fb:	33 d2                	xor    %edx,%edx
4347fd:	8d 4b 02             	lea    0x2(%ebx),%ecx
434800:	66 8b 03             	mov    (%ebx),%ax
434803:	83 c3 02             	add    $0x2,%ebx
434806:	66 3b c2             	cmp    %dx,%ax
434809:	75 f5                	jne    0x434800
43480b:	ff 76 50             	push   0x50(%esi)
43480e:	2b d9                	sub    %ecx,%ebx
434810:	d1 fb                	sar    $1,%ebx
434812:	e8 81 fd ff ff       	call   0x434598
434817:	59                   	pop    %ecx
434818:	3b c3                	cmp    %ebx,%eax
43481a:	74 40                	je     0x43485c
43481c:	81 4e 58 00 01 00 00 	orl    $0x100,0x58(%esi)
434823:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
434829:	33 c0                	xor    %eax,%eax
43482b:	66 39 02             	cmp    %ax,(%edx)
43482e:	75 2c                	jne    0x43485c
434830:	8b cf                	mov    %edi,%ecx
434832:	8d 59 02             	lea    0x2(%ecx),%ebx
434835:	66 8b 01             	mov    (%ecx),%ax
434838:	83 c1 02             	add    $0x2,%ecx
43483b:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
434842:	75 f1                	jne    0x434835
434844:	2b cb                	sub    %ebx,%ecx
434846:	d1 f9                	sar    $1,%ecx
434848:	8d 41 01             	lea    0x1(%ecx),%eax
43484b:	50                   	push   %eax
43484c:	57                   	push   %edi
43484d:	6a 55                	push   $0x55
43484f:	52                   	push   %edx
434850:	e8 d5 02 ff ff       	call   0x424b2a
434855:	83 c4 10             	add    $0x10,%esp
434858:	85 c0                	test   %eax,%eax
43485a:	75 48                	jne    0x4348a4
43485c:	8b 46 58             	mov    0x58(%esi),%eax
43485f:	c1 e8 02             	shr    $0x2,%eax
434862:	f7 d0                	not    %eax
434864:	83 e0 01             	and    $0x1,%eax
434867:	5b                   	pop    %ebx
434868:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43486b:	5f                   	pop    %edi
43486c:	33 cd                	xor    %ebp,%ecx
43486e:	5e                   	pop    %esi
43486f:	e8 36 53 fe ff       	call   0x419baa
434874:	c9                   	leave
434875:	c2 0c 00             	ret    $0xc
434878:	33 db                	xor    %ebx,%ebx
43487a:	81 c9 00 01 00 00    	or     $0x100,%ecx
434880:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
434886:	89 4e 58             	mov    %ecx,0x58(%esi)
434889:	66 39 1a             	cmp    %bx,(%edx)
43488c:	75 ce                	jne    0x43485c
43488e:	8b cf                	mov    %edi,%ecx
434890:	8d 59 02             	lea    0x2(%ecx),%ebx
434893:	66 8b 01             	mov    (%ecx),%ax
434896:	83 c1 02             	add    $0x2,%ecx
434899:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
4348a0:	75 f1                	jne    0x434893
4348a2:	eb a0                	jmp    0x434844
4348a4:	33 db                	xor    %ebx,%ebx
4348a6:	53                   	push   %ebx
4348a7:	53                   	push   %ebx
4348a8:	53                   	push   %ebx
4348a9:	53                   	push   %ebx
4348aa:	53                   	push   %ebx