5a93fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a93fd:	eb 0c                	jmp    0x5a940b
5a93ff:	8b 45 08             	mov    0x8(%ebp),%eax
5a9402:	89 45 f8             	mov    %eax,-0x8(%ebp)
5a9405:	8b 45 0c             	mov    0xc(%ebp),%eax
5a9408:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a940b:	dd 45 f8             	fldl   -0x8(%ebp)
5a940e:	59                   	pop    %ecx
5a940f:	59                   	pop    %ecx
5a9410:	5d                   	pop    %ebp
5a9411:	c2 10 00             	ret    $0x10
5a9414:	39 c2                	cmp    %eax,%edx
5a9416:	7e 02                	jle    0x5a941a
5a9418:	89 d0                	mov    %edx,%eax
5a941a:	c3                   	ret
5a941b:	90                   	nop
5a941c:	39 d0                	cmp    %edx,%eax
5a941e:	7e 02                	jle    0x5a9422
5a9420:	89 d0                	mov    %edx,%eax
5a9422:	c3                   	ret
5a9423:	90                   	nop
5a9424:	39 d0                	cmp    %edx,%eax
5a9426:	7f 03                	jg     0x5a942b
5a9428:	89 d0                	mov    %edx,%eax
5a942a:	c3                   	ret
5a942b:	39 c8                	cmp    %ecx,%eax
5a942d:	7c 03                	jl     0x5a9432
5a942f:	89 c8                	mov    %ecx,%eax
5a9431:	c3                   	ret
5a9432:	c3                   	ret
5a9433:	90                   	nop
5a9434:	09 c0                	or     %eax,%eax
5a9436:	79 03                	jns    0x5a943b
5a9438:	31 c0                	xor    %eax,%eax
5a943a:	c3                   	ret
5a943b:	3d ff 00 00 00       	cmp    $0xff,%eax
5a9440:	76 05                	jbe    0x5a9447
5a9442:	b8 ff 00 00 00       	mov    $0xff,%eax
5a9447:	c3                   	ret
5a9448:	53                   	push   %ebx
5a9449:	8b 08                	mov    (%eax),%ecx
5a944b:	8b 1a                	mov    (%edx),%ebx
5a944d:	89 0a                	mov    %ecx,(%edx)
5a944f:	89 18                	mov    %ebx,(%eax)
5a9451:	5b                   	pop    %ebx
5a9452:	c3                   	ret
5a9453:	90                   	nop
5a9454:	55                   	push   %ebp
5a9455:	8b ec                	mov    %esp,%ebp
5a9457:	8a 45 0e             	mov    0xe(%ebp),%al
5a945a:	3a 45 0a             	cmp    0xa(%ebp),%al
5a945d:	75 10                	jne    0x5a946f
5a945f:	8a 45 0d             	mov    0xd(%ebp),%al
5a9462:	3a 45 09             	cmp    0x9(%ebp),%al
5a9465:	75 08                	jne    0x5a946f
5a9467:	8a 45 0c             	mov    0xc(%ebp),%al
5a946a:	3a 45 08             	cmp    0x8(%ebp),%al
5a946d:	74 04                	je     0x5a9473
5a946f:	33 c0                	xor    %eax,%eax
5a9471:	eb 02                	jmp    0x5a9475
5a9473:	b0 01                	mov    $0x1,%al
5a9475:	5d                   	pop    %ebp
5a9476:	c2 08 00             	ret    $0x8
5a9479:	8d 40 00             	lea    0x0(%eax),%eax
5a947c:	8a 08                	mov    (%eax),%cl
5a947e:	8a 2a                	mov    (%edx),%ch
5a9480:	88 0a                	mov    %cl,(%edx)
5a9482:	88 28                	mov    %ch,(%eax)
5a9484:	c3                   	ret
5a9485:	8d 40 00             	lea    0x0(%eax),%eax
5a9488:	55                   	push   %ebp
5a9489:	8b ec                	mov    %esp,%ebp
5a948b:	53                   	push   %ebx
5a948c:	56                   	push   %esi
5a948d:	8b da                	mov    %edx,%ebx
5a948f:	8b 75 08             	mov    0x8(%ebp),%esi
5a9492:	8b 10                	mov    (%eax),%edx
5a9494:	3b 11                	cmp    (%ecx),%edx
5a9496:	7e 07                	jle    0x5a949f
5a9498:	8b d1                	mov    %ecx,%edx
5a949a:	e8 a9 ff ff ff       	call   0x5a9448
5a949f:	8b 03                	mov    (%ebx),%eax
5a94a1:	3b 06                	cmp    (%esi),%eax
5a94a3:	7e 09                	jle    0x5a94ae
5a94a5:	8b d6                	mov    %esi,%edx
5a94a7:	8b c3                	mov    %ebx,%eax
5a94a9:	e8 9a ff ff ff       	call   0x5a9448
5a94ae:	5e                   	pop    %esi
5a94af:	5b                   	pop    %ebx
5a94b0:	5d                   	pop    %ebp
5a94b1:	c2 04 00             	ret    $0x4
5a94b4:	53                   	push   %ebx
5a94b5:	56                   	push   %esi
5a94b6:	84 d2                	test   %dl,%dl
5a94b8:	74 08                	je     0x5a94c2
5a94ba:	83 c4 f0             	add    $0xfffffff0,%esp
5a94bd:	e8 1a a9 e5 ff       	call   0x403ddc
5a94c2:	8b da                	mov    %edx,%ebx
5a94c4:	8b f0                	mov    %eax,%esi
5a94c6:	33 d2                	xor    %edx,%edx
5a94c8:	8b c6                	mov    %esi,%eax
5a94ca:	e8 89 b1 e7 ff       	call   0x424658
5a94cf:	b2 01                	mov    $0x1,%dl
5a94d1:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5a94d6:	e8 c9 e0 04 00       	call   0x5f75a4
5a94db:	89 46 58             	mov    %eax,0x58(%esi)
5a94de:	c6 46 5c 01          	movb   $0x1,0x5c(%esi)
5a94e2:	c7 46 38 ff ff ff ff 	movl   $0xffffffff,0x38(%esi)
5a94e9:	33 c0                	xor    %eax,%eax
5a94eb:	89 46 48             	mov    %eax,0x48(%esi)
5a94ee:	89 46 4c             	mov    %eax,0x4c(%esi)
5a94f1:	33 c0                	xor    %eax,%eax
5a94f3:	89 46 78             	mov    %eax,0x78(%esi)
5a94f6:	33 c0                	xor    %eax,%eax
5a94f8:	89 46 34             	mov    %eax,0x34(%esi)
5a94fb:	33 c0                	xor    %eax,%eax
5a94fd:	89 46 50             	mov    %eax,0x50(%esi)
5a9500:	a0 9c 95 5a 00       	mov    0x5a959c,%al
5a9505:	88 46 41             	mov    %al,0x41(%esi)
5a9508:	33 c0                	xor    %eax,%eax
5a950a:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
5a9510:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
5a9516:	b2 01                	mov    $0x1,%dl
5a9518:	a1 24 94 41 00       	mov    0x419424,%eax
5a951d:	e8 26 a5 e5 ff       	call   0x403a48
5a9522:	89 46 60             	mov    %eax,0x60(%esi)
5a9525:	b2 01                	mov    $0x1,%dl
5a9527:	a1 24 94 41 00       	mov    0x419424,%eax
5a952c:	e8 17 a5 e5 ff       	call   0x403a48
5a9531:	89 46 70             	mov    %eax,0x70(%esi)
5a9534:	c6 46 64 01          	movb   $0x1,0x64(%esi)
5a9538:	c6 46 30 01          	movb   $0x1,0x30(%esi)
5a953c:	33 c0                	xor    %eax,%eax
5a953e:	89 46 3c             	mov    %eax,0x3c(%esi)
5a9541:	c6 46 40 00          	movb   $0x0,0x40(%esi)
5a9545:	b2 01                	mov    $0x1,%dl
5a9547:	a1 10 61 42 00       	mov    0x426110,%eax
5a954c:	e8 73 e3 e7 ff       	call   0x4278c4
5a9551:	89 46 44             	mov    %eax,0x44(%esi)
5a9554:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
5a955b:	b2 01                	mov    $0x1,%dl
5a955d:	a1 88 9a 41 00       	mov    0x419a88,%eax
5a9562:	e8 e1 a4 e5 ff       	call   0x403a48
5a9567:	89 46 6c             	mov    %eax,0x6c(%esi)
5a956a:	b2 01                	mov    $0x1,%dl
5a956c:	a1 88 9a 41 00       	mov    0x419a88,%eax
5a9571:	e8 d2 a4 e5 ff       	call   0x403a48
5a9576:	89 46 74             	mov    %eax,0x74(%esi)
5a9579:	8d 46 54             	lea    0x54(%esi),%eax
5a957c:	e8 e7 b2 e5 ff       	call   0x404868
5a9581:	8b c6                	mov    %esi,%eax
5a9583:	84 db                	test   %bl,%bl
5a9585:	74 0f                	je     0x5a9596
5a9587:	e8 a8 a8 e5 ff       	call   0x403e34
5a958c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
5a9593:	83 c4 0c             	add    $0xc,%esp
5a9596:	8b c6                	mov    %esi,%eax
5a9598:	5e                   	pop    %esi
5a9599:	5b                   	pop    %ebx
5a959a:	c3                   	ret
5a959b:	00 00                	add    %al,(%eax)
5a959d:	00 00                	add    %al,(%eax)
5a959f:	00 53 56             	add    %dl,0x56(%ebx)
5a95a2:	e8 9d a8 e5 ff       	call   0x403e44
5a95a7:	8b da                	mov    %edx,%ebx
5a95a9:	8b f0                	mov    %eax,%esi
5a95ab:	8b 46 34             	mov    0x34(%esi),%eax
5a95ae:	85 c0                	test   %eax,%eax
5a95b0:	74 08                	je     0x5a95ba
5a95b2:	8b 56 38             	mov    0x38(%esi),%edx
5a95b5:	e8 d2 cb 01 00       	call   0x5c618c
5a95ba:	8b c6                	mov    %esi,%eax
5a95bc:	e8 97 00 00 00       	call   0x5a9658
5a95c1:	8b c6                	mov    %esi,%eax
5a95c3:	e8 c4 00 00 00       	call   0x5a968c
5a95c8:	8b 46 60             	mov    0x60(%esi),%eax
5a95cb:	e8 a8 a4 e5 ff       	call   0x403a78
5a95d0:	8b 46 70             	mov    0x70(%esi),%eax
5a95d3:	e8 a0 a4 e5 ff       	call   0x403a78
5a95d8:	8b 46 44             	mov    0x44(%esi),%eax
5a95db:	e8 98 a4 e5 ff       	call   0x403a78
5a95e0:	8b 46 6c             	mov    0x6c(%esi),%eax
5a95e3:	e8 90 a4 e5 ff       	call   0x403a78
5a95e8:	8b 46 74             	mov    0x74(%esi),%eax
5a95eb:	e8 88 a4 e5 ff       	call   0x403a78
5a95f0:	80 7e 5c 00          	cmpb   $0x0,0x5c(%esi)
5a95f4:	74 08                	je     0x5a95fe
5a95f6:	8b 46 58             	mov    0x58(%esi),%eax
5a95f9:	e8 7a a4 e5 ff       	call   0x403a78
5a95fe:	8b d3                	mov    %ebx,%edx
5a9600:	80 e2 fc             	and    $0xfc,%dl
5a9603:	8b c6                	mov    %esi,%eax
5a9605:	e8 9a b0 e7 ff       	call   0x4246a4
5a960a:	84 db                	test   %bl,%bl
5a960c:	7e 07                	jle    0x5a9615
5a960e:	8b c6                	mov    %esi,%eax
5a9610:	e8 17 a8 e5 ff       	call   0x403e2c
5a9615:	5e                   	pop    %esi
5a9616:	5b                   	pop    %ebx
5a9617:	c3                   	ret
5a9618:	53                   	push   %ebx
5a9619:	8b d8                	mov    %eax,%ebx
5a961b:	83 7b 78 00          	cmpl   $0x0,0x78(%ebx)
5a961f:	74 08                	je     0x5a9629
5a9621:	8b 43 58             	mov    0x58(%ebx),%eax
5a9624:	e8 8f e2 04 00       	call   0x5f78b8
5a9629:	8b 43 34             	mov    0x34(%ebx),%eax
5a962c:	85 c0                	test   %eax,%eax
5a962e:	74 18                	je     0x5a9648
5a9630:	8b d8                	mov    %eax,%ebx
5a9632:	8b c3                	mov    %ebx,%eax
5a9634:	8b 10                	mov    (%eax),%edx
5a9636:	ff 92 88 00 00 00    	call   *0x88(%edx)
5a963c:	8b c3                	mov    %ebx,%eax
5a963e:	8b 10                	mov    (%eax),%edx
5a9640:	ff 92 f8 00 00 00    	call   *0xf8(%edx)
5a9646:	5b                   	pop    %ebx
5a9647:	c3                   	ret
5a9648:	8b 43 78             	mov    0x78(%ebx),%eax
5a964b:	85 c0                	test   %eax,%eax
5a964d:	74 07                	je     0x5a9656
5a964f:	b2 01                	mov    $0x1,%dl
5a9651:	e8 0e 0f e8 ff       	call   0x42a564
5a9656:	5b                   	pop    %ebx
5a9657:	c3                   	ret
5a9658:	53                   	push   %ebx
5a9659:	56                   	push   %esi
5a965a:	8b d8                	mov    %eax,%ebx
5a965c:	eb 22                	jmp    0x5a9680
5a965e:	33 d2                	xor    %edx,%edx
5a9660:	8b c6                	mov    %esi,%eax
5a9662:	e8 59 27 e7 ff       	call   0x41bdc0
5a9667:	e8 0c a4 e5 ff       	call   0x403a78
5a966c:	33 d2                	xor    %edx,%edx
5a966e:	8b 43 60             	mov    0x60(%ebx),%eax
5a9671:	e8 ea 25 e7 ff       	call   0x41bc60
5a9676:	33 d2                	xor    %edx,%edx
5a9678:	8b 43 6c             	mov    0x6c(%ebx),%eax
5a967b:	8b 08                	mov    (%eax),%ecx
5a967d:	ff 51 48             	call   *0x48(%ecx)
5a9680:	8b 73 60             	mov    0x60(%ebx),%esi
5a9683:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5a9687:	7f d5                	jg     0x5a965e
5a9689:	5e                   	pop    %esi
5a968a:	5b                   	pop    %ebx
5a968b:	c3                   	ret
5a968c:	53                   	push   %ebx
5a968d:	56                   	push   %esi
5a968e:	8b d8                	mov    %eax,%ebx
5a9690:	eb 22                	jmp    0x5a96b4
5a9692:	33 d2                	xor    %edx,%edx
5a9694:	8b c6                	mov    %esi,%eax
5a9696:	e8 25 27 e7 ff       	call   0x41bdc0
5a969b:	e8 d8 a3 e5 ff       	call   0x403a78
5a96a0:	33 d2                	xor    %edx,%edx
5a96a2:	8b 43 70             	mov    0x70(%ebx),%eax
5a96a5:	e8 b6 25 e7 ff       	call   0x41bc60
5a96aa:	33 d2                	xor    %edx,%edx
5a96ac:	8b 43 74             	mov    0x74(%ebx),%eax
5a96af:	8b 08                	mov    (%eax),%ecx
5a96b1:	ff 51 48             	call   *0x48(%ecx)
5a96b4:	8b 73 70             	mov    0x70(%ebx),%esi
5a96b7:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5a96bb:	7f d5                	jg     0x5a9692
5a96bd:	5e                   	pop    %esi
5a96be:	5b                   	pop    %ebx
5a96bf:	c3                   	ret
5a96c0:	53                   	push   %ebx
5a96c1:	56                   	push   %esi
5a96c2:	57                   	push   %edi
5a96c3:	55                   	push   %ebp
5a96c4:	8b d8                	mov    %eax,%ebx
5a96c6:	8b 6b 60             	mov    0x60(%ebx),%ebp
5a96c9:	8b 75 08             	mov    0x8(%ebp),%esi
5a96cc:	85 f6                	test   %esi,%esi
5a96ce:	7e 25                	jle    0x5a96f5
5a96d0:	8b fe                	mov    %esi,%edi
5a96d2:	4f                   	dec    %edi
5a96d3:	8b d7                	mov    %edi,%edx
5a96d5:	8b c5                	mov    %ebp,%eax
5a96d7:	e8 e4 26 e7 ff       	call   0x41bdc0
5a96dc:	e8 97 a3 e5 ff       	call   0x403a78
5a96e1:	8b d7                	mov    %edi,%edx
5a96e3:	8b 43 60             	mov    0x60(%ebx),%eax
5a96e6:	e8 75 25 e7 ff       	call   0x41bc60
5a96eb:	8b d7                	mov    %edi,%edx
5a96ed:	8b 43 6c             	mov    0x6c(%ebx),%eax
5a96f0:	8b 08                	mov    (%eax),%ecx
5a96f2:	ff 51 48             	call   *0x48(%ecx)
5a96f5:	5d                   	pop    %ebp
5a96f6:	5f                   	pop    %edi
5a96f7:	5e                   	pop    %esi
5a96f8:	5b                   	pop    %ebx
5a96f9:	c3                   	ret
5a96fa:	8b c0                	mov    %eax,%eax
5a96fc:	53                   	push   %ebx
5a96fd:	56                   	push   %esi
5a96fe:	57                   	push   %edi
5a96ff:	55                   	push   %ebp
5a9700:	8b d8                	mov    %eax,%ebx
5a9702:	8b 6b 70             	mov    0x70(%ebx),%ebp
5a9705:	8b 75 08             	mov    0x8(%ebp),%esi
5a9708:	85 f6                	test   %esi,%esi
5a970a:	7e 25                	jle    0x5a9731
5a970c:	8b fe                	mov    %esi,%edi
5a970e:	4f                   	dec    %edi
5a970f:	8b d7                	mov    %edi,%edx
5a9711:	8b c5                	mov    %ebp,%eax
5a9713:	e8 a8 26 e7 ff       	call   0x41bdc0
5a9718:	e8 5b a3 e5 ff       	call   0x403a78
5a971d:	8b d7                	mov    %edi,%edx
5a971f:	8b 43 70             	mov    0x70(%ebx),%eax
5a9722:	e8 39 25 e7 ff       	call   0x41bc60
5a9727:	8b d7                	mov    %edi,%edx
5a9729:	8b 43 74             	mov    0x74(%ebx),%eax
5a972c:	8b 08                	mov    (%eax),%ecx
5a972e:	ff 51 48             	call   *0x48(%ecx)
5a9731:	5d                   	pop    %ebp
5a9732:	5f                   	pop    %edi
5a9733:	5e                   	pop    %esi
5a9734:	5b                   	pop    %ebx
5a9735:	c3                   	ret
5a9736:	8b c0                	mov    %eax,%eax
5a9738:	33 d2                	xor    %edx,%edx
5a973a:	8b 08                	mov    (%eax),%ecx
5a973c:	ff 51 38             	call   *0x38(%ecx)
5a973f:	c3                   	ret
5a9740:	53                   	push   %ebx
5a9741:	56                   	push   %esi
5a9742:	51                   	push   %ecx
5a9743:	66 89 14 24          	mov    %dx,(%esp)
5a9747:	8b f0                	mov    %eax,%esi
5a9749:	33 db                	xor    %ebx,%ebx
5a974b:	8b 46 58             	mov    0x58(%esi),%eax
5a974e:	85 c0                	test   %eax,%eax
5a9750:	74 31                	je     0x5a9783
5a9752:	8b 56 78             	mov    0x78(%esi),%edx
5a9755:	85 d2                	test   %edx,%edx
5a9757:	74 07                	je     0x5a9760
5a9759:	33 c9                	xor    %ecx,%ecx
5a975b:	e8 e0 ee 04 00       	call   0x5f8640
5a9760:	66 a1 8c 97 5a 00    	mov    0x5a978c,%ax
5a9766:	66 3b 04 24          	cmp    (%esp),%ax
5a976a:	74 15                	je     0x5a9781
5a976c:	8b 46 58             	mov    0x58(%esi),%eax
5a976f:	8b 10                	mov    (%eax),%edx
5a9771:	ff 52 10             	call   *0x10(%edx)
5a9774:	3c 0f                	cmp    $0xf,%al
5a9776:	77 07                	ja     0x5a977f
5a9778:	83 e0 7f             	and    $0x7f,%eax