40306b:	80 eb 11             	sub    $0x11,%bl
40306e:	80 fb 05             	cmp    $0x5,%bl
403071:	77 d0                	ja     0x403043
403073:	80 c3 0a             	add    $0xa,%bl
403076:	39 f8                	cmp    %edi,%eax
403078:	77 c9                	ja     0x403043
40307a:	c1 e0 04             	shl    $0x4,%eax
40307d:	01 d8                	add    %ebx,%eax
40307f:	8a 1e                	mov    (%esi),%bl
403081:	46                   	inc    %esi
403082:	84 db                	test   %bl,%bl
403084:	75 d5                	jne    0x40305b
403086:	fe cd                	dec    %ch
403088:	75 02                	jne    0x40308c
40308a:	f7 d8                	neg    %eax
40308c:	59                   	pop    %ecx
40308d:	31 f6                	xor    %esi,%esi
40308f:	89 32                	mov    %esi,(%edx)
403091:	5f                   	pop    %edi
403092:	5e                   	pop    %esi
403093:	5b                   	pop    %ebx
403094:	c3                   	ret
403095:	8d 40 00             	lea    0x0(%eax),%eax
403098:	b9 ff 00 00 00       	mov    $0xff,%ecx
40309d:	e8 02 00 00 00       	call   0x4030a4
4030a2:	c3                   	ret
4030a3:	90                   	nop
4030a4:	53                   	push   %ebx
4030a5:	50                   	push   %eax
4030a6:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
4030ac:	76 05                	jbe    0x4030b3
4030ae:	b9 ff 00 00 00       	mov    $0xff,%ecx
4030b3:	8a 1a                	mov    (%edx),%bl
4030b5:	42                   	inc    %edx
4030b6:	84 db                	test   %bl,%bl
4030b8:	74 06                	je     0x4030c0
4030ba:	40                   	inc    %eax
4030bb:	88 18                	mov    %bl,(%eax)
4030bd:	49                   	dec    %ecx
4030be:	75 f3                	jne    0x4030b3
4030c0:	5a                   	pop    %edx
4030c1:	29 d0                	sub    %edx,%eax
4030c3:	88 02                	mov    %al,(%edx)
4030c5:	5b                   	pop    %ebx
4030c6:	c3                   	ret
4030c7:	90                   	nop
4030c8:	56                   	push   %esi
4030c9:	57                   	push   %edi
4030ca:	89 c6                	mov    %eax,%esi
4030cc:	89 d7                	mov    %edx,%edi
4030ce:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4030d4:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4030d6:	5f                   	pop    %edi
4030d7:	5e                   	pop    %esi
4030d8:	c3                   	ret
4030d9:	8d 40 00             	lea    0x0(%eax),%eax
4030dc:	53                   	push   %ebx
4030dd:	31 db                	xor    %ebx,%ebx
4030df:	57                   	push   %edi
4030e0:	89 d7                	mov    %edx,%edi
4030e2:	89 c1                	mov    %eax,%ecx
4030e4:	83 ec 0a             	sub    $0xa,%esp
4030e7:	c6 07 30             	movb   $0x30,(%edi)
4030ea:	dc 8b 68 50 45 00    	fmull  0x455068(%ebx)
4030f0:	d9 fc                	frndint
4030f2:	dc 93 70 50 45 00    	fcoml  0x455070(%ebx)
4030f8:	9b df e0             	fstsw  %ax
4030fb:	9e                   	sahf
4030fc:	72 09                	jb     0x403107
4030fe:	dc a3 70 50 45 00    	fsubl  0x455070(%ebx)
403104:	c6 07 31             	movb   $0x31,(%edi)
403107:	df 34 24             	fbstp  (%esp)
40310a:	ba 08 00 00 00       	mov    $0x8,%edx
40310f:	47                   	inc    %edi
403110:	9b                   	fwait
403111:	8a 04 14             	mov    (%esp,%edx,1),%al
403114:	88 c4                	mov    %al,%ah
403116:	c0 e8 04             	shr    $0x4,%al
403119:	80 e4 0f             	and    $0xf,%ah
40311c:	66 05 30 30          	add    $0x3030,%ax
403120:	66 ab                	stos   %ax,%es:(%edi)
403122:	4a                   	dec    %edx
403123:	79 eb                	jns    0x403110
403125:	83 e9 12             	sub    $0x12,%ecx
403128:	7c 06                	jl     0x403130
40312a:	b0 30                	mov    $0x30,%al
40312c:	f3 aa                	rep stos %al,%es:(%edi)
40312e:	eb 14                	jmp    0x403144
403130:	01 cf                	add    %ecx,%edi
403132:	80 3f 35             	cmpb   $0x35,(%edi)
403135:	7c 0d                	jl     0x403144
403137:	4f                   	dec    %edi
403138:	fe 07                	incb   (%edi)
40313a:	80 3f 39             	cmpb   $0x39,(%edi)
40313d:	7e 05                	jle    0x403144
40313f:	c6 07 30             	movb   $0x30,(%edi)
403142:	eb f3                	jmp    0x403137
403144:	83 c4 0a             	add    $0xa,%esp
403147:	5f                   	pop    %edi
403148:	5b                   	pop    %ebx
403149:	c3                   	ret
40314a:	8b c0                	mov    %eax,%eax
40314c:	53                   	push   %ebx
40314d:	83 ec 0c             	sub    $0xc,%esp
403150:	31 db                	xor    %ebx,%ebx
403152:	d9 c0                	fld    %st(0)
403154:	db 3c 24             	fstpt  (%esp)
403157:	66 8b 44 24 08       	mov    0x8(%esp),%ax
40315c:	66 85 c0             	test   %ax,%ax
40315f:	74 1b                	je     0x40317c
403161:	66 2d ff 3f          	sub    $0x3fff,%ax
403165:	66 ba 10 4d          	mov    $0x4d10,%dx
403169:	66 f7 ea             	imul   %dx
40316c:	0f bf c2             	movswl %dx,%eax
40316f:	f7 d8                	neg    %eax
403171:	74 16                	je     0x403189
403173:	29 c3                	sub    %eax,%ebx
403175:	e8 da 01 00 00       	call   0x403354
40317a:	eb d6                	jmp    0x403152
40317c:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
403181:	75 de                	jne    0x403161
403183:	83 3c 24 00          	cmpl   $0x0,(%esp)
403187:	75 d8                	jne    0x403161
403189:	83 c4 0c             	add    $0xc,%esp
40318c:	89 d8                	mov    %ebx,%eax
40318e:	5b                   	pop    %ebx
40318f:	c3                   	ret
403190:	db 6c 24 04          	fldt   0x4(%esp)
403194:	53                   	push   %ebx
403195:	56                   	push   %esi
403196:	57                   	push   %edi
403197:	89 c3                	mov    %eax,%ebx
403199:	89 d6                	mov    %edx,%esi
40319b:	51                   	push   %ecx
40319c:	81 ec 00 01 00 00    	sub    $0x100,%esp
4031a2:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4031a8:	7e 05                	jle    0x4031af
4031aa:	bb ff 00 00 00       	mov    $0xff,%ebx
4031af:	d9 c0                	fld    %st(0)
4031b1:	db 3c 24             	fstpt  (%esp)
4031b4:	31 c0                	xor    %eax,%eax
4031b6:	66 8b 44 24 08       	mov    0x8(%esp),%ax
4031bb:	89 c7                	mov    %eax,%edi
4031bd:	c1 ef 0f             	shr    $0xf,%edi
4031c0:	66 25 ff 7f          	and    $0x7fff,%ax
4031c4:	66 3d ff 7f          	cmp    $0x7fff,%ax
4031c8:	0f 84 3e 01 00 00    	je     0x40330c
4031ce:	d9 e1                	fabs
4031d0:	85 f6                	test   %esi,%esi
4031d2:	0f 8d a1 00 00 00    	jge    0x403279
4031d8:	e8 6f ff ff ff       	call   0x40314c
4031dd:	89 de                	mov    %ebx,%esi
4031df:	83 ee 08             	sub    $0x8,%esi
4031e2:	83 fe 02             	cmp    $0x2,%esi
4031e5:	7d 07                	jge    0x4031ee
4031e7:	be 02 00 00 00       	mov    $0x2,%esi
4031ec:	eb 0a                	jmp    0x4031f8
4031ee:	83 fe 12             	cmp    $0x12,%esi
4031f1:	7e 05                	jle    0x4031f8
4031f3:	be 12 00 00 00       	mov    $0x12,%esi
4031f8:	89 e2                	mov    %esp,%edx
4031fa:	50                   	push   %eax
4031fb:	89 f0                	mov    %esi,%eax
4031fd:	e8 da fe ff ff       	call   0x4030dc
403202:	89 fa                	mov    %edi,%edx
403204:	8b bc 24 04 01 00 00 	mov    0x104(%esp),%edi
40320b:	88 1f                	mov    %bl,(%edi)
40320d:	47                   	inc    %edi
40320e:	b0 20                	mov    $0x20,%al
403210:	89 d9                	mov    %ebx,%ecx
403212:	29 f1                	sub    %esi,%ecx
403214:	83 e9 08             	sub    $0x8,%ecx
403217:	7e 02                	jle    0x40321b
403219:	f3 aa                	rep stos %al,%es:(%edi)
40321b:	28 4f ff             	sub    %cl,-0x1(%edi)
40321e:	84 d2                	test   %dl,%dl
403220:	74 02                	je     0x403224
403222:	b0 2d                	mov    $0x2d,%al
403224:	aa                   	stos   %al,%es:(%edi)
403225:	58                   	pop    %eax
403226:	89 f1                	mov    %esi,%ecx
403228:	89 e6                	mov    %esp,%esi
40322a:	80 3e 30             	cmpb   $0x30,(%esi)
40322d:	74 02                	je     0x403231
40322f:	40                   	inc    %eax
403230:	4e                   	dec    %esi
403231:	46                   	inc    %esi
403232:	a4                   	movsb  %ds:(%esi),%es:(%edi)
403233:	c6 07 2e             	movb   $0x2e,(%edi)
403236:	47                   	inc    %edi
403237:	49                   	dec    %ecx
403238:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40323a:	c6 07 45             	movb   $0x45,(%edi)
40323d:	b1 2b                	mov    $0x2b,%cl
40323f:	85 c0                	test   %eax,%eax
403241:	7d 04                	jge    0x403247
403243:	b1 2d                	mov    $0x2d,%cl
403245:	f7 d8                	neg    %eax
403247:	88 4f 01             	mov    %cl,0x1(%edi)
40324a:	31 d2                	xor    %edx,%edx
40324c:	66 b9 0a 00          	mov    $0xa,%cx
403250:	66 f7 f1             	div    %cx
403253:	80 c2 30             	add    $0x30,%dl
403256:	88 57 05             	mov    %dl,0x5(%edi)
403259:	31 d2                	xor    %edx,%edx
40325b:	66 f7 f1             	div    %cx
40325e:	80 c2 30             	add    $0x30,%dl
403261:	88 57 04             	mov    %dl,0x4(%edi)
403264:	31 d2                	xor    %edx,%edx
403266:	66 f7 f1             	div    %cx
403269:	80 c2 30             	add    $0x30,%dl
40326c:	88 57 03             	mov    %dl,0x3(%edi)
40326f:	04 30                	add    $0x30,%al
403271:	88 47 02             	mov    %al,0x2(%edi)
403274:	e9 86 00 00 00       	jmp    0x4032ff
403279:	81 fe d8 00 00 00    	cmp    $0xd8,%esi
40327f:	7e 05                	jle    0x403286
403281:	be d8 00 00 00       	mov    $0xd8,%esi
403286:	dc 15 78 50 45 00    	fcoml  0x455078
40328c:	9b df e0             	fstsw  %ax
40328f:	9e                   	sahf
403290:	b8 00 00 00 00       	mov    $0x0,%eax
403295:	72 0e                	jb     0x4032a5
403297:	e8 b0 fe ff ff       	call   0x40314c
40329c:	83 f8 23             	cmp    $0x23,%eax
40329f:	0f 8f 38 ff ff ff    	jg     0x4031dd
4032a5:	40                   	inc    %eax
4032a6:	89 e2                	mov    %esp,%edx
4032a8:	50                   	push   %eax
4032a9:	01 f0                	add    %esi,%eax
4032ab:	e8 2c fe ff ff       	call   0x4030dc
4032b0:	58                   	pop    %eax
4032b1:	89 f2                	mov    %esi,%edx
4032b3:	89 e6                	mov    %esp,%esi
4032b5:	80 3e 30             	cmpb   $0x30,(%esi)
4032b8:	74 02                	je     0x4032bc
4032ba:	40                   	inc    %eax
4032bb:	4e                   	dec    %esi
4032bc:	46                   	inc    %esi
4032bd:	89 c1                	mov    %eax,%ecx
4032bf:	01 f9                	add    %edi,%ecx
4032c1:	85 d2                	test   %edx,%edx
4032c3:	74 09                	je     0x4032ce
4032c5:	41                   	inc    %ecx
4032c6:	01 d1                	add    %edx,%ecx
4032c8:	39 cb                	cmp    %ecx,%ebx
4032ca:	7f 02                	jg     0x4032ce
4032cc:	89 cb                	mov    %ecx,%ebx
4032ce:	50                   	push   %eax
4032cf:	57                   	push   %edi
4032d0:	8b bc 24 08 01 00 00 	mov    0x108(%esp),%edi
4032d7:	88 1f                	mov    %bl,(%edi)
4032d9:	47                   	inc    %edi
4032da:	29 cb                	sub    %ecx,%ebx
4032dc:	89 d9                	mov    %ebx,%ecx
4032de:	7e 04                	jle    0x4032e4
4032e0:	b0 20                	mov    $0x20,%al
4032e2:	f3 aa                	rep stos %al,%es:(%edi)
4032e4:	28 4f ff             	sub    %cl,-0x1(%edi)
4032e7:	58                   	pop    %eax
4032e8:	59                   	pop    %ecx
4032e9:	85 c0                	test   %eax,%eax
4032eb:	74 04                	je     0x4032f1
4032ed:	c6 07 2d             	movb   $0x2d,(%edi)
4032f0:	47                   	inc    %edi
4032f1:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4032f3:	85 d2                	test   %edx,%edx
4032f5:	74 08                	je     0x4032ff
4032f7:	c6 07 2e             	movb   $0x2e,(%edi)
4032fa:	47                   	inc    %edi
4032fb:	89 d1                	mov    %edx,%ecx
4032fd:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4032ff:	81 c4 00 01 00 00    	add    $0x100,%esp
403305:	59                   	pop    %ecx
403306:	5f                   	pop    %edi
403307:	5e                   	pop    %esi
403308:	5b                   	pop    %ebx
403309:	c2 0c 00             	ret    $0xc
40330c:	31 c0                	xor    %eax,%eax
40330e:	dd d8                	fstp   %st(0)
403310:	81 7c 24 04 00 00 00 	cmpl   $0x80000000,0x4(%esp)
403317:	80
403318:	8d b0 80 50 45 00    	lea    0x455080(%eax),%esi
40331e:	75 0f                	jne    0x40332f
403320:	4f                   	dec    %edi
403321:	8d b0 84 50 45 00    	lea    0x455084(%eax),%esi
403327:	75 06                	jne    0x40332f
403329:	8d b0 8c 50 45 00    	lea    0x45508c(%eax),%esi
40332f:	89 cf                	mov    %ecx,%edi
403331:	89 d9                	mov    %ebx,%ecx
403333:	88 0f                	mov    %cl,(%edi)
403335:	47                   	inc    %edi
403336:	2a 0e                	sub    (%esi),%cl
403338:	76 04                	jbe    0x40333e
40333a:	b0 20                	mov    $0x20,%al
40333c:	f3 aa                	rep stos %al,%es:(%edi)
40333e:	28 4f ff             	sub    %cl,-0x1(%edi)
403341:	8a 0e                	mov    (%esi),%cl
403343:	46                   	inc    %esi
403344:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
403346:	eb b7                	jmp    0x4032ff
403348:	c3                   	ret
403349:	8d 40 00             	lea    0x0(%eax),%eax
40334c:	e9 03 00 00 00       	jmp    0x403354
403351:	c3                   	ret
403352:	8b c0                	mov    %eax,%eax
403354:	53                   	push   %ebx
403355:	31 db                	xor    %ebx,%ebx
403357:	85 c0                	test   %eax,%eax
403359:	7c 4d                	jl     0x4033a8
40335b:	0f 84 9a 00 00 00    	je     0x4033fb
403361:	3d 00 14 00 00       	cmp    $0x1400,%eax
403366:	0f 8d 81 00 00 00    	jge    0x4033ed
40336c:	89 c2                	mov    %eax,%edx
40336e:	83 e2 1f             	and    $0x1f,%edx
403371:	8d 14 92             	lea    (%edx,%edx,4),%edx
403374:	db ac 53 07 34 40 00 	fldt   0x403407(%ebx,%edx,2)
40337b:	de c9                	fmulp  %st,%st(1)
40337d:	c1 e8 05             	shr    $0x5,%eax
403380:	74 79                	je     0x4033fb
403382:	89 c2                	mov    %eax,%edx
403384:	83 e2 0f             	and    $0xf,%edx
403387:	74 0c                	je     0x403395
403389:	8d 14 92             	lea    (%edx,%edx,4),%edx
40338c:	db ac 53 3d 35 40 00 	fldt   0x40353d(%ebx,%edx,2)
403393:	de c9                	fmulp  %st,%st(1)
403395:	c1 e8 04             	shr    $0x4,%eax
403398:	74 61                	je     0x4033fb
40339a:	8d 04 80             	lea    (%eax,%eax,4),%eax
40339d:	db ac 43 d3 35 40 00 	fldt   0x4035d3(%ebx,%eax,2)
4033a4:	de c9                	fmulp  %st,%st(1)
4033a6:	eb 53                	jmp    0x4033fb
4033a8:	f7 d8                	neg    %eax
4033aa:	3d 00 14 00 00       	cmp    $0x1400,%eax
4033af:	7d 46                	jge    0x4033f7
4033b1:	89 c2                	mov    %eax,%edx
4033b3:	83 e2 1f             	and    $0x1f,%edx
4033b6:	8d 14 92             	lea    (%edx,%edx,4),%edx
4033b9:	db ac 53 07 34 40 00 	fldt   0x403407(%ebx,%edx,2)
4033c0:	de f9                	fdivrp %st,%st(1)
4033c2:	c1 e8 05             	shr    $0x5,%eax
4033c5:	74 34                	je     0x4033fb
4033c7:	89 c2                	mov    %eax,%edx
4033c9:	83 e2 0f             	and    $0xf,%edx
4033cc:	74 0c                	je     0x4033da
4033ce:	8d 14 92             	lea    (%edx,%edx,4),%edx
4033d1:	db ac 53 3d 35 40 00 	fldt   0x40353d(%ebx,%edx,2)
4033d8:	de f9                	fdivrp %st,%st(1)
4033da:	c1 e8 04             	shr    $0x4,%eax
4033dd:	74 1c                	je     0x4033fb