435318:	83 c6 04             	add    $0x4,%esi
43531b:	66 85 ff             	test   %di,%di
43531e:	75 de                	jne    0x4352fe
435320:	8b d0                	mov    %eax,%edx
435322:	eb 05                	jmp    0x435329
435324:	1b d2                	sbb    %edx,%edx
435326:	83 ca 01             	or     $0x1,%edx
435329:	85 d2                	test   %edx,%edx
43532b:	74 5d                	je     0x43538a
43532d:	be 94 38 44 00       	mov    $0x443894,%esi
435332:	8b d1                	mov    %ecx,%edx
435334:	66 8b 3a             	mov    (%edx),%di
435337:	66 3b 3e             	cmp    (%esi),%di
43533a:	75 1c                	jne    0x435358
43533c:	66 85 ff             	test   %di,%di
43533f:	74 1c                	je     0x43535d
435341:	66 8b 7a 02          	mov    0x2(%edx),%di
435345:	66 3b 7e 02          	cmp    0x2(%esi),%di
435349:	75 0d                	jne    0x435358
43534b:	83 c2 04             	add    $0x4,%edx
43534e:	83 c6 04             	add    $0x4,%esi
435351:	66 85 ff             	test   %di,%di
435354:	75 de                	jne    0x435334
435356:	eb 05                	jmp    0x43535d
435358:	1b c0                	sbb    %eax,%eax
43535a:	83 c8 01             	or     $0x1,%eax
43535d:	85 c0                	test   %eax,%eax
43535f:	75 20                	jne    0x435381
435361:	6a 02                	push   $0x2
435363:	8d 45 fc             	lea    -0x4(%ebp),%eax
435366:	50                   	push   %eax
435367:	8b 45 0c             	mov    0xc(%ebp),%eax
43536a:	68 0b 00 00 20       	push   $0x2000000b
43536f:	ff 70 08             	push   0x8(%eax)
435372:	ff 15 e0 e1 43 00    	call   *0x43e1e0
435378:	85 c0                	test   %eax,%eax
43537a:	74 29                	je     0x4353a5
43537c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43537f:	eb 35                	jmp    0x4353b6
435381:	51                   	push   %ecx
435382:	e8 74 f5 fe ff       	call   0x4248fb
435387:	59                   	pop    %ecx
435388:	eb 2c                	jmp    0x4353b6
43538a:	6a 02                	push   $0x2
43538c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43538f:	50                   	push   %eax
435390:	8b 45 0c             	mov    0xc(%ebp),%eax
435393:	68 04 10 00 20       	push   $0x20001004
435398:	ff 70 08             	push   0x8(%eax)
43539b:	ff 15 e0 e1 43 00    	call   *0x43e1e0
4353a1:	85 c0                	test   %eax,%eax
4353a3:	75 04                	jne    0x4353a9
4353a5:	33 c0                	xor    %eax,%eax
4353a7:	eb 0d                	jmp    0x4353b6
4353a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4353ac:	85 c0                	test   %eax,%eax
4353ae:	75 06                	jne    0x4353b6
4353b0:	ff 15 8c e0 43 00    	call   *0x43e08c
4353b6:	5f                   	pop    %edi
4353b7:	5e                   	pop    %esi
4353b8:	c9                   	leave
4353b9:	c3                   	ret
4353ba:	8b ff                	mov    %edi,%edi
4353bc:	55                   	push   %ebp
4353bd:	8b ec                	mov    %esp,%ebp
4353bf:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
4353c3:	33 c0                	xor    %eax,%eax
4353c5:	66 3b 88 9c 38 44 00 	cmp    0x44389c(%eax),%cx
4353cc:	74 0d                	je     0x4353db
4353ce:	83 c0 02             	add    $0x2,%eax
4353d1:	83 f8 14             	cmp    $0x14,%eax
4353d4:	72 ef                	jb     0x4353c5
4353d6:	33 c0                	xor    %eax,%eax
4353d8:	40                   	inc    %eax
4353d9:	5d                   	pop    %ebp
4353da:	c3                   	ret
4353db:	33 c0                	xor    %eax,%eax
4353dd:	5d                   	pop    %ebp
4353de:	c3                   	ret
4353df:	8b ff                	mov    %edi,%edi
4353e1:	55                   	push   %ebp
4353e2:	8b ec                	mov    %esp,%ebp
4353e4:	51                   	push   %ecx
4353e5:	56                   	push   %esi
4353e6:	57                   	push   %edi
4353e7:	e8 dd 51 ff ff       	call   0x42a5c9
4353ec:	8b 75 08             	mov    0x8(%ebp),%esi
4353ef:	8b f8                	mov    %eax,%edi
4353f1:	6a 02                	push   $0x2
4353f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4353f6:	8b ce                	mov    %esi,%ecx
4353f8:	50                   	push   %eax
4353f9:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4353ff:	68 01 00 00 20       	push   $0x20000001
435404:	81 c9 00 04 00 00    	or     $0x400,%ecx
43540a:	51                   	push   %ecx
43540b:	ff 15 e0 e1 43 00    	call   *0x43e1e0
435411:	85 c0                	test   %eax,%eax
435413:	74 39                	je     0x43544e
435415:	3b 75 fc             	cmp    -0x4(%ebp),%esi
435418:	74 2f                	je     0x435449
43541a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43541e:	74 29                	je     0x435449
435420:	8b 77 50             	mov    0x50(%edi),%esi
435423:	8d 4e 02             	lea    0x2(%esi),%ecx
435426:	66 8b 06             	mov    (%esi),%ax
435429:	83 c6 02             	add    $0x2,%esi
43542c:	66 85 c0             	test   %ax,%ax
43542f:	75 f5                	jne    0x435426
435431:	ff 77 50             	push   0x50(%edi)
435434:	2b f1                	sub    %ecx,%esi
435436:	d1 fe                	sar    $1,%esi
435438:	e8 df fa ff ff       	call   0x434f1c
43543d:	59                   	pop    %ecx
43543e:	33 c9                	xor    %ecx,%ecx
435440:	3b c6                	cmp    %esi,%eax
435442:	0f 95 c1             	setne  %cl
435445:	8b c1                	mov    %ecx,%eax
435447:	eb 07                	jmp    0x435450
435449:	33 c0                	xor    %eax,%eax
43544b:	40                   	inc    %eax
43544c:	eb 02                	jmp    0x435450
43544e:	33 c0                	xor    %eax,%eax
435450:	5f                   	pop    %edi
435451:	5e                   	pop    %esi
435452:	c9                   	leave
435453:	c3                   	ret
435454:	8b ff                	mov    %edi,%edi
435456:	55                   	push   %ebp
435457:	8b ec                	mov    %esp,%ebp
435459:	51                   	push   %ecx
43545a:	53                   	push   %ebx
43545b:	56                   	push   %esi
43545c:	8b 75 0c             	mov    0xc(%ebp),%esi
43545f:	57                   	push   %edi
435460:	33 ff                	xor    %edi,%edi
435462:	85 f6                	test   %esi,%esi
435464:	78 34                	js     0x43549a
435466:	8d 04 37             	lea    (%edi,%esi,1),%eax
435469:	99                   	cltd
43546a:	2b c2                	sub    %edx,%eax
43546c:	8b d8                	mov    %eax,%ebx
43546e:	8b 45 08             	mov    0x8(%ebp),%eax
435471:	d1 fb                	sar    $1,%ebx
435473:	6b cb 0c             	imul   $0xc,%ebx,%ecx
435476:	89 4d fc             	mov    %ecx,-0x4(%ebp)
435479:	ff 34 01             	push   (%ecx,%eax,1)
43547c:	8b 45 10             	mov    0x10(%ebp),%eax
43547f:	ff 30                	push   (%eax)
435481:	e8 e7 0e ff ff       	call   0x42636d
435486:	59                   	pop    %ecx
435487:	59                   	pop    %ecx
435488:	85 c0                	test   %eax,%eax
43548a:	74 15                	je     0x4354a1
43548c:	79 05                	jns    0x435493
43548e:	8d 73 ff             	lea    -0x1(%ebx),%esi
435491:	eb 03                	jmp    0x435496
435493:	8d 7b 01             	lea    0x1(%ebx),%edi
435496:	3b fe                	cmp    %esi,%edi
435498:	7e cc                	jle    0x435466
43549a:	32 c0                	xor    %al,%al
43549c:	5f                   	pop    %edi
43549d:	5e                   	pop    %esi
43549e:	5b                   	pop    %ebx
43549f:	c9                   	leave
4354a0:	c3                   	ret
4354a1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4354a4:	8b 45 08             	mov    0x8(%ebp),%eax
4354a7:	83 c1 04             	add    $0x4,%ecx
4354aa:	03 c1                	add    %ecx,%eax
4354ac:	8b 4d 10             	mov    0x10(%ebp),%ecx
4354af:	89 01                	mov    %eax,(%ecx)
4354b1:	b0 01                	mov    $0x1,%al
4354b3:	eb e7                	jmp    0x43549c
4354b5:	8b ff                	mov    %edi,%edi
4354b7:	55                   	push   %ebp
4354b8:	8b ec                	mov    %esp,%ebp
4354ba:	83 ec 18             	sub    $0x18,%esp
4354bd:	a1 14 50 45 00       	mov    0x455014,%eax
4354c2:	33 c5                	xor    %ebp,%eax
4354c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4354c7:	8b 45 0c             	mov    0xc(%ebp),%eax
4354ca:	53                   	push   %ebx
4354cb:	8b 5d 10             	mov    0x10(%ebp),%ebx
4354ce:	56                   	push   %esi
4354cf:	8b 75 08             	mov    0x8(%ebp),%esi
4354d2:	57                   	push   %edi
4354d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4354d6:	e8 ee 50 ff ff       	call   0x42a5c9
4354db:	83 c0 50             	add    $0x50,%eax
4354de:	8d 7d f0             	lea    -0x10(%ebp),%edi
4354e1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4354e4:	33 c0                	xor    %eax,%eax
4354e6:	ab                   	stos   %eax,%es:(%edi)
4354e7:	ab                   	stos   %eax,%es:(%edi)
4354e8:	ab                   	stos   %eax,%es:(%edi)
4354e9:	e8 db 50 ff ff       	call   0x42a5c9
4354ee:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4354f1:	33 d2                	xor    %edx,%edx
4354f3:	89 88 4c 03 00 00    	mov    %ecx,0x34c(%eax)
4354f9:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
4354ff:	8b 45 ec             	mov    -0x14(%ebp),%eax
435502:	89 30                	mov    %esi,(%eax)
435504:	8d 78 04             	lea    0x4(%eax),%edi
435507:	89 0f                	mov    %ecx,(%edi)
435509:	85 c9                	test   %ecx,%ecx
43550b:	74 1f                	je     0x43552c
43550d:	66 39 11             	cmp    %dx,(%ecx)
435510:	74 1a                	je     0x43552c
435512:	a1 04 2f 44 00       	mov    0x442f04,%eax
435517:	57                   	push   %edi
435518:	48                   	dec    %eax
435519:	50                   	push   %eax
43551a:	68 f0 2d 44 00       	push   $0x442df0
43551f:	e8 30 ff ff ff       	call   0x435454
435524:	8b 45 ec             	mov    -0x14(%ebp),%eax
435527:	83 c4 0c             	add    $0xc,%esp
43552a:	33 d2                	xor    %edx,%edx
43552c:	89 55 f0             	mov    %edx,-0x10(%ebp)
43552f:	8b 00                	mov    (%eax),%eax
435531:	85 c0                	test   %eax,%eax
435533:	74 6a                	je     0x43559f
435535:	66 39 10             	cmp    %dx,(%eax)
435538:	74 65                	je     0x43559f
43553a:	8b 07                	mov    (%edi),%eax
43553c:	85 c0                	test   %eax,%eax
43553e:	74 10                	je     0x435550
435540:	66 39 10             	cmp    %dx,(%eax)
435543:	74 0b                	je     0x435550
435545:	8d 45 f0             	lea    -0x10(%ebp),%eax
435548:	50                   	push   %eax
435549:	e8 d4 f8 ff ff       	call   0x434e22
43554e:	eb 09                	jmp    0x435559
435550:	8d 45 f0             	lea    -0x10(%ebp),%eax
435553:	50                   	push   %eax
435554:	e8 64 f9 ff ff       	call   0x434ebd
435559:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
43555d:	59                   	pop    %ecx
43555e:	75 69                	jne    0x4355c9
435560:	a1 ec 2d 44 00       	mov    0x442dec,%eax
435565:	ff 75 ec             	push   -0x14(%ebp)
435568:	48                   	dec    %eax
435569:	50                   	push   %eax
43556a:	68 e0 2a 44 00       	push   $0x442ae0
43556f:	e8 e0 fe ff ff       	call   0x435454
435574:	83 c4 0c             	add    $0xc,%esp
435577:	84 c0                	test   %al,%al
435579:	74 4e                	je     0x4355c9
43557b:	8b 07                	mov    (%edi),%eax
43557d:	33 ff                	xor    %edi,%edi
43557f:	85 c0                	test   %eax,%eax
435581:	74 11                	je     0x435594
435583:	66 39 38             	cmp    %di,(%eax)
435586:	74 0c                	je     0x435594
435588:	8d 45 f0             	lea    -0x10(%ebp),%eax
43558b:	50                   	push   %eax
43558c:	e8 91 f8 ff ff       	call   0x434e22
435591:	59                   	pop    %ecx
435592:	eb 37                	jmp    0x4355cb
435594:	8d 45 f0             	lea    -0x10(%ebp),%eax
435597:	50                   	push   %eax
435598:	e8 20 f9 ff ff       	call   0x434ebd
43559d:	eb f2                	jmp    0x435591
43559f:	8b 07                	mov    (%edi),%eax
4355a1:	85 c0                	test   %eax,%eax
4355a3:	74 11                	je     0x4355b6
4355a5:	66 39 10             	cmp    %dx,(%eax)
4355a8:	74 0c                	je     0x4355b6
4355aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
4355ad:	50                   	push   %eax
4355ae:	e8 24 f8 ff ff       	call   0x434dd7
4355b3:	59                   	pop    %ecx
4355b4:	eb 13                	jmp    0x4355c9
4355b6:	c7 45 f0 04 01 00 00 	movl   $0x104,-0x10(%ebp)
4355bd:	ff 15 e8 e1 43 00    	call   *0x43e1e8
4355c3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4355c6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4355c9:	33 ff                	xor    %edi,%edi
4355cb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4355cf:	0f 84 bf 00 00 00    	je     0x435694
4355d5:	8d 45 f0             	lea    -0x10(%ebp),%eax
4355d8:	50                   	push   %eax
4355d9:	8d 86 00 01 00 00    	lea    0x100(%esi),%eax
4355df:	f7 de                	neg    %esi
4355e1:	1b f6                	sbb    %esi,%esi
4355e3:	23 f0                	and    %eax,%esi
4355e5:	56                   	push   %esi
4355e6:	e8 ee fc ff ff       	call   0x4352d9
4355eb:	8b f0                	mov    %eax,%esi
4355ed:	59                   	pop    %ecx
4355ee:	59                   	pop    %ecx
4355ef:	85 f6                	test   %esi,%esi
4355f1:	0f 84 9d 00 00 00    	je     0x435694
4355f7:	0f b7 ce             	movzwl %si,%ecx
4355fa:	51                   	push   %ecx
4355fb:	ff 15 90 e0 43 00    	call   *0x43e090
435601:	85 c0                	test   %eax,%eax
435603:	0f 84 8b 00 00 00    	je     0x435694
435609:	6a 01                	push   $0x1
43560b:	ff 75 f4             	push   -0xc(%ebp)
43560e:	ff 15 e4 e1 43 00    	call   *0x43e1e4
435614:	85 c0                	test   %eax,%eax
435616:	74 7c                	je     0x435694
435618:	8b 45 e8             	mov    -0x18(%ebp),%eax
43561b:	85 c0                	test   %eax,%eax
43561d:	74 02                	je     0x435621
43561f:	89 30                	mov    %esi,(%eax)
435621:	8b 45 ec             	mov    -0x14(%ebp),%eax
435624:	57                   	push   %edi
435625:	6a 55                	push   $0x55
435627:	05 50 02 00 00       	add    $0x250,%eax
43562c:	50                   	push   %eax
43562d:	ff 75 f4             	push   -0xc(%ebp)
435630:	e8 5d 82 ff ff       	call   0x42d892
435635:	85 db                	test   %ebx,%ebx
435637:	74 56                	je     0x43568f
435639:	57                   	push   %edi
43563a:	6a 55                	push   $0x55
43563c:	8d 83 20 01 00 00    	lea    0x120(%ebx),%eax
435642:	50                   	push   %eax
435643:	ff 75 f4             	push   -0xc(%ebp)
435646:	e8 47 82 ff ff       	call   0x42d892
43564b:	6a 40                	push   $0x40
43564d:	53                   	push   %ebx
43564e:	68 01 10 00 00       	push   $0x1001
435653:	ff 75 f4             	push   -0xc(%ebp)
435656:	ff 15 e0 e1 43 00    	call   *0x43e1e0
43565c:	85 c0                	test   %eax,%eax
43565e:	74 34                	je     0x435694
435660:	6a 40                	push   $0x40
435662:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
435668:	50                   	push   %eax
435669:	68 02 10 00 00       	push   $0x1002
43566e:	ff 75 f8             	push   -0x8(%ebp)
435671:	ff 15 e0 e1 43 00    	call   *0x43e1e0
435677:	85 c0                	test   %eax,%eax
435679:	74 19                	je     0x435694
43567b:	6a 0a                	push   $0xa
43567d:	6a 10                	push   $0x10
43567f:	8d 8b 00 01 00 00    	lea    0x100(%ebx),%ecx
435685:	51                   	push   %ecx
435686:	56                   	push   %esi
435687:	e8 90 0a ff ff       	call   0x42611c
43568c:	83 c4 10             	add    $0x10,%esp
43568f:	33 c0                	xor    %eax,%eax
435691:	40                   	inc    %eax
435692:	eb 02                	jmp    0x435696
435694:	33 c0                	xor    %eax,%eax
435696:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435699:	5f                   	pop    %edi