4443fe:	ff 76 04             	push   0x4(%esi)
444401:	05 81 00 00 00       	add    $0x81,%eax
444406:	57                   	push   %edi
444407:	50                   	push   %eax
444408:	8b 45 dc             	mov    -0x24(%ebp),%eax
44440b:	57                   	push   %edi
44440c:	40                   	inc    %eax
44440d:	50                   	push   %eax
44440e:	68 00 02 00 00       	push   $0x200
444413:	ff 76 14             	push   0x14(%esi)
444416:	53                   	push   %ebx
444417:	e8 b9 de ff ff       	call   0x4422d5
44441c:	83 c4 24             	add    $0x24,%esp
44441f:	85 c0                	test   %eax,%eax
444421:	0f 84 62 01 00 00    	je     0x444589
444427:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44442a:	8b 7d e0             	mov    -0x20(%ebp),%edi
44442d:	8d 88 fe 00 00 00    	lea    0xfe(%eax),%ecx
444433:	33 d2                	xor    %edx,%edx
444435:	83 7d d0 01          	cmpl   $0x1,-0x30(%ebp)
444439:	66 89 11             	mov    %dx,(%ecx)
44443c:	8b 55 d8             	mov    -0x28(%ebp),%edx
44443f:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
444442:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
444448:	88 5f 7f             	mov    %bl,0x7f(%edi)
44444b:	88 5a 7f             	mov    %bl,0x7f(%edx)
44444e:	88 19                	mov    %bl,(%ecx)
444450:	89 4d bc             	mov    %ecx,-0x44(%ebp)
444453:	8d 8a 80 00 00 00    	lea    0x80(%edx),%ecx
444459:	89 4d c8             	mov    %ecx,-0x38(%ebp)
44445c:	88 19                	mov    %bl,(%ecx)
44445e:	7e 55                	jle    0x4444b5
444460:	38 5d ee             	cmp    %bl,-0x12(%ebp)
444463:	74 50                	je     0x4444b5
444465:	8d 4d ef             	lea    -0x11(%ebp),%ecx
444468:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
44446b:	8a 11                	mov    (%ecx),%dl
44446d:	3a d3                	cmp    %bl,%dl
44446f:	74 44                	je     0x4444b5
444471:	0f b6 49 ff          	movzbl -0x1(%ecx),%ecx
444475:	0f b6 d2             	movzbl %dl,%edx
444478:	89 4d e0             	mov    %ecx,-0x20(%ebp)
44447b:	3b ca                	cmp    %edx,%ecx
44447d:	7f 28                	jg     0x4444a7
44447f:	8d 8c 48 00 01 00 00 	lea    0x100(%eax,%ecx,2),%ecx
444486:	eb 03                	jmp    0x44448b
444488:	8b 4d cc             	mov    -0x34(%ebp),%ecx
44448b:	ff 45 e0             	incl   -0x20(%ebp)
44448e:	ba 00 80 00 00       	mov    $0x8000,%edx
444493:	66 89 11             	mov    %dx,(%ecx)
444496:	83 c1 02             	add    $0x2,%ecx
444499:	89 4d cc             	mov    %ecx,-0x34(%ebp)
44449c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
44449f:	0f b6 09             	movzbl (%ecx),%ecx
4444a2:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
4444a5:	7e e1                	jle    0x444488
4444a7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4444aa:	83 c1 02             	add    $0x2,%ecx
4444ad:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4444b0:	38 59 ff             	cmp    %bl,-0x1(%ecx)
4444b3:	75 b6                	jne    0x44446b
4444b5:	68 fe 00 00 00       	push   $0xfe
4444ba:	8d 88 00 02 00 00    	lea    0x200(%eax),%ecx
4444c0:	51                   	push   %ecx
4444c1:	50                   	push   %eax
4444c2:	e8 49 e8 fe ff       	call   0x432d10
4444c7:	6a 7f                	push   $0x7f
4444c9:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
4444cf:	50                   	push   %eax
4444d0:	57                   	push   %edi
4444d1:	e8 3a e8 fe ff       	call   0x432d10
4444d6:	8b 45 d8             	mov    -0x28(%ebp),%eax
4444d9:	6a 7f                	push   $0x7f
4444db:	8d 88 00 01 00 00    	lea    0x100(%eax),%ecx
4444e1:	51                   	push   %ecx
4444e2:	50                   	push   %eax
4444e3:	e8 28 e8 fe ff       	call   0x432d10
4444e8:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
4444ee:	83 c4 24             	add    $0x24,%esp
4444f1:	3b c3                	cmp    %ebx,%eax
4444f3:	74 4b                	je     0x444540
4444f5:	50                   	push   %eax
4444f6:	ff 15 44 35 47 00    	call   *0x473544
4444fc:	85 c0                	test   %eax,%eax
4444fe:	75 40                	jne    0x444540
444500:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
444506:	2d fe 00 00 00       	sub    $0xfe,%eax
44450b:	50                   	push   %eax
44450c:	e8 8c c4 fe ff       	call   0x43099d
444511:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
444517:	bf 80 00 00 00       	mov    $0x80,%edi
44451c:	2b c7                	sub    %edi,%eax
44451e:	50                   	push   %eax
44451f:	e8 79 c4 fe ff       	call   0x43099d
444524:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
44452a:	2b c7                	sub    %edi,%eax
44452c:	50                   	push   %eax
44452d:	e8 6b c4 fe ff       	call   0x43099d
444532:	ff b6 c0 00 00 00    	push   0xc0(%esi)
444538:	e8 60 c4 fe ff       	call   0x43099d
44453d:	83 c4 10             	add    $0x10,%esp
444540:	8b 45 d4             	mov    -0x2c(%ebp),%eax
444543:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
444549:	89 86 c0 00 00 00    	mov    %eax,0xc0(%esi)
44454f:	8b 45 c0             	mov    -0x40(%ebp),%eax
444552:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
444558:	8b 45 c4             	mov    -0x3c(%ebp),%eax
44455b:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
444561:	8b 45 bc             	mov    -0x44(%ebp),%eax
444564:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
44456a:	8b 45 c8             	mov    -0x38(%ebp),%eax
44456d:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
444573:	8b 45 d0             	mov    -0x30(%ebp),%eax
444576:	89 86 ac 00 00 00    	mov    %eax,0xac(%esi)
44457c:	ff 75 dc             	push   -0x24(%ebp)
44457f:	e8 19 c4 fe ff       	call   0x43099d
444584:	59                   	pop    %ecx
444585:	8b c3                	mov    %ebx,%eax
444587:	eb 6f                	jmp    0x4445f8
444589:	ff 75 d4             	push   -0x2c(%ebp)
44458c:	e8 0c c4 fe ff       	call   0x43099d
444591:	ff 75 e4             	push   -0x1c(%ebp)
444594:	e8 04 c4 fe ff       	call   0x43099d
444599:	ff 75 e0             	push   -0x20(%ebp)
44459c:	e8 fc c3 fe ff       	call   0x43099d
4445a1:	ff 75 d8             	push   -0x28(%ebp)
4445a4:	e8 f4 c3 fe ff       	call   0x43099d
4445a9:	33 db                	xor    %ebx,%ebx
4445ab:	83 c4 10             	add    $0x10,%esp
4445ae:	43                   	inc    %ebx
4445af:	eb cb                	jmp    0x44457c
4445b1:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
4445b7:	3b c3                	cmp    %ebx,%eax
4445b9:	74 07                	je     0x4445c2
4445bb:	50                   	push   %eax
4445bc:	ff 15 44 35 47 00    	call   *0x473544
4445c2:	89 9e c0 00 00 00    	mov    %ebx,0xc0(%esi)
4445c8:	89 9e c4 00 00 00    	mov    %ebx,0xc4(%esi)
4445ce:	c7 86 c8 00 00 00 10 	movl   $0x469410,0xc8(%esi)
4445d5:	94 46 00
4445d8:	c7 86 cc 00 00 00 98 	movl   $0x469898,0xcc(%esi)
4445df:	98 46 00
4445e2:	c7 86 d0 00 00 00 18 	movl   $0x469a18,0xd0(%esi)
4445e9:	9a 46 00
4445ec:	c7 86 ac 00 00 00 01 	movl   $0x1,0xac(%esi)
4445f3:	00 00 00
4445f6:	33 c0                	xor    %eax,%eax
4445f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4445fb:	5f                   	pop    %edi
4445fc:	5e                   	pop    %esi
4445fd:	33 cd                	xor    %ebp,%ecx
4445ff:	5b                   	pop    %ebx
444600:	e8 8c a3 ff ff       	call   0x43e991
444605:	c9                   	leave
444606:	c3                   	ret
444607:	e8 1c 00 ff ff       	call   0x434628
44460c:	8b c8                	mov    %eax,%ecx
44460e:	8b 41 6c             	mov    0x6c(%ecx),%eax
444611:	3b 05 18 fe 46 00    	cmp    0x46fe18,%eax
444617:	74 10                	je     0x444629
444619:	8b 15 d0 fb 46 00    	mov    0x46fbd0,%edx
44461f:	85 51 70             	test   %edx,0x70(%ecx)
444622:	75 05                	jne    0x444629
444624:	e8 4e 4e ff ff       	call   0x439477
444629:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
44462f:	c3                   	ret
444630:	8b ff                	mov    %edi,%edi
444632:	55                   	push   %ebp
444633:	8b ec                	mov    %esp,%ebp
444635:	8b 45 08             	mov    0x8(%ebp),%eax
444638:	85 c0                	test   %eax,%eax
44463a:	75 06                	jne    0x444642
44463c:	5d                   	pop    %ebp
44463d:	e9 c5 ff ff ff       	jmp    0x444607
444642:	8b 00                	mov    (%eax),%eax
444644:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
44464a:	5d                   	pop    %ebp
44464b:	c3                   	ret
44464c:	e8 d7 ff fe ff       	call   0x434628
444651:	8b c8                	mov    %eax,%ecx
444653:	8b 41 6c             	mov    0x6c(%ecx),%eax
444656:	3b 05 18 fe 46 00    	cmp    0x46fe18,%eax
44465c:	74 10                	je     0x44466e
44465e:	8b 15 d0 fb 46 00    	mov    0x46fbd0,%edx
444664:	85 51 70             	test   %edx,0x70(%ecx)
444667:	75 05                	jne    0x44466e
444669:	e8 09 4e ff ff       	call   0x439477
44466e:	8b 40 04             	mov    0x4(%eax),%eax
444671:	c3                   	ret
444672:	e8 b1 ff fe ff       	call   0x434628
444677:	8b c8                	mov    %eax,%ecx
444679:	8b 41 6c             	mov    0x6c(%ecx),%eax
44467c:	3b 05 18 fe 46 00    	cmp    0x46fe18,%eax
444682:	74 10                	je     0x444694
444684:	8b 15 d0 fb 46 00    	mov    0x46fbd0,%edx
44468a:	85 51 70             	test   %edx,0x70(%ecx)
44468d:	75 05                	jne    0x444694
44468f:	e8 e3 4d ff ff       	call   0x439477
444694:	8b 40 08             	mov    0x8(%eax),%eax
444697:	c3                   	ret
444698:	e8 8b ff fe ff       	call   0x434628
44469d:	8b c8                	mov    %eax,%ecx
44469f:	8b 41 6c             	mov    0x6c(%ecx),%eax
4446a2:	3b 05 18 fe 46 00    	cmp    0x46fe18,%eax
4446a8:	74 10                	je     0x4446ba
4446aa:	8b 15 d0 fb 46 00    	mov    0x46fbd0,%edx
4446b0:	85 51 70             	test   %edx,0x70(%ecx)
4446b3:	75 05                	jne    0x4446ba
4446b5:	e8 bd 4d ff ff       	call   0x439477
4446ba:	83 c0 0c             	add    $0xc,%eax
4446bd:	c3                   	ret
4446be:	33 c0                	xor    %eax,%eax
4446c0:	c3                   	ret
4446c1:	8b ff                	mov    %edi,%edi
4446c3:	55                   	push   %ebp
4446c4:	8b ec                	mov    %esp,%ebp
4446c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4446c9:	56                   	push   %esi
4446ca:	57                   	push   %edi
4446cb:	85 c9                	test   %ecx,%ecx
4446cd:	74 07                	je     0x4446d6
4446cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4446d2:	85 ff                	test   %edi,%edi
4446d4:	75 13                	jne    0x4446e9
4446d6:	e8 cd 02 ff ff       	call   0x4349a8
4446db:	6a 16                	push   $0x16
4446dd:	5e                   	pop    %esi
4446de:	89 30                	mov    %esi,(%eax)
4446e0:	e8 89 fc fe ff       	call   0x43436e
4446e5:	8b c6                	mov    %esi,%eax
4446e7:	eb 41                	jmp    0x44472a
4446e9:	8b 55 10             	mov    0x10(%ebp),%edx
4446ec:	85 d2                	test   %edx,%edx
4446ee:	75 05                	jne    0x4446f5
4446f0:	c6 01 00             	movb   $0x0,(%ecx)
4446f3:	eb e1                	jmp    0x4446d6
4446f5:	8b f1                	mov    %ecx,%esi
4446f7:	80 3e 00             	cmpb   $0x0,(%esi)
4446fa:	74 04                	je     0x444700
4446fc:	46                   	inc    %esi
4446fd:	4f                   	dec    %edi
4446fe:	75 f7                	jne    0x4446f7
444700:	85 ff                	test   %edi,%edi
444702:	74 ec                	je     0x4446f0
444704:	2b f2                	sub    %edx,%esi
444706:	8a 02                	mov    (%edx),%al
444708:	88 04 16             	mov    %al,(%esi,%edx,1)
44470b:	42                   	inc    %edx
44470c:	84 c0                	test   %al,%al
44470e:	74 03                	je     0x444713
444710:	4f                   	dec    %edi
444711:	75 f3                	jne    0x444706
444713:	85 ff                	test   %edi,%edi
444715:	75 11                	jne    0x444728
444717:	c6 01 00             	movb   $0x0,(%ecx)
44471a:	e8 89 02 ff ff       	call   0x4349a8
44471f:	6a 22                	push   $0x22
444721:	59                   	pop    %ecx
444722:	89 08                	mov    %ecx,(%eax)
444724:	8b f1                	mov    %ecx,%esi
444726:	eb b8                	jmp    0x4446e0
444728:	33 c0                	xor    %eax,%eax
44472a:	5f                   	pop    %edi
44472b:	5e                   	pop    %esi
44472c:	5d                   	pop    %ebp
44472d:	c3                   	ret
44472e:	cc                   	int3
44472f:	cc                   	int3
444730:	8b 54 24 04          	mov    0x4(%esp),%edx
444734:	8b 4c 24 08          	mov    0x8(%esp),%ecx
444738:	f7 c2 03 00 00 00    	test   $0x3,%edx
44473e:	75 3c                	jne    0x44477c
444740:	8b 02                	mov    (%edx),%eax
444742:	3a 01                	cmp    (%ecx),%al
444744:	75 2e                	jne    0x444774
444746:	0a c0                	or     %al,%al
444748:	74 26                	je     0x444770
44474a:	3a 61 01             	cmp    0x1(%ecx),%ah
44474d:	75 25                	jne    0x444774
44474f:	0a e4                	or     %ah,%ah
444751:	74 1d                	je     0x444770
444753:	c1 e8 10             	shr    $0x10,%eax
444756:	3a 41 02             	cmp    0x2(%ecx),%al
444759:	75 19                	jne    0x444774
44475b:	0a c0                	or     %al,%al
44475d:	74 11                	je     0x444770
44475f:	3a 61 03             	cmp    0x3(%ecx),%ah
444762:	75 10                	jne    0x444774
444764:	83 c1 04             	add    $0x4,%ecx
444767:	83 c2 04             	add    $0x4,%edx
44476a:	0a e4                	or     %ah,%ah
44476c:	75 d2                	jne    0x444740
44476e:	8b ff                	mov    %edi,%edi
444770:	33 c0                	xor    %eax,%eax
444772:	c3                   	ret
444773:	90                   	nop
444774:	1b c0                	sbb    %eax,%eax
444776:	d1 e0                	shl    $1,%eax
444778:	83 c0 01             	add    $0x1,%eax
44477b:	c3                   	ret
44477c:	f7 c2 01 00 00 00    	test   $0x1,%edx
444782:	74 18                	je     0x44479c
444784:	8a 02                	mov    (%edx),%al
444786:	83 c2 01             	add    $0x1,%edx
444789:	3a 01                	cmp    (%ecx),%al
44478b:	75 e7                	jne    0x444774
44478d:	83 c1 01             	add    $0x1,%ecx
444790:	0a c0                	or     %al,%al
444792:	74 dc                	je     0x444770
444794:	f7 c2 02 00 00 00    	test   $0x2,%edx
44479a:	74 a4                	je     0x444740
44479c:	66 8b 02             	mov    (%edx),%ax
44479f:	83 c2 02             	add    $0x2,%edx
4447a2:	3a 01                	cmp    (%ecx),%al
4447a4:	75 ce                	jne    0x444774
4447a6:	0a c0                	or     %al,%al
4447a8:	74 c6                	je     0x444770
4447aa:	3a 61 01             	cmp    0x1(%ecx),%ah
4447ad:	75 c5                	jne    0x444774
4447af:	0a e4                	or     %ah,%ah
4447b1:	74 bd                	je     0x444770
4447b3:	83 c1 02             	add    $0x2,%ecx
4447b6:	eb 88                	jmp    0x444740
4447b8:	8b ff                	mov    %edi,%edi
4447ba:	55                   	push   %ebp
4447bb:	8b ec                	mov    %esp,%ebp
4447bd:	33 c0                	xor    %eax,%eax
4447bf:	53                   	push   %ebx
4447c0:	33 db                	xor    %ebx,%ebx
4447c2:	40                   	inc    %eax
4447c3:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4447c6:	7c 46                	jl     0x44480e
4447c8:	56                   	push   %esi
4447c9:	57                   	push   %edi
4447ca:	85 c0                	test   %eax,%eax
4447cc:	74 3e                	je     0x44480c
4447ce:	8b 45 0c             	mov    0xc(%ebp),%eax
4447d1:	03 c3                	add    %ebx,%eax
4447d3:	99                   	cltd
4447d4:	2b c2                	sub    %edx,%eax
4447d6:	8b f0                	mov    %eax,%esi
4447d8:	8b 45 08             	mov    0x8(%ebp),%eax
4447db:	d1 fe                	sar    $1,%esi
4447dd:	8d 3c f0             	lea    (%eax,%esi,8),%edi
4447e0:	ff 37                	push   (%edi)
4447e2:	8b 45 10             	mov    0x10(%ebp),%eax
4447e5:	ff 30                	push   (%eax)
4447e7:	e8 61 ec fe ff       	call   0x43344d
4447ec:	59                   	pop    %ecx
4447ed:	59                   	pop    %ecx