43f635:	c3                   	ret
43f636:	dd 01                	fldl   (%ecx)
43f638:	d9 ee                	fldz
43f63a:	da e9                	fucompp
43f63c:	df e0                	fnstsw %ax
43f63e:	f6 c4 44             	test   $0x44,%ah
43f641:	7b 0a                	jnp    0x43f64d
43f643:	b0 01                	mov    $0x1,%al
43f645:	c3                   	ret
43f646:	8b 01                	mov    (%ecx),%eax
43f648:	0b 41 04             	or     0x4(%ecx),%eax
43f64b:	75 f6                	jne    0x43f643
43f64d:	32 c0                	xor    %al,%al
43f64f:	c3                   	ret
43f650:	8b 01                	mov    (%ecx),%eax
43f652:	85 c0                	test   %eax,%eax
43f654:	0f 84 8d 9d fc ff    	je     0x4093e7
43f65a:	0f b7 08             	movzwl (%eax),%ecx
43f65d:	83 f9 09             	cmp    $0x9,%ecx
43f660:	74 09                	je     0x43f66b
43f662:	83 f9 0d             	cmp    $0xd,%ecx
43f665:	0f 85 7c 9d fc ff    	jne    0x4093e7
43f66b:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
43f66f:	0f 84 72 9d fc ff    	je     0x4093e7
43f675:	b0 01                	mov    $0x1,%al
43f677:	c3                   	ret
43f678:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f67b:	89 46 04             	mov    %eax,0x4(%esi)
43f67e:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
43f685:	e9 e4 9e fc ff       	jmp    0x40956e
43f68a:	48                   	dec    %eax
43f68b:	74 46                	je     0x43f6d3
43f68d:	48                   	dec    %eax
43f68e:	74 15                	je     0x43f6a5
43f690:	48                   	dec    %eax
43f691:	74 17                	je     0x43f6aa
43f693:	83 e8 05             	sub    $0x5,%eax
43f696:	74 08                	je     0x43f6a0
43f698:	48                   	dec    %eax
43f699:	48                   	dec    %eax
43f69a:	0f 85 d8 9f fc ff    	jne    0x409678
43f6a0:	e8 ee 9e fc ff       	call   0x409593
43f6a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f6a8:	eb 1b                	jmp    0x43f6c5
43f6aa:	e8 2b 9e fc ff       	call   0x4094da
43f6af:	ff 75 08             	push   0x8(%ebp)
43f6b2:	8b ce                	mov    %esi,%ecx
43f6b4:	e8 83 9f fc ff       	call   0x40963c
43f6b9:	e9 ba 9f fc ff       	jmp    0x409678
43f6be:	e8 d0 9e fc ff       	call   0x409593
43f6c3:	8b cf                	mov    %edi,%ecx
43f6c5:	e8 2e a6 fc ff       	call   0x409cf8
43f6ca:	dc 0e                	fmull  (%esi)
43f6cc:	dd 1e                	fstpl  (%esi)
43f6ce:	e9 a5 9f fc ff       	jmp    0x409678
43f6d3:	8b 7d 08             	mov    0x8(%ebp),%edi
43f6d6:	83 7f 0c 01          	cmpl   $0x1,0xc(%edi)
43f6da:	74 06                	je     0x43f6e2
43f6dc:	83 7f 0c 02          	cmpl   $0x2,0xc(%edi)
43f6e0:	75 dc                	jne    0x43f6be
43f6e2:	8b cf                	mov    %edi,%ecx
43f6e4:	e8 5d a6 fc ff       	call   0x409d46
43f6e9:	ff 76 04             	push   0x4(%esi)
43f6ec:	ff 36                	push   (%esi)
43f6ee:	52                   	push   %edx
43f6ef:	50                   	push   %eax
43f6f0:	e8 0b 6b ff ff       	call   0x436200
43f6f5:	89 06                	mov    %eax,(%esi)
43f6f7:	89 56 04             	mov    %edx,0x4(%esi)
43f6fa:	e9 79 9f fc ff       	jmp    0x409678
43f6ff:	8b 06                	mov    (%esi),%eax
43f701:	f7 2f                	imull  (%edi)
43f703:	8b 0e                	mov    (%esi),%ecx
43f705:	0f af 0f             	imul   (%edi),%ecx
43f708:	8b d8                	mov    %eax,%ebx
43f70a:	8b fa                	mov    %edx,%edi
43f70c:	8b c1                	mov    %ecx,%eax
43f70e:	99                   	cltd
43f70f:	3b c3                	cmp    %ebx,%eax
43f711:	75 0b                	jne    0x43f71e
43f713:	3b d7                	cmp    %edi,%edx
43f715:	75 07                	jne    0x43f71e
43f717:	89 0e                	mov    %ecx,(%esi)
43f719:	e9 59 9f fc ff       	jmp    0x409677
43f71e:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
43f725:	89 1e                	mov    %ebx,(%esi)
43f727:	89 7e 04             	mov    %edi,0x4(%esi)
43f72a:	e9 48 9f fc ff       	jmp    0x409677
43f72f:	ff 77 04             	push   0x4(%edi)
43f732:	8b 06                	mov    (%esi),%eax
43f734:	ff 37                	push   (%edi)
43f736:	99                   	cltd
43f737:	52                   	push   %edx
43f738:	50                   	push   %eax
43f739:	e8 c2 6a ff ff       	call   0x436200
43f73e:	89 06                	mov    %eax,(%esi)
43f740:	89 56 04             	mov    %edx,0x4(%esi)
43f743:	89 5e 0c             	mov    %ebx,0xc(%esi)
43f746:	e9 2c 9f fc ff       	jmp    0x409677
43f74b:	8b 75 08             	mov    0x8(%ebp),%esi
43f74e:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
43f752:	74 0a                	je     0x43f75e
43f754:	83 7e 0c 02          	cmpl   $0x2,0xc(%esi)
43f758:	0f 85 62 9f fc ff    	jne    0x4096c0
43f75e:	8b ce                	mov    %esi,%ecx
43f760:	e8 e1 a5 fc ff       	call   0x409d46
43f765:	29 07                	sub    %eax,(%edi)
43f767:	19 57 04             	sbb    %edx,0x4(%edi)
43f76a:	e9 61 9f fc ff       	jmp    0x4096d0
43f76f:	8b 07                	mov    (%edi),%eax
43f771:	2b 06                	sub    (%esi),%eax
43f773:	89 45 08             	mov    %eax,0x8(%ebp)
43f776:	8b 06                	mov    (%esi),%eax
43f778:	99                   	cltd
43f779:	8b c8                	mov    %eax,%ecx
43f77b:	8b f2                	mov    %edx,%esi
43f77d:	8b 07                	mov    (%edi),%eax
43f77f:	99                   	cltd
43f780:	2b c1                	sub    %ecx,%eax
43f782:	8b da                	mov    %edx,%ebx
43f784:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f787:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f78a:	1b de                	sbb    %esi,%ebx
43f78c:	8b 75 fc             	mov    -0x4(%ebp),%esi
43f78f:	8b c1                	mov    %ecx,%eax
43f791:	99                   	cltd
43f792:	3b c6                	cmp    %esi,%eax
43f794:	75 0b                	jne    0x43f7a1
43f796:	3b d3                	cmp    %ebx,%edx
43f798:	75 07                	jne    0x43f7a1
43f79a:	89 0f                	mov    %ecx,(%edi)
43f79c:	e9 2f 9f fc ff       	jmp    0x4096d0
43f7a1:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
43f7a8:	89 37                	mov    %esi,(%edi)
43f7aa:	89 5f 04             	mov    %ebx,0x4(%edi)
43f7ad:	e9 1e 9f fc ff       	jmp    0x4096d0
43f7b2:	8b 07                	mov    (%edi),%eax
43f7b4:	99                   	cltd
43f7b5:	2b 06                	sub    (%esi),%eax
43f7b7:	1b 56 04             	sbb    0x4(%esi),%edx
43f7ba:	89 07                	mov    %eax,(%edi)
43f7bc:	89 57 04             	mov    %edx,0x4(%edi)
43f7bf:	89 4f 0c             	mov    %ecx,0xc(%edi)
43f7c2:	e9 09 9f fc ff       	jmp    0x4096d0
43f7c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f7ca:	8b 37                	mov    (%edi),%esi
43f7cc:	83 79 0c 01          	cmpl   $0x1,0xc(%ecx)
43f7d0:	75 07                	jne    0x43f7d9
43f7d2:	e8 c5 a4 fc ff       	call   0x409c9c
43f7d7:	eb 05                	jmp    0x43f7de
43f7d9:	e8 68 a5 fc ff       	call   0x409d46
43f7de:	2b f0                	sub    %eax,%esi
43f7e0:	89 37                	mov    %esi,(%edi)
43f7e2:	e9 e9 9e fc ff       	jmp    0x4096d0
43f7e7:	83 e8 09             	sub    $0x9,%eax
43f7ea:	74 0a                	je     0x43f7f6
43f7ec:	48                   	dec    %eax
43f7ed:	74 11                	je     0x43f800
43f7ef:	48                   	dec    %eax
43f7f0:	0f 85 da 9e fc ff    	jne    0x4096d0
43f7f6:	e8 98 9d fc ff       	call   0x409593
43f7fb:	e9 ec 9e fc ff       	jmp    0x4096ec
43f800:	e8 d5 9c fc ff       	call   0x4094da
43f805:	ff 75 08             	push   0x8(%ebp)
43f808:	8b cf                	mov    %edi,%ecx
43f80a:	e8 78 9e fc ff       	call   0x409687
43f80f:	e9 bc 9e fc ff       	jmp    0x4096d0
43f814:	8b 03                	mov    (%ebx),%eax
43f816:	99                   	cltd
43f817:	03 06                	add    (%esi),%eax
43f819:	13 56 04             	adc    0x4(%esi),%edx
43f81c:	89 03                	mov    %eax,(%ebx)
43f81e:	89 53 04             	mov    %edx,0x4(%ebx)
43f821:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
43f828:	e9 5d 9f fc ff       	jmp    0x40978a
43f82d:	8b 75 08             	mov    0x8(%ebp),%esi
43f830:	8b 46 0c             	mov    0xc(%esi),%eax
43f833:	83 f8 01             	cmp    $0x1,%eax
43f836:	74 09                	je     0x43f841
43f838:	83 f8 02             	cmp    $0x2,%eax
43f83b:	0f 85 cf 9f fc ff    	jne    0x409810
43f841:	8b ce                	mov    %esi,%ecx
43f843:	e8 fe a4 fc ff       	call   0x409d46
43f848:	01 03                	add    %eax,(%ebx)
43f84a:	11 53 04             	adc    %edx,0x4(%ebx)
43f84d:	e9 38 9f fc ff       	jmp    0x40978a
43f852:	8b 75 08             	mov    0x8(%ebp),%esi
43f855:	83 7e 0c 0b          	cmpl   $0xb,0xc(%esi)
43f859:	0f 85 b1 9f fc ff    	jne    0x409810
43f85f:	8b ce                	mov    %esi,%ecx
43f861:	e8 7c 91 02 00       	call   0x4689e2
43f866:	8b 0b                	mov    (%ebx),%ecx
43f868:	8b f8                	mov    %eax,%edi
43f86a:	03 39                	add    (%ecx),%edi
43f86c:	57                   	push   %edi
43f86d:	e8 84 17 fe ff       	call   0x420ff6
43f872:	8b 0b                	mov    (%ebx),%ecx
43f874:	8b f0                	mov    %eax,%esi
43f876:	ff 31                	push   (%ecx)
43f878:	ff 71 04             	push   0x4(%ecx)
43f87b:	56                   	push   %esi
43f87c:	e8 ff 17 fe ff       	call   0x421080
43f881:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f884:	83 c4 10             	add    $0x10,%esp
43f887:	e8 56 91 02 00       	call   0x4689e2
43f88c:	50                   	push   %eax
43f88d:	e8 0d 91 02 00       	call   0x46899f
43f892:	50                   	push   %eax
43f893:	8b 03                	mov    (%ebx),%eax
43f895:	8b 00                	mov    (%eax),%eax
43f897:	03 c6                	add    %esi,%eax
43f899:	50                   	push   %eax
43f89a:	e8 e1 17 fe ff       	call   0x421080
43f89f:	8b 03                	mov    (%ebx),%eax
43f8a1:	ff 70 04             	push   0x4(%eax)
43f8a4:	e8 c3 17 fe ff       	call   0x42106c
43f8a9:	8b 03                	mov    (%ebx),%eax
43f8ab:	83 c4 10             	add    $0x10,%esp
43f8ae:	89 70 04             	mov    %esi,0x4(%eax)
43f8b1:	8b 03                	mov    (%ebx),%eax
43f8b3:	89 38                	mov    %edi,(%eax)
43f8b5:	e9 d0 9e fc ff       	jmp    0x40978a
43f8ba:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f8bd:	8b 33                	mov    (%ebx),%esi
43f8bf:	83 79 0c 01          	cmpl   $0x1,0xc(%ecx)
43f8c3:	75 07                	jne    0x43f8cc
43f8c5:	e8 d2 a3 fc ff       	call   0x409c9c
43f8ca:	eb 05                	jmp    0x43f8d1
43f8cc:	e8 75 a4 fc ff       	call   0x409d46
43f8d1:	03 f0                	add    %eax,%esi
43f8d3:	89 33                	mov    %esi,(%ebx)
43f8d5:	e9 b0 9e fc ff       	jmp    0x40978a
43f8da:	51                   	push   %ecx
43f8db:	e8 5d 82 fc ff       	call   0x407b3d
43f8e0:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
43f8e7:	e9 a9 9e fc ff       	jmp    0x409795
43f8ec:	ff 37                	push   (%edi)
43f8ee:	e8 79 17 fe ff       	call   0x42106c
43f8f3:	ff 77 0c             	push   0xc(%edi)
43f8f6:	e8 71 17 fe ff       	call   0x42106c
43f8fb:	83 c4 08             	add    $0x8,%esp
43f8fe:	e9 41 a0 fc ff       	jmp    0x409944
43f903:	83 e8 04             	sub    $0x4,%eax
43f906:	0f 84 dd 00 00 00    	je     0x43f9e9
43f90c:	6a 02                	push   $0x2
43f90e:	5a                   	pop    %edx
43f90f:	2b c2                	sub    %edx,%eax
43f911:	0f 84 ae 00 00 00    	je     0x43f9c5
43f917:	48                   	dec    %eax
43f918:	74 73                	je     0x43f98d
43f91a:	48                   	dec    %eax
43f91b:	74 0e                	je     0x43f92b
43f91d:	33 c0                	xor    %eax,%eax
43f91f:	66 89 85 6c ff ff ff 	mov    %ax,-0x94(%ebp)
43f926:	e9 9f a0 fc ff       	jmp    0x4099ca
43f92b:	8b 06                	mov    (%esi),%eax
43f92d:	33 c9                	xor    %ecx,%ecx
43f92f:	53                   	push   %ebx
43f930:	8b 00                	mov    (%eax),%eax
43f932:	8d 04 85 06 00 00 00 	lea    0x6(,%eax,4),%eax
43f939:	f7 e2                	mul    %edx
43f93b:	0f 90 c1             	seto   %cl
43f93e:	f7 d9                	neg    %ecx
43f940:	0b c8                	or     %eax,%ecx
43f942:	51                   	push   %ecx
43f943:	e8 ae 16 fe ff       	call   0x420ff6
43f948:	59                   	pop    %ecx
43f949:	8b 0e                	mov    (%esi),%ecx
43f94b:	8b d8                	mov    %eax,%ebx
43f94d:	39 39                	cmp    %edi,(%ecx)
43f94f:	74 11                	je     0x43f962
43f951:	51                   	push   %ecx
43f952:	ff 31                	push   (%ecx)
43f954:	8b 49 04             	mov    0x4(%ecx),%ecx
43f957:	8b d3                	mov    %ebx,%edx
43f959:	e8 4f 5e 02 00       	call   0x4657ad
43f95e:	59                   	pop    %ecx
43f95f:	59                   	pop    %ecx
43f960:	eb 05                	jmp    0x43f967
43f962:	33 c0                	xor    %eax,%eax
43f964:	66 89 03             	mov    %ax,(%ebx)
43f967:	6a 10                	push   $0x10
43f969:	e8 88 16 fe ff       	call   0x420ff6
43f96e:	59                   	pop    %ecx
43f96f:	85 c0                	test   %eax,%eax
43f971:	74 0a                	je     0x43f97d
43f973:	53                   	push   %ebx
43f974:	8b c8                	mov    %eax,%ecx
43f976:	e8 c6 85 fc ff       	call   0x407f41
43f97b:	8b f8                	mov    %eax,%edi
43f97d:	53                   	push   %ebx
43f97e:	89 7e 08             	mov    %edi,0x8(%esi)
43f981:	e8 e6 16 fe ff       	call   0x42106c
43f986:	59                   	pop    %ecx
43f987:	5b                   	pop    %ebx
43f988:	e9 1e a0 fc ff       	jmp    0x4099ab
43f98d:	8b 0e                	mov    (%esi),%ecx
43f98f:	8b 41 0c             	mov    0xc(%ecx),%eax
43f992:	8b 51 08             	mov    0x8(%ecx),%edx
43f995:	89 45 f4             	mov    %eax,-0xc(%ebp)
43f998:	8b 41 10             	mov    0x10(%ecx),%eax
43f99b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f99e:	8b 41 14             	mov    0x14(%ecx),%eax
43f9a1:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f9a4:	52                   	push   %edx
43f9a5:	89 55 f0             	mov    %edx,-0x10(%ebp)
43f9a8:	ff 00                	incl   (%eax)
43f9aa:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43f9b0:	50                   	push   %eax
43f9b1:	e8 46 36 fe ff       	call   0x422ffc
43f9b6:	59                   	pop    %ecx
43f9b7:	59                   	pop    %ecx
43f9b8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43f9bb:	e8 a4 60 fc ff       	call   0x405a64
43f9c0:	e9 05 a0 fc ff       	jmp    0x4099ca
43f9c5:	80 3e 00             	cmpb   $0x0,(%esi)
43f9c8:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43f9ce:	74 07                	je     0x43f9d7
43f9d0:	68 8c a4 4b 00       	push   $0x4ba48c
43f9d5:	eb 05                	jmp    0x43f9dc
43f9d7:	68 98 a4 4b 00       	push   $0x4ba498
43f9dc:	50                   	push   %eax
43f9dd:	e8 1a 36 fe ff       	call   0x422ffc
43f9e2:	59                   	pop    %ecx
43f9e3:	59                   	pop    %ecx
43f9e4:	e9 e1 9f fc ff       	jmp    0x4099ca
43f9e9:	ff 36                	push   (%esi)
43f9eb:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43f9f1:	68 80 a4 4b 00       	push   $0x4ba480
43f9f6:	50                   	push   %eax
43f9f7:	e8 dc 3e fe ff       	call   0x4238d8
43f9fc:	e9 c6 9f fc ff       	jmp    0x4099c7
43fa01:	6a 0a                	push   $0xa
43fa03:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43fa09:	50                   	push   %eax
43fa0a:	ff 76 04             	push   0x4(%esi)
43fa0d:	ff 36                	push   (%esi)
43fa0f:	e8 bc 3c fe ff       	call   0x4236d0
43fa14:	e9 f8 9f fc ff       	jmp    0x409a11
43fa19:	8b 06                	mov    (%esi),%eax
43fa1b:	85 c0                	test   %eax,%eax
43fa1d:	0f 84 10 a0 fc ff    	je     0x409a33
43fa23:	50                   	push   %eax
43fa24:	ff 15 5c f4 48 00    	call   *0x48f45c
43fa2a:	ff 36                	push   (%esi)
43fa2c:	eb 79                	jmp    0x43faa7
43fa2e:	8b 3e                	mov    (%esi),%edi
43fa30:	85 ff                	test   %edi,%edi
43fa32:	0f 84 fb 9f fc ff    	je     0x409a33
43fa38:	8d 4f 08             	lea    0x8(%edi),%ecx