43e0a7:	3d 00 00 00 02       	cmp    $0x2000000,%eax
43e0ac:	73 1e                	jae    0x43e0cc
43e0ae:	89 45 08             	mov    %eax,0x8(%ebp)
43e0b1:	db 45 08             	fildl  0x8(%ebp)
43e0b4:	85 c0                	test   %eax,%eax
43e0b6:	79 06                	jns    0x43e0be
43e0b8:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e0be:	dd 5d f8             	fstpl  -0x8(%ebp)
43e0c1:	dd 45 f8             	fldl   -0x8(%ebp)
43e0c4:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
43e0ca:	eb 41                	jmp    0x43e10d
43e0cc:	3d 00 00 00 08       	cmp    $0x8000000,%eax
43e0d1:	73 1e                	jae    0x43e0f1
43e0d3:	89 45 08             	mov    %eax,0x8(%ebp)
43e0d6:	db 45 08             	fildl  0x8(%ebp)
43e0d9:	85 c0                	test   %eax,%eax
43e0db:	79 06                	jns    0x43e0e3
43e0dd:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e0e3:	dd 5d f8             	fstpl  -0x8(%ebp)
43e0e6:	dd 45 f8             	fldl   -0x8(%ebp)
43e0e9:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
43e0ef:	eb 1c                	jmp    0x43e10d
43e0f1:	89 45 08             	mov    %eax,0x8(%ebp)
43e0f4:	db 45 08             	fildl  0x8(%ebp)
43e0f7:	85 c0                	test   %eax,%eax
43e0f9:	79 06                	jns    0x43e101
43e0fb:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e101:	dd 5d f8             	fstpl  -0x8(%ebp)
43e104:	dd 45 f8             	fldl   -0x8(%ebp)
43e107:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
43e10d:	e8 f4 d4 ff ff       	call   0x43b606
43e112:	e9 27 7a fc ff       	jmp    0x405b3e
43e117:	48                   	dec    %eax
43e118:	89 01                	mov    %eax,(%ecx)
43e11a:	8b cf                	mov    %edi,%ecx
43e11c:	56                   	push   %esi
43e11d:	e8 21 83 01 00       	call   0x456443
43e122:	8b 47 04             	mov    0x4(%edi),%eax
43e125:	83 c0 02             	add    $0x2,%eax
43e128:	50                   	push   %eax
43e129:	e8 1d 79 fc ff       	call   0x405a4b
43e12e:	50                   	push   %eax
43e12f:	89 47 08             	mov    %eax,0x8(%edi)
43e132:	e8 bf 2e fe ff       	call   0x420ff6
43e137:	8b 4f 04             	mov    0x4(%edi),%ecx
43e13a:	8b f0                	mov    %eax,%esi
43e13c:	41                   	inc    %ecx
43e13d:	51                   	push   %ecx
43e13e:	ff 37                	push   (%edi)
43e140:	56                   	push   %esi
43e141:	e8 3a 2f fe ff       	call   0x421080
43e146:	83 c4 10             	add    $0x10,%esp
43e149:	89 37                	mov    %esi,(%edi)
43e14b:	5e                   	pop    %esi
43e14c:	e9 a9 7a fc ff       	jmp    0x405bfa
43e151:	8b 77 10             	mov    0x10(%edi),%esi
43e154:	03 75 08             	add    0x8(%ebp),%esi
43e157:	8b 4f 14             	mov    0x14(%edi),%ecx
43e15a:	13 ca                	adc    %edx,%ecx
43e15c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43e15f:	e9 1b 7b fc ff       	jmp    0x405c7f
43e164:	8b cf                	mov    %edi,%ecx
43e166:	e8 43 7c fc ff       	call   0x405dae
43e16b:	8b 4f 10             	mov    0x10(%edi),%ecx
43e16e:	2b c8                	sub    %eax,%ecx
43e170:	8b 47 14             	mov    0x14(%edi),%eax
43e173:	1b c2                	sbb    %edx,%eax
43e175:	8b 55 0c             	mov    0xc(%ebp),%edx
43e178:	03 f1                	add    %ecx,%esi
43e17a:	13 d0                	adc    %eax,%edx
43e17c:	e9 6e 7b fc ff       	jmp    0x405cef
43e181:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
43e185:	74 36                	je     0x43e1bd
43e187:	8b 45 08             	mov    0x8(%ebp),%eax
43e18a:	53                   	push   %ebx
43e18b:	68 80 00 00 00       	push   $0x80
43e190:	6a 04                	push   $0x4
43e192:	53                   	push   %ebx
43e193:	6a 07                	push   $0x7
43e195:	68 00 00 00 c0       	push   $0xc0000000
43e19a:	ff 30                	push   (%eax)
43e19c:	ff 15 d4 f1 48 00    	call   *0x48f1d4
43e1a2:	89 06                	mov    %eax,(%esi)
43e1a4:	83 f8 ff             	cmp    $0xffffffff,%eax
43e1a7:	0f 84 8a 7c fc ff    	je     0x405e37
43e1ad:	6a 02                	push   $0x2
43e1af:	53                   	push   %ebx
43e1b0:	53                   	push   %ebx
43e1b1:	8b ce                	mov    %esi,%ecx
43e1b3:	e8 96 7a fc ff       	call   0x405c4e
43e1b8:	e9 72 7c fc ff       	jmp    0x405e2f
43e1bd:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
43e1c1:	0f 84 70 7c fc ff    	je     0x405e37
43e1c7:	53                   	push   %ebx
43e1c8:	68 80 00 00 00       	push   $0x80
43e1cd:	6a 02                	push   $0x2
43e1cf:	53                   	push   %ebx
43e1d0:	6a 07                	push   $0x7
43e1d2:	68 00 00 00 c0       	push   $0xc0000000
43e1d7:	e9 46 7c fc ff       	jmp    0x405e22
43e1dc:	ff 37                	push   (%edi)
43e1de:	e8 89 2e fe ff       	call   0x42106c
43e1e3:	ff 77 0c             	push   0xc(%edi)
43e1e6:	e8 81 2e fe ff       	call   0x42106c
43e1eb:	59                   	pop    %ecx
43e1ec:	59                   	pop    %ecx
43e1ed:	e9 7b 7d fc ff       	jmp    0x405f6d
43e1f2:	66 83 79 08 05       	cmpw   $0x5,0x8(%ecx)
43e1f7:	0f 85 cc 7d fc ff    	jne    0x405fc9
43e1fd:	83 fa 02             	cmp    $0x2,%edx
43e200:	0f 86 c3 7d fc ff    	jbe    0x405fc9
43e206:	8b 44 93 f8          	mov    -0x8(%ebx,%edx,4),%eax
43e20a:	0f b7 78 08          	movzwl 0x8(%eax),%edi
43e20e:	8b 44 93 f4          	mov    -0xc(%ebx,%edx,4),%eax
43e212:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43e216:	66 83 ff 49          	cmp    $0x49,%di
43e21a:	74 1f                	je     0x43e23b
43e21c:	66 83 ff 4a          	cmp    $0x4a,%di
43e220:	74 19                	je     0x43e23b
43e222:	66 83 ff 4c          	cmp    $0x4c,%di
43e226:	74 13                	je     0x43e23b
43e228:	6a 30                	push   $0x30
43e22a:	59                   	pop    %ecx
43e22b:	66 85 ff             	test   %di,%di
43e22e:	74 2d                	je     0x43e25d
43e230:	66 3b f9             	cmp    %cx,%di
43e233:	0f 85 90 7d fc ff    	jne    0x405fc9
43e239:	eb 22                	jmp    0x43e25d
43e23b:	83 fa 03             	cmp    $0x3,%edx
43e23e:	0f 86 85 7d fc ff    	jbe    0x405fc9
43e244:	6a 30                	push   $0x30
43e246:	59                   	pop    %ecx
43e247:	66 85 c0             	test   %ax,%ax
43e24a:	74 09                	je     0x43e255
43e24c:	66 3b c1             	cmp    %cx,%ax
43e24f:	0f 85 74 7d fc ff    	jne    0x405fc9
43e255:	8b 44 93 f0          	mov    -0x10(%ebx,%edx,4),%eax
43e259:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43e25d:	66 85 c0             	test   %ax,%ax
43e260:	0f 84 61 7d fc ff    	je     0x405fc7
43e266:	66 3b c1             	cmp    %cx,%ax
43e269:	0f 85 5a 7d fc ff    	jne    0x405fc9
43e26f:	e9 53 7d fc ff       	jmp    0x405fc7
43e274:	8b 75 10             	mov    0x10(%ebp),%esi
43e277:	8b ce                	mov    %esi,%ecx
43e279:	6a ff                	push   $0xffffffff
43e27b:	e8 92 7c fc ff       	call   0x405f12
43e280:	83 0e ff             	orl    $0xffffffff,(%esi)
43e283:	e9 d4 7d fc ff       	jmp    0x40605c
43e288:	83 f8 66             	cmp    $0x66,%eax
43e28b:	0f 86 a8 7f fc ff    	jbe    0x406239
43e291:	e9 c9 7f fc ff       	jmp    0x40625f
43e296:	83 f8 46             	cmp    $0x46,%eax
43e299:	0f 87 cc 7f fc ff    	ja     0x40626b
43e29f:	e9 95 7f fc ff       	jmp    0x406239
43e2a4:	8b c3                	mov    %ebx,%eax
43e2a6:	24 14                	and    $0x14,%al
43e2a8:	3c 04                	cmp    $0x4,%al
43e2aa:	0f 85 f9 7f fc ff    	jne    0x4062a9
43e2b0:	6a 39                	push   $0x39
43e2b2:	58                   	pop    %eax
43e2b3:	8b d8                	mov    %eax,%ebx
43e2b5:	e9 ef 7f fc ff       	jmp    0x4062a9
43e2ba:	8a 45 17             	mov    0x17(%ebp),%al
43e2bd:	f7 c3 fd ff ff ff    	test   $0xfffffffd,%ebx
43e2c3:	0f 84 8b 7e fc ff    	je     0x406154
43e2c9:	83 cb 10             	or     $0x10,%ebx
43e2cc:	89 16                	mov    %edx,(%esi)
43e2ce:	e9 81 7e fc ff       	jmp    0x406154
43e2d3:	f6 c3 08             	test   $0x8,%bl
43e2d6:	0f 84 75 7e fc ff    	je     0x406151
43e2dc:	6a 31                	push   $0x31
43e2de:	5b                   	pop    %ebx
43e2df:	e9 6d 7e fc ff       	jmp    0x406151
43e2e4:	53                   	push   %ebx
43e2e5:	68 8a 13 00 00       	push   $0x138a
43e2ea:	ff 75 08             	push   0x8(%ebp)
43e2ed:	e8 c8 1a 02 00       	call   0x45fdba
43e2f2:	83 c8 ff             	or     $0xffffffff,%eax
43e2f5:	e9 88 80 fc ff       	jmp    0x406382
43e2fa:	47                   	inc    %edi
43e2fb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e2fe:	6a 53                	push   $0x53
43e300:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e303:	e8 0a 7c fc ff       	call   0x405f12
43e308:	e9 a6 82 fc ff       	jmp    0x4065b3
43e30d:	47                   	inc    %edi
43e30e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e311:	6a 54                	push   $0x54
43e313:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e316:	e8 f7 7b fc ff       	call   0x405f12
43e31b:	e9 93 82 fc ff       	jmp    0x4065b3
43e320:	6a 51                	push   $0x51
43e322:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e325:	e8 e8 7b fc ff       	call   0x405f12
43e32a:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e32d:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e330:	50                   	push   %eax
43e331:	e8 39 93 fc ff       	call   0x40766f
43e336:	47                   	inc    %edi
43e337:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e33a:	e9 80 82 fc ff       	jmp    0x4065bf
43e33f:	6a 57                	push   $0x57
43e341:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e344:	e8 c9 7b fc ff       	call   0x405f12
43e349:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e34c:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e34f:	50                   	push   %eax
43e350:	e8 1a 93 fc ff       	call   0x40766f
43e355:	47                   	inc    %edi
43e356:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e359:	e9 61 82 fc ff       	jmp    0x4065bf
43e35e:	6a 58                	push   $0x58
43e360:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e363:	e8 aa 7b fc ff       	call   0x405f12
43e368:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e36b:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e36e:	50                   	push   %eax
43e36f:	e8 fb 92 fc ff       	call   0x40766f
43e374:	47                   	inc    %edi
43e375:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e378:	e9 42 82 fc ff       	jmp    0x4065bf
43e37d:	85 ff                	test   %edi,%edi
43e37f:	0f 85 9a 00 00 00    	jne    0x43e41f
43e385:	66 39 7b 02          	cmp    %di,0x2(%ebx)
43e389:	0f 85 90 00 00 00    	jne    0x43e41f
43e38f:	8b 45 08             	mov    0x8(%ebp),%eax
43e392:	3b 05 a0 72 4c 00    	cmp    0x4c72a0,%eax
43e398:	0f 8c 81 00 00 00    	jl     0x43e41f
43e39e:	bf 01 00 00 00       	mov    $0x1,%edi
43e3a3:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e3a6:	e9 14 82 fc ff       	jmp    0x4065bf
43e3ab:	6a 50                	push   $0x50
43e3ad:	e8 60 7b fc ff       	call   0x405f12
43e3b2:	47                   	inc    %edi
43e3b3:	89 7d f8             	mov    %edi,-0x8(%ebp)
43e3b6:	e9 f8 81 fc ff       	jmp    0x4065b3
43e3bb:	48                   	dec    %eax
43e3bc:	89 01                	mov    %eax,(%ecx)
43e3be:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43e3c1:	e8 c3 9d fc ff       	call   0x408189
43e3c6:	8b 45 dc             	mov    -0x24(%ebp),%eax
43e3c9:	83 c0 02             	add    $0x2,%eax
43e3cc:	50                   	push   %eax
43e3cd:	e8 9e 9d fc ff       	call   0x408170
43e3d2:	33 c9                	xor    %ecx,%ecx
43e3d4:	89 45 e0             	mov    %eax,-0x20(%ebp)
43e3d7:	ba 02 00 00 00       	mov    $0x2,%edx
43e3dc:	f7 e2                	mul    %edx
43e3de:	0f 90 c1             	seto   %cl
43e3e1:	f7 d9                	neg    %ecx
43e3e3:	0b c8                	or     %eax,%ecx
43e3e5:	51                   	push   %ecx
43e3e6:	e8 0b 2c fe ff       	call   0x420ff6
43e3eb:	8b d0                	mov    %eax,%edx
43e3ed:	83 c4 04             	add    $0x4,%esp
43e3f0:	8b 45 dc             	mov    -0x24(%ebp),%eax
43e3f3:	89 55 0c             	mov    %edx,0xc(%ebp)
43e3f6:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
43e3fd:	51                   	push   %ecx
43e3fe:	ff 75 d8             	push   -0x28(%ebp)
43e401:	52                   	push   %edx
43e402:	e8 79 2c fe ff       	call   0x421080
43e407:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e40a:	83 c4 0c             	add    $0xc,%esp
43e40d:	89 4d d8             	mov    %ecx,-0x28(%ebp)
43e410:	e9 45 81 fc ff       	jmp    0x40655a
43e415:	ff 75 f8             	push   -0x8(%ebp)
43e418:	68 8c 13 00 00       	push   $0x138c
43e41d:	eb 2b                	jmp    0x43e44a
43e41f:	57                   	push   %edi
43e420:	68 88 13 00 00       	push   $0x1388
43e425:	ff 75 08             	push   0x8(%ebp)
43e428:	e8 8d 19 02 00       	call   0x45fdba
43e42d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43e430:	6a 7f                	push   $0x7f
43e432:	e8 db 7a fc ff       	call   0x405f12
43e437:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e43a:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e43d:	50                   	push   %eax
43e43e:	e8 2c 92 fc ff       	call   0x40766f
43e443:	eb 0d                	jmp    0x43e452
43e445:	68 8b 13 00 00       	push   $0x138b
43e44a:	ff 75 08             	push   0x8(%ebp)
43e44d:	e8 68 19 02 00       	call   0x45fdba
43e452:	83 ce ff             	or     $0xffffffff,%esi
43e455:	e9 8c 81 fc ff       	jmp    0x4065e6
43e45a:	8d 45 0c             	lea    0xc(%ebp),%eax
43e45d:	50                   	push   %eax
43e45e:	8d 45 10             	lea    0x10(%ebp),%eax
43e461:	50                   	push   %eax
43e462:	68 80 a0 4b 00       	push   $0x4ba080
43e467:	8d 4d 98             	lea    -0x68(%ebp),%ecx
43e46a:	e8 76 b3 02 00       	call   0x4697e5
43e46f:	85 c0                	test   %eax,%eax
43e471:	74 1d                	je     0x43e490
43e473:	8d 4d 98             	lea    -0x68(%ebp),%ecx
43e476:	e8 2f 6b fc ff       	call   0x404faa
43e47b:	0f b6 47 02          	movzbl 0x2(%edi),%eax
43e47f:	50                   	push   %eax
43e480:	51                   	push   %ecx
43e481:	8b 4f 60             	mov    0x60(%edi),%ecx
43e484:	e8 ab 60 02 00       	call   0x464534
43e489:	59                   	pop    %ecx
43e48a:	59                   	pop    %ecx
43e48b:	e9 a1 85 fc ff       	jmp    0x406a31
43e490:	8b 45 10             	mov    0x10(%ebp),%eax
43e493:	83 c9 ff             	or     $0xffffffff,%ecx
43e496:	6a 04                	push   $0x4
43e498:	5e                   	pop    %esi
43e499:	66 89 4d e8          	mov    %cx,-0x18(%ebp)
43e49d:	33 c9                	xor    %ecx,%ecx
43e49f:	8b 00                	mov    (%eax),%eax
43e4a1:	89 47 10             	mov    %eax,0x10(%edi)
43e4a4:	40                   	inc    %eax
43e4a5:	89 45 0c             	mov    %eax,0xc(%ebp)
43e4a8:	6a 10                	push   $0x10
43e4aa:	5a                   	pop    %edx
43e4ab:	f7 e2                	mul    %edx
43e4ad:	c7 45 d0 78 fb 48 00 	movl   $0x48fb78,-0x30(%ebp)
43e4b4:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
43e4b7:	0f 90 c1             	seto   %cl
43e4ba:	89 5d d8             	mov    %ebx,-0x28(%ebp)
43e4bd:	f7 d9                	neg    %ecx
43e4bf:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43e4c2:	0b c8                	or     %eax,%ecx
43e4c4:	33 c0                	xor    %eax,%eax
43e4c6:	03 ce                	add    %esi,%ecx
43e4c8:	0f 92 c0             	setb   %al
43e4cb:	f7 d8                	neg    %eax
43e4cd:	0b c1                	or     %ecx,%eax
43e4cf:	50                   	push   %eax
43e4d0:	e8 21 2b fe ff       	call   0x420ff6
43e4d5:	59                   	pop    %ecx
43e4d6:	85 c0                	test   %eax,%eax
43e4d8:	74 23                	je     0x43e4fd
43e4da:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e4dd:	8d 50 04             	lea    0x4(%eax),%edx
43e4e0:	89 08                	mov    %ecx,(%eax)
43e4e2:	8b c2                	mov    %edx,%eax
43e4e4:	eb 12                	jmp    0x43e4f8
43e4e6:	c7 00 78 fb 48 00    	movl   $0x48fb78,(%eax)
43e4ec:	8d 40 10             	lea    0x10(%eax),%eax
43e4ef:	89 58 f4             	mov    %ebx,-0xc(%eax)
43e4f2:	89 58 f8             	mov    %ebx,-0x8(%eax)
43e4f5:	89 58 fc             	mov    %ebx,-0x4(%eax)
43e4f8:	49                   	dec    %ecx
43e4f9:	79 eb                	jns    0x43e4e6
43e4fb:	eb 02                	jmp    0x43e4ff
43e4fd:	8b d3                	mov    %ebx,%edx