43a4b1:	64 89 21             	mov    %esp,%fs:(%ecx)
43a4b4:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a4b7:	8b 52 44             	mov    0x44(%edx),%edx
43a4ba:	8b ca                	mov    %edx,%ecx
43a4bc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
43a4bf:	03 4b 4c             	add    0x4c(%ebx),%ecx
43a4c2:	51                   	push   %ecx
43a4c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a4c6:	8b 40 40             	mov    0x40(%eax),%eax
43a4c9:	8b c8                	mov    %eax,%ecx
43a4cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
43a4ce:	03 4b 48             	add    0x48(%ebx),%ecx
43a4d1:	51                   	push   %ecx
43a4d2:	52                   	push   %edx
43a4d3:	50                   	push   %eax
43a4d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
43a4d7:	50                   	push   %eax
43a4d8:	e8 73 c7 fc ff       	call   0x406c50
43a4dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a4e0:	8b 40 30             	mov    0x30(%eax),%eax
43a4e3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a4e6:	8b 55 f8             	mov    -0x8(%ebp),%edx
43a4e9:	e8 d2 4e 00 00       	call   0x43f3c0
43a4ee:	33 c0                	xor    %eax,%eax
43a4f0:	5a                   	pop    %edx
43a4f1:	59                   	pop    %ecx
43a4f2:	59                   	pop    %ecx
43a4f3:	64 89 10             	mov    %edx,%fs:(%eax)
43a4f6:	68 2e a5 43 00       	push   $0x43a52e
43a4fb:	8b 45 f8             	mov    -0x8(%ebp),%eax
43a4fe:	50                   	push   %eax
43a4ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a502:	8b 40 30             	mov    0x30(%eax),%eax
43a505:	e8 a6 73 00 00       	call   0x4418b0
43a50a:	50                   	push   %eax
43a50b:	e8 18 cc fc ff       	call   0x407128
43a510:	c3                   	ret
43a511:	e9 72 9b fc ff       	jmp    0x404088
43a516:	eb e3                	jmp    0x43a4fb
43a518:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a51b:	8b 10                	mov    (%eax),%edx
43a51d:	ff 92 80 00 00 00    	call   *0x80(%edx)
43a523:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a526:	8b 10                	mov    (%eax),%edx
43a528:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
43a52e:	5b                   	pop    %ebx
43a52f:	59                   	pop    %ecx
43a530:	59                   	pop    %ecx
43a531:	5d                   	pop    %ebp
43a532:	c3                   	ret
43a533:	90                   	nop
43a534:	33 c0                	xor    %eax,%eax
43a536:	c3                   	ret
43a537:	90                   	nop
43a538:	8b 15 0c d8 46 00    	mov    0x46d80c,%edx
43a53e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
43a542:	74 06                	je     0x43a54a
43a544:	80 78 5f 00          	cmpb   $0x0,0x5f(%eax)
43a548:	75 03                	jne    0x43a54d
43a54a:	33 c0                	xor    %eax,%eax
43a54c:	c3                   	ret
43a54d:	b0 01                	mov    $0x1,%al
43a54f:	c3                   	ret
43a550:	8b 15 0c d8 46 00    	mov    0x46d80c,%edx
43a556:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
43a55a:	74 06                	je     0x43a562
43a55c:	80 78 5f 01          	cmpb   $0x1,0x5f(%eax)
43a560:	74 03                	je     0x43a565
43a562:	33 c0                	xor    %eax,%eax
43a564:	c3                   	ret
43a565:	b0 01                	mov    $0x1,%al
43a567:	c3                   	ret
43a568:	8b 15 0c d8 46 00    	mov    0x46d80c,%edx
43a56e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
43a572:	74 09                	je     0x43a57d
43a574:	0f b6 40 5f          	movzbl 0x5f(%eax),%eax
43a578:	48                   	dec    %eax
43a579:	2c 02                	sub    $0x2,%al
43a57b:	72 03                	jb     0x43a580
43a57d:	33 c0                	xor    %eax,%eax
43a57f:	c3                   	ret
43a580:	b0 01                	mov    $0x1,%al
43a582:	c3                   	ret
43a583:	90                   	nop
43a584:	8b 15 ec 14 47 00    	mov    0x4714ec,%edx
43a58a:	8b 4a 08             	mov    0x8(%edx),%ecx
43a58d:	8b 15 ec 14 47 00    	mov    0x4714ec,%edx
43a593:	0f b6 52 04          	movzbl 0x4(%edx),%edx
43a597:	e8 04 00 00 00       	call   0x43a5a0
43a59c:	c3                   	ret
43a59d:	8d 40 00             	lea    0x0(%eax),%eax
43a5a0:	53                   	push   %ebx
43a5a1:	56                   	push   %esi
43a5a2:	57                   	push   %edi
43a5a3:	83 c4 ec             	add    $0xffffffec,%esp
43a5a6:	8b f1                	mov    %ecx,%esi
43a5a8:	8b da                	mov    %edx,%ebx
43a5aa:	8b f8                	mov    %eax,%edi
43a5ac:	a1 ec 14 47 00       	mov    0x4714ec,%eax
43a5b1:	e8 fa c2 00 00       	call   0x4468b0
43a5b6:	84 c0                	test   %al,%al
43a5b8:	74 0c                	je     0x43a5c6
43a5ba:	33 d2                	xor    %edx,%edx
43a5bc:	a1 ec 14 47 00       	mov    0x4714ec,%eax
43a5c1:	e8 aa c3 00 00       	call   0x446970
43a5c6:	8b c7                	mov    %edi,%eax
43a5c8:	8b 15 a0 a7 44 00    	mov    0x44a7a0,%edx
43a5ce:	e8 ad 94 fc ff       	call   0x403a80
43a5d3:	84 c0                	test   %al,%al
43a5d5:	74 20                	je     0x43a5f7
43a5d7:	80 bf 8f 00 00 00 01 	cmpb   $0x1,0x8f(%edi)
43a5de:	74 17                	je     0x43a5f7
43a5e0:	8b 0d b8 d6 46 00    	mov    0x46d6b8,%ecx
43a5e6:	b2 01                	mov    $0x1,%dl
43a5e8:	a1 64 57 41 00       	mov    0x415764,%eax
43a5ed:	e8 06 1d fd ff       	call   0x40c2f8
43a5f2:	e8 71 9b fc ff       	call   0x404168
43a5f7:	8b c7                	mov    %edi,%eax
43a5f9:	e8 52 0b 00 00       	call   0x43b150
43a5fe:	83 3d 10 15 47 00 00 	cmpl   $0x0,0x471510
43a605:	74 09                	je     0x43a610
43a607:	83 3d 10 15 47 00 ff 	cmpl   $0xffffffff,0x471510
43a60e:	75 75                	jne    0x43a685
43a610:	33 c0                	xor    %eax,%eax
43a612:	a3 10 15 47 00       	mov    %eax,0x471510
43a617:	f6 47 54 01          	testb  $0x1,0x54(%edi)
43a61b:	74 48                	je     0x43a665
43a61d:	54                   	push   %esp
43a61e:	e8 8d c8 fc ff       	call   0x406eb0
43a623:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
43a627:	8b d4                	mov    %esp,%edx
43a629:	8b c7                	mov    %edi,%eax
43a62b:	e8 ac f3 ff ff       	call   0x4399dc
43a630:	8b 44 24 0c          	mov    0xc(%esp),%eax
43a634:	89 04 24             	mov    %eax,(%esp)
43a637:	8b 44 24 10          	mov    0x10(%esp),%eax
43a63b:	89 44 24 04          	mov    %eax,0x4(%esp)
43a63f:	0f b7 04 24          	movzwl (%esp),%eax
43a643:	66 89 44 24 08       	mov    %ax,0x8(%esp)
43a648:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
43a64d:	66 89 44 24 0a       	mov    %ax,0xa(%esp)
43a652:	8b 44 24 08          	mov    0x8(%esp),%eax
43a656:	50                   	push   %eax
43a657:	33 c9                	xor    %ecx,%ecx
43a659:	ba 02 02 00 00       	mov    $0x202,%edx
43a65e:	8b c7                	mov    %edi,%eax
43a660:	e8 b7 0a 00 00       	call   0x43b11c
43a665:	85 f6                	test   %esi,%esi
43a667:	7d 08                	jge    0x43a671
43a669:	a1 ec 14 47 00       	mov    0x4714ec,%eax
43a66e:	8b 70 08             	mov    0x8(%eax),%esi
43a671:	83 3d 10 15 47 00 ff 	cmpl   $0xffffffff,0x471510
43a678:	74 0b                	je     0x43a685
43a67a:	8b ce                	mov    %esi,%ecx
43a67c:	8b d3                	mov    %ebx,%edx
43a67e:	8b c7                	mov    %edi,%eax
43a680:	e8 e7 d7 ff ff       	call   0x437e6c
43a685:	83 c4 14             	add    $0x14,%esp
43a688:	5f                   	pop    %edi
43a689:	5e                   	pop    %esi
43a68a:	5b                   	pop    %ebx
43a68b:	c3                   	ret
43a68c:	c3                   	ret
43a68d:	8d 40 00             	lea    0x0(%eax),%eax
43a690:	3b 05 10 15 47 00    	cmp    0x471510,%eax
43a696:	0f 94 c0             	sete   %al
43a699:	c3                   	ret
43a69a:	8b c0                	mov    %eax,%eax
43a69c:	55                   	push   %ebp
43a69d:	8b ec                	mov    %esp,%ebp
43a69f:	53                   	push   %ebx
43a6a0:	56                   	push   %esi
43a6a1:	8b 75 08             	mov    0x8(%ebp),%esi
43a6a4:	c6 06 00             	movb   $0x0,(%esi)
43a6a7:	66 83 b8 e2 00 00 00 	cmpw   $0x0,0xe2(%eax)
43a6ae:	00
43a6af:	74 20                	je     0x43a6d1
43a6b1:	c6 06 01             	movb   $0x1,(%esi)
43a6b4:	51                   	push   %ecx
43a6b5:	8b 4d 10             	mov    0x10(%ebp),%ecx
43a6b8:	51                   	push   %ecx
43a6b9:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
43a6bd:	51                   	push   %ecx
43a6be:	56                   	push   %esi
43a6bf:	8b d8                	mov    %eax,%ebx
43a6c1:	8b ca                	mov    %edx,%ecx
43a6c3:	8b d0                	mov    %eax,%edx
43a6c5:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
43a6cb:	ff 93 e0 00 00 00    	call   *0xe0(%ebx)
43a6d1:	5e                   	pop    %esi
43a6d2:	5b                   	pop    %ebx
43a6d3:	5d                   	pop    %ebp
43a6d4:	c2 0c 00             	ret    $0xc
43a6d7:	90                   	nop
43a6d8:	55                   	push   %ebp
43a6d9:	8b ec                	mov    %esp,%ebp
43a6db:	53                   	push   %ebx
43a6dc:	66 83 b8 da 00 00 00 	cmpw   $0x0,0xda(%eax)
43a6e3:	00
43a6e4:	74 17                	je     0x43a6fd
43a6e6:	51                   	push   %ecx
43a6e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a6ea:	51                   	push   %ecx
43a6eb:	8b d8                	mov    %eax,%ebx
43a6ed:	8b ca                	mov    %edx,%ecx
43a6ef:	8b d0                	mov    %eax,%edx
43a6f1:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
43a6f7:	ff 93 d8 00 00 00    	call   *0xd8(%ebx)
43a6fd:	5b                   	pop    %ebx
43a6fe:	5d                   	pop    %ebp
43a6ff:	c2 04 00             	ret    $0x4
43a702:	8b c0                	mov    %eax,%eax
43a704:	53                   	push   %ebx
43a705:	66 83 b8 02 01 00 00 	cmpw   $0x0,0x102(%eax)
43a70c:	00
43a70d:	74 12                	je     0x43a721
43a70f:	8b ca                	mov    %edx,%ecx
43a711:	8b d8                	mov    %eax,%ebx
43a713:	8b d0                	mov    %eax,%edx
43a715:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
43a71b:	ff 93 00 01 00 00    	call   *0x100(%ebx)
43a721:	5b                   	pop    %ebx
43a722:	c3                   	ret
43a723:	90                   	nop
43a724:	55                   	push   %ebp
43a725:	8b ec                	mov    %esp,%ebp
43a727:	53                   	push   %ebx
43a728:	66 83 b8 0a 01 00 00 	cmpw   $0x0,0x10a(%eax)
43a72f:	00
43a730:	74 17                	je     0x43a749
43a732:	51                   	push   %ecx
43a733:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a736:	51                   	push   %ecx
43a737:	8b d8                	mov    %eax,%ebx
43a739:	8b ca                	mov    %edx,%ecx
43a73b:	8b d0                	mov    %eax,%edx
43a73d:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
43a743:	ff 93 08 01 00 00    	call   *0x108(%ebx)
43a749:	5b                   	pop    %ebx
43a74a:	5d                   	pop    %ebp
43a74b:	c2 04 00             	ret    $0x4
43a74e:	8b c0                	mov    %eax,%eax
43a750:	53                   	push   %ebx
43a751:	56                   	push   %esi
43a752:	57                   	push   %edi
43a753:	55                   	push   %ebp
43a754:	83 c4 ec             	add    $0xffffffec,%esp
43a757:	8b da                	mov    %edx,%ebx
43a759:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
43a75d:	74 0c                	je     0x43a76b
43a75f:	8b 43 08             	mov    0x8(%ebx),%eax
43a762:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
43a769:	75 6d                	jne    0x43a7d8
43a76b:	8b 43 40             	mov    0x40(%ebx),%eax
43a76e:	e8 c9 f6 ff ff       	call   0x439e3c
43a773:	8b f8                	mov    %eax,%edi
43a775:	8b 43 40             	mov    0x40(%ebx),%eax
43a778:	e8 ab f6 ff ff       	call   0x439e28
43a77d:	8b e8                	mov    %eax,%ebp
43a77f:	89 7c 24 10          	mov    %edi,0x10(%esp)
43a783:	db 44 24 10          	fildl  0x10(%esp)
43a787:	dc 4b 28             	fmull  0x28(%ebx)
43a78a:	db 43 10             	fildl  0x10(%ebx)
43a78d:	de e1                	fsubp  %st,%st(1)
43a78f:	dd 1c 24             	fstpl  (%esp)
43a792:	9b                   	fwait
43a793:	89 6c 24 10          	mov    %ebp,0x10(%esp)
43a797:	db 44 24 10          	fildl  0x10(%esp)
43a79b:	dc 4b 30             	fmull  0x30(%ebx)
43a79e:	db 43 14             	fildl  0x14(%ebx)
43a7a1:	de e1                	fsubp  %st,%st(1)
43a7a3:	dd 5c 24 08          	fstpl  0x8(%esp)
43a7a7:	9b                   	fwait
43a7a8:	8d 73 4c             	lea    0x4c(%ebx),%esi
43a7ab:	dd 04 24             	fldl   (%esp)
43a7ae:	e8 75 88 fc ff       	call   0x403028
43a7b3:	89 06                	mov    %eax,(%esi)
43a7b5:	dd 44 24 08          	fldl   0x8(%esp)
43a7b9:	e8 6a 88 fc ff       	call   0x403028
43a7be:	89 46 04             	mov    %eax,0x4(%esi)
43a7c1:	03 3e                	add    (%esi),%edi
43a7c3:	89 7e 08             	mov    %edi,0x8(%esi)
43a7c6:	03 6e 04             	add    0x4(%esi),%ebp
43a7c9:	89 6e 0c             	mov    %ebp,0xc(%esi)
43a7cc:	8d 53 4c             	lea    0x4c(%ebx),%edx
43a7cf:	8b c3                	mov    %ebx,%eax
43a7d1:	8b 08                	mov    (%eax),%ecx
43a7d3:	ff 51 2c             	call   *0x2c(%ecx)
43a7d6:	eb 41                	jmp    0x43a819
43a7d8:	8d 43 4c             	lea    0x4c(%ebx),%eax
43a7db:	50                   	push   %eax
43a7dc:	8b 43 08             	mov    0x8(%ebx),%eax
43a7df:	e8 cc 70 00 00       	call   0x4418b0
43a7e4:	50                   	push   %eax
43a7e5:	e8 fe c7 fc ff       	call   0x406fe8
43a7ea:	8b 43 08             	mov    0x8(%ebx),%eax
43a7ed:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
43a7f4:	74 23                	je     0x43a819
43a7f6:	83 b8 b0 01 00 00 00 	cmpl   $0x0,0x1b0(%eax)
43a7fd:	74 1a                	je     0x43a819
43a7ff:	0f b6 53 5c          	movzbl 0x5c(%ebx),%edx
43a803:	52                   	push   %edx
43a804:	8d 53 4c             	lea    0x4c(%ebx),%edx
43a807:	52                   	push   %edx
43a808:	8b 80 b0 01 00 00    	mov    0x1b0(%eax),%eax
43a80e:	8b 4b 60             	mov    0x60(%ebx),%ecx
43a811:	8b 53 40             	mov    0x40(%ebx),%edx
43a814:	8b 18                	mov    (%eax),%ebx
43a816:	ff 53 24             	call   *0x24(%ebx)
43a819:	83 c4 14             	add    $0x14,%esp
43a81c:	5d                   	pop    %ebp
43a81d:	5f                   	pop    %edi
43a81e:	5e                   	pop    %esi
43a81f:	5b                   	pop    %ebx
43a820:	c3                   	ret
43a821:	8d 40 00             	lea    0x0(%eax),%eax
43a824:	55                   	push   %ebp
43a825:	8b ec                	mov    %esp,%ebp
43a827:	56                   	push   %esi
43a828:	8b f2                	mov    %edx,%esi
43a82a:	8b d6                	mov    %esi,%edx
43a82c:	66 be d1 ff          	mov    $0xffd1,%si
43a830:	e8 bb 92 fc ff       	call   0x403af0
43a835:	5e                   	pop    %esi
43a836:	5d                   	pop    %ebp
43a837:	c2 04 00             	ret    $0x4
43a83a:	8b c0                	mov    %eax,%eax
43a83c:	55                   	push   %ebp
43a83d:	8b ec                	mov    %esp,%ebp
43a83f:	53                   	push   %ebx
43a840:	66 83 b8 fa 00 00 00 	cmpw   $0x0,0xfa(%eax)
43a847:	00
43a848:	74 17                	je     0x43a861
43a84a:	51                   	push   %ecx
43a84b:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a84e:	51                   	push   %ecx
43a84f:	8b d8                	mov    %eax,%ebx
43a851:	8b ca                	mov    %edx,%ecx
43a853:	8b d0                	mov    %eax,%edx
43a855:	8b 83 fc 00 00 00    	mov    0xfc(%ebx),%eax
43a85b:	ff 93 f8 00 00 00    	call   *0xf8(%ebx)
43a861:	5b                   	pop    %ebx
43a862:	5d                   	pop    %ebp
43a863:	c2 04 00             	ret    $0x4
43a866:	8b c0                	mov    %eax,%eax
43a868:	53                   	push   %ebx
43a869:	66 83 b8 f2 00 00 00 	cmpw   $0x0,0xf2(%eax)
43a870:	00
43a871:	74 12                	je     0x43a885
43a873:	8b ca                	mov    %edx,%ecx