43b445:	55                   	push   %ebp
43b446:	8b ec                	mov    %esp,%ebp
43b448:	8b 45 08             	mov    0x8(%ebp),%eax
43b44b:	3b 41 10             	cmp    0x10(%ecx),%eax
43b44e:	77 08                	ja     0x43b458
43b450:	50                   	push   %eax
43b451:	e8 5c 56 ff ff       	call   0x430ab2
43b456:	eb 0c                	jmp    0x43b464
43b458:	ff 75 0c             	push   0xc(%ebp)
43b45b:	2b 41 10             	sub    0x10(%ecx),%eax
43b45e:	50                   	push   %eax
43b45f:	e8 26 b9 ff ff       	call   0x436d8a
43b464:	5d                   	pop    %ebp
43b465:	c2 08 00             	ret    $0x8
43b468:	57                   	push   %edi
43b469:	8b f9                	mov    %ecx,%edi
43b46b:	33 c9                	xor    %ecx,%ecx
43b46d:	8b 47 1c             	mov    0x1c(%edi),%eax
43b470:	39 08                	cmp    %ecx,(%eax)
43b472:	74 05                	je     0x43b479
43b474:	8b 47 2c             	mov    0x2c(%edi),%eax
43b477:	8b 08                	mov    (%eax),%ecx
43b479:	85 c9                	test   %ecx,%ecx
43b47b:	7e 14                	jle    0x43b491
43b47d:	8b 47 2c             	mov    0x2c(%edi),%eax
43b480:	ff 08                	decl   (%eax)
43b482:	8b 4f 1c             	mov    0x1c(%edi),%ecx
43b485:	5f                   	pop    %edi
43b486:	8b 11                	mov    (%ecx),%edx
43b488:	8d 42 02             	lea    0x2(%edx),%eax
43b48b:	89 01                	mov    %eax,(%ecx)
43b48d:	0f b7 02             	movzwl (%edx),%eax
43b490:	c3                   	ret
43b491:	8b 07                	mov    (%edi),%eax
43b493:	56                   	push   %esi
43b494:	8b 70 1c             	mov    0x1c(%eax),%esi
43b497:	8b ce                	mov    %esi,%ecx
43b499:	ff 15 54 43 49 00    	call   *0x494354
43b49f:	8b cf                	mov    %edi,%ecx
43b4a1:	ff d6                	call   *%esi
43b4a3:	5e                   	pop    %esi
43b4a4:	0f b7 c0             	movzwl %ax,%eax
43b4a7:	5f                   	pop    %edi
43b4a8:	c3                   	ret
43b4a9:	55                   	push   %ebp
43b4aa:	8b ec                	mov    %esp,%ebp
43b4ac:	8b 45 08             	mov    0x8(%ebp),%eax
43b4af:	5d                   	pop    %ebp
43b4b0:	c3                   	ret
43b4b1:	55                   	push   %ebp
43b4b2:	8b ec                	mov    %esp,%ebp
43b4b4:	8b 45 08             	mov    0x8(%ebp),%eax
43b4b7:	5d                   	pop    %ebp
43b4b8:	c3                   	ret
43b4b9:	57                   	push   %edi
43b4ba:	8b f9                	mov    %ecx,%edi
43b4bc:	8b 47 1c             	mov    0x1c(%edi),%eax
43b4bf:	8b 08                	mov    (%eax),%ecx
43b4c1:	85 c9                	test   %ecx,%ecx
43b4c3:	74 07                	je     0x43b4cc
43b4c5:	8b 47 2c             	mov    0x2c(%edi),%eax
43b4c8:	8b 00                	mov    (%eax),%eax
43b4ca:	eb 02                	jmp    0x43b4ce
43b4cc:	33 c0                	xor    %eax,%eax
43b4ce:	85 c0                	test   %eax,%eax
43b4d0:	7e 05                	jle    0x43b4d7
43b4d2:	0f b7 01             	movzwl (%ecx),%eax
43b4d5:	5f                   	pop    %edi
43b4d6:	c3                   	ret
43b4d7:	8b 07                	mov    (%edi),%eax
43b4d9:	56                   	push   %esi
43b4da:	8b 70 18             	mov    0x18(%eax),%esi
43b4dd:	8b ce                	mov    %esi,%ecx
43b4df:	ff 15 54 43 49 00    	call   *0x494354
43b4e5:	8b cf                	mov    %edi,%ecx
43b4e7:	ff d6                	call   *%esi
43b4e9:	5e                   	pop    %esi
43b4ea:	0f b7 c0             	movzwl %ax,%eax
43b4ed:	5f                   	pop    %edi
43b4ee:	c3                   	ret
43b4ef:	8b 41 10             	mov    0x10(%ecx),%eax
43b4f2:	c3                   	ret
43b4f3:	8b 41 10             	mov    0x10(%ecx),%eax
43b4f6:	c3                   	ret
43b4f7:	55                   	push   %ebp
43b4f8:	8b ec                	mov    %esp,%ebp
43b4fa:	57                   	push   %edi
43b4fb:	8b f9                	mov    %ecx,%edi
43b4fd:	33 c9                	xor    %ecx,%ecx
43b4ff:	8b 47 20             	mov    0x20(%edi),%eax
43b502:	39 08                	cmp    %ecx,(%eax)
43b504:	74 05                	je     0x43b50b
43b506:	8b 47 30             	mov    0x30(%edi),%eax
43b509:	8b 08                	mov    (%eax),%ecx
43b50b:	85 c9                	test   %ecx,%ecx
43b50d:	7e 17                	jle    0x43b526
43b50f:	8b 47 30             	mov    0x30(%edi),%eax
43b512:	ff 08                	decl   (%eax)
43b514:	8b 4f 20             	mov    0x20(%edi),%ecx
43b517:	8b 11                	mov    (%ecx),%edx
43b519:	8d 42 02             	lea    0x2(%edx),%eax
43b51c:	89 01                	mov    %eax,(%ecx)
43b51e:	8b 45 08             	mov    0x8(%ebp),%eax
43b521:	66 89 02             	mov    %ax,(%edx)
43b524:	eb 16                	jmp    0x43b53c
43b526:	8b 07                	mov    (%edi),%eax
43b528:	56                   	push   %esi
43b529:	ff 75 08             	push   0x8(%ebp)
43b52c:	8b 70 0c             	mov    0xc(%eax),%esi
43b52f:	8b ce                	mov    %esi,%ecx
43b531:	ff 15 54 43 49 00    	call   *0x494354
43b537:	8b cf                	mov    %edi,%ecx
43b539:	ff d6                	call   *%esi
43b53b:	5e                   	pop    %esi
43b53c:	0f b7 c0             	movzwl %ax,%eax
43b53f:	5f                   	pop    %edi
43b540:	5d                   	pop    %ebp
43b541:	c2 04 00             	ret    $0x4
43b544:	56                   	push   %esi
43b545:	57                   	push   %edi
43b546:	8b f9                	mov    %ecx,%edi
43b548:	8b 07                	mov    (%edi),%eax
43b54a:	8b 70 10             	mov    0x10(%eax),%esi
43b54d:	8b ce                	mov    %esi,%ecx
43b54f:	ff 15 54 43 49 00    	call   *0x494354
43b555:	8b cf                	mov    %edi,%ecx
43b557:	ff d6                	call   *%esi
43b559:	5f                   	pop    %edi
43b55a:	5e                   	pop    %esi
43b55b:	c3                   	ret
43b55c:	56                   	push   %esi
43b55d:	57                   	push   %edi
43b55e:	8b f9                	mov    %ecx,%edi
43b560:	8b 07                	mov    (%edi),%eax
43b562:	8b 70 10             	mov    0x10(%eax),%esi
43b565:	8b ce                	mov    %esi,%ecx
43b567:	ff 15 54 43 49 00    	call   *0x494354
43b56d:	8b cf                	mov    %edi,%ecx
43b56f:	ff d6                	call   *%esi
43b571:	5f                   	pop    %edi
43b572:	5e                   	pop    %esi
43b573:	c3                   	ret
43b574:	56                   	push   %esi
43b575:	57                   	push   %edi
43b576:	8b f9                	mov    %ecx,%edi
43b578:	8b 07                	mov    (%edi),%eax
43b57a:	8b 70 10             	mov    0x10(%eax),%esi
43b57d:	8b ce                	mov    %esi,%ecx
43b57f:	ff 15 54 43 49 00    	call   *0x494354
43b585:	8b cf                	mov    %edi,%ecx
43b587:	ff d6                	call   *%esi
43b589:	5f                   	pop    %edi
43b58a:	5e                   	pop    %esi
43b58b:	c3                   	ret
43b58c:	56                   	push   %esi
43b58d:	57                   	push   %edi
43b58e:	8b f9                	mov    %ecx,%edi
43b590:	8b 07                	mov    (%edi),%eax
43b592:	8b 70 10             	mov    0x10(%eax),%esi
43b595:	8b ce                	mov    %esi,%ecx
43b597:	ff 15 54 43 49 00    	call   *0x494354
43b59d:	8b cf                	mov    %edi,%ecx
43b59f:	ff d6                	call   *%esi
43b5a1:	5f                   	pop    %edi
43b5a2:	5e                   	pop    %esi
43b5a3:	c3                   	ret
43b5a4:	55                   	push   %ebp
43b5a5:	8b ec                	mov    %esp,%ebp
43b5a7:	8b 45 08             	mov    0x8(%ebp),%eax
43b5aa:	66 8b 00             	mov    (%eax),%ax
43b5ad:	5d                   	pop    %ebp
43b5ae:	c3                   	ret
43b5af:	55                   	push   %ebp
43b5b0:	8b ec                	mov    %esp,%ebp
43b5b2:	8b 45 08             	mov    0x8(%ebp),%eax
43b5b5:	66 8b 00             	mov    (%eax),%ax
43b5b8:	5d                   	pop    %ebp
43b5b9:	c3                   	ret
43b5ba:	55                   	push   %ebp
43b5bb:	8b ec                	mov    %esp,%ebp
43b5bd:	8b 45 08             	mov    0x8(%ebp),%eax
43b5c0:	66 8b 00             	mov    (%eax),%ax
43b5c3:	5d                   	pop    %ebp
43b5c4:	c3                   	ret
43b5c5:	55                   	push   %ebp
43b5c6:	8b ec                	mov    %esp,%ebp
43b5c8:	8b 45 08             	mov    0x8(%ebp),%eax
43b5cb:	66 8b 00             	mov    (%eax),%ax
43b5ce:	5d                   	pop    %ebp
43b5cf:	c3                   	ret
43b5d0:	55                   	push   %ebp
43b5d1:	8b ec                	mov    %esp,%ebp
43b5d3:	56                   	push   %esi
43b5d4:	57                   	push   %edi
43b5d5:	ff 75 08             	push   0x8(%ebp)
43b5d8:	8b f9                	mov    %ecx,%edi
43b5da:	8b 17                	mov    (%edi),%edx
43b5dc:	8b 72 1c             	mov    0x1c(%edx),%esi
43b5df:	8b ce                	mov    %esi,%ecx
43b5e1:	ff 15 54 43 49 00    	call   *0x494354
43b5e7:	8b cf                	mov    %edi,%ecx
43b5e9:	ff d6                	call   *%esi
43b5eb:	8b 45 08             	mov    0x8(%ebp),%eax
43b5ee:	5f                   	pop    %edi
43b5ef:	5e                   	pop    %esi
43b5f0:	5d                   	pop    %ebp
43b5f1:	c2 04 00             	ret    $0x4
43b5f4:	55                   	push   %ebp
43b5f5:	8b ec                	mov    %esp,%ebp
43b5f7:	56                   	push   %esi
43b5f8:	57                   	push   %edi
43b5f9:	ff 75 08             	push   0x8(%ebp)
43b5fc:	8b f9                	mov    %ecx,%edi
43b5fe:	8b 07                	mov    (%edi),%eax
43b600:	8b 70 30             	mov    0x30(%eax),%esi
43b603:	8b ce                	mov    %esi,%ecx
43b605:	ff 15 54 43 49 00    	call   *0x494354
43b60b:	8b cf                	mov    %edi,%ecx
43b60d:	ff d6                	call   *%esi
43b60f:	5f                   	pop    %edi
43b610:	5e                   	pop    %esi
43b611:	5d                   	pop    %ebp
43b612:	c2 04 00             	ret    $0x4
43b615:	55                   	push   %ebp
43b616:	8b ec                	mov    %esp,%ebp
43b618:	56                   	push   %esi
43b619:	57                   	push   %edi
43b61a:	ff 75 10             	push   0x10(%ebp)
43b61d:	8b f9                	mov    %ecx,%edi
43b61f:	ff 75 0c             	push   0xc(%ebp)
43b622:	ff 75 08             	push   0x8(%ebp)
43b625:	8b 07                	mov    (%edi),%eax
43b627:	8b 70 2c             	mov    0x2c(%eax),%esi
43b62a:	8b ce                	mov    %esi,%ecx
43b62c:	ff 15 54 43 49 00    	call   *0x494354
43b632:	8b cf                	mov    %edi,%ecx
43b634:	ff d6                	call   *%esi
43b636:	5f                   	pop    %edi
43b637:	5e                   	pop    %esi
43b638:	5d                   	pop    %ebp
43b639:	c2 0c 00             	ret    $0xc
43b63c:	55                   	push   %ebp
43b63d:	8b ec                	mov    %esp,%ebp
43b63f:	56                   	push   %esi
43b640:	57                   	push   %edi
43b641:	ff 75 10             	push   0x10(%ebp)
43b644:	8b f9                	mov    %ecx,%edi
43b646:	ff 75 0c             	push   0xc(%ebp)
43b649:	ff 75 08             	push   0x8(%ebp)
43b64c:	8b 07                	mov    (%edi),%eax
43b64e:	8b 70 2c             	mov    0x2c(%eax),%esi
43b651:	8b ce                	mov    %esi,%ecx
43b653:	ff 15 54 43 49 00    	call   *0x494354
43b659:	8b cf                	mov    %edi,%ecx
43b65b:	ff d6                	call   *%esi
43b65d:	5f                   	pop    %edi
43b65e:	5e                   	pop    %esi
43b65f:	5d                   	pop    %ebp
43b660:	c2 0c 00             	ret    $0xc
43b663:	55                   	push   %ebp
43b664:	8b ec                	mov    %esp,%ebp
43b666:	56                   	push   %esi
43b667:	57                   	push   %edi
43b668:	ff 75 08             	push   0x8(%ebp)
43b66b:	8b f9                	mov    %ecx,%edi
43b66d:	8b 07                	mov    (%edi),%eax
43b66f:	8b 70 30             	mov    0x30(%eax),%esi
43b672:	8b ce                	mov    %esi,%ecx
43b674:	ff 15 54 43 49 00    	call   *0x494354
43b67a:	8b cf                	mov    %edi,%ecx
43b67c:	ff d6                	call   *%esi
43b67e:	5f                   	pop    %edi
43b67f:	5e                   	pop    %esi
43b680:	5d                   	pop    %ebp
43b681:	c2 04 00             	ret    $0x4
43b684:	55                   	push   %ebp
43b685:	8b ec                	mov    %esp,%ebp
43b687:	8b 45 10             	mov    0x10(%ebp),%eax
43b68a:	03 c0                	add    %eax,%eax
43b68c:	50                   	push   %eax
43b68d:	ff 75 0c             	push   0xc(%ebp)
43b690:	ff 75 08             	push   0x8(%ebp)
43b693:	e8 c8 7c 00 00       	call   0x443360
43b698:	83 c4 0c             	add    $0xc,%esp
43b69b:	5d                   	pop    %ebp
43b69c:	c3                   	ret
43b69d:	55                   	push   %ebp
43b69e:	8b ec                	mov    %esp,%ebp
43b6a0:	8b 45 10             	mov    0x10(%ebp),%eax
43b6a3:	03 c0                	add    %eax,%eax
43b6a5:	50                   	push   %eax
43b6a6:	ff 75 0c             	push   0xc(%ebp)
43b6a9:	ff 75 08             	push   0x8(%ebp)
43b6ac:	e8 2f 82 00 00       	call   0x4438e0
43b6b1:	83 c4 0c             	add    $0xc,%esp
43b6b4:	5d                   	pop    %ebp
43b6b5:	c3                   	ret
43b6b6:	55                   	push   %ebp
43b6b7:	8b ec                	mov    %esp,%ebp
43b6b9:	8b 45 10             	mov    0x10(%ebp),%eax
43b6bc:	53                   	push   %ebx
43b6bd:	56                   	push   %esi
43b6be:	8b 75 0c             	mov    0xc(%ebp),%esi
43b6c1:	33 db                	xor    %ebx,%ebx
43b6c3:	2b c6                	sub    %esi,%eax
43b6c5:	39 75 10             	cmp    %esi,0x10(%ebp)
43b6c8:	57                   	push   %edi
43b6c9:	1b ff                	sbb    %edi,%edi
43b6cb:	f7 d7                	not    %edi
43b6cd:	23 f8                	and    %eax,%edi
43b6cf:	74 12                	je     0x43b6e3
43b6d1:	0f b6 06             	movzbl (%esi),%eax
43b6d4:	8d 4d 14             	lea    0x14(%ebp),%ecx
43b6d7:	50                   	push   %eax
43b6d8:	e8 26 d8 fe ff       	call   0x428f03
43b6dd:	46                   	inc    %esi
43b6de:	43                   	inc    %ebx
43b6df:	3b df                	cmp    %edi,%ebx
43b6e1:	75 ee                	jne    0x43b6d1
43b6e3:	8b 45 08             	mov    0x8(%ebp),%eax
43b6e6:	8b 4d 14             	mov    0x14(%ebp),%ecx
43b6e9:	5f                   	pop    %edi
43b6ea:	5e                   	pop    %esi
43b6eb:	89 08                	mov    %ecx,(%eax)
43b6ed:	8b 4d 18             	mov    0x18(%ebp),%ecx
43b6f0:	89 48 04             	mov    %ecx,0x4(%eax)
43b6f3:	5b                   	pop    %ebx
43b6f4:	5d                   	pop    %ebp
43b6f5:	c3                   	ret
43b6f6:	55                   	push   %ebp
43b6f7:	8b ec                	mov    %esp,%ebp
43b6f9:	51                   	push   %ecx
43b6fa:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
43b6fe:	ff 75 fc             	push   -0x4(%ebp)
43b701:	ff 75 18             	push   0x18(%ebp)
43b704:	ff 75 14             	push   0x14(%ebp)
43b707:	ff 75 10             	push   0x10(%ebp)
43b70a:	ff 75 0c             	push   0xc(%ebp)
43b70d:	ff 75 08             	push   0x8(%ebp)
43b710:	e8 a1 ff ff ff       	call   0x43b6b6
43b715:	8b 45 08             	mov    0x8(%ebp),%eax
43b718:	83 c4 18             	add    $0x18,%esp
43b71b:	c9                   	leave
43b71c:	c3                   	ret
43b71d:	55                   	push   %ebp
43b71e:	8b ec                	mov    %esp,%ebp
43b720:	51                   	push   %ecx
43b721:	56                   	push   %esi
43b722:	8b 75 08             	mov    0x8(%ebp),%esi
43b725:	8d 45 0c             	lea    0xc(%ebp),%eax