4343c5:	d1 f8                	sar    $1,%eax
4343c7:	79 03                	jns    0x4343cc
4343c9:	83 d0 00             	adc    $0x0,%eax
4343cc:	89 45 18             	mov    %eax,0x18(%ebp)
4343cf:	eb 62                	jmp    0x434433
4343d1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4343d4:	2b 45 d4             	sub    -0x2c(%ebp),%eax
4343d7:	40                   	inc    %eax
4343d8:	d1 f8                	sar    $1,%eax
4343da:	79 03                	jns    0x4343df
4343dc:	83 d0 00             	adc    $0x0,%eax
4343df:	89 45 18             	mov    %eax,0x18(%ebp)
4343e2:	eb 4f                	jmp    0x434433
4343e4:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4343e8:	75 49                	jne    0x434433
4343ea:	8b 45 18             	mov    0x18(%ebp),%eax
4343ed:	03 45 e4             	add    -0x1c(%ebp),%eax
4343f0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4343f3:	2b d0                	sub    %eax,%edx
4343f5:	8b 45 18             	mov    0x18(%ebp),%eax
4343f8:	03 45 e0             	add    -0x20(%ebp),%eax
4343fb:	50                   	push   %eax
4343fc:	8b 45 e8             	mov    -0x18(%ebp),%eax
4343ff:	59                   	pop    %ecx
434400:	2b c1                	sub    %ecx,%eax
434402:	8d 4d d0             	lea    -0x30(%ebp),%ecx
434405:	e8 e2 2c fe ff       	call   0x4170ec
43440a:	8a 45 1c             	mov    0x1c(%ebp),%al
43440d:	2c 02                	sub    $0x2,%al
43440f:	73 12                	jae    0x434423
434411:	8b 45 d0             	mov    -0x30(%ebp),%eax
434414:	2b 45 d8             	sub    -0x28(%ebp),%eax
434417:	d1 f8                	sar    $1,%eax
434419:	79 03                	jns    0x43441e
43441b:	83 d0 00             	adc    $0x0,%eax
43441e:	89 45 14             	mov    %eax,0x14(%ebp)
434421:	eb 10                	jmp    0x434433
434423:	8b 45 d4             	mov    -0x2c(%ebp),%eax
434426:	2b 45 dc             	sub    -0x24(%ebp),%eax
434429:	d1 f8                	sar    $1,%eax
43442b:	79 03                	jns    0x434430
43442d:	83 d0 00             	adc    $0x0,%eax
434430:	89 45 14             	mov    %eax,0x14(%ebp)
434433:	8a 45 1c             	mov    0x1c(%ebp),%al
434436:	2c 01                	sub    $0x1,%al
434438:	72 0c                	jb     0x434446
43443a:	74 1a                	je     0x434456
43443c:	fe c8                	dec    %al
43443e:	74 2c                	je     0x43446c
434440:	fe c8                	dec    %al
434442:	74 39                	je     0x43447d
434444:	eb 4c                	jmp    0x434492
434446:	8b 45 18             	mov    0x18(%ebp),%eax
434449:	89 06                	mov    %eax,(%esi)
43444b:	03 45 e0             	add    -0x20(%ebp),%eax
43444e:	03 45 14             	add    0x14(%ebp),%eax
434451:	89 45 f0             	mov    %eax,-0x10(%ebp)
434454:	eb 3c                	jmp    0x434492
434456:	8b 45 e8             	mov    -0x18(%ebp),%eax
434459:	2b 45 18             	sub    0x18(%ebp),%eax
43445c:	2b 45 e0             	sub    -0x20(%ebp),%eax
43445f:	89 06                	mov    %eax,(%esi)
434461:	2b 45 14             	sub    0x14(%ebp),%eax
434464:	2b 45 d8             	sub    -0x28(%ebp),%eax
434467:	89 45 f0             	mov    %eax,-0x10(%ebp)
43446a:	eb 26                	jmp    0x434492
43446c:	8b 45 18             	mov    0x18(%ebp),%eax
43446f:	89 46 04             	mov    %eax,0x4(%esi)
434472:	03 45 e4             	add    -0x1c(%ebp),%eax
434475:	03 45 14             	add    0x14(%ebp),%eax
434478:	89 45 f4             	mov    %eax,-0xc(%ebp)
43447b:	eb 15                	jmp    0x434492
43447d:	8b 45 ec             	mov    -0x14(%ebp),%eax
434480:	2b 45 18             	sub    0x18(%ebp),%eax
434483:	2b 45 e4             	sub    -0x1c(%ebp),%eax
434486:	89 46 04             	mov    %eax,0x4(%esi)
434489:	2b 45 14             	sub    0x14(%ebp),%eax
43448c:	2b 45 dc             	sub    -0x24(%ebp),%eax
43448f:	89 45 f4             	mov    %eax,-0xc(%ebp)
434492:	8b 03                	mov    (%ebx),%eax
434494:	8b 55 24             	mov    0x24(%ebp),%edx
434497:	03 02                	add    (%edx),%eax
434499:	01 06                	add    %eax,(%esi)
43449b:	8b 43 04             	mov    0x4(%ebx),%eax
43449e:	8b 55 24             	mov    0x24(%ebp),%edx
4344a1:	03 42 04             	add    0x4(%edx),%eax
4344a4:	01 46 04             	add    %eax,0x4(%esi)
4344a7:	e8 20 9b 00 00       	call   0x43dfcc
4344ac:	e8 fb 9b 00 00       	call   0x43e0ac
4344b1:	84 c0                	test   %al,%al
4344b3:	74 15                	je     0x4344ca
4344b5:	8b 43 04             	mov    0x4(%ebx),%eax
4344b8:	03 45 f4             	add    -0xc(%ebp),%eax
4344bb:	50                   	push   %eax
4344bc:	8b 03                	mov    (%ebx),%eax
4344be:	03 45 f0             	add    -0x10(%ebp),%eax
4344c1:	50                   	push   %eax
4344c2:	57                   	push   %edi
4344c3:	e8 7c 25 fd ff       	call   0x406a44
4344c8:	eb 1e                	jmp    0x4344e8
4344ca:	8b 43 04             	mov    0x4(%ebx),%eax
4344cd:	03 45 f4             	add    -0xc(%ebp),%eax
4344d0:	8b 55 24             	mov    0x24(%ebp),%edx
4344d3:	03 42 04             	add    0x4(%edx),%eax
4344d6:	50                   	push   %eax
4344d7:	8b 03                	mov    (%ebx),%eax
4344d9:	03 45 f0             	add    -0x10(%ebp),%eax
4344dc:	8b 55 24             	mov    0x24(%ebp),%edx
4344df:	03 02                	add    (%edx),%eax
4344e1:	50                   	push   %eax
4344e2:	57                   	push   %edi
4344e3:	e8 5c 25 fd ff       	call   0x406a44
4344e8:	5f                   	pop    %edi
4344e9:	5e                   	pop    %esi
4344ea:	5b                   	pop    %ebx
4344eb:	8b e5                	mov    %ebp,%esp
4344ed:	5d                   	pop    %ebp
4344ee:	c2 20 00             	ret    $0x20
4344f1:	8d 40 00             	lea    0x0(%eax),%eax
4344f4:	55                   	push   %ebp
4344f5:	8b ec                	mov    %esp,%ebp
4344f7:	83 c4 f4             	add    $0xfffffff4,%esp
4344fa:	53                   	push   %ebx
4344fb:	56                   	push   %esi
4344fc:	57                   	push   %edi
4344fd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
434500:	8b f2                	mov    %edx,%esi
434502:	8b d8                	mov    %eax,%ebx
434504:	8b 7d 24             	mov    0x24(%ebp),%edi
434507:	8b 45 28             	mov    0x28(%ebp),%eax
43450a:	50                   	push   %eax
43450b:	57                   	push   %edi
43450c:	8a 45 20             	mov    0x20(%ebp),%al
43450f:	50                   	push   %eax
434510:	8b 45 1c             	mov    0x1c(%ebp),%eax
434513:	50                   	push   %eax
434514:	8b 45 18             	mov    0x18(%ebp),%eax
434517:	50                   	push   %eax
434518:	8d 45 f4             	lea    -0xc(%ebp),%eax
43451b:	50                   	push   %eax
43451c:	8b 45 08             	mov    0x8(%ebp),%eax
43451f:	50                   	push   %eax
434520:	8b 45 0c             	mov    0xc(%ebp),%eax
434523:	50                   	push   %eax
434524:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434527:	8b d6                	mov    %esi,%edx
434529:	8b c3                	mov    %ebx,%eax
43452b:	e8 98 fc ff ff       	call   0x4341c8
434530:	8a 45 14             	mov    0x14(%ebp),%al
434533:	50                   	push   %eax
434534:	8a 45 10             	mov    0x10(%ebp),%al
434537:	50                   	push   %eax
434538:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43453b:	8b d6                	mov    %esi,%edx
43453d:	8b c3                	mov    %ebx,%eax
43453f:	e8 40 fa ff ff       	call   0x433f84
434544:	8b 45 08             	mov    0x8(%ebp),%eax
434547:	50                   	push   %eax
434548:	8a 45 14             	mov    0x14(%ebp),%al
43454b:	50                   	push   %eax
43454c:	8b 45 0c             	mov    0xc(%ebp),%eax
43454f:	50                   	push   %eax
434550:	8b cf                	mov    %edi,%ecx
434552:	8b d6                	mov    %esi,%edx
434554:	8b c3                	mov    %ebx,%eax
434556:	e8 8d fb ff ff       	call   0x4340e8
43455b:	5f                   	pop    %edi
43455c:	5e                   	pop    %esi
43455d:	5b                   	pop    %ebx
43455e:	8b e5                	mov    %ebp,%esp
434560:	5d                   	pop    %ebp
434561:	c2 24 00             	ret    $0x24
434564:	53                   	push   %ebx
434565:	56                   	push   %esi
434566:	8b f2                	mov    %edx,%esi
434568:	8b d8                	mov    %eax,%ebx
43456a:	8b d6                	mov    %esi,%edx
43456c:	8b c3                	mov    %ebx,%eax
43456e:	e8 e1 13 01 00       	call   0x445954
434573:	8b c6                	mov    %esi,%eax
434575:	8b 15 b4 2e 43 00    	mov    0x432eb4,%edx
43457b:	e8 f0 ee fc ff       	call   0x403470
434580:	89 43 20             	mov    %eax,0x20(%ebx)
434583:	5e                   	pop    %esi
434584:	5b                   	pop    %ebx
434585:	c3                   	ret
434586:	8b c0                	mov    %eax,%eax
434588:	53                   	push   %ebx
434589:	8b d8                	mov    %eax,%ebx
43458b:	8b c3                	mov    %ebx,%eax
43458d:	e8 96 e9 01 00       	call   0x452f28
434592:	84 c0                	test   %al,%al
434594:	74 34                	je     0x4345ca
434596:	8b 43 20             	mov    0x20(%ebx),%eax
434599:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
4345a0:	74 28                	je     0x4345ca
4345a2:	8b 43 20             	mov    0x20(%ebx),%eax
4345a5:	80 b8 72 01 00 00 00 	cmpb   $0x0,0x172(%eax)
4345ac:	74 1c                	je     0x4345ca
4345ae:	8b 43 10             	mov    0x10(%ebx),%eax
4345b1:	8b 15 d8 27 45 00    	mov    0x4527d8,%edx
4345b7:	e8 b4 ee fc ff       	call   0x403470
4345bc:	8a 40 69             	mov    0x69(%eax),%al
4345bf:	8b 53 20             	mov    0x20(%ebx),%edx
4345c2:	3a 82 70 01 00 00    	cmp    0x170(%edx),%al
4345c8:	74 04                	je     0x4345ce
4345ca:	33 c0                	xor    %eax,%eax
4345cc:	5b                   	pop    %ebx
4345cd:	c3                   	ret
4345ce:	b0 01                	mov    $0x1,%al
4345d0:	5b                   	pop    %ebx
4345d1:	c3                   	ret
4345d2:	8b c0                	mov    %eax,%eax
4345d4:	53                   	push   %ebx
4345d5:	56                   	push   %esi
4345d6:	8b d8                	mov    %eax,%ebx
4345d8:	8b 73 20             	mov    0x20(%ebx),%esi
4345db:	85 f6                	test   %esi,%esi
4345dd:	74 19                	je     0x4345f8
4345df:	8b 43 10             	mov    0x10(%ebx),%eax
4345e2:	8b 15 d8 27 45 00    	mov    0x4527d8,%edx
4345e8:	e8 83 ee fc ff       	call   0x403470
4345ed:	8b 40 6c             	mov    0x6c(%eax),%eax
4345f0:	3b 86 68 01 00 00    	cmp    0x168(%esi),%eax
4345f6:	74 05                	je     0x4345fd
4345f8:	33 c0                	xor    %eax,%eax
4345fa:	5e                   	pop    %esi
4345fb:	5b                   	pop    %ebx
4345fc:	c3                   	ret
4345fd:	b0 01                	mov    $0x1,%al
4345ff:	5e                   	pop    %esi
434600:	5b                   	pop    %ebx
434601:	c3                   	ret
434602:	8b c0                	mov    %eax,%eax
434604:	53                   	push   %ebx
434605:	56                   	push   %esi
434606:	8b da                	mov    %edx,%ebx
434608:	8b f0                	mov    %eax,%esi
43460a:	8b c6                	mov    %esi,%eax
43460c:	8b 10                	mov    (%eax),%edx
43460e:	ff 52 24             	call   *0x24(%edx)
434611:	84 c0                	test   %al,%al
434613:	74 0a                	je     0x43461f
434615:	8b d3                	mov    %ebx,%edx
434617:	8b 46 20             	mov    0x20(%esi),%eax
43461a:	e8 95 08 00 00       	call   0x434eb4
43461f:	5e                   	pop    %esi
434620:	5b                   	pop    %ebx
434621:	c3                   	ret
434622:	8b c0                	mov    %eax,%eax
434624:	53                   	push   %ebx
434625:	56                   	push   %esi
434626:	8b f2                	mov    %edx,%esi
434628:	8b d8                	mov    %eax,%ebx
43462a:	8b c3                	mov    %ebx,%eax
43462c:	8b 10                	mov    (%eax),%edx
43462e:	ff 52 2c             	call   *0x2c(%edx)
434631:	84 c0                	test   %al,%al
434633:	74 0a                	je     0x43463f
434635:	8b d6                	mov    %esi,%edx
434637:	8b 43 20             	mov    0x20(%ebx),%eax
43463a:	e8 01 09 00 00       	call   0x434f40
43463f:	5e                   	pop    %esi
434640:	5b                   	pop    %ebx
434641:	c3                   	ret
434642:	8b c0                	mov    %eax,%eax
434644:	55                   	push   %ebp
434645:	8b ec                	mov    %esp,%ebp
434647:	51                   	push   %ecx
434648:	53                   	push   %ebx
434649:	56                   	push   %esi
43464a:	84 d2                	test   %dl,%dl
43464c:	74 08                	je     0x434656
43464e:	83 c4 f0             	add    $0xfffffff0,%esp
434651:	e8 ce ef fc ff       	call   0x403624
434656:	8b f1                	mov    %ecx,%esi
434658:	88 55 ff             	mov    %dl,-0x1(%ebp)
43465b:	8b d8                	mov    %eax,%ebx
43465d:	b2 01                	mov    $0x1,%dl
43465f:	a1 1c 35 43 00       	mov    0x43351c,%eax
434664:	e8 3f f1 ff ff       	call   0x4337a8
434669:	89 83 6c 01 00 00    	mov    %eax,0x16c(%ebx)
43466f:	8b 83 6c 01 00 00    	mov    0x16c(%ebx),%eax
434675:	89 58 2c             	mov    %ebx,0x2c(%eax)
434678:	c7 40 28 74 4e 43 00 	movl   $0x434e74,0x28(%eax)
43467f:	8b ce                	mov    %esi,%ecx
434681:	33 d2                	xor    %edx,%edx
434683:	8b c3                	mov    %ebx,%eax
434685:	e8 9a 9f 01 00       	call   0x44e624
43468a:	6a 17                	push   $0x17
43468c:	6a 16                	push   $0x16
43468e:	33 c9                	xor    %ecx,%ecx
434690:	33 d2                	xor    %edx,%edx
434692:	8b c3                	mov    %ebx,%eax
434694:	8b 30                	mov    (%eax),%esi
434696:	ff 96 84 00 00 00    	call   *0x84(%esi)
43469c:	a1 00 47 43 00       	mov    0x434700,%eax
4346a1:	89 43 50             	mov    %eax,0x50(%ebx)
4346a4:	b2 01                	mov    $0x1,%dl
4346a6:	8b c3                	mov    %ebx,%eax
4346a8:	e8 7f 26 01 00       	call   0x446d2c
4346ad:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
4346b2:	8b c3                	mov    %ebx,%eax
4346b4:	e8 e7 26 01 00       	call   0x446da0
4346b9:	c7 83 74 01 00 00 04 	movl   $0x4,0x174(%ebx)
4346c0:	00 00 00
4346c3:	c7 83 7c 01 00 00 ff 	movl   $0xffffffff,0x17c(%ebx)
4346ca:	ff ff ff
4346cd:	c6 83 73 01 00 00 00 	movb   $0x0,0x173(%ebx)
4346d4:	c6 83 78 01 00 00 01 	movb   $0x1,0x178(%ebx)
4346db:	ff 05 5c 9a 46 00    	incl   0x469a5c
4346e1:	8b c3                	mov    %ebx,%eax
4346e3:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4346e7:	74 0f                	je     0x4346f8
4346e9:	e8 8e ef fc ff       	call   0x40367c
4346ee:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4346f5:	83 c4 0c             	add    $0xc,%esp
4346f8:	8b c3                	mov    %ebx,%eax
4346fa:	5e                   	pop    %esi
4346fb:	5b                   	pop    %ebx
4346fc:	59                   	pop    %ecx
4346fd:	5d                   	pop    %ebp
4346fe:	c3                   	ret
4346ff:	00 82 00 00 00 53    	add    %al,0x53000000(%edx)
434705:	56                   	push   %esi
434706:	e8 81 ef fc ff       	call   0x40368c
43470b:	8b da                	mov    %edx,%ebx
43470d:	8b f0                	mov    %eax,%esi
43470f:	ff 0d 5c 9a 46 00    	decl   0x469a5c
434715:	8b d3                	mov    %ebx,%edx
434717:	80 e2 fc             	and    $0xfc,%dl
43471a:	8b c6                	mov    %esi,%eax
43471c:	e8 5f 9f 01 00       	call   0x44e680
434721:	8b 86 6c 01 00 00    	mov    0x16c(%esi),%eax
434727:	e8 94 eb fc ff       	call   0x4032c0
43472c:	84 db                	test   %bl,%bl
43472e:	7e 07                	jle    0x434737
434730:	8b c6                	mov    %esi,%eax
434732:	e8 3d ef fc ff       	call   0x403674
434737:	5e                   	pop    %esi
434738:	5b                   	pop    %ebx
434739:	c3                   	ret
43473a:	8b c0                	mov    %eax,%eax
43473c:	55                   	push   %ebp
43473d:	8b ec                	mov    %esp,%ebp
43473f:	83 c4 c0             	add    $0xffffffc0,%esp
434742:	53                   	push   %ebx
434743:	56                   	push   %esi
434744:	57                   	push   %edi
434745:	33 d2                	xor    %edx,%edx