438281:	8d 42 01             	lea    0x1(%edx),%eax
438284:	8b cb                	mov    %ebx,%ecx
438286:	3b c2                	cmp    %edx,%eax
438288:	72 05                	jb     0x43828f
43828a:	83 f8 01             	cmp    $0x1,%eax
43828d:	73 03                	jae    0x438292
43828f:	33 c9                	xor    %ecx,%ecx
438291:	41                   	inc    %ecx
438292:	85 c9                	test   %ecx,%ecx
438294:	8b 4d b8             	mov    -0x48(%ebp),%ecx
438297:	8b d0                	mov    %eax,%edx
438299:	74 01                	je     0x43829c
43829b:	46                   	inc    %esi
43829c:	8b 45 c8             	mov    -0x38(%ebp),%eax
43829f:	8d 3c 10             	lea    (%eax,%edx,1),%edi
4382a2:	3b fa                	cmp    %edx,%edi
4382a4:	72 04                	jb     0x4382aa
4382a6:	3b f8                	cmp    %eax,%edi
4382a8:	73 01                	jae    0x4382ab
4382aa:	46                   	inc    %esi
4382ab:	8b 55 b8             	mov    -0x48(%ebp),%edx
4382ae:	03 75 cc             	add    -0x34(%ebp),%esi
4382b1:	03 d2                	add    %edx,%edx
4382b3:	8b c1                	mov    %ecx,%eax
4382b5:	c1 e8 1f             	shr    $0x1f,%eax
4382b8:	89 55 c0             	mov    %edx,-0x40(%ebp)
4382bb:	89 55 e0             	mov    %edx,-0x20(%ebp)
4382be:	8d 14 3f             	lea    (%edi,%edi,1),%edx
4382c1:	0b d0                	or     %eax,%edx
4382c3:	8b cf                	mov    %edi,%ecx
4382c5:	c1 e9 1f             	shr    $0x1f,%ecx
4382c8:	8d 04 36             	lea    (%esi,%esi,1),%eax
4382cb:	0b c1                	or     %ecx,%eax
4382cd:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4382d0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4382d3:	c1 e8 18             	shr    $0x18,%eax
4382d6:	04 30                	add    $0x30,%al
4382d8:	88 01                	mov    %al,(%ecx)
4382da:	8b 45 a8             	mov    -0x58(%ebp),%eax
4382dd:	41                   	inc    %ecx
4382de:	48                   	dec    %eax
4382df:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4382e2:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4382e5:	88 5d eb             	mov    %bl,-0x15(%ebp)
4382e8:	89 45 a8             	mov    %eax,-0x58(%ebp)
4382eb:	85 c0                	test   %eax,%eax
4382ed:	7e 0b                	jle    0x4382fa
4382ef:	8b 45 e8             	mov    -0x18(%ebp),%eax
4382f2:	89 45 bc             	mov    %eax,-0x44(%ebp)
4382f5:	e9 3e ff ff ff       	jmp    0x438238
4382fa:	8b 75 90             	mov    -0x70(%ebp),%esi
4382fd:	8b 7d 98             	mov    -0x68(%ebp),%edi
438300:	8a 41 ff             	mov    -0x1(%ecx),%al
438303:	83 e9 02             	sub    $0x2,%ecx
438306:	3c 35                	cmp    $0x35,%al
438308:	7c 43                	jl     0x43834d
43830a:	eb 09                	jmp    0x438315
43830c:	80 39 39             	cmpb   $0x39,(%ecx)
43830f:	75 08                	jne    0x438319
438311:	c6 01 30             	movb   $0x30,(%ecx)
438314:	49                   	dec    %ecx
438315:	3b cf                	cmp    %edi,%ecx
438317:	73 f3                	jae    0x43830c
438319:	3b cf                	cmp    %edi,%ecx
43831b:	73 04                	jae    0x438321
43831d:	41                   	inc    %ecx
43831e:	66 ff 06             	incw   (%esi)
438321:	fe 01                	incb   (%ecx)
438323:	8b 45 90             	mov    -0x70(%ebp),%eax
438326:	2a c8                	sub    %al,%cl
438328:	80 e9 03             	sub    $0x3,%cl
43832b:	88 48 03             	mov    %cl,0x3(%eax)
43832e:	0f be c9             	movsbl %cl,%ecx
438331:	88 5c 01 04          	mov    %bl,0x4(%ecx,%eax,1)
438335:	33 c0                	xor    %eax,%eax
438337:	40                   	inc    %eax
438338:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43833b:	5f                   	pop    %edi
43833c:	5e                   	pop    %esi
43833d:	33 cd                	xor    %ebp,%ecx
43833f:	5b                   	pop    %ebx
438340:	e8 c7 23 ff ff       	call   0x42a70c
438345:	c9                   	leave
438346:	c3                   	ret
438347:	80 39 30             	cmpb   $0x30,(%ecx)
43834a:	75 05                	jne    0x438351
43834c:	49                   	dec    %ecx
43834d:	3b cf                	cmp    %edi,%ecx
43834f:	73 f6                	jae    0x438347
438351:	3b cf                	cmp    %edi,%ecx
438353:	73 ce                	jae    0x438323
438355:	8b 4d 90             	mov    -0x70(%ebp),%ecx
438358:	33 c0                	xor    %eax,%eax
43835a:	66 89 01             	mov    %ax,(%ecx)
43835d:	b8 00 80 00 00       	mov    $0x8000,%eax
438362:	66 39 45 88          	cmp    %ax,-0x78(%ebp)
438366:	0f 95 c0             	setne  %al
438369:	fe c8                	dec    %al
43836b:	24 0d                	and    $0xd,%al
43836d:	04 20                	add    $0x20,%al
43836f:	88 41 02             	mov    %al,0x2(%ecx)
438372:	33 c0                	xor    %eax,%eax
438374:	40                   	inc    %eax
438375:	88 41 03             	mov    %al,0x3(%ecx)
438378:	c6 07 30             	movb   $0x30,(%edi)
43837b:	e9 04 fe ff ff       	jmp    0x438184
438380:	33 db                	xor    %ebx,%ebx
438382:	53                   	push   %ebx
438383:	53                   	push   %ebx
438384:	53                   	push   %ebx
438385:	53                   	push   %ebx
438386:	53                   	push   %ebx
438387:	e8 94 ea fe ff       	call   0x426e20
43838c:	cc                   	int3
43838d:	55                   	push   %ebp
43838e:	8b ec                	mov    %esp,%ebp
438390:	8b 4d 08             	mov    0x8(%ebp),%ecx
438393:	33 c0                	xor    %eax,%eax
438395:	f6 c1 10             	test   $0x10,%cl
438398:	74 05                	je     0x43839f
43839a:	b8 80 00 00 00       	mov    $0x80,%eax
43839f:	53                   	push   %ebx
4383a0:	56                   	push   %esi
4383a1:	57                   	push   %edi
4383a2:	bf 00 02 00 00       	mov    $0x200,%edi
4383a7:	f6 c1 08             	test   $0x8,%cl
4383aa:	74 02                	je     0x4383ae
4383ac:	0b c7                	or     %edi,%eax
4383ae:	f6 c1 04             	test   $0x4,%cl
4383b1:	74 05                	je     0x4383b8
4383b3:	0d 00 04 00 00       	or     $0x400,%eax
4383b8:	f6 c1 02             	test   $0x2,%cl
4383bb:	74 05                	je     0x4383c2
4383bd:	0d 00 08 00 00       	or     $0x800,%eax
4383c2:	f6 c1 01             	test   $0x1,%cl
4383c5:	74 05                	je     0x4383cc
4383c7:	0d 00 10 00 00       	or     $0x1000,%eax
4383cc:	be 00 01 00 00       	mov    $0x100,%esi
4383d1:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
4383d7:	74 02                	je     0x4383db
4383d9:	0b c6                	or     %esi,%eax
4383db:	8b d1                	mov    %ecx,%edx
4383dd:	bb 00 03 00 00       	mov    $0x300,%ebx
4383e2:	23 d3                	and    %ebx,%edx
4383e4:	74 1f                	je     0x438405
4383e6:	3b d6                	cmp    %esi,%edx
4383e8:	74 16                	je     0x438400
4383ea:	3b d7                	cmp    %edi,%edx
4383ec:	74 0b                	je     0x4383f9
4383ee:	3b d3                	cmp    %ebx,%edx
4383f0:	75 13                	jne    0x438405
4383f2:	0d 00 60 00 00       	or     $0x6000,%eax
4383f7:	eb 0c                	jmp    0x438405
4383f9:	0d 00 40 00 00       	or     $0x4000,%eax
4383fe:	eb 05                	jmp    0x438405
438400:	0d 00 20 00 00       	or     $0x2000,%eax
438405:	ba 00 00 00 03       	mov    $0x3000000,%edx
43840a:	5f                   	pop    %edi
43840b:	23 ca                	and    %edx,%ecx
43840d:	5e                   	pop    %esi
43840e:	5b                   	pop    %ebx
43840f:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
438415:	74 18                	je     0x43842f
438417:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
43841d:	74 0b                	je     0x43842a
43841f:	3b ca                	cmp    %edx,%ecx
438421:	75 11                	jne    0x438434
438423:	0d 00 80 00 00       	or     $0x8000,%eax
438428:	5d                   	pop    %ebp
438429:	c3                   	ret
43842a:	83 c8 40             	or     $0x40,%eax
43842d:	5d                   	pop    %ebp
43842e:	c3                   	ret
43842f:	0d 40 80 00 00       	or     $0x8040,%eax
438434:	5d                   	pop    %ebp
438435:	c3                   	ret
438436:	55                   	push   %ebp
438437:	8b ec                	mov    %esp,%ebp
438439:	83 ec 0c             	sub    $0xc,%esp
43843c:	9b d9 7d fc          	fstcw  -0x4(%ebp)
438440:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
438444:	33 c9                	xor    %ecx,%ecx
438446:	a8 01                	test   $0x1,%al
438448:	74 03                	je     0x43844d
43844a:	6a 10                	push   $0x10
43844c:	59                   	pop    %ecx
43844d:	a8 04                	test   $0x4,%al
43844f:	74 03                	je     0x438454
438451:	83 c9 08             	or     $0x8,%ecx
438454:	a8 08                	test   $0x8,%al
438456:	74 03                	je     0x43845b
438458:	83 c9 04             	or     $0x4,%ecx
43845b:	a8 10                	test   $0x10,%al
43845d:	74 03                	je     0x438462
43845f:	83 c9 02             	or     $0x2,%ecx
438462:	a8 20                	test   $0x20,%al
438464:	74 03                	je     0x438469
438466:	83 c9 01             	or     $0x1,%ecx
438469:	a8 02                	test   $0x2,%al
43846b:	74 06                	je     0x438473
43846d:	81 c9 00 00 08 00    	or     $0x80000,%ecx
438473:	53                   	push   %ebx
438474:	56                   	push   %esi
438475:	0f b7 f0             	movzwl %ax,%esi
438478:	8b d6                	mov    %esi,%edx
43847a:	bb 00 0c 00 00       	mov    $0xc00,%ebx
43847f:	57                   	push   %edi
438480:	bf 00 02 00 00       	mov    $0x200,%edi
438485:	23 d3                	and    %ebx,%edx
438487:	74 26                	je     0x4384af
438489:	81 fa 00 04 00 00    	cmp    $0x400,%edx
43848f:	74 18                	je     0x4384a9
438491:	81 fa 00 08 00 00    	cmp    $0x800,%edx
438497:	74 0c                	je     0x4384a5
438499:	3b d3                	cmp    %ebx,%edx
43849b:	75 12                	jne    0x4384af
43849d:	81 c9 00 03 00 00    	or     $0x300,%ecx
4384a3:	eb 0a                	jmp    0x4384af
4384a5:	0b cf                	or     %edi,%ecx
4384a7:	eb 06                	jmp    0x4384af
4384a9:	81 c9 00 01 00 00    	or     $0x100,%ecx
4384af:	81 e6 00 03 00 00    	and    $0x300,%esi
4384b5:	74 0c                	je     0x4384c3
4384b7:	3b f7                	cmp    %edi,%esi
4384b9:	75 0e                	jne    0x4384c9
4384bb:	81 c9 00 00 01 00    	or     $0x10000,%ecx
4384c1:	eb 06                	jmp    0x4384c9
4384c3:	81 c9 00 00 02 00    	or     $0x20000,%ecx
4384c9:	0f b7 c0             	movzwl %ax,%eax
4384cc:	ba 00 10 00 00       	mov    $0x1000,%edx
4384d1:	85 c2                	test   %eax,%edx
4384d3:	74 06                	je     0x4384db
4384d5:	81 c9 00 00 04 00    	or     $0x40000,%ecx
4384db:	8b 7d 0c             	mov    0xc(%ebp),%edi
4384de:	8b 45 08             	mov    0x8(%ebp),%eax
4384e1:	8b f7                	mov    %edi,%esi
4384e3:	f7 d6                	not    %esi
4384e5:	23 f1                	and    %ecx,%esi
4384e7:	23 c7                	and    %edi,%eax
4384e9:	0b f0                	or     %eax,%esi
4384eb:	3b f1                	cmp    %ecx,%esi
4384ed:	0f 84 a6 00 00 00    	je     0x438599
4384f3:	56                   	push   %esi
4384f4:	e8 3d 02 00 00       	call   0x438736
4384f9:	0f b7 c0             	movzwl %ax,%eax
4384fc:	59                   	pop    %ecx
4384fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
438500:	d9 6d f8             	fldcw  -0x8(%ebp)
438503:	9b d9 7d f8          	fstcw  -0x8(%ebp)
438507:	8b 45 f8             	mov    -0x8(%ebp),%eax
43850a:	33 f6                	xor    %esi,%esi
43850c:	a8 01                	test   $0x1,%al
43850e:	74 03                	je     0x438513
438510:	6a 10                	push   $0x10
438512:	5e                   	pop    %esi
438513:	a8 04                	test   $0x4,%al
438515:	74 03                	je     0x43851a
438517:	83 ce 08             	or     $0x8,%esi
43851a:	a8 08                	test   $0x8,%al
43851c:	74 03                	je     0x438521
43851e:	83 ce 04             	or     $0x4,%esi
438521:	a8 10                	test   $0x10,%al
438523:	74 03                	je     0x438528
438525:	83 ce 02             	or     $0x2,%esi
438528:	a8 20                	test   $0x20,%al
43852a:	74 03                	je     0x43852f
43852c:	83 ce 01             	or     $0x1,%esi
43852f:	a8 02                	test   $0x2,%al
438531:	74 06                	je     0x438539
438533:	81 ce 00 00 08 00    	or     $0x80000,%esi
438539:	0f b7 d0             	movzwl %ax,%edx
43853c:	8b ca                	mov    %edx,%ecx
43853e:	23 cb                	and    %ebx,%ecx
438540:	74 2a                	je     0x43856c
438542:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
438548:	74 1c                	je     0x438566
43854a:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
438550:	74 0c                	je     0x43855e
438552:	3b cb                	cmp    %ebx,%ecx
438554:	75 16                	jne    0x43856c
438556:	81 ce 00 03 00 00    	or     $0x300,%esi
43855c:	eb 0e                	jmp    0x43856c
43855e:	81 ce 00 02 00 00    	or     $0x200,%esi
438564:	eb 06                	jmp    0x43856c
438566:	81 ce 00 01 00 00    	or     $0x100,%esi
43856c:	81 e2 00 03 00 00    	and    $0x300,%edx
438572:	74 10                	je     0x438584
438574:	81 fa 00 02 00 00    	cmp    $0x200,%edx
43857a:	75 0e                	jne    0x43858a
43857c:	81 ce 00 00 01 00    	or     $0x10000,%esi
438582:	eb 06                	jmp    0x43858a
438584:	81 ce 00 00 02 00    	or     $0x20000,%esi
43858a:	ba 00 10 00 00       	mov    $0x1000,%edx
43858f:	85 c2                	test   %eax,%edx
438591:	74 06                	je     0x438599
438593:	81 ce 00 00 04 00    	or     $0x40000,%esi
438599:	83 3d 54 01 4c 00 01 	cmpl   $0x1,0x4c0154
4385a0:	0f 8c 89 01 00 00    	jl     0x43872f
4385a6:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
4385ac:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
4385b0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4385b3:	33 c9                	xor    %ecx,%ecx
4385b5:	84 c0                	test   %al,%al
4385b7:	79 03                	jns    0x4385bc
4385b9:	6a 10                	push   $0x10
4385bb:	59                   	pop    %ecx
4385bc:	a9 00 02 00 00       	test   $0x200,%eax
4385c1:	74 03                	je     0x4385c6
4385c3:	83 c9 08             	or     $0x8,%ecx
4385c6:	a9 00 04 00 00       	test   $0x400,%eax
4385cb:	74 03                	je     0x4385d0
4385cd:	83 c9 04             	or     $0x4,%ecx
4385d0:	a9 00 08 00 00       	test   $0x800,%eax
4385d5:	74 03                	je     0x4385da
4385d7:	83 c9 02             	or     $0x2,%ecx
4385da:	85 c2                	test   %eax,%edx
4385dc:	74 03                	je     0x4385e1
4385de:	83 c9 01             	or     $0x1,%ecx
4385e1:	a9 00 01 00 00       	test   $0x100,%eax
4385e6:	74 06                	je     0x4385ee
4385e8:	81 c9 00 00 08 00    	or     $0x80000,%ecx
4385ee:	8b d0                	mov    %eax,%edx
4385f0:	bb 00 60 00 00       	mov    $0x6000,%ebx
4385f5:	23 d3                	and    %ebx,%edx
4385f7:	74 2a                	je     0x438623
4385f9:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
4385ff:	74 1c                	je     0x43861d
438601:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
438607:	74 0c                	je     0x438615
438609:	3b d3                	cmp    %ebx,%edx
43860b:	75 16                	jne    0x438623
43860d:	81 c9 00 03 00 00    	or     $0x300,%ecx
438613:	eb 0e                	jmp    0x438623
438615:	81 c9 00 02 00 00    	or     $0x200,%ecx
43861b:	eb 06                	jmp    0x438623
43861d:	81 c9 00 01 00 00    	or     $0x100,%ecx
438623:	6a 40                	push   $0x40
438625:	25 40 80 00 00       	and    $0x8040,%eax
43862a:	5b                   	pop    %ebx
43862b:	2b c3                	sub    %ebx,%eax
43862d:	74 1b                	je     0x43864a
43862f:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
438634:	74 0c                	je     0x438642
438636:	2b c3                	sub    %ebx,%eax
438638:	75 16                	jne    0x438650
43863a:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
438640:	eb 0e                	jmp    0x438650
438642:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
438648:	eb 06                	jmp    0x438650
43864a:	81 c9 00 00 00 02    	or     $0x2000000,%ecx