44426d:	8b 38                	mov    (%eax),%edi
44426f:	ff 17                	call   *(%edi)
444271:	8d 55 e0             	lea    -0x20(%ebp),%edx
444274:	8b c6                	mov    %esi,%eax
444276:	e8 61 55 ff ff       	call   0x4397dc
44427b:	8b cb                	mov    %ebx,%ecx
44427d:	b2 01                	mov    $0x1,%dl
44427f:	a1 74 65 43 00       	mov    0x436574,%eax
444284:	e8 5f f5 ff ff       	call   0x4437e8
444289:	8b 53 64             	mov    0x64(%ebx),%edx
44428c:	89 42 08             	mov    %eax,0x8(%edx)
44428f:	89 50 14             	mov    %edx,0x14(%eax)
444292:	89 70 04             	mov    %esi,0x4(%eax)
444295:	e9 27 01 00 00       	jmp    0x4443c1
44429a:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
44429e:	84 c0                	test   %al,%al
4442a0:	74 04                	je     0x4442a6
4442a2:	2c 05                	sub    $0x5,%al
4442a4:	75 04                	jne    0x4442aa
4442a6:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
4442aa:	8b d6                	mov    %esi,%edx
4442ac:	8b c3                	mov    %ebx,%eax
4442ae:	e8 05 fe ff ff       	call   0x4440b8
4442b3:	85 c0                	test   %eax,%eax
4442b5:	74 09                	je     0x4442c0
4442b7:	8b d0                	mov    %eax,%edx
4442b9:	8b c3                	mov    %ebx,%eax
4442bb:	e8 4c 10 00 00       	call   0x44530c
4442c0:	8b 55 08             	mov    0x8(%ebp),%edx
4442c3:	8b c3                	mov    %ebx,%eax
4442c5:	e8 ee fd ff ff       	call   0x4440b8
4442ca:	89 45 f8             	mov    %eax,-0x8(%ebp)
4442cd:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
4442d1:	0f b6 80 6c 15 46 00 	movzbl 0x46156c(%eax),%eax
4442d8:	88 45 f7             	mov    %al,-0x9(%ebp)
4442db:	8b 43 64             	mov    0x64(%ebx),%eax
4442de:	e8 29 f5 ff ff       	call   0x44380c
4442e3:	48                   	dec    %eax
4442e4:	75 6c                	jne    0x444352
4442e6:	8b 7b 64             	mov    0x64(%ebx),%edi
4442e9:	0f b6 45 f7          	movzbl -0x9(%ebp),%eax
4442ed:	88 47 10             	mov    %al,0x10(%edi)
4442f0:	0f b6 45 f7          	movzbl -0x9(%ebp),%eax
4442f4:	fe c8                	dec    %al
4442f6:	74 06                	je     0x4442fe
4442f8:	fe c8                	dec    %al
4442fa:	74 2d                	je     0x444329
4442fc:	eb 54                	jmp    0x444352
4442fe:	8b 47 08             	mov    0x8(%edi),%eax
444301:	ba 02 00 00 00       	mov    $0x2,%edx
444306:	e8 85 f6 ff ff       	call   0x443990
44430b:	8b d0                	mov    %eax,%edx
44430d:	8b c7                	mov    %edi,%eax
44430f:	e8 78 fa ff ff       	call   0x443d8c
444314:	8b 43 64             	mov    0x64(%ebx),%eax
444317:	8b 40 08             	mov    0x8(%eax),%eax
44431a:	ba 01 00 00 00       	mov    $0x1,%edx
44431f:	e8 6c f6 ff ff       	call   0x443990
444324:	89 43 68             	mov    %eax,0x68(%ebx)
444327:	eb 29                	jmp    0x444352
444329:	8b 47 08             	mov    0x8(%edi),%eax
44432c:	ba 01 00 00 00       	mov    $0x1,%edx
444331:	e8 5a f6 ff ff       	call   0x443990
444336:	8b d0                	mov    %eax,%edx
444338:	8b c7                	mov    %edi,%eax
44433a:	e8 4d fa ff ff       	call   0x443d8c
44433f:	8b 43 64             	mov    0x64(%ebx),%eax
444342:	8b 40 08             	mov    0x8(%eax),%eax
444345:	ba 02 00 00 00       	mov    $0x2,%edx
44434a:	e8 41 f6 ff ff       	call   0x443990
44434f:	89 43 68             	mov    %eax,0x68(%ebx)
444352:	8b cb                	mov    %ebx,%ecx
444354:	b2 01                	mov    $0x1,%dl
444356:	a1 74 65 43 00       	mov    0x436574,%eax
44435b:	e8 88 f4 ff ff       	call   0x4437e8
444360:	89 70 04             	mov    %esi,0x4(%eax)
444363:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
444367:	74 0c                	je     0x444375
444369:	8b 55 f8             	mov    -0x8(%ebp),%edx
44436c:	8b 52 14             	mov    0x14(%edx),%edx
44436f:	0f b6 52 10          	movzbl 0x10(%edx),%edx
444373:	eb 07                	jmp    0x44437c
444375:	8b 53 64             	mov    0x64(%ebx),%edx
444378:	0f b6 52 10          	movzbl 0x10(%edx),%edx
44437c:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
444380:	75 03                	jne    0x444385
444382:	88 55 f7             	mov    %dl,-0x9(%ebp)
444385:	3a 55 f7             	cmp    -0x9(%ebp),%dl
444388:	75 1a                	jne    0x4443a4
44438a:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
44438e:	0f b6 92 74 15 46 00 	movzbl 0x461574(%edx),%edx
444395:	52                   	push   %edx
444396:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444399:	8b d0                	mov    %eax,%edx
44439b:	8b c3                	mov    %ebx,%eax
44439d:	e8 de 01 00 00       	call   0x444580
4443a2:	eb 1d                	jmp    0x4443c1
4443a4:	0f b6 55 f7          	movzbl -0x9(%ebp),%edx
4443a8:	52                   	push   %edx
4443a9:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
4443ad:	0f b6 92 74 15 46 00 	movzbl 0x461574(%edx),%edx
4443b4:	52                   	push   %edx
4443b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4443b8:	8b d0                	mov    %eax,%edx
4443ba:	8b c3                	mov    %ebx,%eax
4443bc:	e8 17 00 00 00       	call   0x4443d8
4443c1:	8b 43 14             	mov    0x14(%ebx),%eax
4443c4:	8b 10                	mov    (%eax),%edx
4443c6:	ff 92 80 00 00 00    	call   *0x80(%edx)
4443cc:	5f                   	pop    %edi
4443cd:	5e                   	pop    %esi
4443ce:	5b                   	pop    %ebx
4443cf:	8b e5                	mov    %ebp,%esp
4443d1:	5d                   	pop    %ebp
4443d2:	c2 04 00             	ret    $0x4
4443d5:	8d 40 00             	lea    0x0(%eax),%eax
4443d8:	55                   	push   %ebp
4443d9:	8b ec                	mov    %esp,%ebp
4443db:	51                   	push   %ecx
4443dc:	53                   	push   %ebx
4443dd:	56                   	push   %esi
4443de:	57                   	push   %edi
4443df:	8b f9                	mov    %ecx,%edi
4443e1:	89 55 fc             	mov    %edx,-0x4(%ebp)
4443e4:	8b f0                	mov    %eax,%esi
4443e6:	8b ce                	mov    %esi,%ecx
4443e8:	b2 01                	mov    $0x1,%dl
4443ea:	a1 74 65 43 00       	mov    0x436574,%eax
4443ef:	e8 f4 f3 ff ff       	call   0x4437e8
4443f4:	8b d8                	mov    %eax,%ebx
4443f6:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
4443fa:	88 43 10             	mov    %al,0x10(%ebx)
4443fd:	85 ff                	test   %edi,%edi
4443ff:	0f 85 de 00 00 00    	jne    0x4444e3
444405:	8b 56 68             	mov    0x68(%esi),%edx
444408:	8b c3                	mov    %ebx,%eax
44440a:	e8 7d f9 ff ff       	call   0x443d8c
44440f:	8b 46 64             	mov    0x64(%esi),%eax
444412:	e8 4d f9 ff ff       	call   0x443d64
444417:	89 46 68             	mov    %eax,0x68(%esi)
44441a:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
44441e:	88 46 48             	mov    %al,0x48(%esi)
444421:	33 c0                	xor    %eax,%eax
444423:	89 46 40             	mov    %eax,0x40(%esi)
444426:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
44442d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
444431:	74 33                	je     0x444466
444433:	8b 46 64             	mov    0x64(%esi),%eax
444436:	89 43 08             	mov    %eax,0x8(%ebx)
444439:	8b 46 64             	mov    0x64(%esi),%eax
44443c:	89 58 14             	mov    %ebx,0x14(%eax)
44443f:	8b 55 fc             	mov    -0x4(%ebp),%edx
444442:	89 50 0c             	mov    %edx,0xc(%eax)
444445:	8b 55 fc             	mov    -0x4(%ebp),%edx
444448:	89 42 18             	mov    %eax,0x18(%edx)
44444b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44444e:	89 58 14             	mov    %ebx,0x14(%eax)
444451:	89 5e 64             	mov    %ebx,0x64(%esi)
444454:	56                   	push   %esi
444455:	68 94 56 44 00       	push   $0x445694
44445a:	8b 53 08             	mov    0x8(%ebx),%edx
44445d:	8b c6                	mov    %esi,%eax
44445f:	e8 bc fc ff ff       	call   0x444120
444464:	eb 6c                	jmp    0x4444d2
444466:	8b 45 fc             	mov    -0x4(%ebp),%eax
444469:	89 43 08             	mov    %eax,0x8(%ebx)
44446c:	8b 46 64             	mov    0x64(%esi),%eax
44446f:	89 58 14             	mov    %ebx,0x14(%eax)
444472:	8b 55 fc             	mov    -0x4(%ebp),%edx
444475:	89 50 18             	mov    %edx,0x18(%eax)
444478:	8b 55 fc             	mov    -0x4(%ebp),%edx
44447b:	89 42 0c             	mov    %eax,0xc(%edx)
44447e:	8b 45 fc             	mov    -0x4(%ebp),%eax
444481:	89 58 14             	mov    %ebx,0x14(%eax)
444484:	89 5e 64             	mov    %ebx,0x64(%esi)
444487:	56                   	push   %esi
444488:	68 94 56 44 00       	push   $0x445694
44448d:	8b 53 08             	mov    0x8(%ebx),%edx
444490:	8b c6                	mov    %esi,%eax
444492:	e8 89 fc ff ff       	call   0x444120
444497:	8b 46 64             	mov    0x64(%esi),%eax
44449a:	e8 c5 f8 ff ff       	call   0x443d64
44449f:	d1 f8                	sar    $1,%eax
4444a1:	79 03                	jns    0x4444a6
4444a3:	83 d0 00             	adc    $0x0,%eax
4444a6:	89 46 4c             	mov    %eax,0x4c(%esi)
4444a9:	56                   	push   %esi
4444aa:	68 e4 5a 44 00       	push   $0x445ae4
4444af:	8b 53 08             	mov    0x8(%ebx),%edx
4444b2:	8b c6                	mov    %esi,%eax
4444b4:	e8 67 fc ff ff       	call   0x444120
4444b9:	8b 46 64             	mov    0x64(%esi),%eax
4444bc:	e8 a3 f8 ff ff       	call   0x443d64
4444c1:	8b d0                	mov    %eax,%edx
4444c3:	d1 fa                	sar    $1,%edx
4444c5:	79 03                	jns    0x4444ca
4444c7:	83 d2 00             	adc    $0x0,%edx
4444ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4444cd:	e8 ba f8 ff ff       	call   0x443d8c
4444d2:	56                   	push   %esi
4444d3:	68 1c 5c 44 00       	push   $0x445c1c
4444d8:	33 d2                	xor    %edx,%edx
4444da:	8b c6                	mov    %esi,%eax
4444dc:	e8 3f fc ff ff       	call   0x444120
4444e1:	eb 77                	jmp    0x44455a
4444e3:	8b c7                	mov    %edi,%eax
4444e5:	e8 7a f8 ff ff       	call   0x443d64
4444ea:	8b d0                	mov    %eax,%edx
4444ec:	8b c3                	mov    %ebx,%eax
4444ee:	e8 99 f8 ff ff       	call   0x443d8c
4444f3:	8b 47 14             	mov    0x14(%edi),%eax
4444f6:	89 43 14             	mov    %eax,0x14(%ebx)
4444f9:	8b 47 18             	mov    0x18(%edi),%eax
4444fc:	89 43 18             	mov    %eax,0x18(%ebx)
4444ff:	85 c0                	test   %eax,%eax
444501:	74 03                	je     0x444506
444503:	89 58 0c             	mov    %ebx,0xc(%eax)
444506:	8b 47 0c             	mov    0xc(%edi),%eax
444509:	89 43 0c             	mov    %eax,0xc(%ebx)
44450c:	85 c0                	test   %eax,%eax
44450e:	74 03                	je     0x444513
444510:	89 58 18             	mov    %ebx,0x18(%eax)
444513:	8b 43 14             	mov    0x14(%ebx),%eax
444516:	3b 78 08             	cmp    0x8(%eax),%edi
444519:	75 03                	jne    0x44451e
44451b:	89 58 08             	mov    %ebx,0x8(%eax)
44451e:	8b 45 fc             	mov    -0x4(%ebp),%eax
444521:	89 58 14             	mov    %ebx,0x14(%eax)
444524:	89 5f 14             	mov    %ebx,0x14(%edi)
444527:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44452b:	74 16                	je     0x444543
44452d:	89 7b 08             	mov    %edi,0x8(%ebx)
444530:	33 c0                	xor    %eax,%eax
444532:	89 47 18             	mov    %eax,0x18(%edi)
444535:	8b 45 fc             	mov    -0x4(%ebp),%eax
444538:	89 47 0c             	mov    %eax,0xc(%edi)
44453b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44453e:	89 78 18             	mov    %edi,0x18(%eax)
444541:	eb 17                	jmp    0x44455a
444543:	8b 45 fc             	mov    -0x4(%ebp),%eax
444546:	89 43 08             	mov    %eax,0x8(%ebx)
444549:	8b 45 fc             	mov    -0x4(%ebp),%eax
44454c:	89 47 18             	mov    %eax,0x18(%edi)
44454f:	33 c0                	xor    %eax,%eax
444551:	89 47 0c             	mov    %eax,0xc(%edi)
444554:	8b 45 fc             	mov    -0x4(%ebp),%eax
444557:	89 78 0c             	mov    %edi,0xc(%eax)
44455a:	8b c3                	mov    %ebx,%eax
44455c:	e8 e7 f4 ff ff       	call   0x443a48
444561:	8b c3                	mov    %ebx,%eax
444563:	e8 78 f8 ff ff       	call   0x443de0
444568:	56                   	push   %esi
444569:	68 1c 5c 44 00       	push   $0x445c1c
44456e:	33 d2                	xor    %edx,%edx
444570:	8b c6                	mov    %esi,%eax
444572:	e8 a9 fb ff ff       	call   0x444120
444577:	5f                   	pop    %edi
444578:	5e                   	pop    %esi
444579:	5b                   	pop    %ebx
44457a:	59                   	pop    %ecx
44457b:	5d                   	pop    %ebp
44457c:	c2 08 00             	ret    $0x8
44457f:	90                   	nop
444580:	55                   	push   %ebp
444581:	8b ec                	mov    %esp,%ebp
444583:	53                   	push   %ebx
444584:	8b d9                	mov    %ecx,%ebx
444586:	8b 4d 08             	mov    0x8(%ebp),%ecx
444589:	85 db                	test   %ebx,%ebx
44458b:	75 15                	jne    0x4445a2
44458d:	8b 40 64             	mov    0x64(%eax),%eax
444590:	8b 58 08             	mov    0x8(%eax),%ebx
444593:	84 c9                	test   %cl,%cl
444595:	74 0b                	je     0x4445a2
444597:	eb 02                	jmp    0x44459b
444599:	8b d8                	mov    %eax,%ebx
44459b:	8b 43 0c             	mov    0xc(%ebx),%eax
44459e:	85 c0                	test   %eax,%eax
4445a0:	75 f7                	jne    0x444599
4445a2:	84 c9                	test   %cl,%cl
4445a4:	74 1b                	je     0x4445c1
4445a6:	8b 43 14             	mov    0x14(%ebx),%eax
4445a9:	89 42 14             	mov    %eax,0x14(%edx)
4445ac:	89 5a 18             	mov    %ebx,0x18(%edx)
4445af:	8b 43 0c             	mov    0xc(%ebx),%eax
4445b2:	89 42 0c             	mov    %eax,0xc(%edx)
4445b5:	85 c0                	test   %eax,%eax
4445b7:	74 03                	je     0x4445bc
4445b9:	89 50 18             	mov    %edx,0x18(%eax)
4445bc:	89 53 0c             	mov    %edx,0xc(%ebx)
4445bf:	eb 21                	jmp    0x4445e2
4445c1:	89 5a 0c             	mov    %ebx,0xc(%edx)
4445c4:	8b 43 18             	mov    0x18(%ebx),%eax
4445c7:	89 42 18             	mov    %eax,0x18(%edx)
4445ca:	85 c0                	test   %eax,%eax
4445cc:	74 03                	je     0x4445d1
4445ce:	89 50 0c             	mov    %edx,0xc(%eax)
4445d1:	89 53 18             	mov    %edx,0x18(%ebx)
4445d4:	8b 43 14             	mov    0x14(%ebx),%eax
4445d7:	89 42 14             	mov    %eax,0x14(%edx)
4445da:	3b 58 08             	cmp    0x8(%eax),%ebx
4445dd:	75 03                	jne    0x4445e2
4445df:	89 50 08             	mov    %edx,0x8(%eax)
4445e2:	8b 43 14             	mov    0x14(%ebx),%eax
4445e5:	e8 5e f4 ff ff       	call   0x443a48
4445ea:	8b 43 14             	mov    0x14(%ebx),%eax
4445ed:	e8 ee f7 ff ff       	call   0x443de0
4445f2:	5b                   	pop    %ebx
4445f3:	5d                   	pop    %ebp
4445f4:	c2 04 00             	ret    $0x4
4445f7:	90                   	nop
4445f8:	55                   	push   %ebp
4445f9:	8b ec                	mov    %esp,%ebp
4445fb:	83 c4 f4             	add    $0xfffffff4,%esp
4445fe:	53                   	push   %ebx
4445ff:	56                   	push   %esi
444600:	57                   	push   %edi
444601:	8b d9                	mov    %ecx,%ebx
444603:	8b f2                	mov    %edx,%esi
444605:	89 45 fc             	mov    %eax,-0x4(%ebp)
444608:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
44460c:	ba 01 00 00 00       	mov    $0x1,%edx
444611:	8b c6                	mov    %esi,%eax
444613:	e8 f4 f2 ff ff       	call   0x44390c
444618:	8b f8                	mov    %eax,%edi
44461a:	ba 02 00 00 00       	mov    $0x2,%edx
44461f:	8b c6                	mov    %esi,%eax
444621:	e8 e6 f2 ff ff       	call   0x44390c
444626:	89 45 f4             	mov    %eax,-0xc(%ebp)
444629:	8b 45 fc             	mov    -0x4(%ebp),%eax
44462c:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
444630:	74 66                	je     0x444698
444632:	3b 7b 04             	cmp    0x4(%ebx),%edi
444635:	0f 8f b3 00 00 00    	jg     0x4446ee
44463b:	8b 43 04             	mov    0x4(%ebx),%eax
44463e:	8b 55 fc             	mov    -0x4(%ebp),%edx
444641:	03 7a 18             	add    0x18(%edx),%edi
444644:	3b c7                	cmp    %edi,%eax
444646:	0f 8f a2 00 00 00    	jg     0x4446ee
44464c:	8b 03                	mov    (%ebx),%eax
44464e:	3b 45 f4             	cmp    -0xc(%ebp),%eax
444651:	0f 8c 97 00 00 00    	jl     0x4446ee
444657:	ba 02 00 00 00       	mov    $0x2,%edx
44465c:	8b c6                	mov    %esi,%eax
44465e:	e8 2d f3 ff ff       	call   0x443990
444663:	03 45 f4             	add    -0xc(%ebp),%eax
444666:	3b 03                	cmp    (%ebx),%eax
444668:	0f 8c 80 00 00 00    	jl     0x4446ee
44466e:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
444672:	8b 46 04             	mov    0x4(%esi),%eax