44a521:	74 0a                	je     0x44a52d
44a523:	8b 55 08             	mov    0x8(%ebp),%edx
44a526:	52                   	push   %edx
44a527:	e8 dc ff ff ff       	call   0x44a508
44a52c:	59                   	pop    %ecx
44a52d:	8b 43 08             	mov    0x8(%ebx),%eax
44a530:	85 c0                	test   %eax,%eax
44a532:	74 0a                	je     0x44a53e
44a534:	8b 55 08             	mov    0x8(%ebp),%edx
44a537:	52                   	push   %edx
44a538:	e8 cb ff ff ff       	call   0x44a508
44a53d:	59                   	pop    %ecx
44a53e:	5e                   	pop    %esi
44a53f:	5b                   	pop    %ebx
44a540:	5d                   	pop    %ebp
44a541:	c3                   	ret
44a542:	8b c0                	mov    %eax,%eax
44a544:	55                   	push   %ebp
44a545:	8b ec                	mov    %esp,%ebp
44a547:	85 d2                	test   %edx,%edx
44a549:	75 03                	jne    0x44a54e
44a54b:	8b 50 64             	mov    0x64(%eax),%edx
44a54e:	55                   	push   %ebp
44a54f:	8b c2                	mov    %edx,%eax
44a551:	e8 b2 ff ff ff       	call   0x44a508
44a556:	59                   	pop    %ecx
44a557:	5d                   	pop    %ebp
44a558:	c2 08 00             	ret    $0x8
44a55b:	90                   	nop
44a55c:	53                   	push   %ebx
44a55d:	56                   	push   %esi
44a55e:	57                   	push   %edi
44a55f:	83 c4 f0             	add    $0xfffffff0,%esp
44a562:	8b f1                	mov    %ecx,%esi
44a564:	e8 73 ff ff ff       	call   0x44a4dc
44a569:	8b d8                	mov    %eax,%ebx
44a56b:	85 db                	test   %ebx,%ebx
44a56d:	75 10                	jne    0x44a57f
44a56f:	8b c6                	mov    %esi,%eax
44a571:	33 c9                	xor    %ecx,%ecx
44a573:	ba 10 00 00 00       	mov    $0x10,%edx
44a578:	e8 9f 89 fb ff       	call   0x402f1c
44a57d:	eb 47                	jmp    0x44a5c6
44a57f:	ba 01 00 00 00       	mov    $0x1,%edx
44a584:	8b c3                	mov    %ebx,%eax
44a586:	e8 31 f8 ff ff       	call   0x449dbc
44a58b:	50                   	push   %eax
44a58c:	8d 44 24 04          	lea    0x4(%esp),%eax
44a590:	50                   	push   %eax
44a591:	ba 02 00 00 00       	mov    $0x2,%edx
44a596:	8b c3                	mov    %ebx,%eax
44a598:	e8 1f f8 ff ff       	call   0x449dbc
44a59d:	50                   	push   %eax
44a59e:	ba 01 00 00 00       	mov    $0x1,%edx
44a5a3:	8b c3                	mov    %ebx,%eax
44a5a5:	e8 8e f7 ff ff       	call   0x449d38
44a5aa:	50                   	push   %eax
44a5ab:	ba 02 00 00 00       	mov    $0x2,%edx
44a5b0:	8b c3                	mov    %ebx,%eax
44a5b2:	e8 81 f7 ff ff       	call   0x449d38
44a5b7:	5a                   	pop    %edx
44a5b8:	59                   	pop    %ecx
44a5b9:	e8 0a 86 fc ff       	call   0x412bc8
44a5be:	8b fe                	mov    %esi,%edi
44a5c0:	8b f4                	mov    %esp,%esi
44a5c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c6:	83 c4 10             	add    $0x10,%esp
44a5c9:	5f                   	pop    %edi
44a5ca:	5e                   	pop    %esi
44a5cb:	5b                   	pop    %ebx
44a5cc:	c3                   	ret
44a5cd:	8d 40 00             	lea    0x0(%eax),%eax
44a5d0:	e8 fb 06 00 00       	call   0x44acd0
44a5d5:	85 c0                	test   %eax,%eax
44a5d7:	74 04                	je     0x44a5dd
44a5d9:	8b 40 04             	mov    0x4(%eax),%eax
44a5dc:	c3                   	ret
44a5dd:	33 c0                	xor    %eax,%eax
44a5df:	c3                   	ret
44a5e0:	55                   	push   %ebp
44a5e1:	8b ec                	mov    %esp,%ebp
44a5e3:	83 c4 d0             	add    $0xffffffd0,%esp
44a5e6:	53                   	push   %ebx
44a5e7:	56                   	push   %esi
44a5e8:	57                   	push   %edi
44a5e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
44a5ec:	8b f2                	mov    %edx,%esi
44a5ee:	8b d8                	mov    %eax,%ebx
44a5f0:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
44a5f4:	0f 84 ed 01 00 00    	je     0x44a7e7
44a5fa:	8b 43 38             	mov    0x38(%ebx),%eax
44a5fd:	85 c0                	test   %eax,%eax
44a5ff:	74 0d                	je     0x44a60e
44a601:	89 70 04             	mov    %esi,0x4(%eax)
44a604:	e8 0b fa ff ff       	call   0x44a014
44a609:	e9 d1 01 00 00       	jmp    0x44a7df
44a60e:	8b 43 64             	mov    0x64(%ebx),%eax
44a611:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
44a615:	0f 85 a3 00 00 00    	jne    0x44a6be
44a61b:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a61e:	8b 43 14             	mov    0x14(%ebx),%eax
44a621:	8b 08                	mov    (%eax),%ecx
44a623:	ff 51 44             	call   *0x44(%ecx)
44a626:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a629:	8b 43 14             	mov    0x14(%ebx),%eax
44a62c:	8b 08                	mov    (%eax),%ecx
44a62e:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
44a634:	8b 7d e8             	mov    -0x18(%ebp),%edi
44a637:	2b 7d e0             	sub    -0x20(%ebp),%edi
44a63a:	8b 45 ec             	mov    -0x14(%ebp),%eax
44a63d:	2b 45 e4             	sub    -0x1c(%ebp),%eax
44a640:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a643:	8b 43 14             	mov    0x14(%ebx),%eax
44a646:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
44a64a:	74 1d                	je     0x44a669
44a64c:	85 ff                	test   %edi,%edi
44a64e:	75 09                	jne    0x44a659
44a650:	8b c6                	mov    %esi,%eax
44a652:	e8 45 73 ff ff       	call   0x44199c
44a657:	8b f8                	mov    %eax,%edi
44a659:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
44a65d:	75 0a                	jne    0x44a669
44a65f:	8b c6                	mov    %esi,%eax
44a661:	e8 22 73 ff ff       	call   0x441988
44a666:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a669:	8b 45 f0             	mov    -0x10(%ebp),%eax
44a66c:	50                   	push   %eax
44a66d:	8d 45 d0             	lea    -0x30(%ebp),%eax
44a670:	50                   	push   %eax
44a671:	8b cf                	mov    %edi,%ecx
44a673:	8b 55 e4             	mov    -0x1c(%ebp),%edx
44a676:	8b 45 e0             	mov    -0x20(%ebp),%eax
44a679:	e8 4a 85 fc ff       	call   0x412bc8
44a67e:	56                   	push   %esi
44a67f:	8d 75 d0             	lea    -0x30(%ebp),%esi
44a682:	8d 7d e0             	lea    -0x20(%ebp),%edi
44a685:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a686:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a687:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a688:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a689:	5e                   	pop    %esi
44a68a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a68d:	8b d6                	mov    %esi,%edx
44a68f:	8b c3                	mov    %ebx,%eax
44a691:	8b 38                	mov    (%eax),%edi
44a693:	ff 17                	call   *(%edi)
44a695:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a698:	8b c6                	mov    %esi,%eax
44a69a:	e8 29 6d ff ff       	call   0x4413c8
44a69f:	8b cb                	mov    %ebx,%ecx
44a6a1:	b2 01                	mov    $0x1,%dl
44a6a3:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a6a8:	e8 6b f5 ff ff       	call   0x449c18
44a6ad:	8b 53 64             	mov    0x64(%ebx),%edx
44a6b0:	89 42 08             	mov    %eax,0x8(%edx)
44a6b3:	89 50 14             	mov    %edx,0x14(%eax)
44a6b6:	89 70 04             	mov    %esi,0x4(%eax)
44a6b9:	e9 21 01 00 00       	jmp    0x44a7df
44a6be:	8a 45 ff             	mov    -0x1(%ebp),%al
44a6c1:	84 c0                	test   %al,%al
44a6c3:	74 04                	je     0x44a6c9
44a6c5:	2c 05                	sub    $0x5,%al
44a6c7:	75 04                	jne    0x44a6cd
44a6c9:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
44a6cd:	8b d6                	mov    %esi,%edx
44a6cf:	8b c3                	mov    %ebx,%eax
44a6d1:	e8 06 fe ff ff       	call   0x44a4dc
44a6d6:	85 c0                	test   %eax,%eax
44a6d8:	74 09                	je     0x44a6e3
44a6da:	8b d0                	mov    %eax,%edx
44a6dc:	8b c3                	mov    %ebx,%eax
44a6de:	e8 49 0e 00 00       	call   0x44b52c
44a6e3:	8b 55 08             	mov    0x8(%ebp),%edx
44a6e6:	8b c3                	mov    %ebx,%eax
44a6e8:	e8 ef fd ff ff       	call   0x44a4dc
44a6ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a6f0:	33 c0                	xor    %eax,%eax
44a6f2:	8a 45 ff             	mov    -0x1(%ebp),%al
44a6f5:	8a 80 dc 5c 45 00    	mov    0x455cdc(%eax),%al
44a6fb:	88 45 f7             	mov    %al,-0x9(%ebp)
44a6fe:	8b 43 64             	mov    0x64(%ebx),%eax
44a701:	e8 36 f5 ff ff       	call   0x449c3c
44a706:	48                   	dec    %eax
44a707:	75 6a                	jne    0x44a773
44a709:	8b 7b 64             	mov    0x64(%ebx),%edi
44a70c:	8a 45 f7             	mov    -0x9(%ebp),%al
44a70f:	88 47 10             	mov    %al,0x10(%edi)
44a712:	8a 45 f7             	mov    -0x9(%ebp),%al
44a715:	fe c8                	dec    %al
44a717:	74 06                	je     0x44a71f
44a719:	fe c8                	dec    %al
44a71b:	74 2d                	je     0x44a74a
44a71d:	eb 54                	jmp    0x44a773
44a71f:	8b 47 08             	mov    0x8(%edi),%eax
44a722:	ba 02 00 00 00       	mov    $0x2,%edx
44a727:	e8 90 f6 ff ff       	call   0x449dbc
44a72c:	8b d0                	mov    %eax,%edx
44a72e:	8b c7                	mov    %edi,%eax
44a730:	e8 7f fa ff ff       	call   0x44a1b4
44a735:	8b 43 64             	mov    0x64(%ebx),%eax
44a738:	8b 40 08             	mov    0x8(%eax),%eax
44a73b:	ba 01 00 00 00       	mov    $0x1,%edx
44a740:	e8 77 f6 ff ff       	call   0x449dbc
44a745:	89 43 68             	mov    %eax,0x68(%ebx)
44a748:	eb 29                	jmp    0x44a773
44a74a:	8b 47 08             	mov    0x8(%edi),%eax
44a74d:	ba 01 00 00 00       	mov    $0x1,%edx
44a752:	e8 65 f6 ff ff       	call   0x449dbc
44a757:	8b d0                	mov    %eax,%edx
44a759:	8b c7                	mov    %edi,%eax
44a75b:	e8 54 fa ff ff       	call   0x44a1b4
44a760:	8b 43 64             	mov    0x64(%ebx),%eax
44a763:	8b 40 08             	mov    0x8(%eax),%eax
44a766:	ba 02 00 00 00       	mov    $0x2,%edx
44a76b:	e8 4c f6 ff ff       	call   0x449dbc
44a770:	89 43 68             	mov    %eax,0x68(%ebx)
44a773:	8b cb                	mov    %ebx,%ecx
44a775:	b2 01                	mov    $0x1,%dl
44a777:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a77c:	e8 97 f4 ff ff       	call   0x449c18
44a781:	89 70 04             	mov    %esi,0x4(%eax)
44a784:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a788:	74 0b                	je     0x44a795
44a78a:	8b 55 f8             	mov    -0x8(%ebp),%edx
44a78d:	8b 52 14             	mov    0x14(%edx),%edx
44a790:	8a 52 10             	mov    0x10(%edx),%dl
44a793:	eb 06                	jmp    0x44a79b
44a795:	8b 53 64             	mov    0x64(%ebx),%edx
44a798:	8a 52 10             	mov    0x10(%edx),%dl
44a79b:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
44a79f:	75 03                	jne    0x44a7a4
44a7a1:	88 55 f7             	mov    %dl,-0x9(%ebp)
44a7a4:	3a 55 f7             	cmp    -0x9(%ebp),%dl
44a7a7:	75 1a                	jne    0x44a7c3
44a7a9:	33 d2                	xor    %edx,%edx
44a7ab:	8a 55 ff             	mov    -0x1(%ebp),%dl
44a7ae:	8a 92 e4 5c 45 00    	mov    0x455ce4(%edx),%dl
44a7b4:	52                   	push   %edx
44a7b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a7b8:	8b d0                	mov    %eax,%edx
44a7ba:	8b c3                	mov    %ebx,%eax
44a7bc:	e8 d7 01 00 00       	call   0x44a998
44a7c1:	eb 1c                	jmp    0x44a7df
44a7c3:	8a 55 f7             	mov    -0x9(%ebp),%dl
44a7c6:	52                   	push   %edx
44a7c7:	33 d2                	xor    %edx,%edx
44a7c9:	8a 55 ff             	mov    -0x1(%ebp),%dl
44a7cc:	8a 92 e4 5c 45 00    	mov    0x455ce4(%edx),%dl
44a7d2:	52                   	push   %edx
44a7d3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a7d6:	8b d0                	mov    %eax,%edx
44a7d8:	8b c3                	mov    %ebx,%eax
44a7da:	e8 11 00 00 00       	call   0x44a7f0
44a7df:	8b 43 14             	mov    0x14(%ebx),%eax
44a7e2:	8b 10                	mov    (%eax),%edx
44a7e4:	ff 52 7c             	call   *0x7c(%edx)
44a7e7:	5f                   	pop    %edi
44a7e8:	5e                   	pop    %esi
44a7e9:	5b                   	pop    %ebx
44a7ea:	8b e5                	mov    %ebp,%esp
44a7ec:	5d                   	pop    %ebp
44a7ed:	c2 04 00             	ret    $0x4
44a7f0:	55                   	push   %ebp
44a7f1:	8b ec                	mov    %esp,%ebp
44a7f3:	51                   	push   %ecx
44a7f4:	53                   	push   %ebx
44a7f5:	56                   	push   %esi
44a7f6:	57                   	push   %edi
44a7f7:	8b f9                	mov    %ecx,%edi
44a7f9:	89 55 fc             	mov    %edx,-0x4(%ebp)
44a7fc:	8b f0                	mov    %eax,%esi
44a7fe:	8b ce                	mov    %esi,%ecx
44a800:	b2 01                	mov    $0x1,%dl
44a802:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a807:	e8 0c f4 ff ff       	call   0x449c18
44a80c:	8b d8                	mov    %eax,%ebx
44a80e:	8a 45 0c             	mov    0xc(%ebp),%al
44a811:	88 43 10             	mov    %al,0x10(%ebx)
44a814:	85 ff                	test   %edi,%edi
44a816:	0f 85 dd 00 00 00    	jne    0x44a8f9
44a81c:	8b 56 68             	mov    0x68(%esi),%edx
44a81f:	8b c3                	mov    %ebx,%eax
44a821:	e8 8e f9 ff ff       	call   0x44a1b4
44a826:	8b 46 64             	mov    0x64(%esi),%eax
44a829:	e8 5e f9 ff ff       	call   0x44a18c
44a82e:	89 46 68             	mov    %eax,0x68(%esi)
44a831:	8a 45 0c             	mov    0xc(%ebp),%al
44a834:	88 46 48             	mov    %al,0x48(%esi)
44a837:	33 c0                	xor    %eax,%eax
44a839:	89 46 40             	mov    %eax,0x40(%esi)
44a83c:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
44a843:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44a847:	74 33                	je     0x44a87c
44a849:	8b 46 64             	mov    0x64(%esi),%eax
44a84c:	89 43 08             	mov    %eax,0x8(%ebx)
44a84f:	8b 46 64             	mov    0x64(%esi),%eax
44a852:	89 58 14             	mov    %ebx,0x14(%eax)
44a855:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a858:	89 50 0c             	mov    %edx,0xc(%eax)
44a85b:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a85e:	89 42 18             	mov    %eax,0x18(%edx)
44a861:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a864:	89 58 14             	mov    %ebx,0x14(%eax)
44a867:	89 5e 64             	mov    %ebx,0x64(%esi)
44a86a:	56                   	push   %esi
44a86b:	68 84 b8 44 00       	push   $0x44b884
44a870:	8b 53 08             	mov    0x8(%ebx),%edx
44a873:	8b c6                	mov    %esi,%eax
44a875:	e8 ca fc ff ff       	call   0x44a544
44a87a:	eb 6c                	jmp    0x44a8e8
44a87c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a87f:	89 43 08             	mov    %eax,0x8(%ebx)
44a882:	8b 46 64             	mov    0x64(%esi),%eax
44a885:	89 58 14             	mov    %ebx,0x14(%eax)
44a888:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a88b:	89 50 18             	mov    %edx,0x18(%eax)
44a88e:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a891:	89 42 0c             	mov    %eax,0xc(%edx)
44a894:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a897:	89 58 14             	mov    %ebx,0x14(%eax)
44a89a:	89 5e 64             	mov    %ebx,0x64(%esi)
44a89d:	56                   	push   %esi
44a89e:	68 84 b8 44 00       	push   $0x44b884
44a8a3:	8b 53 08             	mov    0x8(%ebx),%edx
44a8a6:	8b c6                	mov    %esi,%eax
44a8a8:	e8 97 fc ff ff       	call   0x44a544
44a8ad:	8b 46 64             	mov    0x64(%esi),%eax
44a8b0:	e8 d7 f8 ff ff       	call   0x44a18c
44a8b5:	d1 f8                	sar    $1,%eax
44a8b7:	79 03                	jns    0x44a8bc
44a8b9:	83 d0 00             	adc    $0x0,%eax
44a8bc:	89 46 4c             	mov    %eax,0x4c(%esi)
44a8bf:	56                   	push   %esi
44a8c0:	68 08 bc 44 00       	push   $0x44bc08
44a8c5:	8b 53 08             	mov    0x8(%ebx),%edx
44a8c8:	8b c6                	mov    %esi,%eax
44a8ca:	e8 75 fc ff ff       	call   0x44a544
44a8cf:	8b 46 64             	mov    0x64(%esi),%eax
44a8d2:	e8 b5 f8 ff ff       	call   0x44a18c
44a8d7:	8b d0                	mov    %eax,%edx
44a8d9:	d1 fa                	sar    $1,%edx
44a8db:	79 03                	jns    0x44a8e0
44a8dd:	83 d2 00             	adc    $0x0,%edx
44a8e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a8e3:	e8 cc f8 ff ff       	call   0x44a1b4
44a8e8:	56                   	push   %esi
44a8e9:	68 3c bd 44 00       	push   $0x44bd3c