581590:	50                   	push   %eax
581591:	8d 44 24 04          	lea    0x4(%esp),%eax
581595:	b9 01 00 00 00       	mov    $0x1,%ecx
58159a:	ba 04 00 00 00       	mov    $0x4,%edx
58159f:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5815a5:	8b c4                	mov    %esp,%eax
5815a7:	e8 08 a2 ff ff       	call   0x57b7b4
5815ac:	8b 04 24             	mov    (%esp),%eax
5815af:	83 e8 01             	sub    $0x1,%eax
5815b2:	72 04                	jb     0x5815b8
5815b4:	74 31                	je     0x5815e7
5815b6:	eb 6f                	jmp    0x581627
5815b8:	b8 02 00 00 00       	mov    $0x2,%eax
5815bd:	e8 46 f9 ff ff       	call   0x580f08
5815c2:	8b f0                	mov    %eax,%esi
5815c4:	85 f6                	test   %esi,%esi
5815c6:	75 07                	jne    0x5815cf
5815c8:	33 c0                	xor    %eax,%eax
5815ca:	e9 48 01 00 00       	jmp    0x581717
5815cf:	8d 46 04             	lea    0x4(%esi),%eax
5815d2:	66 c7 00 00 00       	movw   $0x0,(%eax)
5815d7:	8d 46 04             	lea    0x4(%esi),%eax
5815da:	66 c7 40 02 ff ff    	movw   $0xffff,0x2(%eax)
5815e0:	8b c6                	mov    %esi,%eax
5815e2:	e9 30 01 00 00       	jmp    0x581717
5815e7:	8b 03                	mov    (%ebx),%eax
5815e9:	50                   	push   %eax
5815ea:	8d 44 24 10          	lea    0x10(%esp),%eax
5815ee:	b9 01 00 00 00       	mov    $0x1,%ecx
5815f3:	ba 02 00 00 00       	mov    $0x2,%edx
5815f8:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5815fe:	8d 44 24 0c          	lea    0xc(%esp),%eax
581602:	e8 a1 a1 ff ff       	call   0x57b7a8
581607:	66 8b 44 24 0c       	mov    0xc(%esp),%ax
58160c:	e8 5f fa ff ff       	call   0x581070
581611:	83 c4 f8             	add    $0xfffffff8,%esp
581614:	dd 1c 24             	fstpl  (%esp)
581617:	9b                   	fwait
581618:	b8 00 10 00 00       	mov    $0x1000,%eax
58161d:	e8 42 f9 ff ff       	call   0x580f64
581622:	e9 f0 00 00 00       	jmp    0x581717
581627:	8b 04 24             	mov    (%esp),%eax
58162a:	e8 d9 f8 ff ff       	call   0x580f08
58162f:	8b f0                	mov    %eax,%esi
581631:	85 f6                	test   %esi,%esi
581633:	75 07                	jne    0x58163c
581635:	33 c0                	xor    %eax,%eax
581637:	e9 db 00 00 00       	jmp    0x581717
58163c:	8b 03                	mov    (%ebx),%eax
58163e:	50                   	push   %eax
58163f:	8d 46 04             	lea    0x4(%esi),%eax
581642:	8b 4c 24 04          	mov    0x4(%esp),%ecx
581646:	ba 02 00 00 00       	mov    $0x2,%edx
58164b:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581651:	8d 46 04             	lea    0x4(%esi),%eax
581654:	8b 14 24             	mov    (%esp),%edx
581657:	e8 1c f6 ff ff       	call   0x580c78
58165c:	8b c6                	mov    %esi,%eax
58165e:	e9 b4 00 00 00       	jmp    0x581717
581663:	8b 03                	mov    (%ebx),%eax
581665:	50                   	push   %eax
581666:	8d 44 24 1c          	lea    0x1c(%esp),%eax
58166a:	b9 01 00 00 00       	mov    $0x1,%ecx
58166f:	ba 02 00 00 00       	mov    $0x2,%edx
581674:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
58167a:	8b 03                	mov    (%ebx),%eax
58167c:	50                   	push   %eax
58167d:	8d 44 24 18          	lea    0x18(%esp),%eax
581681:	b9 01 00 00 00       	mov    $0x1,%ecx
581686:	ba 02 00 00 00       	mov    $0x2,%edx
58168b:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581691:	8d 44 24 18          	lea    0x18(%esp),%eax
581695:	e8 0e a1 ff ff       	call   0x57b7a8
58169a:	66 83 7c 24 18 05    	cmpw   $0x5,0x18(%esp)
5816a0:	76 04                	jbe    0x5816a6
5816a2:	33 c0                	xor    %eax,%eax
5816a4:	eb 71                	jmp    0x581717
5816a6:	8d 44 24 20          	lea    0x20(%esp),%eax
5816aa:	ba 50 00 00 00       	mov    $0x50,%edx
5816af:	e8 20 68 e8 ff       	call   0x407ed4
5816b4:	0f b7 44 24 18       	movzwl 0x18(%esp),%eax
5816b9:	8b 04 85 a4 34 6a 00 	mov    0x6a34a4(,%eax,4),%eax
5816c0:	8b f8                	mov    %eax,%edi
5816c2:	4f                   	dec    %edi
5816c3:	85 ff                	test   %edi,%edi
5816c5:	7c 34                	jl     0x5816fb
5816c7:	47                   	inc    %edi
5816c8:	8d 74 24 20          	lea    0x20(%esp),%esi
5816cc:	33 c0                	xor    %eax,%eax
5816ce:	89 44 24 10          	mov    %eax,0x10(%esp)
5816d2:	8b 03                	mov    (%ebx),%eax
5816d4:	50                   	push   %eax
5816d5:	8d 44 24 14          	lea    0x14(%esp),%eax
5816d9:	b9 01 00 00 00       	mov    $0x1,%ecx
5816de:	ba 04 00 00 00       	mov    $0x4,%edx
5816e3:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5816e9:	8b 44 24 10          	mov    0x10(%esp),%eax
5816ed:	e8 42 a3 ff ff       	call   0x57ba34
5816f2:	dd 1e                	fstpl  (%esi)
5816f4:	9b                   	fwait
5816f5:	83 c6 08             	add    $0x8,%esi
5816f8:	4f                   	dec    %edi
5816f9:	75 d1                	jne    0x5816cc
5816fb:	8d 4c 24 20          	lea    0x20(%esp),%ecx
5816ff:	0f b7 54 24 18       	movzwl 0x18(%esp),%edx
581704:	42                   	inc    %edx
581705:	b8 00 10 00 00       	mov    $0x1000,%eax
58170a:	e8 ad f9 ff ff       	call   0x5810bc
58170f:	8b f0                	mov    %eax,%esi
581711:	8b c6                	mov    %esi,%eax
581713:	eb 02                	jmp    0x581717
581715:	33 c0                	xor    %eax,%eax
581717:	83 c4 70             	add    $0x70,%esp
58171a:	5f                   	pop    %edi
58171b:	5e                   	pop    %esi
58171c:	5b                   	pop    %ebx
58171d:	c3                   	ret
58171e:	8b c0                	mov    %eax,%eax
581720:	53                   	push   %ebx
581721:	56                   	push   %esi
581722:	57                   	push   %edi
581723:	51                   	push   %ecx
581724:	89 14 24             	mov    %edx,(%esp)
581727:	8b d8                	mov    %eax,%ebx
581729:	49                   	dec    %ecx
58172a:	74 16                	je     0x581742
58172c:	49                   	dec    %ecx
58172d:	74 6b                	je     0x58179a
58172f:	49                   	dec    %ecx
581730:	0f 84 bc 00 00 00    	je     0x5817f2
581736:	49                   	dec    %ecx
581737:	0f 84 19 01 00 00    	je     0x581856
58173d:	e9 72 01 00 00       	jmp    0x5818b4
581742:	83 0b 02             	orl    $0x2,(%ebx)
581745:	8d 93 c4 00 00 00    	lea    0xc4(%ebx),%edx
58174b:	8b 04 24             	mov    (%esp),%eax
58174e:	8b 00                	mov    (%eax),%eax
581750:	8b 00                	mov    (%eax),%eax
581752:	e8 f5 e0 ff ff       	call   0x57f84c
581757:	8b 04 24             	mov    (%esp),%eax
58175a:	8b 00                	mov    (%eax),%eax
58175c:	8b 00                	mov    (%eax),%eax
58175e:	89 43 30             	mov    %eax,0x30(%ebx)
581761:	8b 7b 28             	mov    0x28(%ebx),%edi
581764:	4f                   	dec    %edi
581765:	85 ff                	test   %edi,%edi
581767:	0f 82 47 01 00 00    	jb     0x5818b4
58176d:	47                   	inc    %edi
58176e:	33 f6                	xor    %esi,%esi
581770:	8b 43 30             	mov    0x30(%ebx),%eax
581773:	03 c0                	add    %eax,%eax
581775:	e8 32 10 e8 ff       	call   0x4027ac
58177a:	89 44 b3 3c          	mov    %eax,0x3c(%ebx,%esi,4)
58177e:	8b 4b 30             	mov    0x30(%ebx),%ecx
581781:	03 c9                	add    %ecx,%ecx
581783:	8b 14 24             	mov    (%esp),%edx
581786:	8b 14 b2             	mov    (%edx,%esi,4),%edx
581789:	83 c2 04             	add    $0x4,%edx
58178c:	e8 2f 67 e8 ff       	call   0x407ec0
581791:	46                   	inc    %esi
581792:	4f                   	dec    %edi
581793:	75 db                	jne    0x581770
581795:	e9 1a 01 00 00       	jmp    0x5818b4
58179a:	83 0b 08             	orl    $0x8,(%ebx)
58179d:	8d 93 fa 00 00 00    	lea    0xfa(%ebx),%edx
5817a3:	8b 04 24             	mov    (%esp),%eax
5817a6:	8b 00                	mov    (%eax),%eax
5817a8:	8b 00                	mov    (%eax),%eax
5817aa:	e8 9d e0 ff ff       	call   0x57f84c
5817af:	8b 04 24             	mov    (%esp),%eax
5817b2:	8b 00                	mov    (%eax),%eax
5817b4:	8b 00                	mov    (%eax),%eax
5817b6:	89 43 34             	mov    %eax,0x34(%ebx)
5817b9:	8b 7b 2c             	mov    0x2c(%ebx),%edi
5817bc:	4f                   	dec    %edi
5817bd:	85 ff                	test   %edi,%edi
5817bf:	0f 82 ef 00 00 00    	jb     0x5818b4
5817c5:	47                   	inc    %edi
5817c6:	33 f6                	xor    %esi,%esi
5817c8:	8b 43 34             	mov    0x34(%ebx),%eax
5817cb:	03 c0                	add    %eax,%eax
5817cd:	e8 da 0f e8 ff       	call   0x4027ac
5817d2:	89 44 b3 7c          	mov    %eax,0x7c(%ebx,%esi,4)
5817d6:	8b 4b 34             	mov    0x34(%ebx),%ecx
5817d9:	03 c9                	add    %ecx,%ecx
5817db:	8b 14 24             	mov    (%esp),%edx
5817de:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5817e1:	83 c2 04             	add    $0x4,%edx
5817e4:	e8 d7 66 e8 ff       	call   0x407ec0
5817e9:	46                   	inc    %esi
5817ea:	4f                   	dec    %edi
5817eb:	75 db                	jne    0x5817c8
5817ed:	e9 c2 00 00 00       	jmp    0x5818b4
5817f2:	81 0b 00 01 00 00    	orl    $0x100,(%ebx)
5817f8:	8d 93 da 01 00 00    	lea    0x1da(%ebx),%edx
5817fe:	8b 04 24             	mov    (%esp),%eax
581801:	8b 00                	mov    (%eax),%eax
581803:	8b 00                	mov    (%eax),%eax
581805:	e8 42 e0 ff ff       	call   0x57f84c
58180a:	8b 04 24             	mov    (%esp),%eax
58180d:	8b 00                	mov    (%eax),%eax
58180f:	8b 00                	mov    (%eax),%eax
581811:	89 83 10 02 00 00    	mov    %eax,0x210(%ebx)
581817:	8b 7b 28             	mov    0x28(%ebx),%edi
58181a:	4f                   	dec    %edi
58181b:	85 ff                	test   %edi,%edi
58181d:	0f 82 91 00 00 00    	jb     0x5818b4
581823:	47                   	inc    %edi
581824:	33 f6                	xor    %esi,%esi
581826:	8b 83 10 02 00 00    	mov    0x210(%ebx),%eax
58182c:	03 c0                	add    %eax,%eax
58182e:	e8 79 0f e8 ff       	call   0x4027ac
581833:	89 84 b3 9a 01 00 00 	mov    %eax,0x19a(%ebx,%esi,4)
58183a:	8b 8b 10 02 00 00    	mov    0x210(%ebx),%ecx
581840:	03 c9                	add    %ecx,%ecx
581842:	8b 14 24             	mov    (%esp),%edx
581845:	8b 14 b2             	mov    (%edx,%esi,4),%edx
581848:	83 c2 04             	add    $0x4,%edx
58184b:	e8 70 66 e8 ff       	call   0x407ec0
581850:	46                   	inc    %esi
581851:	4f                   	dec    %edi
581852:	75 d2                	jne    0x581826
581854:	eb 5e                	jmp    0x5818b4
581856:	81 0b 00 02 00 00    	orl    $0x200,(%ebx)
58185c:	8d 93 84 02 00 00    	lea    0x284(%ebx),%edx
581862:	8b 04 24             	mov    (%esp),%eax
581865:	8b 00                	mov    (%eax),%eax
581867:	8b 00                	mov    (%eax),%eax
581869:	e8 de df ff ff       	call   0x57f84c
58186e:	8b 04 24             	mov    (%esp),%eax
581871:	8b 00                	mov    (%eax),%eax
581873:	8b 00                	mov    (%eax),%eax
581875:	89 83 ba 02 00 00    	mov    %eax,0x2ba(%ebx)
58187b:	8b 7b 2c             	mov    0x2c(%ebx),%edi
58187e:	4f                   	dec    %edi
58187f:	85 ff                	test   %edi,%edi
581881:	72 31                	jb     0x5818b4
581883:	47                   	inc    %edi
581884:	33 f6                	xor    %esi,%esi
581886:	8b 83 ba 02 00 00    	mov    0x2ba(%ebx),%eax
58188c:	03 c0                	add    %eax,%eax
58188e:	e8 19 0f e8 ff       	call   0x4027ac
581893:	89 84 b3 44 02 00 00 	mov    %eax,0x244(%ebx,%esi,4)
58189a:	8b 8b ba 02 00 00    	mov    0x2ba(%ebx),%ecx
5818a0:	03 c9                	add    %ecx,%ecx
5818a2:	8b 14 24             	mov    (%esp),%edx
5818a5:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5818a8:	83 c2 04             	add    $0x4,%edx
5818ab:	e8 10 66 e8 ff       	call   0x407ec0
5818b0:	46                   	inc    %esi
5818b1:	4f                   	dec    %edi
5818b2:	75 d2                	jne    0x581886
5818b4:	8b c3                	mov    %ebx,%eax
5818b6:	5a                   	pop    %edx
5818b7:	5f                   	pop    %edi
5818b8:	5e                   	pop    %esi
5818b9:	5b                   	pop    %ebx
5818ba:	c3                   	ret
5818bb:	90                   	nop
5818bc:	55                   	push   %ebp
5818bd:	8b ec                	mov    %esp,%ebp
5818bf:	83 c4 b8             	add    $0xffffffb8,%esp
5818c2:	53                   	push   %ebx
5818c3:	56                   	push   %esi
5818c4:	57                   	push   %edi
5818c5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5818c8:	8b da                	mov    %edx,%ebx
5818ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
5818cd:	8b c3                	mov    %ebx,%eax
5818cf:	99                   	cltd
5818d0:	52                   	push   %edx
5818d1:	50                   	push   %eax
5818d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5818d5:	8b 00                	mov    (%eax),%eax
5818d7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5818da:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
5818e0:	85 c0                	test   %eax,%eax
5818e2:	74 04                	je     0x5818e8
5818e4:	33 c0                	xor    %eax,%eax
5818e6:	eb 5e                	jmp    0x581946
5818e8:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
5818ec:	74 06                	je     0x5818f4
5818ee:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
5818f2:	75 08                	jne    0x5818fc
5818f4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5818f7:	8b 78 28             	mov    0x28(%eax),%edi
5818fa:	eb 06                	jmp    0x581902
5818fc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5818ff:	8b 78 2c             	mov    0x2c(%eax),%edi
581902:	8b df                	mov    %edi,%ebx
581904:	4b                   	dec    %ebx
581905:	85 db                	test   %ebx,%ebx
581907:	72 14                	jb     0x58191d
581909:	43                   	inc    %ebx
58190a:	8d 75 b8             	lea    -0x48(%ebp),%esi
58190d:	8b 45 fc             	mov    -0x4(%ebp),%eax
581910:	e8 2f fc ff ff       	call   0x581544
581915:	89 06                	mov    %eax,(%esi)
581917:	83 c6 04             	add    $0x4,%esi
58191a:	4b                   	dec    %ebx
58191b:	75 f0                	jne    0x58190d
58191d:	8d 55 b8             	lea    -0x48(%ebp),%edx
581920:	8b 4d 08             	mov    0x8(%ebp),%ecx
581923:	8b 45 f8             	mov    -0x8(%ebp),%eax
581926:	e8 f5 fd ff ff       	call   0x581720
58192b:	8b df                	mov    %edi,%ebx
58192d:	4b                   	dec    %ebx
58192e:	85 db                	test   %ebx,%ebx
581930:	72 11                	jb     0x581943
581932:	43                   	inc    %ebx
581933:	8d 75 b8             	lea    -0x48(%ebp),%esi
581936:	8b 06                	mov    (%esi),%eax
581938:	e8 73 f7 ff ff       	call   0x5810b0
58193d:	83 c6 04             	add    $0x4,%esi
581940:	4b                   	dec    %ebx
581941:	75 f3                	jne    0x581936
581943:	83 c8 ff             	or     $0xffffffff,%eax
581946:	5f                   	pop    %edi
581947:	5e                   	pop    %esi
581948:	5b                   	pop    %ebx
581949:	8b e5                	mov    %ebp,%esp
58194b:	5d                   	pop    %ebp
58194c:	c2 04 00             	ret    $0x4
58194f:	90                   	nop
581950:	55                   	push   %ebp
581951:	8b ec                	mov    %esp,%ebp
581953:	83 c4 d0             	add    $0xffffffd0,%esp
581956:	53                   	push   %ebx
581957:	56                   	push   %esi
581958:	57                   	push   %edi
581959:	8b f1                	mov    %ecx,%esi
58195b:	8b d8                	mov    %eax,%ebx
58195d:	8d 45 dc             	lea    -0x24(%ebp),%eax
581960:	e8 0f dd ff ff       	call   0x57f674
581965:	85 f6                	test   %esi,%esi
581967:	75 05                	jne    0x58196e
581969:	be b8 34 6a 00       	mov    $0x6a34b8,%esi
58196e:	8d 45 d0             	lea    -0x30(%ebp),%eax
581971:	8b d6                	mov    %esi,%edx
581973:	e8 bc dc ff ff       	call   0x57f634
581978:	68 e2 36 1a 3f       	push   $0x3f1a36e2
58197d:	68 2d 43 1c eb       	push   $0xeb1c432d
581982:	8d 45 dc             	lea    -0x24(%ebp),%eax
581985:	e8 a6 dd ff ff       	call   0x57f730
58198a:	85 c0                	test   %eax,%eax
58198c:	74 19                	je     0x5819a7
58198e:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
581992:	75 13                	jne    0x5819a7
581994:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
581998:	75 0d                	jne    0x5819a7