44a455:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44a459:	75 1a                	jne    0x44a475
44a45b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a45e:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44a462:	0f 84 d6 00 00 00    	je     0x44a53e
44a468:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a46b:	f6 40 51 04          	testb  $0x4,0x51(%eax)
44a46f:	0f 85 c9 00 00 00    	jne    0x44a53e
44a475:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a478:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
44a47c:	0f 84 bc 00 00 00    	je     0x44a53e
44a482:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a485:	8b 40 30             	mov    0x30(%eax),%eax
44a488:	e8 bf 78 00 00       	call   0x451d4c
44a48d:	84 c0                	test   %al,%al
44a48f:	0f 84 a9 00 00 00    	je     0x44a53e
44a495:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a498:	f6 40 50 40          	testb  $0x40,0x50(%eax)
44a49c:	0f 84 86 00 00 00    	je     0x44a528
44a4a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4a5:	8b 40 30             	mov    0x30(%eax),%eax
44a4a8:	e8 ff 74 00 00       	call   0x4519ac
44a4ad:	50                   	push   %eax
44a4ae:	e8 cd ca fb ff       	call   0x406f80
44a4b3:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a4b6:	33 c9                	xor    %ecx,%ecx
44a4b8:	55                   	push   %ebp
44a4b9:	68 21 a5 44 00       	push   $0x44a521
44a4be:	64 ff 31             	push   %fs:(%ecx)
44a4c1:	64 89 21             	mov    %esp,%fs:(%ecx)
44a4c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a4c7:	8b 52 44             	mov    0x44(%edx),%edx
44a4ca:	8b ca                	mov    %edx,%ecx
44a4cc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a4cf:	03 4b 4c             	add    0x4c(%ebx),%ecx
44a4d2:	51                   	push   %ecx
44a4d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4d6:	8b 40 40             	mov    0x40(%eax),%eax
44a4d9:	8b c8                	mov    %eax,%ecx
44a4db:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a4de:	03 4b 48             	add    0x48(%ebx),%ecx
44a4e1:	51                   	push   %ecx
44a4e2:	52                   	push   %edx
44a4e3:	50                   	push   %eax
44a4e4:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a4e7:	50                   	push   %eax
44a4e8:	e8 f3 c7 fb ff       	call   0x406ce0
44a4ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4f0:	8b 40 30             	mov    0x30(%eax),%eax
44a4f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a4f6:	8b 55 f8             	mov    -0x8(%ebp),%edx
44a4f9:	e8 be 4f 00 00       	call   0x44f4bc
44a4fe:	33 c0                	xor    %eax,%eax
44a500:	5a                   	pop    %edx
44a501:	59                   	pop    %ecx
44a502:	59                   	pop    %ecx
44a503:	64 89 10             	mov    %edx,%fs:(%eax)
44a506:	68 3e a5 44 00       	push   $0x44a53e
44a50b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a50e:	50                   	push   %eax
44a50f:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a512:	8b 40 30             	mov    0x30(%eax),%eax
44a515:	e8 92 74 00 00       	call   0x4519ac
44a51a:	50                   	push   %eax
44a51b:	e8 e8 cc fb ff       	call   0x407208
44a520:	c3                   	ret
44a521:	e9 8a 9b fb ff       	jmp    0x4040b0
44a526:	eb e3                	jmp    0x44a50b
44a528:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a52b:	8b 10                	mov    (%eax),%edx
44a52d:	ff 92 80 00 00 00    	call   *0x80(%edx)
44a533:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a536:	8b 10                	mov    (%eax),%edx
44a538:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
44a53e:	5b                   	pop    %ebx
44a53f:	59                   	pop    %ecx
44a540:	59                   	pop    %ecx
44a541:	5d                   	pop    %ebp
44a542:	c3                   	ret
44a543:	90                   	nop
44a544:	33 c0                	xor    %eax,%eax
44a546:	c3                   	ret
44a547:	90                   	nop
44a548:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a54e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a552:	74 06                	je     0x44a55a
44a554:	80 78 5f 00          	cmpb   $0x0,0x5f(%eax)
44a558:	75 03                	jne    0x44a55d
44a55a:	33 c0                	xor    %eax,%eax
44a55c:	c3                   	ret
44a55d:	b0 01                	mov    $0x1,%al
44a55f:	c3                   	ret
44a560:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a566:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a56a:	74 06                	je     0x44a572
44a56c:	80 78 5f 01          	cmpb   $0x1,0x5f(%eax)
44a570:	74 03                	je     0x44a575
44a572:	33 c0                	xor    %eax,%eax
44a574:	c3                   	ret
44a575:	b0 01                	mov    $0x1,%al
44a577:	c3                   	ret
44a578:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a57e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a582:	74 09                	je     0x44a58d
44a584:	0f b6 40 5f          	movzbl 0x5f(%eax),%eax
44a588:	48                   	dec    %eax
44a589:	2c 02                	sub    $0x2,%al
44a58b:	72 03                	jb     0x44a590
44a58d:	33 c0                	xor    %eax,%eax
44a58f:	c3                   	ret
44a590:	b0 01                	mov    $0x1,%al
44a592:	c3                   	ret
44a593:	90                   	nop
44a594:	8b 15 18 b5 4a 00    	mov    0x4ab518,%edx
44a59a:	8b 4a 08             	mov    0x8(%edx),%ecx
44a59d:	8b 15 18 b5 4a 00    	mov    0x4ab518,%edx
44a5a3:	0f b6 52 04          	movzbl 0x4(%edx),%edx
44a5a7:	e8 04 00 00 00       	call   0x44a5b0
44a5ac:	c3                   	ret
44a5ad:	8d 40 00             	lea    0x0(%eax),%eax
44a5b0:	53                   	push   %ebx
44a5b1:	56                   	push   %esi
44a5b2:	57                   	push   %edi
44a5b3:	83 c4 ec             	add    $0xffffffec,%esp
44a5b6:	8b f1                	mov    %ecx,%esi
44a5b8:	8b da                	mov    %edx,%ebx
44a5ba:	8b f8                	mov    %eax,%edi
44a5bc:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a5c1:	e8 26 c6 00 00       	call   0x456bec
44a5c6:	84 c0                	test   %al,%al
44a5c8:	74 0c                	je     0x44a5d6
44a5ca:	33 d2                	xor    %edx,%edx
44a5cc:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a5d1:	e8 d6 c6 00 00       	call   0x456cac
44a5d6:	8b c7                	mov    %edi,%eax
44a5d8:	8b 15 20 ab 45 00    	mov    0x45ab20,%edx
44a5de:	e8 c5 94 fb ff       	call   0x403aa8
44a5e3:	84 c0                	test   %al,%al
44a5e5:	74 20                	je     0x44a607
44a5e7:	80 bf 8f 00 00 00 01 	cmpb   $0x1,0x8f(%edi)
44a5ee:	74 17                	je     0x44a607
44a5f0:	8b 0d ec 76 4a 00    	mov    0x4a76ec,%ecx
44a5f6:	b2 01                	mov    $0x1,%dl
44a5f8:	a1 40 5c 41 00       	mov    0x415c40,%eax
44a5fd:	e8 ca 1e fc ff       	call   0x40c4cc
44a602:	e8 89 9b fb ff       	call   0x404190
44a607:	8b c7                	mov    %edi,%eax
44a609:	e8 52 0b 00 00       	call   0x44b160
44a60e:	83 3d 3c b5 4a 00 00 	cmpl   $0x0,0x4ab53c
44a615:	74 09                	je     0x44a620
44a617:	83 3d 3c b5 4a 00 ff 	cmpl   $0xffffffff,0x4ab53c
44a61e:	75 75                	jne    0x44a695
44a620:	33 c0                	xor    %eax,%eax
44a622:	a3 3c b5 4a 00       	mov    %eax,0x4ab53c
44a627:	f6 47 54 01          	testb  $0x1,0x54(%edi)
44a62b:	74 48                	je     0x44a675
44a62d:	54                   	push   %esp
44a62e:	e8 45 c9 fb ff       	call   0x406f78
44a633:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
44a637:	8b d4                	mov    %esp,%edx
44a639:	8b c7                	mov    %edi,%eax
44a63b:	e8 64 f3 ff ff       	call   0x4499a4
44a640:	8b 44 24 0c          	mov    0xc(%esp),%eax
44a644:	89 04 24             	mov    %eax,(%esp)
44a647:	8b 44 24 10          	mov    0x10(%esp),%eax
44a64b:	89 44 24 04          	mov    %eax,0x4(%esp)
44a64f:	0f b7 04 24          	movzwl (%esp),%eax
44a653:	66 89 44 24 08       	mov    %ax,0x8(%esp)
44a658:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
44a65d:	66 89 44 24 0a       	mov    %ax,0xa(%esp)
44a662:	8b 44 24 08          	mov    0x8(%esp),%eax
44a666:	50                   	push   %eax
44a667:	33 c9                	xor    %ecx,%ecx
44a669:	ba 02 02 00 00       	mov    $0x202,%edx
44a66e:	8b c7                	mov    %edi,%eax
44a670:	e8 b7 0a 00 00       	call   0x44b12c
44a675:	85 f6                	test   %esi,%esi
44a677:	7d 08                	jge    0x44a681
44a679:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a67e:	8b 70 08             	mov    0x8(%eax),%esi
44a681:	83 3d 3c b5 4a 00 ff 	cmpl   $0xffffffff,0x4ab53c
44a688:	74 0b                	je     0x44a695
44a68a:	8b ce                	mov    %esi,%ecx
44a68c:	8b d3                	mov    %ebx,%edx
44a68e:	8b c7                	mov    %edi,%eax
44a690:	e8 9f d7 ff ff       	call   0x447e34
44a695:	83 c4 14             	add    $0x14,%esp
44a698:	5f                   	pop    %edi
44a699:	5e                   	pop    %esi
44a69a:	5b                   	pop    %ebx
44a69b:	c3                   	ret
44a69c:	c3                   	ret
44a69d:	8d 40 00             	lea    0x0(%eax),%eax
44a6a0:	3b 05 3c b5 4a 00    	cmp    0x4ab53c,%eax
44a6a6:	0f 94 c0             	sete   %al
44a6a9:	c3                   	ret
44a6aa:	8b c0                	mov    %eax,%eax
44a6ac:	55                   	push   %ebp
44a6ad:	8b ec                	mov    %esp,%ebp
44a6af:	53                   	push   %ebx
44a6b0:	56                   	push   %esi
44a6b1:	8b 75 08             	mov    0x8(%ebp),%esi
44a6b4:	c6 06 00             	movb   $0x0,(%esi)
44a6b7:	66 83 b8 e2 00 00 00 	cmpw   $0x0,0xe2(%eax)
44a6be:	00
44a6bf:	74 20                	je     0x44a6e1
44a6c1:	c6 06 01             	movb   $0x1,(%esi)
44a6c4:	51                   	push   %ecx
44a6c5:	8b 4d 10             	mov    0x10(%ebp),%ecx
44a6c8:	51                   	push   %ecx
44a6c9:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
44a6cd:	51                   	push   %ecx
44a6ce:	56                   	push   %esi
44a6cf:	8b d8                	mov    %eax,%ebx
44a6d1:	8b ca                	mov    %edx,%ecx
44a6d3:	8b d0                	mov    %eax,%edx
44a6d5:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
44a6db:	ff 93 e0 00 00 00    	call   *0xe0(%ebx)
44a6e1:	5e                   	pop    %esi
44a6e2:	5b                   	pop    %ebx
44a6e3:	5d                   	pop    %ebp
44a6e4:	c2 0c 00             	ret    $0xc
44a6e7:	90                   	nop
44a6e8:	55                   	push   %ebp
44a6e9:	8b ec                	mov    %esp,%ebp
44a6eb:	53                   	push   %ebx
44a6ec:	66 83 b8 da 00 00 00 	cmpw   $0x0,0xda(%eax)
44a6f3:	00
44a6f4:	74 17                	je     0x44a70d
44a6f6:	51                   	push   %ecx
44a6f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a6fa:	51                   	push   %ecx
44a6fb:	8b d8                	mov    %eax,%ebx
44a6fd:	8b ca                	mov    %edx,%ecx
44a6ff:	8b d0                	mov    %eax,%edx
44a701:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
44a707:	ff 93 d8 00 00 00    	call   *0xd8(%ebx)
44a70d:	5b                   	pop    %ebx
44a70e:	5d                   	pop    %ebp
44a70f:	c2 04 00             	ret    $0x4
44a712:	8b c0                	mov    %eax,%eax
44a714:	53                   	push   %ebx
44a715:	66 83 b8 02 01 00 00 	cmpw   $0x0,0x102(%eax)
44a71c:	00
44a71d:	74 12                	je     0x44a731
44a71f:	8b ca                	mov    %edx,%ecx
44a721:	8b d8                	mov    %eax,%ebx
44a723:	8b d0                	mov    %eax,%edx
44a725:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
44a72b:	ff 93 00 01 00 00    	call   *0x100(%ebx)
44a731:	5b                   	pop    %ebx
44a732:	c3                   	ret
44a733:	90                   	nop
44a734:	55                   	push   %ebp
44a735:	8b ec                	mov    %esp,%ebp
44a737:	53                   	push   %ebx
44a738:	66 83 b8 0a 01 00 00 	cmpw   $0x0,0x10a(%eax)
44a73f:	00
44a740:	74 17                	je     0x44a759
44a742:	51                   	push   %ecx
44a743:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a746:	51                   	push   %ecx
44a747:	8b d8                	mov    %eax,%ebx
44a749:	8b ca                	mov    %edx,%ecx
44a74b:	8b d0                	mov    %eax,%edx
44a74d:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
44a753:	ff 93 08 01 00 00    	call   *0x108(%ebx)
44a759:	5b                   	pop    %ebx
44a75a:	5d                   	pop    %ebp
44a75b:	c2 04 00             	ret    $0x4
44a75e:	8b c0                	mov    %eax,%eax
44a760:	53                   	push   %ebx
44a761:	56                   	push   %esi
44a762:	57                   	push   %edi
44a763:	55                   	push   %ebp
44a764:	83 c4 ec             	add    $0xffffffec,%esp
44a767:	8b da                	mov    %edx,%ebx
44a769:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
44a76d:	74 0c                	je     0x44a77b
44a76f:	8b 43 08             	mov    0x8(%ebx),%eax
44a772:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
44a779:	75 6d                	jne    0x44a7e8
44a77b:	8b 43 40             	mov    0x40(%ebx),%eax
44a77e:	e8 91 f6 ff ff       	call   0x449e14
44a783:	8b f8                	mov    %eax,%edi
44a785:	8b 43 40             	mov    0x40(%ebx),%eax
44a788:	e8 73 f6 ff ff       	call   0x449e00
44a78d:	8b e8                	mov    %eax,%ebp
44a78f:	89 7c 24 10          	mov    %edi,0x10(%esp)
44a793:	db 44 24 10          	fildl  0x10(%esp)
44a797:	dc 4b 28             	fmull  0x28(%ebx)
44a79a:	db 43 10             	fildl  0x10(%ebx)
44a79d:	de e1                	fsubp  %st,%st(1)
44a79f:	dd 1c 24             	fstpl  (%esp)
44a7a2:	9b                   	fwait
44a7a3:	89 6c 24 10          	mov    %ebp,0x10(%esp)
44a7a7:	db 44 24 10          	fildl  0x10(%esp)
44a7ab:	dc 4b 30             	fmull  0x30(%ebx)
44a7ae:	db 43 14             	fildl  0x14(%ebx)
44a7b1:	de e1                	fsubp  %st,%st(1)
44a7b3:	dd 5c 24 08          	fstpl  0x8(%esp)
44a7b7:	9b                   	fwait
44a7b8:	8d 73 4c             	lea    0x4c(%ebx),%esi
44a7bb:	dd 04 24             	fldl   (%esp)
44a7be:	e8 8d 88 fb ff       	call   0x403050
44a7c3:	89 06                	mov    %eax,(%esi)
44a7c5:	dd 44 24 08          	fldl   0x8(%esp)
44a7c9:	e8 82 88 fb ff       	call   0x403050
44a7ce:	89 46 04             	mov    %eax,0x4(%esi)
44a7d1:	03 3e                	add    (%esi),%edi
44a7d3:	89 7e 08             	mov    %edi,0x8(%esi)
44a7d6:	03 6e 04             	add    0x4(%esi),%ebp
44a7d9:	89 6e 0c             	mov    %ebp,0xc(%esi)
44a7dc:	8d 53 4c             	lea    0x4c(%ebx),%edx
44a7df:	8b c3                	mov    %ebx,%eax
44a7e1:	8b 08                	mov    (%eax),%ecx
44a7e3:	ff 51 2c             	call   *0x2c(%ecx)
44a7e6:	eb 41                	jmp    0x44a829
44a7e8:	8d 43 4c             	lea    0x4c(%ebx),%eax
44a7eb:	50                   	push   %eax
44a7ec:	8b 43 08             	mov    0x8(%ebx),%eax
44a7ef:	e8 b8 71 00 00       	call   0x4519ac
44a7f4:	50                   	push   %eax
44a7f5:	e8 be c8 fb ff       	call   0x4070b8
44a7fa:	8b 43 08             	mov    0x8(%ebx),%eax
44a7fd:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
44a804:	74 23                	je     0x44a829
44a806:	83 b8 b0 01 00 00 00 	cmpl   $0x0,0x1b0(%eax)
44a80d:	74 1a                	je     0x44a829
44a80f:	0f b6 53 5c          	movzbl 0x5c(%ebx),%edx
44a813:	52                   	push   %edx
44a814:	8d 53 4c             	lea    0x4c(%ebx),%edx
44a817:	52                   	push   %edx
44a818:	8b 80 b0 01 00 00    	mov    0x1b0(%eax),%eax
44a81e:	8b 4b 60             	mov    0x60(%ebx),%ecx
44a821:	8b 53 40             	mov    0x40(%ebx),%edx
44a824:	8b 18                	mov    (%eax),%ebx
44a826:	ff 53 24             	call   *0x24(%ebx)
44a829:	83 c4 14             	add    $0x14,%esp
44a82c:	5d                   	pop    %ebp
44a82d:	5f                   	pop    %edi
44a82e:	5e                   	pop    %esi
44a82f:	5b                   	pop    %ebx
44a830:	c3                   	ret
44a831:	8d 40 00             	lea    0x0(%eax),%eax
44a834:	55                   	push   %ebp
44a835:	8b ec                	mov    %esp,%ebp
44a837:	56                   	push   %esi
44a838:	8b f2                	mov    %edx,%esi
44a83a:	8b d6                	mov    %esi,%edx