43437f:	2b fe                	sub    %esi,%edi
434381:	3b f9                	cmp    %ecx,%edi
434383:	77 04                	ja     0x434389
434385:	33 c0                	xor    %eax,%eax
434387:	eb 19                	jmp    0x4343a2
434389:	8d 04 31             	lea    (%ecx,%esi,1),%eax
43438c:	6a 01                	push   $0x1
43438e:	50                   	push   %eax
43438f:	e8 ab 0e 00 00       	call   0x43523f
434394:	6a 00                	push   $0x0
434396:	8b f0                	mov    %eax,%esi
434398:	e8 7d 0d 00 00       	call   0x43511a
43439d:	83 c4 0c             	add    $0xc,%esp
4343a0:	8b c6                	mov    %esi,%eax
4343a2:	5f                   	pop    %edi
4343a3:	5e                   	pop    %esi
4343a4:	5d                   	pop    %ebp
4343a5:	c3                   	ret
4343a6:	8b ff                	mov    %edi,%edi
4343a8:	55                   	push   %ebp
4343a9:	8b ec                	mov    %esp,%ebp
4343ab:	5d                   	pop    %ebp
4343ac:	e9 fb fc ff ff       	jmp    0x4340ac
4343b1:	83 3d f8 b0 46 00 00 	cmpl   $0x0,0x46b0f8
4343b8:	74 03                	je     0x4343bd
4343ba:	33 c0                	xor    %eax,%eax
4343bc:	c3                   	ret
4343bd:	56                   	push   %esi
4343be:	57                   	push   %edi
4343bf:	e8 e1 41 00 00       	call   0x4385a5
4343c4:	8b f0                	mov    %eax,%esi
4343c6:	85 f6                	test   %esi,%esi
4343c8:	75 05                	jne    0x4343cf
4343ca:	83 cf ff             	or     $0xffffffff,%edi
4343cd:	eb 2a                	jmp    0x4343f9
4343cf:	56                   	push   %esi
4343d0:	e8 30 00 00 00       	call   0x434405
4343d5:	59                   	pop    %ecx
4343d6:	85 c0                	test   %eax,%eax
4343d8:	75 05                	jne    0x4343df
4343da:	83 cf ff             	or     $0xffffffff,%edi
4343dd:	eb 12                	jmp    0x4343f1
4343df:	50                   	push   %eax
4343e0:	b9 f8 b0 46 00       	mov    $0x46b0f8,%ecx
4343e5:	a3 fc b0 46 00       	mov    %eax,0x46b0fc
4343ea:	e8 90 f7 ff ff       	call   0x433b7f
4343ef:	33 ff                	xor    %edi,%edi
4343f1:	6a 00                	push   $0x0
4343f3:	e8 22 0d 00 00       	call   0x43511a
4343f8:	59                   	pop    %ecx
4343f9:	56                   	push   %esi
4343fa:	e8 1b 0d 00 00       	call   0x43511a
4343ff:	59                   	pop    %ecx
434400:	8b c7                	mov    %edi,%eax
434402:	5f                   	pop    %edi
434403:	5e                   	pop    %esi
434404:	c3                   	ret
434405:	8b ff                	mov    %edi,%edi
434407:	55                   	push   %ebp
434408:	8b ec                	mov    %esp,%ebp
43440a:	51                   	push   %ecx
43440b:	51                   	push   %ecx
43440c:	53                   	push   %ebx
43440d:	8b 5d 08             	mov    0x8(%ebp),%ebx
434410:	33 c0                	xor    %eax,%eax
434412:	89 45 f8             	mov    %eax,-0x8(%ebp)
434415:	8b d0                	mov    %eax,%edx
434417:	56                   	push   %esi
434418:	57                   	push   %edi
434419:	0f b7 03             	movzwl (%ebx),%eax
43441c:	8b f3                	mov    %ebx,%esi
43441e:	66 85 c0             	test   %ax,%ax
434421:	74 2f                	je     0x434452
434423:	6a 3d                	push   $0x3d
434425:	5b                   	pop    %ebx
434426:	66 3b c3             	cmp    %bx,%ax
434429:	74 01                	je     0x43442c
43442b:	42                   	inc    %edx
43442c:	8b ce                	mov    %esi,%ecx
43442e:	8d 79 02             	lea    0x2(%ecx),%edi
434431:	66 8b 01             	mov    (%ecx),%ax
434434:	83 c1 02             	add    $0x2,%ecx
434437:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
43443b:	75 f4                	jne    0x434431
43443d:	2b cf                	sub    %edi,%ecx
43443f:	d1 f9                	sar    $1,%ecx
434441:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
434444:	83 c6 02             	add    $0x2,%esi
434447:	0f b7 06             	movzwl (%esi),%eax
43444a:	66 85 c0             	test   %ax,%ax
43444d:	75 d7                	jne    0x434426
43444f:	8b 5d 08             	mov    0x8(%ebp),%ebx
434452:	8d 42 01             	lea    0x1(%edx),%eax
434455:	6a 04                	push   $0x4
434457:	50                   	push   %eax
434458:	e8 e2 0d 00 00       	call   0x43523f
43445d:	8b f8                	mov    %eax,%edi
43445f:	33 f6                	xor    %esi,%esi
434461:	59                   	pop    %ecx
434462:	59                   	pop    %ecx
434463:	85 ff                	test   %edi,%edi
434465:	74 79                	je     0x4344e0
434467:	89 7d fc             	mov    %edi,-0x4(%ebp)
43446a:	eb 5d                	jmp    0x4344c9
43446c:	8b cb                	mov    %ebx,%ecx
43446e:	8d 51 02             	lea    0x2(%ecx),%edx
434471:	66 8b 01             	mov    (%ecx),%ax
434474:	83 c1 02             	add    $0x2,%ecx
434477:	66 3b c6             	cmp    %si,%ax
43447a:	75 f5                	jne    0x434471
43447c:	2b ca                	sub    %edx,%ecx
43447e:	d1 f9                	sar    $1,%ecx
434480:	6a 3d                	push   $0x3d
434482:	8d 41 01             	lea    0x1(%ecx),%eax
434485:	59                   	pop    %ecx
434486:	89 45 f8             	mov    %eax,-0x8(%ebp)
434489:	66 39 0b             	cmp    %cx,(%ebx)
43448c:	74 38                	je     0x4344c6
43448e:	6a 02                	push   $0x2
434490:	50                   	push   %eax
434491:	e8 a9 0d 00 00       	call   0x43523f
434496:	8b f0                	mov    %eax,%esi
434498:	59                   	pop    %ecx
434499:	59                   	pop    %ecx
43449a:	85 f6                	test   %esi,%esi
43449c:	74 32                	je     0x4344d0
43449e:	53                   	push   %ebx
43449f:	ff 75 f8             	push   -0x8(%ebp)
4344a2:	56                   	push   %esi
4344a3:	e8 be 32 00 00       	call   0x437766
4344a8:	83 c4 0c             	add    $0xc,%esp
4344ab:	85 c0                	test   %eax,%eax
4344ad:	75 43                	jne    0x4344f2
4344af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4344b2:	89 30                	mov    %esi,(%eax)
4344b4:	33 f6                	xor    %esi,%esi
4344b6:	83 c0 04             	add    $0x4,%eax
4344b9:	56                   	push   %esi
4344ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
4344bd:	e8 58 0c 00 00       	call   0x43511a
4344c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4344c5:	59                   	pop    %ecx
4344c6:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4344c9:	66 39 33             	cmp    %si,(%ebx)
4344cc:	75 9e                	jne    0x43446c
4344ce:	eb 12                	jmp    0x4344e2
4344d0:	57                   	push   %edi
4344d1:	e8 29 00 00 00       	call   0x4344ff
4344d6:	33 f6                	xor    %esi,%esi
4344d8:	56                   	push   %esi
4344d9:	e8 3c 0c 00 00       	call   0x43511a
4344de:	59                   	pop    %ecx
4344df:	59                   	pop    %ecx
4344e0:	8b fe                	mov    %esi,%edi
4344e2:	56                   	push   %esi
4344e3:	e8 32 0c 00 00       	call   0x43511a
4344e8:	59                   	pop    %ecx
4344e9:	8b c7                	mov    %edi,%eax
4344eb:	5f                   	pop    %edi
4344ec:	5e                   	pop    %esi
4344ed:	5b                   	pop    %ebx
4344ee:	8b e5                	mov    %ebp,%esp
4344f0:	5d                   	pop    %ebp
4344f1:	c3                   	ret
4344f2:	33 c0                	xor    %eax,%eax
4344f4:	50                   	push   %eax
4344f5:	50                   	push   %eax
4344f6:	50                   	push   %eax
4344f7:	50                   	push   %eax
4344f8:	50                   	push   %eax
4344f9:	e8 8c f8 ff ff       	call   0x433d8a
4344fe:	cc                   	int3
4344ff:	8b ff                	mov    %edi,%edi
434501:	55                   	push   %ebp
434502:	8b ec                	mov    %esp,%ebp
434504:	56                   	push   %esi
434505:	8b 75 08             	mov    0x8(%ebp),%esi
434508:	85 f6                	test   %esi,%esi
43450a:	74 1f                	je     0x43452b
43450c:	8b 06                	mov    (%esi),%eax
43450e:	57                   	push   %edi
43450f:	8b fe                	mov    %esi,%edi
434511:	eb 0c                	jmp    0x43451f
434513:	50                   	push   %eax
434514:	e8 01 0c 00 00       	call   0x43511a
434519:	8d 7f 04             	lea    0x4(%edi),%edi
43451c:	8b 07                	mov    (%edi),%eax
43451e:	59                   	pop    %ecx
43451f:	85 c0                	test   %eax,%eax
434521:	75 f0                	jne    0x434513
434523:	56                   	push   %esi
434524:	e8 f1 0b 00 00       	call   0x43511a
434529:	59                   	pop    %ecx
43452a:	5f                   	pop    %edi
43452b:	5e                   	pop    %esi
43452c:	5d                   	pop    %ebp
43452d:	c3                   	ret
43452e:	8b ff                	mov    %edi,%edi
434530:	55                   	push   %ebp
434531:	8b ec                	mov    %esp,%ebp
434533:	51                   	push   %ecx
434534:	a1 08 a0 46 00       	mov    0x46a008,%eax
434539:	33 c5                	xor    %ebp,%eax
43453b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43453e:	56                   	push   %esi
43453f:	8b f1                	mov    %ecx,%esi
434541:	57                   	push   %edi
434542:	8d 7e 04             	lea    0x4(%esi),%edi
434545:	eb 11                	jmp    0x434558
434547:	8b 4d 08             	mov    0x8(%ebp),%ecx
43454a:	56                   	push   %esi
43454b:	ff 15 d0 b3 44 00    	call   *0x44b3d0
434551:	ff 55 08             	call   *0x8(%ebp)
434554:	59                   	pop    %ecx
434555:	83 c6 04             	add    $0x4,%esi
434558:	3b f7                	cmp    %edi,%esi
43455a:	75 eb                	jne    0x434547
43455c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43455f:	5f                   	pop    %edi
434560:	33 cd                	xor    %ebp,%ecx
434562:	5e                   	pop    %esi
434563:	e8 ce 98 ff ff       	call   0x42de36
434568:	8b e5                	mov    %ebp,%esp
43456a:	5d                   	pop    %ebp
43456b:	c2 04 00             	ret    $0x4
43456e:	8b ff                	mov    %edi,%edi
434570:	55                   	push   %ebp
434571:	8b ec                	mov    %esp,%ebp
434573:	8b 45 08             	mov    0x8(%ebp),%eax
434576:	8b 00                	mov    (%eax),%eax
434578:	3b 05 00 b1 46 00    	cmp    0x46b100,%eax
43457e:	74 07                	je     0x434587
434580:	50                   	push   %eax
434581:	e8 79 ff ff ff       	call   0x4344ff
434586:	59                   	pop    %ecx
434587:	5d                   	pop    %ebp
434588:	c3                   	ret
434589:	8b ff                	mov    %edi,%edi
43458b:	55                   	push   %ebp
43458c:	8b ec                	mov    %esp,%ebp
43458e:	8b 45 08             	mov    0x8(%ebp),%eax
434591:	8b 00                	mov    (%eax),%eax
434593:	3b 05 fc b0 46 00    	cmp    0x46b0fc,%eax
434599:	74 07                	je     0x4345a2
43459b:	50                   	push   %eax
43459c:	e8 5e ff ff ff       	call   0x4344ff
4345a1:	59                   	pop    %ecx
4345a2:	5d                   	pop    %ebp
4345a3:	c3                   	ret
4345a4:	68 6e 45 43 00       	push   $0x43456e
4345a9:	b9 f4 b0 46 00       	mov    $0x46b0f4,%ecx
4345ae:	e8 7b ff ff ff       	call   0x43452e
4345b3:	68 89 45 43 00       	push   $0x434589
4345b8:	b9 f8 b0 46 00       	mov    $0x46b0f8,%ecx
4345bd:	e8 6c ff ff ff       	call   0x43452e
4345c2:	ff 35 00 b1 46 00    	push   0x46b100
4345c8:	e8 32 ff ff ff       	call   0x4344ff
4345cd:	ff 35 fc b0 46 00    	push   0x46b0fc
4345d3:	e8 27 ff ff ff       	call   0x4344ff
4345d8:	59                   	pop    %ecx
4345d9:	59                   	pop    %ecx
4345da:	c3                   	ret
4345db:	e9 d1 fd ff ff       	jmp    0x4343b1
4345e0:	a1 8c b3 46 00       	mov    0x46b38c,%eax
4345e5:	85 c0                	test   %eax,%eax
4345e7:	75 05                	jne    0x4345ee
4345e9:	b8 04 b1 46 00       	mov    $0x46b104,%eax
4345ee:	56                   	push   %esi
4345ef:	6a 20                	push   $0x20
4345f1:	32 d2                	xor    %dl,%dl
4345f3:	5e                   	pop    %esi
4345f4:	0f b7 08             	movzwl (%eax),%ecx
4345f7:	66 3b ce             	cmp    %si,%cx
4345fa:	77 09                	ja     0x434605
4345fc:	66 85 c9             	test   %cx,%cx
4345ff:	74 23                	je     0x434624
434601:	84 d2                	test   %dl,%dl
434603:	74 17                	je     0x43461c
434605:	83 f9 22             	cmp    $0x22,%ecx
434608:	75 05                	jne    0x43460f
43460a:	84 d2                	test   %dl,%dl
43460c:	0f 94 c2             	sete   %dl
43460f:	83 c0 02             	add    $0x2,%eax
434612:	eb e0                	jmp    0x4345f4
434614:	66 3b ce             	cmp    %si,%cx
434617:	77 0b                	ja     0x434624
434619:	83 c0 02             	add    $0x2,%eax
43461c:	0f b7 08             	movzwl (%eax),%ecx
43461f:	66 85 c9             	test   %cx,%cx
434622:	75 f0                	jne    0x434614
434624:	5e                   	pop    %esi
434625:	c3                   	ret
434626:	8b ff                	mov    %edi,%edi
434628:	55                   	push   %ebp
434629:	8b ec                	mov    %esp,%ebp
43462b:	51                   	push   %ecx
43462c:	51                   	push   %ecx
43462d:	a1 08 a0 46 00       	mov    0x46a008,%eax
434632:	33 c5                	xor    %ebp,%eax
434634:	89 45 fc             	mov    %eax,-0x4(%ebp)
434637:	8b 45 0c             	mov    0xc(%ebp),%eax
43463a:	53                   	push   %ebx
43463b:	56                   	push   %esi
43463c:	8b 75 08             	mov    0x8(%ebp),%esi
43463f:	2b c6                	sub    %esi,%eax
434641:	83 c0 03             	add    $0x3,%eax
434644:	57                   	push   %edi
434645:	33 ff                	xor    %edi,%edi
434647:	c1 e8 02             	shr    $0x2,%eax
43464a:	39 75 0c             	cmp    %esi,0xc(%ebp)
43464d:	1b db                	sbb    %ebx,%ebx
43464f:	f7 d3                	not    %ebx
434651:	23 d8                	and    %eax,%ebx
434653:	74 1c                	je     0x434671
434655:	8b 06                	mov    (%esi),%eax
434657:	89 45 f8             	mov    %eax,-0x8(%ebp)
43465a:	85 c0                	test   %eax,%eax
43465c:	74 0b                	je     0x434669
43465e:	8b c8                	mov    %eax,%ecx
434660:	ff 15 d0 b3 44 00    	call   *0x44b3d0
434666:	ff 55 f8             	call   *-0x8(%ebp)
434669:	83 c6 04             	add    $0x4,%esi
43466c:	47                   	inc    %edi
43466d:	3b fb                	cmp    %ebx,%edi
43466f:	75 e4                	jne    0x434655
434671:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434674:	5f                   	pop    %edi
434675:	5e                   	pop    %esi
434676:	33 cd                	xor    %ebp,%ecx
434678:	5b                   	pop    %ebx
434679:	e8 b8 97 ff ff       	call   0x42de36
43467e:	8b e5                	mov    %ebp,%esp
434680:	5d                   	pop    %ebp
434681:	c3                   	ret
434682:	8b ff                	mov    %edi,%edi
434684:	55                   	push   %ebp
434685:	8b ec                	mov    %esp,%ebp
434687:	51                   	push   %ecx
434688:	a1 08 a0 46 00       	mov    0x46a008,%eax
43468d:	33 c5                	xor    %ebp,%eax
43468f:	89 45 fc             	mov    %eax,-0x4(%ebp)
434692:	56                   	push   %esi
434693:	8b 75 08             	mov    0x8(%ebp),%esi
434696:	57                   	push   %edi
434697:	eb 17                	jmp    0x4346b0
434699:	8b 3e                	mov    (%esi),%edi
43469b:	85 ff                	test   %edi,%edi
43469d:	74 0e                	je     0x4346ad
43469f:	8b cf                	mov    %edi,%ecx
4346a1:	ff 15 d0 b3 44 00    	call   *0x44b3d0