41e59a:	33 c0                	xor    %eax,%eax
41e59c:	3b 84 24 c4 00 00 00 	cmp    0xc4(%esp),%eax
41e5a3:	0f 8f 9e 01 00 00    	jg     0x41e747
41e5a9:	7c 0d                	jl     0x41e5b8
41e5ab:	3b 8c 24 c0 00 00 00 	cmp    0xc0(%esp),%ecx
41e5b2:	0f 83 8f 01 00 00    	jae    0x41e747
41e5b8:	8b 84 24 b8 00 00 00 	mov    0xb8(%esp),%eax
41e5bf:	83 f9 01             	cmp    $0x1,%ecx
41e5c2:	76 1c                	jbe    0x41e5e0
41e5c4:	3b 5c c8 fc          	cmp    -0x4(%eax,%ecx,8),%ebx
41e5c8:	0f 82 79 01 00 00    	jb     0x41e747
41e5ce:	77 10                	ja     0x41e5e0
41e5d0:	3b 7c c8 f8          	cmp    -0x8(%eax,%ecx,8),%edi
41e5d4:	0f 82 6d 01 00 00    	jb     0x41e747
41e5da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
41e5e0:	3b 5c c8 04          	cmp    0x4(%eax,%ecx,8),%ebx
41e5e4:	72 3a                	jb     0x41e620
41e5e6:	77 05                	ja     0x41e5ed
41e5e8:	3b 3c c8             	cmp    (%eax,%ecx,8),%edi
41e5eb:	72 33                	jb     0x41e620
41e5ed:	8b 84 24 c8 00 00 00 	mov    0xc8(%esp),%eax
41e5f4:	03 34 c8             	add    (%eax,%ecx,8),%esi
41e5f7:	13 54 c8 04          	adc    0x4(%eax,%ecx,8),%edx
41e5fb:	33 c0                	xor    %eax,%eax
41e5fd:	41                   	inc    %ecx
41e5fe:	3b 84 24 c4 00 00 00 	cmp    0xc4(%esp),%eax
41e605:	8b 84 24 b8 00 00 00 	mov    0xb8(%esp),%eax
41e60c:	89 8c 24 e8 00 00 00 	mov    %ecx,0xe8(%esp)
41e613:	7c cb                	jl     0x41e5e0
41e615:	7f 09                	jg     0x41e620
41e617:	3b 8c 24 c0 00 00 00 	cmp    0xc0(%esp),%ecx
41e61e:	72 c0                	jb     0x41e5e0
41e620:	8b c3                	mov    %ebx,%eax
41e622:	89 7c 24 38          	mov    %edi,0x38(%esp)
41e626:	8b c8                	mov    %eax,%ecx
41e628:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
41e62f:	00
41e630:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
41e635:	c7 44 24 70 00 00 00 	movl   $0x0,0x70(%esp)
41e63c:	00
41e63d:	89 44 24 3c          	mov    %eax,0x3c(%esp)
41e641:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
41e647:	df 6c 24 38          	fildll 0x38(%esp)
41e64b:	8b 44 24 44          	mov    0x44(%esp),%eax
41e64f:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
41e653:	8b 4c 24 34          	mov    0x34(%esp),%ecx
41e657:	df 6c 24 48          	fildll 0x48(%esp)
41e65b:	6a 0a                	push   $0xa
41e65d:	52                   	push   %edx
41e65e:	56                   	push   %esi
41e65f:	83 ec 10             	sub    $0x10,%esp
41e662:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
41e669:	d9 e0                	fchs
41e66b:	8b c1                	mov    %ecx,%eax
41e66d:	de c1                	faddp  %st,%st(1)
41e66f:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
41e675:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%esp)
41e67c:	25 00 00 00 80       	and    $0x80000000,%eax
41e681:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
41e688:	dd 5c 24 3c          	fstpl  0x3c(%esp)
41e68c:	dd 44 24 3c          	fldl   0x3c(%esp)
41e690:	dd 05 a0 42 41 00    	fldl   0x4142a0
41e696:	dc c9                	fmul   %st,%st(1)
41e698:	d9 c9                	fxch   %st(1)
41e69a:	dd 5c 24 08          	fstpl  0x8(%esp)
41e69e:	df ac 24 94 00 00 00 	fildll 0x94(%esp)
41e6a5:	df ac 24 8c 00 00 00 	fildll 0x8c(%esp)
41e6ac:	d9 e0                	fchs
41e6ae:	de c1                	faddp  %st,%st(1)
41e6b0:	dd 5c 24 3c          	fstpl  0x3c(%esp)
41e6b4:	dc 4c 24 3c          	fmull  0x3c(%esp)
41e6b8:	dd 1c 24             	fstpl  (%esp)
41e6bb:	68 48 d8 40 00       	push   $0x40d848
41e6c0:	ff 15 74 23 45 00    	call   *0x452374
41e6c6:	83 c4 20             	add    $0x20,%esp
41e6c9:	8b c7                	mov    %edi,%eax
41e6cb:	83 c0 01             	add    $0x1,%eax
41e6ce:	89 44 24 44          	mov    %eax,0x44(%esp)
41e6d2:	8b c3                	mov    %ebx,%eax
41e6d4:	83 d0 00             	adc    $0x0,%eax
41e6d7:	03 7c 24 2c          	add    0x2c(%esp),%edi
41e6db:	89 44 24 34          	mov    %eax,0x34(%esp)
41e6df:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
41e6e6:	13 5c 24 28          	adc    0x28(%esp),%ebx
41e6ea:	8b 70 24             	mov    0x24(%eax),%esi
41e6ed:	8b ce                	mov    %esi,%ecx
41e6ef:	ff 15 84 23 45 00    	call   *0x452384
41e6f5:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
41e6fc:	ff d6                	call   *%esi
41e6fe:	3b da                	cmp    %edx,%ebx
41e700:	72 0e                	jb     0x41e710
41e702:	77 18                	ja     0x41e71c
41e704:	3b f8                	cmp    %eax,%edi
41e706:	73 14                	jae    0x41e71c
41e708:	eb 06                	jmp    0x41e710
41e70a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
41e710:	8b 8c 24 e8 00 00 00 	mov    0xe8(%esp),%ecx
41e717:	e9 48 fe ff ff       	jmp    0x41e564
41e71c:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
41e723:	8b 70 24             	mov    0x24(%eax),%esi
41e726:	8b ce                	mov    %esi,%ecx
41e728:	ff 15 84 23 45 00    	call   *0x452384
41e72e:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
41e735:	ff d6                	call   *%esi
41e737:	8b 8c 24 e8 00 00 00 	mov    0xe8(%esp),%ecx
41e73e:	8b f8                	mov    %eax,%edi
41e740:	8b da                	mov    %edx,%ebx
41e742:	e9 1d fe ff ff       	jmp    0x41e564
41e747:	6a 0a                	push   $0xa
41e749:	68 a0 d8 40 00       	push   $0x40d8a0
41e74e:	ff 15 74 23 45 00    	call   *0x452374
41e754:	83 c4 08             	add    $0x8,%esp
41e757:	89 b4 24 e4 00 00 00 	mov    %esi,0xe4(%esp)
41e75e:	89 b4 24 e8 00 00 00 	mov    %esi,0xe8(%esp)
41e765:	89 b4 24 ec 00 00 00 	mov    %esi,0xec(%esp)
41e76c:	89 b4 24 f0 00 00 00 	mov    %esi,0xf0(%esp)
41e773:	89 b4 24 f4 00 00 00 	mov    %esi,0xf4(%esp)
41e77a:	39 b4 24 e0 00 00 00 	cmp    %esi,0xe0(%esp)
41e781:	74 1c                	je     0x41e79f
41e783:	39 b4 24 dc 00 00 00 	cmp    %esi,0xdc(%esp)
41e78a:	75 0c                	jne    0x41e798
41e78c:	8d 8c 24 cc 00 00 00 	lea    0xcc(%esp),%ecx
41e793:	e8 98 69 ff ff       	call   0x415130
41e798:	89 b4 24 e0 00 00 00 	mov    %esi,0xe0(%esp)
41e79f:	be 05 00 00 00       	mov    $0x5,%esi
41e7a4:	83 cb ff             	or     $0xffffffff,%ebx
41e7a7:	89 74 24 30          	mov    %esi,0x30(%esp)
41e7ab:	eb 03                	jmp    0x41e7b0
41e7ad:	8d 49 00             	lea    0x0(%ecx),%ecx
41e7b0:	8d 44 24 60          	lea    0x60(%esp),%eax
41e7b4:	8b fe                	mov    %esi,%edi
41e7b6:	50                   	push   %eax
41e7b7:	8d 44 24 34          	lea    0x34(%esp),%eax
41e7bb:	50                   	push   %eax
41e7bc:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
41e7c3:	e8 18 73 ff ff       	call   0x415ae0
41e7c8:	8b 74 24 30          	mov    0x30(%esp),%esi
41e7cc:	3b f3                	cmp    %ebx,%esi
41e7ce:	74 60                	je     0x41e830
41e7d0:	8b 44 24 60          	mov    0x60(%esp),%eax
41e7d4:	8b 4c 24 64          	mov    0x64(%esp),%ecx
41e7d8:	89 44 24 20          	mov    %eax,0x20(%esp)
41e7dc:	8b c1                	mov    %ecx,%eax
41e7de:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
41e7e4:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
41e7eb:	00
41e7ec:	89 4c 24 24          	mov    %ecx,0x24(%esp)
41e7f0:	25 00 00 00 80       	and    $0x80000000,%eax
41e7f5:	df 6c 24 20          	fildll 0x20(%esp)
41e7f9:	89 44 24 3c          	mov    %eax,0x3c(%esp)
41e7fd:	6a 0a                	push   $0xa
41e7ff:	83 ec 08             	sub    $0x8,%esp
41e802:	df 6c 24 44          	fildll 0x44(%esp)
41e806:	d9 e0                	fchs
41e808:	de c1                	faddp  %st,%st(1)
41e80a:	dd 5c 24 54          	fstpl  0x54(%esp)
41e80e:	dd 44 24 54          	fldl   0x54(%esp)
41e812:	dc 0d a0 42 41 00    	fmull  0x4142a0
41e818:	8b 74 24 3c          	mov    0x3c(%esp),%esi
41e81c:	dd 1c 24             	fstpl  (%esp)
41e81f:	56                   	push   %esi
41e820:	68 e8 d8 40 00       	push   $0x40d8e8
41e825:	ff 15 74 23 45 00    	call   *0x452374
41e82b:	83 c4 14             	add    $0x14,%esp
41e82e:	8b de                	mov    %esi,%ebx
41e830:	83 fe 64             	cmp    $0x64,%esi
41e833:	73 24                	jae    0x41e859
41e835:	3b f7                	cmp    %edi,%esi
41e837:	0f 87 73 ff ff ff    	ja     0x41e7b0
41e83d:	8d 49 00             	lea    0x0(%ecx),%ecx
41e840:	8d 4e 05             	lea    0x5(%esi),%ecx
41e843:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
41e848:	f7 e1                	mul    %ecx
41e84a:	c1 ea 02             	shr    $0x2,%edx
41e84d:	8d 34 92             	lea    (%edx,%edx,4),%esi
41e850:	3b f7                	cmp    %edi,%esi
41e852:	76 ec                	jbe    0x41e840
41e854:	e9 4e ff ff ff       	jmp    0x41e7a7
41e859:	8b 7c 24 58          	mov    0x58(%esp),%edi
41e85d:	ff 74 24 5c          	push   0x5c(%esp)
41e861:	6a 00                	push   $0x0
41e863:	ff b4 24 04 01 00 00 	push   0x104(%esp)
41e86a:	ff 15 18 21 45 00    	call   *0x452118
41e870:	ff b4 24 84 00 00 00 	push   0x84(%esp)
41e877:	ff 15 10 21 45 00    	call   *0x452110
41e87d:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
41e884:	e8 17 6e ff ff       	call   0x4156a0
41e889:	8b c7                	mov    %edi,%eax
41e88b:	5f                   	pop    %edi
41e88c:	5e                   	pop    %esi
41e88d:	5b                   	pop    %ebx
41e88e:	8b e5                	mov    %ebp,%esp
41e890:	5d                   	pop    %ebp
41e891:	c2 08 00             	ret    $0x8
41e894:	cc                   	int3
41e895:	cc                   	int3
41e896:	cc                   	int3
41e897:	cc                   	int3
41e898:	cc                   	int3
41e899:	cc                   	int3
41e89a:	cc                   	int3
41e89b:	cc                   	int3
41e89c:	cc                   	int3
41e89d:	cc                   	int3
41e89e:	cc                   	int3
41e89f:	cc                   	int3
41e8a0:	8b ff                	mov    %edi,%edi
41e8a2:	55                   	push   %ebp
41e8a3:	8b ec                	mov    %esp,%ebp
41e8a5:	81 ec c8 06 00 00    	sub    $0x6c8,%esp
41e8ab:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41e8b0:	33 c5                	xor    %ebp,%eax
41e8b2:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e8b5:	53                   	push   %ebx
41e8b6:	33 c0                	xor    %eax,%eax
41e8b8:	89 95 5c f9 ff ff    	mov    %edx,-0x6a4(%ebp)
41e8be:	56                   	push   %esi
41e8bf:	8b f1                	mov    %ecx,%esi
41e8c1:	c7 85 60 f9 ff ff 00 	movl   $0x0,-0x6a0(%ebp)
41e8c8:	00 00 00
41e8cb:	57                   	push   %edi
41e8cc:	8d 95 60 f9 ff ff    	lea    -0x6a0(%ebp),%edx
41e8d2:	89 b5 6c f9 ff ff    	mov    %esi,-0x694(%ebp)
41e8d8:	c7 85 68 f9 ff ff 00 	movl   $0x0,-0x698(%ebp)
41e8df:	00 00 00
41e8e2:	c7 85 3c f9 ff ff 00 	movl   $0x0,-0x6c4(%ebp)
41e8e9:	00 00 00
41e8ec:	c7 85 40 f9 ff ff 00 	movl   $0x0,-0x6c0(%ebp)
41e8f3:	00 00 00
41e8f6:	89 85 64 f9 ff ff    	mov    %eax,-0x69c(%ebp)
41e8fc:	89 85 4c f9 ff ff    	mov    %eax,-0x6b4(%ebp)
41e902:	89 85 70 f9 ff ff    	mov    %eax,-0x690(%ebp)
41e908:	89 85 50 f9 ff ff    	mov    %eax,-0x6b0(%ebp)
41e90e:	e8 9d e1 01 00       	call   0x43cab0
41e913:	8b f8                	mov    %eax,%edi
41e915:	85 ff                	test   %edi,%edi
41e917:	0f 88 74 04 00 00    	js     0x41ed91
41e91d:	8b 9d 60 f9 ff ff    	mov    -0x6a0(%ebp),%ebx
41e923:	8d 8d 84 fd ff ff    	lea    -0x27c(%ebp),%ecx
41e929:	51                   	push   %ecx
41e92a:	56                   	push   %esi
41e92b:	8b 03                	mov    (%ebx),%eax
41e92d:	8b 70 14             	mov    0x14(%eax),%esi
41e930:	8b ce                	mov    %esi,%ecx
41e932:	ff 15 84 23 45 00    	call   *0x452384
41e938:	8b cb                	mov    %ebx,%ecx
41e93a:	ff d6                	call   *%esi
41e93c:	8b f8                	mov    %eax,%edi
41e93e:	85 ff                	test   %edi,%edi
41e940:	0f 88 4b 04 00 00    	js     0x41ed91
41e946:	6a 32                	push   $0x32
41e948:	8d 45 8c             	lea    -0x74(%ebp),%eax
41e94b:	50                   	push   %eax
41e94c:	8d 85 40 f9 ff ff    	lea    -0x6c0(%ebp),%eax
41e952:	50                   	push   %eax
41e953:	6a 00                	push   $0x0
41e955:	8d 85 3c f9 ff ff    	lea    -0x6c4(%ebp),%eax
41e95b:	50                   	push   %eax
41e95c:	68 04 01 00 00       	push   $0x104
41e961:	8d 85 7c fb ff ff    	lea    -0x484(%ebp),%eax
41e967:	50                   	push   %eax
41e968:	8d 85 84 fd ff ff    	lea    -0x27c(%ebp),%eax
41e96e:	50                   	push   %eax
41e96f:	ff 15 8c 20 45 00    	call   *0x45208c
41e975:	85 c0                	test   %eax,%eax
41e977:	75 22                	jne    0x41e99b
41e979:	8b 33                	mov    (%ebx),%esi
41e97b:	ff 15 6c 20 45 00    	call   *0x45206c
41e981:	8b 76 10             	mov    0x10(%esi),%esi
41e984:	8b ce                	mov    %esi,%ecx
41e986:	50                   	push   %eax
41e987:	ff 15 84 23 45 00    	call   *0x452384
41e98d:	8b cb                	mov    %ebx,%ecx
41e98f:	ff d6                	call   *%esi
41e991:	8b f8                	mov    %eax,%edi
41e993:	85 ff                	test   %edi,%edi
41e995:	0f 88 f6 03 00 00    	js     0x41ed91
41e99b:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
41e9a1:	50                   	push   %eax
41e9a2:	50                   	push   %eax
41e9a3:	8d 85 4c f9 ff ff    	lea    -0x6b4(%ebp),%eax
41e9a9:	50                   	push   %eax
41e9aa:	8d 85 70 f9 ff ff    	lea    -0x690(%ebp),%eax
41e9b0:	50                   	push   %eax
41e9b1:	8d 85 84 fd ff ff    	lea    -0x27c(%ebp),%eax
41e9b7:	50                   	push   %eax
41e9b8:	ff 15 a4 20 45 00    	call   *0x4520a4
41e9be:	85 c0                	test   %eax,%eax
41e9c0:	75 22                	jne    0x41e9e4
41e9c2:	8b 33                	mov    (%ebx),%esi
41e9c4:	ff 15 6c 20 45 00    	call   *0x45206c
41e9ca:	8b 76 10             	mov    0x10(%esi),%esi
41e9cd:	8b ce                	mov    %esi,%ecx
41e9cf:	50                   	push   %eax
41e9d0:	ff 15 84 23 45 00    	call   *0x452384
41e9d6:	8b cb                	mov    %ebx,%ecx
41e9d8:	ff d6                	call   *%esi
41e9da:	8b f8                	mov    %eax,%edi
41e9dc:	85 ff                	test   %edi,%edi
41e9de:	0f 88 ad 03 00 00    	js     0x41ed91
41e9e4:	8b 85 70 f9 ff ff    	mov    -0x690(%ebp),%eax
41e9ea:	0f af 85 4c f9 ff ff 	imul   -0x6b4(%ebp),%eax
41e9f1:	6a 0a                	push   $0xa
41e9f3:	68 64 da 40 00       	push   $0x40da64
41e9f8:	89 85 70 f9 ff ff    	mov    %eax,-0x690(%ebp)
41e9fe:	ff 15 74 23 45 00    	call   *0x452374
41ea04:	8b b5 6c f9 ff ff    	mov    -0x694(%ebp),%esi
41ea0a:	6a 0a                	push   $0xa
41ea0c:	56                   	push   %esi
41ea0d:	68 8c da 40 00       	push   $0x40da8c
41ea12:	ff 15 74 23 45 00    	call   *0x452374
41ea18:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
41ea1e:	83 c4 14             	add    $0x14,%esp
41ea21:	8d 51 02             	lea    0x2(%ecx),%edx
41ea24:	66 8b 01             	mov    (%ecx),%ax
41ea27:	83 c1 02             	add    $0x2,%ecx
41ea2a:	66 85 c0             	test   %ax,%ax
41ea2d:	75 f5                	jne    0x41ea24
41ea2f:	2b ca                	sub    %edx,%ecx
41ea31:	8d 85 84 fd ff ff    	lea    -0x27c(%ebp),%eax
41ea37:	d1 f9                	sar    $1,%ecx
41ea39:	74 06                	je     0x41ea41
41ea3b:	8d 85 7c fb ff ff    	lea    -0x484(%ebp),%eax
41ea41:	6a 0a                	push   $0xa
41ea43:	50                   	push   %eax
41ea44:	68 b0 da 40 00       	push   $0x40dab0
41ea49:	ff 15 74 23 45 00    	call   *0x452374
41ea4f:	83 c4 0c             	add    $0xc,%esp
41ea52:	8d 45 8c             	lea    -0x74(%ebp),%eax
41ea55:	6a 0a                	push   $0xa
41ea57:	50                   	push   %eax
41ea58:	68 d8 da 40 00       	push   $0x40dad8
41ea5d:	ff 15 74 23 45 00    	call   *0x452374
41ea63:	83 c4 0c             	add    $0xc,%esp
41ea66:	6a 0a                	push   $0xa
41ea68:	ff b5 70 f9 ff ff    	push   -0x690(%ebp)
41ea6e:	68 00 db 40 00       	push   $0x40db00
41ea73:	ff 15 74 23 45 00    	call   *0x452374
41ea79:	83 c4 0c             	add    $0xc,%esp
41ea7c:	8d 45 8c             	lea    -0x74(%ebp),%eax
41ea7f:	68 38 db 40 00       	push   $0x40db38
41ea84:	50                   	push   %eax
41ea85:	ff 15 68 23 45 00    	call   *0x452368
41ea8b:	83 c4 08             	add    $0x8,%esp
41ea8e:	85 c0                	test   %eax,%eax
41ea90:	0f 85 14 01 00 00    	jne    0x41ebaa
41ea96:	56                   	push   %esi
41ea97:	8d 85 74 f9 ff ff    	lea    -0x68c(%ebp),%eax
41ea9d:	33 ff                	xor    %edi,%edi
41ea9f:	68 04 01 00 00       	push   $0x104