40331d:	f7 d8                	neg    %eax
40331f:	7e 45                	jle    0x403366
403321:	78 43                	js     0x403366
403323:	5b                   	pop    %ebx
403324:	29 de                	sub    %ebx,%esi
403326:	eb 41                	jmp    0x403369
403328:	fe c5                	inc    %ch
40332a:	8a 1e                	mov    (%esi),%bl
40332c:	46                   	inc    %esi
40332d:	eb c3                	jmp    0x4032f2
40332f:	bf ff ff ff 0f       	mov    $0xfffffff,%edi
403334:	8a 1e                	mov    (%esi),%bl
403336:	46                   	inc    %esi
403337:	84 db                	test   %bl,%bl
403339:	74 df                	je     0x40331a
40333b:	80 fb 61             	cmp    $0x61,%bl
40333e:	72 03                	jb     0x403343
403340:	80 eb 20             	sub    $0x20,%bl
403343:	80 eb 30             	sub    $0x30,%bl
403346:	80 fb 09             	cmp    $0x9,%bl
403349:	76 0b                	jbe    0x403356
40334b:	80 eb 11             	sub    $0x11,%bl
40334e:	80 fb 05             	cmp    $0x5,%bl
403351:	77 d0                	ja     0x403323
403353:	80 c3 0a             	add    $0xa,%bl
403356:	39 f8                	cmp    %edi,%eax
403358:	77 c9                	ja     0x403323
40335a:	c1 e0 04             	shl    $0x4,%eax
40335d:	01 d8                	add    %ebx,%eax
40335f:	8a 1e                	mov    (%esi),%bl
403361:	46                   	inc    %esi
403362:	84 db                	test   %bl,%bl
403364:	75 d5                	jne    0x40333b
403366:	59                   	pop    %ecx
403367:	31 f6                	xor    %esi,%esi
403369:	89 32                	mov    %esi,(%edx)
40336b:	5f                   	pop    %edi
40336c:	5e                   	pop    %esi
40336d:	5b                   	pop    %ebx
40336e:	c3                   	ret
40336f:	90                   	nop
403370:	53                   	push   %ebx
403371:	8b d8                	mov    %eax,%ebx
403373:	81 fb 1c 82 6a 00    	cmp    $0x6a821c,%ebx
403379:	74 08                	je     0x403383
40337b:	81 fb e8 83 6a 00    	cmp    $0x6a83e8,%ebx
403381:	75 12                	jne    0x403395
403383:	33 c0                	xor    %eax,%eax
403385:	a0 24 a0 68 00       	mov    0x68a024,%al
40338a:	66 89 43 06          	mov    %ax,0x6(%ebx)
40338e:	8b c3                	mov    %ebx,%eax
403390:	e8 cf f9 ff ff       	call   0x402d64
403395:	66 81 7b 04 b2 d7    	cmpw   $0xd7b2,0x4(%ebx)
40339b:	0f 94 c0             	sete   %al
40339e:	8b d8                	mov    %eax,%ebx
4033a0:	84 db                	test   %bl,%bl
4033a2:	75 0a                	jne    0x4033ae
4033a4:	b8 69 00 00 00       	mov    $0x69,%eax
4033a9:	e8 86 f5 ff ff       	call   0x402934
4033ae:	8b c3                	mov    %ebx,%eax
4033b0:	5b                   	pop    %ebx
4033b1:	c3                   	ret
4033b2:	8b c0                	mov    %eax,%eax
4033b4:	56                   	push   %esi
4033b5:	57                   	push   %edi
4033b6:	89 d6                	mov    %edx,%esi
4033b8:	66 81 78 04 b2 d7    	cmpw   $0xd7b2,0x4(%eax)
4033be:	74 0f                	je     0x4033cf
4033c0:	50                   	push   %eax
4033c1:	52                   	push   %edx
4033c2:	51                   	push   %ecx
4033c3:	e8 a8 ff ff ff       	call   0x403370
4033c8:	84 c0                	test   %al,%al
4033ca:	59                   	pop    %ecx
4033cb:	5a                   	pop    %edx
4033cc:	58                   	pop    %eax
4033cd:	74 35                	je     0x403404
4033cf:	8b 78 14             	mov    0x14(%eax),%edi
4033d2:	03 78 0c             	add    0xc(%eax),%edi
4033d5:	8b 50 08             	mov    0x8(%eax),%edx
4033d8:	2b 50 0c             	sub    0xc(%eax),%edx
4033db:	39 ca                	cmp    %ecx,%edx
4033dd:	7f 20                	jg     0x4033ff
4033df:	01 50 0c             	add    %edx,0xc(%eax)
4033e2:	29 d1                	sub    %edx,%ecx
4033e4:	50                   	push   %eax
4033e5:	51                   	push   %ecx
4033e6:	89 d1                	mov    %edx,%ecx
4033e8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4033ea:	ff 50 1c             	call   *0x1c(%eax)
4033ed:	85 c0                	test   %eax,%eax
4033ef:	75 04                	jne    0x4033f5
4033f1:	59                   	pop    %ecx
4033f2:	58                   	pop    %eax
4033f3:	eb da                	jmp    0x4033cf
4033f5:	e8 3a f5 ff ff       	call   0x402934
4033fa:	59                   	pop    %ecx
4033fb:	58                   	pop    %eax
4033fc:	5f                   	pop    %edi
4033fd:	5e                   	pop    %esi
4033fe:	c3                   	ret
4033ff:	01 48 0c             	add    %ecx,0xc(%eax)
403402:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
403404:	5f                   	pop    %edi
403405:	5e                   	pop    %esi
403406:	c3                   	ret
403407:	90                   	nop
403408:	89 d1                	mov    %edx,%ecx
40340a:	ba 38 34 40 00       	mov    $0x403438,%edx
40340f:	83 f9 40             	cmp    $0x40,%ecx
403412:	7e 64                	jle    0x403478
403414:	83 e9 40             	sub    $0x40,%ecx
403417:	50                   	push   %eax
403418:	51                   	push   %ecx
403419:	b9 40 00 00 00       	mov    $0x40,%ecx
40341e:	e8 91 ff ff ff       	call   0x4033b4
403423:	e8 a0 3a 00 00       	call   0x406ec8
403428:	83 b8 04 00 00 00 00 	cmpl   $0x0,0x4(%eax)
40342f:	75 04                	jne    0x403435
403431:	59                   	pop    %ecx
403432:	58                   	pop    %eax
403433:	eb d5                	jmp    0x40340a
403435:	59                   	pop    %ecx
403436:	58                   	pop    %eax
403437:	c3                   	ret
403438:	20 20                	and    %ah,(%eax)
40343a:	20 20                	and    %ah,(%eax)
40343c:	20 20                	and    %ah,(%eax)
40343e:	20 20                	and    %ah,(%eax)
403440:	20 20                	and    %ah,(%eax)
403442:	20 20                	and    %ah,(%eax)
403444:	20 20                	and    %ah,(%eax)
403446:	20 20                	and    %ah,(%eax)
403448:	20 20                	and    %ah,(%eax)
40344a:	20 20                	and    %ah,(%eax)
40344c:	20 20                	and    %ah,(%eax)
40344e:	20 20                	and    %ah,(%eax)
403450:	20 20                	and    %ah,(%eax)
403452:	20 20                	and    %ah,(%eax)
403454:	20 20                	and    %ah,(%eax)
403456:	20 20                	and    %ah,(%eax)
403458:	20 20                	and    %ah,(%eax)
40345a:	20 20                	and    %ah,(%eax)
40345c:	20 20                	and    %ah,(%eax)
40345e:	20 20                	and    %ah,(%eax)
403460:	20 20                	and    %ah,(%eax)
403462:	20 20                	and    %ah,(%eax)
403464:	20 20                	and    %ah,(%eax)
403466:	20 20                	and    %ah,(%eax)
403468:	20 20                	and    %ah,(%eax)
40346a:	20 20                	and    %ah,(%eax)
40346c:	20 20                	and    %ah,(%eax)
40346e:	20 20                	and    %ah,(%eax)
403470:	20 20                	and    %ah,(%eax)
403472:	20 20                	and    %ah,(%eax)
403474:	20 20                	and    %ah,(%eax)
403476:	20 20                	and    %ah,(%eax)
403478:	85 c9                	test   %ecx,%ecx
40347a:	0f 8f 34 ff ff ff    	jg     0x4033b4
403480:	c3                   	ret
403481:	8d 40 00             	lea    0x0(%eax),%eax
403484:	66 81 78 04 b2 d7    	cmpw   $0xd7b2,0x4(%eax)
40348a:	74 23                	je     0x4034af
40348c:	50                   	push   %eax
40348d:	52                   	push   %edx
40348e:	e8 dd fe ff ff       	call   0x403370
403493:	84 c0                	test   %al,%al
403495:	5a                   	pop    %edx
403496:	58                   	pop    %eax
403497:	75 16                	jne    0x4034af
403499:	c3                   	ret
40349a:	50                   	push   %eax
40349b:	52                   	push   %edx
40349c:	ff 50 1c             	call   *0x1c(%eax)
40349f:	85 c0                	test   %eax,%eax
4034a1:	75 04                	jne    0x4034a7
4034a3:	5a                   	pop    %edx
4034a4:	58                   	pop    %eax
4034a5:	eb 08                	jmp    0x4034af
4034a7:	e8 88 f4 ff ff       	call   0x402934
4034ac:	5a                   	pop    %edx
4034ad:	58                   	pop    %eax
4034ae:	c3                   	ret
4034af:	8b 48 0c             	mov    0xc(%eax),%ecx
4034b2:	3b 48 08             	cmp    0x8(%eax),%ecx
4034b5:	7d e3                	jge    0x40349a
4034b7:	03 48 14             	add    0x14(%eax),%ecx
4034ba:	88 11                	mov    %dl,(%ecx)
4034bc:	ff 40 0c             	incl   0xc(%eax)
4034bf:	c3                   	ret
4034c0:	53                   	push   %ebx
4034c1:	56                   	push   %esi
4034c2:	51                   	push   %ecx
4034c3:	8b d8                	mov    %eax,%ebx
4034c5:	f6 43 06 01          	testb  $0x1,0x6(%ebx)
4034c9:	74 1b                	je     0x4034e6
4034cb:	c6 04 24 0d          	movb   $0xd,(%esp)
4034cf:	c6 44 24 01 0a       	movb   $0xa,0x1(%esp)
4034d4:	8b d4                	mov    %esp,%edx
4034d6:	8b c3                	mov    %ebx,%eax
4034d8:	b9 02 00 00 00       	mov    $0x2,%ecx
4034dd:	e8 d2 fe ff ff       	call   0x4033b4
4034e2:	8b f0                	mov    %eax,%esi
4034e4:	eb 14                	jmp    0x4034fa
4034e6:	c6 04 24 0a          	movb   $0xa,(%esp)
4034ea:	8b d4                	mov    %esp,%edx
4034ec:	8b c3                	mov    %ebx,%eax
4034ee:	b9 01 00 00 00       	mov    $0x1,%ecx
4034f3:	e8 bc fe ff ff       	call   0x4033b4
4034f8:	8b f0                	mov    %eax,%esi
4034fa:	8b c3                	mov    %ebx,%eax
4034fc:	e8 8f fb ff ff       	call   0x403090
403501:	8b c6                	mov    %esi,%eax
403503:	5a                   	pop    %edx
403504:	5e                   	pop    %esi
403505:	5b                   	pop    %ebx
403506:	c3                   	ret
403507:	90                   	nop
403508:	b9 ff 00 00 00       	mov    $0xff,%ecx
40350d:	e8 02 00 00 00       	call   0x403514
403512:	c3                   	ret
403513:	90                   	nop
403514:	53                   	push   %ebx
403515:	50                   	push   %eax
403516:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
40351c:	76 05                	jbe    0x403523
40351e:	b9 ff 00 00 00       	mov    $0xff,%ecx
403523:	8a 1a                	mov    (%edx),%bl
403525:	42                   	inc    %edx
403526:	84 db                	test   %bl,%bl
403528:	74 06                	je     0x403530
40352a:	40                   	inc    %eax
40352b:	88 18                	mov    %bl,(%eax)
40352d:	49                   	dec    %ecx
40352e:	75 f3                	jne    0x403523
403530:	5a                   	pop    %edx
403531:	29 d0                	sub    %edx,%eax
403533:	88 02                	mov    %al,(%edx)
403535:	5b                   	pop    %ebx
403536:	c3                   	ret
403537:	90                   	nop
403538:	53                   	push   %ebx
403539:	57                   	push   %edi
40353a:	89 c7                	mov    %eax,%edi
40353c:	31 db                	xor    %ebx,%ebx
40353e:	88 cb                	mov    %cl,%bl
403540:	89 d9                	mov    %ebx,%ecx
403542:	31 c0                	xor    %eax,%eax
403544:	f3 aa                	rep stos %al,%es:(%edi)
403546:	29 df                	sub    %ebx,%edi
403548:	40                   	inc    %eax
403549:	88 d1                	mov    %dl,%cl
40354b:	d2 c0                	rol    %cl,%al
40354d:	c1 e9 03             	shr    $0x3,%ecx
403550:	39 d9                	cmp    %ebx,%ecx
403552:	73 03                	jae    0x403557
403554:	08 04 39             	or     %al,(%ecx,%edi,1)
403557:	5f                   	pop    %edi
403558:	5b                   	pop    %ebx
403559:	c3                   	ret
40355a:	8b c0                	mov    %eax,%eax
40355c:	53                   	push   %ebx
40355d:	56                   	push   %esi
40355e:	57                   	push   %edi
40355f:	31 db                	xor    %ebx,%ebx
403561:	88 e3                	mov    %ah,%bl
403563:	0f b6 f0             	movzbl %al,%esi
403566:	0f b6 d2             	movzbl %dl,%edx
403569:	89 cf                	mov    %ecx,%edi
40356b:	89 d9                	mov    %ebx,%ecx
40356d:	31 c0                	xor    %eax,%eax
40356f:	f3 aa                	rep stos %al,%es:(%edi)
403571:	29 df                	sub    %ebx,%edi
403573:	c1 e3 03             	shl    $0x3,%ebx
403576:	39 da                	cmp    %ebx,%edx
403578:	72 03                	jb     0x40357d
40357a:	8d 53 ff             	lea    -0x1(%ebx),%edx
40357d:	39 d6                	cmp    %edx,%esi
40357f:	77 2d                	ja     0x4035ae
403581:	48                   	dec    %eax
403582:	89 f1                	mov    %esi,%ecx
403584:	80 e1 07             	and    $0x7,%cl
403587:	d2 e0                	shl    %cl,%al
403589:	c1 ee 03             	shr    $0x3,%esi
40358c:	88 d1                	mov    %dl,%cl
40358e:	f6 d1                	not    %cl
403590:	80 e1 07             	and    $0x7,%cl
403593:	d2 ec                	shr    %cl,%ah
403595:	c1 ea 03             	shr    $0x3,%edx
403598:	01 f7                	add    %esi,%edi
40359a:	89 d1                	mov    %edx,%ecx
40359c:	29 f1                	sub    %esi,%ecx
40359e:	75 06                	jne    0x4035a6
4035a0:	20 e0                	and    %ah,%al
4035a2:	88 07                	mov    %al,(%edi)
4035a4:	eb 08                	jmp    0x4035ae
4035a6:	aa                   	stos   %al,%es:(%edi)
4035a7:	49                   	dec    %ecx
4035a8:	b0 ff                	mov    $0xff,%al
4035aa:	f3 aa                	rep stos %al,%es:(%edi)
4035ac:	88 27                	mov    %ah,(%edi)
4035ae:	5f                   	pop    %edi
4035af:	5e                   	pop    %esi
4035b0:	5b                   	pop    %ebx
4035b1:	c3                   	ret
4035b2:	8b c0                	mov    %eax,%eax
4035b4:	56                   	push   %esi
4035b5:	57                   	push   %edi
4035b6:	89 c6                	mov    %eax,%esi
4035b8:	89 d7                	mov    %edx,%edi
4035ba:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4035c0:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4035c2:	5f                   	pop    %edi
4035c3:	5e                   	pop    %esi
4035c4:	c3                   	ret
4035c5:	8d 40 00             	lea    0x0(%eax),%eax
4035c8:	e9 03 00 00 00       	jmp    0x4035d0
4035cd:	c3                   	ret
4035ce:	8b c0                	mov    %eax,%eax
4035d0:	53                   	push   %ebx
4035d1:	31 db                	xor    %ebx,%ebx
4035d3:	85 c0                	test   %eax,%eax
4035d5:	7c 4d                	jl     0x403624
4035d7:	0f 84 96 00 00 00    	je     0x403673
4035dd:	3d 00 14 00 00       	cmp    $0x1400,%eax
4035e2:	0f 8d 81 00 00 00    	jge    0x403669
4035e8:	89 c2                	mov    %eax,%edx
4035ea:	83 e2 1f             	and    $0x1f,%edx
4035ed:	8d 14 92             	lea    (%edx,%edx,4),%edx
4035f0:	db ac 53 7f 36 40 00 	fldt   0x40367f(%ebx,%edx,2)
4035f7:	de c9                	fmulp  %st,%st(1)
4035f9:	c1 e8 05             	shr    $0x5,%eax
4035fc:	74 75                	je     0x403673
4035fe:	89 c2                	mov    %eax,%edx
403600:	83 e2 0f             	and    $0xf,%edx
403603:	74 0c                	je     0x403611
403605:	8d 14 92             	lea    (%edx,%edx,4),%edx
403608:	db ac 53 b5 37 40 00 	fldt   0x4037b5(%ebx,%edx,2)
40360f:	de c9                	fmulp  %st,%st(1)
403611:	c1 e8 04             	shr    $0x4,%eax
403614:	74 5d                	je     0x403673
403616:	8d 04 80             	lea    (%eax,%eax,4),%eax
403619:	db ac 43 4b 38 40 00 	fldt   0x40384b(%ebx,%eax,2)
403620:	de c9                	fmulp  %st,%st(1)
403622:	eb 4f                	jmp    0x403673
403624:	f7 d8                	neg    %eax
403626:	3d 00 14 00 00       	cmp    $0x1400,%eax
40362b:	7d 44                	jge    0x403671
40362d:	89 c2                	mov    %eax,%edx
40362f:	83 e2 1f             	and    $0x1f,%edx