5fc442:	4b                   	dec    %ebx
5fc443:	75 f4                	jne    0x5fc439
5fc445:	ff 45 f4             	incl   -0xc(%ebp)
5fc448:	4f                   	dec    %edi
5fc449:	75 d1                	jne    0x5fc41c
5fc44b:	e9 2d 01 00 00       	jmp    0x5fc57d
5fc450:	8d 55 e9             	lea    -0x17(%ebp),%edx
5fc453:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fc456:	e8 25 cf fa ff       	call   0x5a9380
5fc45b:	8b fe                	mov    %esi,%edi
5fc45d:	2b fb                	sub    %ebx,%edi
5fc45f:	0f 8c 18 01 00 00    	jl     0x5fc57d
5fc465:	47                   	inc    %edi
5fc466:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5fc469:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fc46c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc46f:	8b 08                	mov    (%eax),%ecx
5fc471:	ff 11                	call   *(%ecx)
5fc473:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fc476:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fc479:	03 c2                	add    %edx,%eax
5fc47b:	8b 75 f8             	mov    -0x8(%ebp),%esi
5fc47e:	8b 5d 14             	mov    0x14(%ebp),%ebx
5fc481:	2b de                	sub    %esi,%ebx
5fc483:	7c 14                	jl     0x5fc499
5fc485:	43                   	inc    %ebx
5fc486:	66 8b 55 e9          	mov    -0x17(%ebp),%dx
5fc48a:	66 89 10             	mov    %dx,(%eax)
5fc48d:	8a 55 eb             	mov    -0x15(%ebp),%dl
5fc490:	88 50 02             	mov    %dl,0x2(%eax)
5fc493:	83 c0 03             	add    $0x3,%eax
5fc496:	4b                   	dec    %ebx
5fc497:	75 ed                	jne    0x5fc486
5fc499:	ff 45 f4             	incl   -0xc(%ebp)
5fc49c:	4f                   	dec    %edi
5fc49d:	75 ca                	jne    0x5fc469
5fc49f:	e9 d9 00 00 00       	jmp    0x5fc57d
5fc4a4:	8d 55 d8             	lea    -0x28(%ebp),%edx
5fc4a7:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fc4aa:	e8 d1 ce fa ff       	call   0x5a9380
5fc4af:	8a 45 da             	mov    -0x26(%ebp),%al
5fc4b2:	c1 e0 10             	shl    $0x10,%eax
5fc4b5:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
5fc4b9:	50                   	push   %eax
5fc4ba:	e8 39 8b fd ff       	call   0x5d4ff8
5fc4bf:	89 45 df             	mov    %eax,-0x21(%ebp)
5fc4c2:	8b fe                	mov    %esi,%edi
5fc4c4:	2b fb                	sub    %ebx,%edi
5fc4c6:	0f 8c b1 00 00 00    	jl     0x5fc57d
5fc4cc:	47                   	inc    %edi
5fc4cd:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5fc4d0:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fc4d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc4d6:	8b 08                	mov    (%eax),%ecx
5fc4d8:	ff 11                	call   *(%ecx)
5fc4da:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fc4dd:	c1 e2 02             	shl    $0x2,%edx
5fc4e0:	03 c2                	add    %edx,%eax
5fc4e2:	8b 75 f8             	mov    -0x8(%ebp),%esi
5fc4e5:	8b 5d 14             	mov    0x14(%ebp),%ebx
5fc4e8:	2b de                	sub    %esi,%ebx
5fc4ea:	7c 0c                	jl     0x5fc4f8
5fc4ec:	43                   	inc    %ebx
5fc4ed:	8b 55 df             	mov    -0x21(%ebp),%edx
5fc4f0:	89 10                	mov    %edx,(%eax)
5fc4f2:	83 c0 04             	add    $0x4,%eax
5fc4f5:	4b                   	dec    %ebx
5fc4f6:	75 f5                	jne    0x5fc4ed
5fc4f8:	ff 45 f4             	incl   -0xc(%ebp)
5fc4fb:	4f                   	dec    %edi
5fc4fc:	75 d2                	jne    0x5fc4d0
5fc4fe:	eb 7d                	jmp    0x5fc57d
5fc500:	8d 55 e9             	lea    -0x17(%ebp),%edx
5fc503:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fc506:	e8 75 ce fa ff       	call   0x5a9380
5fc50b:	33 c0                	xor    %eax,%eax
5fc50d:	8a 45 eb             	mov    -0x15(%ebp),%al
5fc510:	8b d0                	mov    %eax,%edx
5fc512:	c1 e0 08             	shl    $0x8,%eax
5fc515:	03 c2                	add    %edx,%eax
5fc517:	66 89 45 e3          	mov    %ax,-0x1d(%ebp)
5fc51b:	33 c0                	xor    %eax,%eax
5fc51d:	8a 45 ea             	mov    -0x16(%ebp),%al
5fc520:	8b d0                	mov    %eax,%edx
5fc522:	c1 e0 08             	shl    $0x8,%eax
5fc525:	03 c2                	add    %edx,%eax
5fc527:	66 89 45 e5          	mov    %ax,-0x1b(%ebp)
5fc52b:	33 c0                	xor    %eax,%eax
5fc52d:	8a 45 e9             	mov    -0x17(%ebp),%al
5fc530:	8b d0                	mov    %eax,%edx
5fc532:	c1 e0 08             	shl    $0x8,%eax
5fc535:	03 c2                	add    %edx,%eax
5fc537:	66 89 45 e7          	mov    %ax,-0x19(%ebp)
5fc53b:	8b fe                	mov    %esi,%edi
5fc53d:	2b fb                	sub    %ebx,%edi
5fc53f:	7c 3c                	jl     0x5fc57d
5fc541:	47                   	inc    %edi
5fc542:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5fc545:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fc548:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc54b:	8b 08                	mov    (%eax),%ecx
5fc54d:	ff 11                	call   *(%ecx)
5fc54f:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fc552:	03 d2                	add    %edx,%edx
5fc554:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fc557:	03 c2                	add    %edx,%eax
5fc559:	8b 75 f8             	mov    -0x8(%ebp),%esi
5fc55c:	8b 5d 14             	mov    0x14(%ebp),%ebx
5fc55f:	2b de                	sub    %esi,%ebx
5fc561:	7c 14                	jl     0x5fc577
5fc563:	43                   	inc    %ebx
5fc564:	8b 55 e3             	mov    -0x1d(%ebp),%edx
5fc567:	89 10                	mov    %edx,(%eax)
5fc569:	66 8b 55 e7          	mov    -0x19(%ebp),%dx
5fc56d:	66 89 50 04          	mov    %dx,0x4(%eax)
5fc571:	83 c0 06             	add    $0x6,%eax
5fc574:	4b                   	dec    %ebx
5fc575:	75 ed                	jne    0x5fc564
5fc577:	ff 45 f4             	incl   -0xc(%ebp)
5fc57a:	4f                   	dec    %edi
5fc57b:	75 c8                	jne    0x5fc545
5fc57d:	5f                   	pop    %edi
5fc57e:	5e                   	pop    %esi
5fc57f:	5b                   	pop    %ebx
5fc580:	8b e5                	mov    %ebp,%esp
5fc582:	5d                   	pop    %ebp
5fc583:	c2 10 00             	ret    $0x10
5fc586:	8b c0                	mov    %eax,%eax
5fc588:	53                   	push   %ebx
5fc589:	56                   	push   %esi
5fc58a:	57                   	push   %edi
5fc58b:	55                   	push   %ebp
5fc58c:	83 c4 f8             	add    $0xfffffff8,%esp
5fc58f:	88 14 24             	mov    %dl,(%esp)
5fc592:	8b d8                	mov    %eax,%ebx
5fc594:	8a 43 42             	mov    0x42(%ebx),%al
5fc597:	3a 04 24             	cmp    (%esp),%al
5fc59a:	0f 84 b9 00 00 00    	je     0x5fc659
5fc5a0:	b2 01                	mov    $0x1,%dl
5fc5a2:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5fc5a7:	e8 f8 af ff ff       	call   0x5f75a4
5fc5ac:	8b f8                	mov    %eax,%edi
5fc5ae:	8b d7                	mov    %edi,%edx
5fc5b0:	8b c3                	mov    %ebx,%eax
5fc5b2:	e8 99 b3 ff ff       	call   0x5f7950
5fc5b7:	8a 04 24             	mov    (%esp),%al
5fc5ba:	88 43 42             	mov    %al,0x42(%ebx)
5fc5bd:	8a 47 40             	mov    0x40(%edi),%al
5fc5c0:	50                   	push   %eax
5fc5c1:	8b 4f 34             	mov    0x34(%edi),%ecx
5fc5c4:	8b 57 30             	mov    0x30(%edi),%edx
5fc5c7:	8b c3                	mov    %ebx,%eax
5fc5c9:	8b 30                	mov    (%eax),%esi
5fc5cb:	ff 56 24             	call   *0x24(%esi)
5fc5ce:	8b c7                	mov    %edi,%eax
5fc5d0:	8b 10                	mov    (%eax),%edx
5fc5d2:	ff 52 14             	call   *0x14(%edx)
5fc5d5:	8b d0                	mov    %eax,%edx
5fc5d7:	8b 43 3c             	mov    0x3c(%ebx),%eax
5fc5da:	e8 3d ce fa ff       	call   0x5a941c
5fc5df:	89 44 24 04          	mov    %eax,0x4(%esp)
5fc5e3:	8b 73 34             	mov    0x34(%ebx),%esi
5fc5e6:	4e                   	dec    %esi
5fc5e7:	85 f6                	test   %esi,%esi
5fc5e9:	7c 22                	jl     0x5fc60d
5fc5eb:	46                   	inc    %esi
5fc5ec:	33 ed                	xor    %ebp,%ebp
5fc5ee:	8b d5                	mov    %ebp,%edx
5fc5f0:	8b c7                	mov    %edi,%eax
5fc5f2:	8b 08                	mov    (%eax),%ecx
5fc5f4:	ff 11                	call   *(%ecx)
5fc5f6:	50                   	push   %eax
5fc5f7:	8b d5                	mov    %ebp,%edx
5fc5f9:	8b c3                	mov    %ebx,%eax
5fc5fb:	8b 08                	mov    (%eax),%ecx
5fc5fd:	ff 11                	call   *(%ecx)
5fc5ff:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5fc603:	5a                   	pop    %edx
5fc604:	e8 b7 b8 e0 ff       	call   0x407ec0
5fc609:	45                   	inc    %ebp
5fc60a:	4e                   	dec    %esi
5fc60b:	75 e1                	jne    0x5fc5ee
5fc60d:	8b 73 14             	mov    0x14(%ebx),%esi
5fc610:	4e                   	dec    %esi
5fc611:	85 f6                	test   %esi,%esi
5fc613:	7c 25                	jl     0x5fc63a
5fc615:	46                   	inc    %esi
5fc616:	33 c0                	xor    %eax,%eax
5fc618:	8d 14 40             	lea    (%eax,%eax,2),%edx
5fc61b:	8b 4b 10             	mov    0x10(%ebx),%ecx
5fc61e:	8d 14 11             	lea    (%ecx,%edx,1),%edx
5fc621:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5fc624:	8b 6f 10             	mov    0x10(%edi),%ebp
5fc627:	03 e9                	add    %ecx,%ebp
5fc629:	66 8b 4d 00          	mov    0x0(%ebp),%cx
5fc62d:	66 89 0a             	mov    %cx,(%edx)
5fc630:	8a 4d 02             	mov    0x2(%ebp),%cl
5fc633:	88 4a 02             	mov    %cl,0x2(%edx)
5fc636:	40                   	inc    %eax
5fc637:	4e                   	dec    %esi
5fc638:	75 de                	jne    0x5fc618
5fc63a:	8b c3                	mov    %ebx,%eax
5fc63c:	e8 1f 00 00 00       	call   0x5fc660
5fc641:	8a 47 41             	mov    0x41(%edi),%al
5fc644:	88 43 41             	mov    %al,0x41(%ebx)
5fc647:	8b 47 18             	mov    0x18(%edi),%eax
5fc64a:	89 43 18             	mov    %eax,0x18(%ebx)
5fc64d:	33 c0                	xor    %eax,%eax
5fc64f:	89 47 18             	mov    %eax,0x18(%edi)
5fc652:	8b c7                	mov    %edi,%eax
5fc654:	e8 1f 74 e0 ff       	call   0x403a78
5fc659:	59                   	pop    %ecx
5fc65a:	5a                   	pop    %edx
5fc65b:	5d                   	pop    %ebp
5fc65c:	5f                   	pop    %edi
5fc65d:	5e                   	pop    %esi
5fc65e:	5b                   	pop    %ebx
5fc65f:	c3                   	ret
5fc660:	53                   	push   %ebx
5fc661:	56                   	push   %esi
5fc662:	57                   	push   %edi
5fc663:	81 c4 00 fc ff ff    	add    $0xfffffc00,%esp
5fc669:	8b d8                	mov    %eax,%ebx
5fc66b:	80 7b 42 02          	cmpb   $0x2,0x42(%ebx)
5fc66f:	75 52                	jne    0x5fc6c3
5fc671:	8b 43 14             	mov    0x14(%ebx),%eax
5fc674:	85 c0                	test   %eax,%eax
5fc676:	7e 4b                	jle    0x5fc6c3
5fc678:	8b f8                	mov    %eax,%edi
5fc67a:	4f                   	dec    %edi
5fc67b:	85 ff                	test   %edi,%edi
5fc67d:	7c 2f                	jl     0x5fc6ae
5fc67f:	47                   	inc    %edi
5fc680:	33 d2                	xor    %edx,%edx
5fc682:	8b c4                	mov    %esp,%eax
5fc684:	8d 34 52             	lea    (%edx,%edx,2),%esi
5fc687:	8b 4b 10             	mov    0x10(%ebx),%ecx
5fc68a:	8a 4c 31 02          	mov    0x2(%ecx,%esi,1),%cl
5fc68e:	88 08                	mov    %cl,(%eax)
5fc690:	8b 4b 10             	mov    0x10(%ebx),%ecx
5fc693:	8a 4c 31 01          	mov    0x1(%ecx,%esi,1),%cl
5fc697:	88 48 01             	mov    %cl,0x1(%eax)
5fc69a:	8b 4b 10             	mov    0x10(%ebx),%ecx
5fc69d:	8a 0c 31             	mov    (%ecx,%esi,1),%cl
5fc6a0:	88 48 02             	mov    %cl,0x2(%eax)
5fc6a3:	c6 40 03 00          	movb   $0x0,0x3(%eax)
5fc6a7:	42                   	inc    %edx
5fc6a8:	83 c0 04             	add    $0x4,%eax
5fc6ab:	4f                   	dec    %edi
5fc6ac:	75 d6                	jne    0x5fc684
5fc6ae:	54                   	push   %esp
5fc6af:	8b 43 14             	mov    0x14(%ebx),%eax
5fc6b2:	50                   	push   %eax
5fc6b3:	6a 00                	push   $0x0
5fc6b5:	8b 43 24             	mov    0x24(%ebx),%eax
5fc6b8:	8b 10                	mov    (%eax),%edx
5fc6ba:	ff 52 24             	call   *0x24(%edx)
5fc6bd:	50                   	push   %eax
5fc6be:	e8 85 b0 e0 ff       	call   0x407748
5fc6c3:	81 c4 00 04 00 00    	add    $0x400,%esp
5fc6c9:	5f                   	pop    %edi
5fc6ca:	5e                   	pop    %esi
5fc6cb:	5b                   	pop    %ebx
5fc6cc:	c3                   	ret
5fc6cd:	8d 40 00             	lea    0x0(%eax),%eax
5fc6d0:	53                   	push   %ebx
5fc6d1:	8b d8                	mov    %eax,%ebx
5fc6d3:	8a 43 42             	mov    0x42(%ebx),%al
5fc6d6:	3c 01                	cmp    $0x1,%al
5fc6d8:	74 04                	je     0x5fc6de
5fc6da:	84 c0                	test   %al,%al
5fc6dc:	75 09                	jne    0x5fc6e7
5fc6de:	b2 02                	mov    $0x2,%dl
5fc6e0:	8b c3                	mov    %ebx,%eax
5fc6e2:	e8 a1 fe ff ff       	call   0x5fc588
5fc6e7:	8b 43 24             	mov    0x24(%ebx),%eax
5fc6ea:	e8 a9 10 e3 ff       	call   0x42d798
5fc6ef:	5b                   	pop    %ebx
5fc6f0:	c3                   	ret
5fc6f1:	8d 40 00             	lea    0x0(%eax),%eax
5fc6f4:	55                   	push   %ebp
5fc6f5:	8b ec                	mov    %esp,%ebp
5fc6f7:	51                   	push   %ecx
5fc6f8:	53                   	push   %ebx
5fc6f9:	56                   	push   %esi
5fc6fa:	57                   	push   %edi
5fc6fb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fc6fe:	8b fa                	mov    %edx,%edi
5fc700:	8b f0                	mov    %eax,%esi
5fc702:	57                   	push   %edi
5fc703:	e8 c0 ab e0 ff       	call   0x4072c8
5fc708:	8b d8                	mov    %eax,%ebx
5fc70a:	6a 03                	push   $0x3
5fc70c:	8b c6                	mov    %esi,%eax
5fc70e:	e8 ad c5 e2 ff       	call   0x428cc0
5fc713:	50                   	push   %eax
5fc714:	e8 57 b0 e0 ff       	call   0x407770
5fc719:	66 83 7b 0e 08       	cmpw   $0x8,0xe(%ebx)
5fc71e:	77 4b                	ja     0x5fc76b
5fc720:	68 20 00 cc 00       	push   $0xcc0020
5fc725:	6a 00                	push   $0x0
5fc727:	53                   	push   %ebx
5fc728:	66 8b 4b 0e          	mov    0xe(%ebx),%cx
5fc72c:	b8 01 00 00 00       	mov    $0x1,%eax
5fc731:	d3 e0                	shl    %cl,%eax
5fc733:	c1 e0 02             	shl    $0x2,%eax
5fc736:	83 c3 28             	add    $0x28,%ebx
5fc739:	03 c3                	add    %ebx,%eax
5fc73b:	50                   	push   %eax
5fc73c:	8b 45 18             	mov    0x18(%ebp),%eax
5fc73f:	50                   	push   %eax
5fc740:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fc743:	50                   	push   %eax
5fc744:	8b 45 20             	mov    0x20(%ebp),%eax
5fc747:	50                   	push   %eax
5fc748:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc74b:	50                   	push   %eax
5fc74c:	8b 45 08             	mov    0x8(%ebp),%eax
5fc74f:	50                   	push   %eax
5fc750:	8b 45 0c             	mov    0xc(%ebp),%eax
5fc753:	50                   	push   %eax
5fc754:	8b 45 10             	mov    0x10(%ebp),%eax
5fc757:	50                   	push   %eax
5fc758:	8b 45 14             	mov    0x14(%ebp),%eax
5fc75b:	50                   	push   %eax
5fc75c:	8b c6                	mov    %esi,%eax
5fc75e:	e8 5d c5 e2 ff       	call   0x428cc0
5fc763:	50                   	push   %eax
5fc764:	e8 5f b0 e0 ff       	call   0x4077c8
5fc769:	eb 39                	jmp    0x5fc7a4
5fc76b:	68 20 00 cc 00       	push   $0xcc0020
5fc770:	6a 00                	push   $0x0
5fc772:	53                   	push   %ebx
5fc773:	83 c3 28             	add    $0x28,%ebx
5fc776:	53                   	push   %ebx
5fc777:	8b 45 18             	mov    0x18(%ebp),%eax
5fc77a:	50                   	push   %eax
5fc77b:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fc77e:	50                   	push   %eax
5fc77f:	8b 45 20             	mov    0x20(%ebp),%eax
5fc782:	50                   	push   %eax
5fc783:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc786:	50                   	push   %eax
5fc787:	8b 45 08             	mov    0x8(%ebp),%eax
5fc78a:	50                   	push   %eax
5fc78b:	8b 45 0c             	mov    0xc(%ebp),%eax
5fc78e:	50                   	push   %eax
5fc78f:	8b 45 10             	mov    0x10(%ebp),%eax
5fc792:	50                   	push   %eax
5fc793:	8b 45 14             	mov    0x14(%ebp),%eax