43c523:	c3                   	ret
43c524:	53                   	push   %ebx
43c525:	56                   	push   %esi
43c526:	8b d8                	mov    %eax,%ebx
43c528:	8b 73 6c             	mov    0x6c(%ebx),%esi
43c52b:	85 f6                	test   %esi,%esi
43c52d:	74 10                	je     0x43c53f
43c52f:	8b c6                	mov    %esi,%eax
43c531:	8b 10                	mov    (%eax),%edx
43c533:	ff 52 44             	call   *0x44(%edx)
43c536:	84 c0                	test   %al,%al
43c538:	74 05                	je     0x43c53f
43c53a:	33 c0                	xor    %eax,%eax
43c53c:	5e                   	pop    %esi
43c53d:	5b                   	pop    %ebx
43c53e:	c3                   	ret
43c53f:	b0 01                	mov    $0x1,%al
43c541:	5e                   	pop    %esi
43c542:	5b                   	pop    %ebx
43c543:	c3                   	ret
43c544:	53                   	push   %ebx
43c545:	56                   	push   %esi
43c546:	8b d8                	mov    %eax,%ebx
43c548:	8b c3                	mov    %ebx,%eax
43c54a:	e8 e1 18 fe ff       	call   0x41de30
43c54f:	8b c3                	mov    %ebx,%eax
43c551:	8b 10                	mov    (%eax),%edx
43c553:	ff 52 3c             	call   *0x3c(%edx)
43c556:	85 c0                	test   %eax,%eax
43c558:	74 16                	je     0x43c570
43c55a:	8b c3                	mov    %ebx,%eax
43c55c:	8b 10                	mov    (%eax),%edx
43c55e:	ff 52 3c             	call   *0x3c(%edx)
43c561:	8b d0                	mov    %eax,%edx
43c563:	b1 01                	mov    $0x1,%cl
43c565:	8b c3                	mov    %ebx,%eax
43c567:	66 be ef ff          	mov    $0xffef,%si
43c56b:	e8 80 75 fc ff       	call   0x403af0
43c570:	8b c3                	mov    %ebx,%eax
43c572:	e8 31 ce ff ff       	call   0x4393a8
43c577:	5e                   	pop    %esi
43c578:	5b                   	pop    %ebx
43c579:	c3                   	ret
43c57a:	8b c0                	mov    %eax,%eax
43c57c:	55                   	push   %ebp
43c57d:	8b ec                	mov    %esp,%ebp
43c57f:	6a 00                	push   $0x0
43c581:	53                   	push   %ebx
43c582:	56                   	push   %esi
43c583:	57                   	push   %edi
43c584:	8b f2                	mov    %edx,%esi
43c586:	8b d8                	mov    %eax,%ebx
43c588:	33 c0                	xor    %eax,%eax
43c58a:	55                   	push   %ebp
43c58b:	68 19 c6 43 00       	push   $0x43c619
43c590:	64 ff 30             	push   %fs:(%eax)
43c593:	64 89 20             	mov    %esp,%fs:(%eax)
43c596:	8b c6                	mov    %esi,%eax
43c598:	8b 15 c4 8d 44 00    	mov    0x448dc4,%edx
43c59e:	e8 dd 74 fc ff       	call   0x403a80
43c5a3:	84 c0                	test   %al,%al
43c5a5:	74 53                	je     0x43c5fa
43c5a7:	8b c3                	mov    %ebx,%eax
43c5a9:	8b 10                	mov    (%eax),%edx
43c5ab:	ff 52 50             	call   *0x50(%edx)
43c5ae:	8b d0                	mov    %eax,%edx
43c5b0:	8b fe                	mov    %esi,%edi
43c5b2:	8b c7                	mov    %edi,%eax
43c5b4:	e8 b7 d3 00 00       	call   0x449970
43c5b9:	8b 93 84 00 00 00    	mov    0x84(%ebx),%edx
43c5bf:	8b c7                	mov    %edi,%eax
43c5c1:	e8 e6 d4 00 00       	call   0x449aac
43c5c6:	8d 55 fc             	lea    -0x4(%ebp),%edx
43c5c9:	8b c3                	mov    %ebx,%eax
43c5cb:	e8 cc d8 ff ff       	call   0x439e9c
43c5d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
43c5d3:	8b c7                	mov    %edi,%eax
43c5d5:	e8 2e d2 00 00       	call   0x449808
43c5da:	0f b6 53 57          	movzbl 0x57(%ebx),%edx
43c5de:	8b c7                	mov    %edi,%eax
43c5e0:	e8 e7 d5 00 00       	call   0x449bcc
43c5e5:	ff b3 14 01 00 00    	push   0x114(%ebx)
43c5eb:	ff b3 10 01 00 00    	push   0x110(%ebx)
43c5f1:	8b c7                	mov    %edi,%eax
43c5f3:	8b 10                	mov    (%eax),%edx
43c5f5:	ff 52 34             	call   *0x34(%edx)
43c5f8:	eb 09                	jmp    0x43c603
43c5fa:	8b d6                	mov    %esi,%edx
43c5fc:	8b c3                	mov    %ebx,%eax
43c5fe:	e8 f9 bb fd ff       	call   0x4181fc
43c603:	33 c0                	xor    %eax,%eax
43c605:	5a                   	pop    %edx
43c606:	59                   	pop    %ecx
43c607:	59                   	pop    %ecx
43c608:	64 89 10             	mov    %edx,%fs:(%eax)
43c60b:	68 20 c6 43 00       	push   $0x43c620
43c610:	8d 45 fc             	lea    -0x4(%ebp),%eax
43c613:	e8 08 81 fc ff       	call   0x404720
43c618:	c3                   	ret
43c619:	e9 6a 7a fc ff       	jmp    0x404088
43c61e:	eb f0                	jmp    0x43c610
43c620:	5f                   	pop    %edi
43c621:	5e                   	pop    %esi
43c622:	5b                   	pop    %ebx
43c623:	59                   	pop    %ecx
43c624:	5d                   	pop    %ebp
43c625:	c3                   	ret
43c626:	8b c0                	mov    %eax,%eax
43c628:	55                   	push   %ebp
43c629:	8b ec                	mov    %esp,%ebp
43c62b:	51                   	push   %ecx
43c62c:	53                   	push   %ebx
43c62d:	56                   	push   %esi
43c62e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43c631:	33 db                	xor    %ebx,%ebx
43c633:	8b ca                	mov    %edx,%ecx
43c635:	85 c9                	test   %ecx,%ecx
43c637:	7e 22                	jle    0x43c65b
43c639:	be 01 00 00 00       	mov    $0x1,%esi
43c63e:	8b 55 fc             	mov    -0x4(%ebp),%edx
43c641:	83 c2 08             	add    $0x8,%edx
43c644:	dd 02                	fldl   (%edx)
43c646:	8b 45 fc             	mov    -0x4(%ebp),%eax
43c649:	dc 1c d8             	fcompl (%eax,%ebx,8)
43c64c:	9b df e0             	fstsw  %ax
43c64f:	9e                   	sahf
43c650:	73 02                	jae    0x43c654
43c652:	8b de                	mov    %esi,%ebx
43c654:	46                   	inc    %esi
43c655:	83 c2 08             	add    $0x8,%edx
43c658:	49                   	dec    %ecx
43c659:	75 e9                	jne    0x43c644
43c65b:	8b c3                	mov    %ebx,%eax
43c65d:	5e                   	pop    %esi
43c65e:	5b                   	pop    %ebx
43c65f:	59                   	pop    %ecx
43c660:	5d                   	pop    %ebp
43c661:	c3                   	ret
43c662:	8b c0                	mov    %eax,%eax
43c664:	53                   	push   %ebx
43c665:	56                   	push   %esi
43c666:	57                   	push   %edi
43c667:	55                   	push   %ebp
43c668:	83 c4 c8             	add    $0xffffffc8,%esp
43c66b:	8b f2                	mov    %edx,%esi
43c66d:	8d 3c 24             	lea    (%esp),%edi
43c670:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43c671:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43c672:	33 db                	xor    %ebx,%ebx
43c674:	8b 70 48             	mov    0x48(%eax),%esi
43c677:	8b 78 4c             	mov    0x4c(%eax),%edi
43c67a:	8b 04 24             	mov    (%esp),%eax
43c67d:	85 c0                	test   %eax,%eax
43c67f:	7f 07                	jg     0x43c688
43c681:	b3 03                	mov    $0x3,%bl
43c683:	e9 81 00 00 00       	jmp    0x43c709
43c688:	3b f0                	cmp    %eax,%esi
43c68a:	7f 04                	jg     0x43c690
43c68c:	b3 04                	mov    $0x4,%bl
43c68e:	eb 79                	jmp    0x43c709
43c690:	8b 54 24 04          	mov    0x4(%esp),%edx
43c694:	85 d2                	test   %edx,%edx
43c696:	7f 04                	jg     0x43c69c
43c698:	b3 01                	mov    $0x1,%bl
43c69a:	eb 6d                	jmp    0x43c709
43c69c:	3b fa                	cmp    %edx,%edi
43c69e:	7f 04                	jg     0x43c6a4
43c6a0:	b3 02                	mov    $0x2,%bl
43c6a2:	eb 65                	jmp    0x43c709
43c6a4:	8b ea                	mov    %edx,%ebp
43c6a6:	2b fa                	sub    %edx,%edi
43c6a8:	89 44 24 08          	mov    %eax,0x8(%esp)
43c6ac:	2b f0                	sub    %eax,%esi
43c6ae:	db 44 24 08          	fildl  0x8(%esp)
43c6b2:	dd 5c 24 0c          	fstpl  0xc(%esp)
43c6b6:	9b                   	fwait
43c6b7:	89 74 24 2c          	mov    %esi,0x2c(%esp)
43c6bb:	db 44 24 2c          	fildl  0x2c(%esp)
43c6bf:	dd 5c 24 14          	fstpl  0x14(%esp)
43c6c3:	9b                   	fwait
43c6c4:	89 6c 24 30          	mov    %ebp,0x30(%esp)
43c6c8:	db 44 24 30          	fildl  0x30(%esp)
43c6cc:	dd 5c 24 1c          	fstpl  0x1c(%esp)
43c6d0:	9b                   	fwait
43c6d1:	89 7c 24 34          	mov    %edi,0x34(%esp)
43c6d5:	db 44 24 34          	fildl  0x34(%esp)
43c6d9:	dd 5c 24 24          	fstpl  0x24(%esp)
43c6dd:	9b                   	fwait
43c6de:	8d 44 24 0c          	lea    0xc(%esp),%eax
43c6e2:	ba 03 00 00 00       	mov    $0x3,%edx
43c6e7:	e8 3c ff ff ff       	call   0x43c628
43c6ec:	83 e8 01             	sub    $0x1,%eax
43c6ef:	72 0a                	jb     0x43c6fb
43c6f1:	74 0c                	je     0x43c6ff
43c6f3:	48                   	dec    %eax
43c6f4:	74 0d                	je     0x43c703
43c6f6:	48                   	dec    %eax
43c6f7:	74 0e                	je     0x43c707
43c6f9:	eb 0e                	jmp    0x43c709
43c6fb:	b3 03                	mov    $0x3,%bl
43c6fd:	eb 0a                	jmp    0x43c709
43c6ff:	b3 04                	mov    $0x4,%bl
43c701:	eb 06                	jmp    0x43c709
43c703:	b3 01                	mov    $0x1,%bl
43c705:	eb 02                	jmp    0x43c709
43c707:	b3 02                	mov    $0x2,%bl
43c709:	8b c3                	mov    %ebx,%eax
43c70b:	83 c4 38             	add    $0x38,%esp
43c70e:	5d                   	pop    %ebp
43c70f:	5f                   	pop    %edi
43c710:	5e                   	pop    %esi
43c711:	5b                   	pop    %ebx
43c712:	c3                   	ret
43c713:	90                   	nop
43c714:	53                   	push   %ebx
43c715:	8b d8                	mov    %eax,%ebx
43c717:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
43c71e:	74 18                	je     0x43c738
43c720:	8b c3                	mov    %ebx,%eax
43c722:	8b 10                	mov    (%eax),%edx
43c724:	ff 52 58             	call   *0x58(%edx)
43c727:	8b d0                	mov    %eax,%edx
43c729:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
43c72f:	e8 4c 73 fc ff       	call   0x403a80
43c734:	84 c0                	test   %al,%al
43c736:	75 04                	jne    0x43c73c
43c738:	33 c0                	xor    %eax,%eax
43c73a:	5b                   	pop    %ebx
43c73b:	c3                   	ret
43c73c:	b0 01                	mov    $0x1,%al
43c73e:	5b                   	pop    %ebx
43c73f:	c3                   	ret
43c740:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
43c746:	c3                   	ret
43c747:	90                   	nop
43c748:	53                   	push   %ebx
43c749:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
43c74d:	75 16                	jne    0x43c765
43c74f:	8b 50 48             	mov    0x48(%eax),%edx
43c752:	52                   	push   %edx
43c753:	8b 50 4c             	mov    0x4c(%eax),%edx
43c756:	52                   	push   %edx
43c757:	8b 48 44             	mov    0x44(%eax),%ecx
43c75a:	8b 50 40             	mov    0x40(%eax),%edx
43c75d:	8b 18                	mov    (%eax),%ebx
43c75f:	ff 93 88 00 00 00    	call   *0x88(%ebx)
43c765:	5b                   	pop    %ebx
43c766:	c3                   	ret
43c767:	90                   	nop
43c768:	53                   	push   %ebx
43c769:	8b d8                	mov    %eax,%ebx
43c76b:	8b c3                	mov    %ebx,%eax
43c76d:	e8 c6 dd ff ff       	call   0x43a538
43c772:	84 c0                	test   %al,%al
43c774:	74 07                	je     0x43c77d
43c776:	b8 00 00 02 00       	mov    $0x20000,%eax
43c77b:	5b                   	pop    %ebx
43c77c:	c3                   	ret
43c77d:	33 c0                	xor    %eax,%eax
43c77f:	5b                   	pop    %ebx
43c780:	c3                   	ret
43c781:	8d 40 00             	lea    0x0(%eax),%eax
43c784:	8b 50 6c             	mov    0x6c(%eax),%edx
43c787:	85 d2                	test   %edx,%edx
43c789:	74 07                	je     0x43c792
43c78b:	8b c2                	mov    %edx,%eax
43c78d:	8b 10                	mov    (%eax),%edx
43c78f:	ff 52 1c             	call   *0x1c(%edx)
43c792:	c3                   	ret
43c793:	90                   	nop
43c794:	53                   	push   %ebx
43c795:	56                   	push   %esi
43c796:	57                   	push   %edi
43c797:	8b fa                	mov    %edx,%edi
43c799:	8b d8                	mov    %eax,%ebx
43c79b:	8b 73 6c             	mov    0x6c(%ebx),%esi
43c79e:	85 f6                	test   %esi,%esi
43c7a0:	74 1b                	je     0x43c7bd
43c7a2:	8b 47 08             	mov    0x8(%edi),%eax
43c7a5:	8d 50 38             	lea    0x38(%eax),%edx
43c7a8:	8b c6                	mov    %esi,%eax
43c7aa:	8b 08                	mov    (%eax),%ecx
43c7ac:	ff 91 84 00 00 00    	call   *0x84(%ecx)
43c7b2:	84 c0                	test   %al,%al
43c7b4:	75 07                	jne    0x43c7bd
43c7b6:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
43c7bd:	5f                   	pop    %edi
43c7be:	5e                   	pop    %esi
43c7bf:	5b                   	pop    %ebx
43c7c0:	c3                   	ret
43c7c1:	8d 40 00             	lea    0x0(%eax),%eax
43c7c4:	53                   	push   %ebx
43c7c5:	56                   	push   %esi
43c7c6:	57                   	push   %edi
43c7c7:	55                   	push   %ebp
43c7c8:	83 c4 c8             	add    $0xffffffc8,%esp
43c7cb:	8b ea                	mov    %edx,%ebp
43c7cd:	8b f8                	mov    %eax,%edi
43c7cf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43c7d3:	0f 85 27 01 00 00    	jne    0x43c900
43c7d9:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
43c7dd:	74 0e                	je     0x43c7ed
43c7df:	8b d5                	mov    %ebp,%edx
43c7e1:	8b c7                	mov    %edi,%eax
43c7e3:	8b 08                	mov    (%eax),%ecx
43c7e5:	ff 51 f0             	call   *-0x10(%ecx)
43c7e8:	e9 13 01 00 00       	jmp    0x43c900
43c7ed:	8b 45 08             	mov    0x8(%ebp),%eax
43c7f0:	89 44 24 11          	mov    %eax,0x11(%esp)
43c7f4:	0f bf 44 24 11       	movswl 0x11(%esp),%eax
43c7f9:	89 44 24 15          	mov    %eax,0x15(%esp)
43c7fd:	0f bf 44 24 13       	movswl 0x13(%esp),%eax
43c802:	89 44 24 19          	mov    %eax,0x19(%esp)
43c806:	8b 44 24 15          	mov    0x15(%esp),%eax
43c80a:	89 04 24             	mov    %eax,(%esp)
43c80d:	8b 44 24 19          	mov    0x19(%esp),%eax
43c811:	89 44 24 04          	mov    %eax,0x4(%esp)
43c815:	8b c4                	mov    %esp,%eax
43c817:	e8 4c 9f fd ff       	call   0x416768
43c81c:	84 c0                	test   %al,%al
43c81e:	74 11                	je     0x43c831
43c820:	8b 04 24             	mov    (%esp),%eax
43c823:	89 44 24 08          	mov    %eax,0x8(%esp)
43c827:	8b 44 24 04          	mov    0x4(%esp),%eax
43c82b:	89 44 24 0c          	mov    %eax,0xc(%esp)
43c82f:	eb 3c                	jmp    0x43c86d
43c831:	8d 4c 24 08          	lea    0x8(%esp),%ecx
43c835:	8b d4                	mov    %esp,%edx
43c837:	8b c7                	mov    %edi,%eax
43c839:	e8 9e d1 ff ff       	call   0x4399dc
43c83e:	ff 74 24 0c          	push   0xc(%esp)
43c842:	ff 74 24 0c          	push   0xc(%esp)
43c846:	8d 54 24 28          	lea    0x28(%esp),%edx
43c84a:	8b c7                	mov    %edi,%eax
43c84c:	8b 08                	mov    (%eax),%ecx
43c84e:	ff 51 44             	call   *0x44(%ecx)
43c851:	8d 44 24 28          	lea    0x28(%esp),%eax
43c855:	50                   	push   %eax
43c856:	e8 9d a8 fc ff       	call   0x4070f8
43c85b:	85 c0                	test   %eax,%eax
43c85d:	75 0e                	jne    0x43c86d
43c85f:	8b d5                	mov    %ebp,%edx
43c861:	8b c7                	mov    %edi,%eax
43c863:	8b 08                	mov    (%eax),%ecx
43c865:	ff 51 f0             	call   *-0x10(%ecx)
43c868:	e9 93 00 00 00       	jmp    0x43c900
43c86d:	c6 44 24 10 00       	movb   $0x0,0x10(%esp)
43c872:	8d 4c 24 10          	lea    0x10(%esp),%ecx
43c876:	8d 54 24 08          	lea    0x8(%esp),%edx
43c87a:	8b c7                	mov    %edi,%eax