4063ed:	8b c1                	mov    %ecx,%eax
4063ef:	e8 2c ff ff ff       	call   0x406320
4063f4:	8b 7d 14             	mov    0x14(%ebp),%edi
4063f7:	83 3f 2d             	cmpl   $0x2d,(%edi)
4063fa:	8b f3                	mov    %ebx,%esi
4063fc:	75 06                	jne    0x406404
4063fe:	c6 03 2d             	movb   $0x2d,(%ebx)
406401:	8d 73 01             	lea    0x1(%ebx),%esi
406404:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406408:	7e 18                	jle    0x406422
40640a:	8d 46 01             	lea    0x1(%esi),%eax
40640d:	8a 08                	mov    (%eax),%cl
40640f:	88 0e                	mov    %cl,(%esi)
406411:	8b f0                	mov    %eax,%esi
406413:	8b 45 f0             	mov    -0x10(%ebp),%eax
406416:	8b 80 bc 00 00 00    	mov    0xbc(%eax),%eax
40641c:	8b 00                	mov    (%eax),%eax
40641e:	8a 00                	mov    (%eax),%al
406420:	88 06                	mov    %al,(%esi)
406422:	33 c0                	xor    %eax,%eax
406424:	38 45 18             	cmp    %al,0x18(%ebp)
406427:	0f 94 c0             	sete   %al
40642a:	03 45 0c             	add    0xc(%ebp),%eax
40642d:	03 f0                	add    %eax,%esi
40642f:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
406433:	75 05                	jne    0x40643a
406435:	83 cb ff             	or     $0xffffffff,%ebx
406438:	eb 05                	jmp    0x40643f
40643a:	2b de                	sub    %esi,%ebx
40643c:	03 5d 08             	add    0x8(%ebp),%ebx
40643f:	68 f8 da 41 00       	push   $0x41daf8
406444:	53                   	push   %ebx
406445:	56                   	push   %esi
406446:	e8 d0 e0 ff ff       	call   0x40451b
40644b:	83 c4 0c             	add    $0xc,%esp
40644e:	33 db                	xor    %ebx,%ebx
406450:	85 c0                	test   %eax,%eax
406452:	74 0d                	je     0x406461
406454:	53                   	push   %ebx
406455:	53                   	push   %ebx
406456:	53                   	push   %ebx
406457:	53                   	push   %ebx
406458:	53                   	push   %ebx
406459:	e8 bb d6 ff ff       	call   0x403b19
40645e:	83 c4 14             	add    $0x14,%esp
406461:	8d 4e 02             	lea    0x2(%esi),%ecx
406464:	39 5d 10             	cmp    %ebx,0x10(%ebp)
406467:	74 03                	je     0x40646c
406469:	c6 06 45             	movb   $0x45,(%esi)
40646c:	8b 47 0c             	mov    0xc(%edi),%eax
40646f:	46                   	inc    %esi
406470:	80 38 30             	cmpb   $0x30,(%eax)
406473:	74 2e                	je     0x4064a3
406475:	8b 47 04             	mov    0x4(%edi),%eax
406478:	48                   	dec    %eax
406479:	79 05                	jns    0x406480
40647b:	f7 d8                	neg    %eax
40647d:	c6 06 2d             	movb   $0x2d,(%esi)
406480:	46                   	inc    %esi
406481:	83 f8 64             	cmp    $0x64,%eax
406484:	7c 0a                	jl     0x406490
406486:	99                   	cltd
406487:	6a 64                	push   $0x64
406489:	5f                   	pop    %edi
40648a:	f7 ff                	idiv   %edi
40648c:	00 06                	add    %al,(%esi)
40648e:	8b c2                	mov    %edx,%eax
406490:	46                   	inc    %esi
406491:	83 f8 0a             	cmp    $0xa,%eax
406494:	7c 0a                	jl     0x4064a0
406496:	99                   	cltd
406497:	6a 0a                	push   $0xa
406499:	5f                   	pop    %edi
40649a:	f7 ff                	idiv   %edi
40649c:	00 06                	add    %al,(%esi)
40649e:	8b c2                	mov    %edx,%eax
4064a0:	00 46 01             	add    %al,0x1(%esi)
4064a3:	f6 05 20 10 43 00 01 	testb  $0x1,0x431020
4064aa:	74 14                	je     0x4064c0
4064ac:	80 39 30             	cmpb   $0x30,(%ecx)
4064af:	75 0f                	jne    0x4064c0
4064b1:	6a 03                	push   $0x3
4064b3:	8d 41 01             	lea    0x1(%ecx),%eax
4064b6:	50                   	push   %eax
4064b7:	51                   	push   %ecx
4064b8:	e8 73 1a 00 00       	call   0x407f30
4064bd:	83 c4 0c             	add    $0xc,%esp
4064c0:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4064c4:	74 07                	je     0x4064cd
4064c6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4064c9:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4064cd:	33 c0                	xor    %eax,%eax
4064cf:	5f                   	pop    %edi
4064d0:	5e                   	pop    %esi
4064d1:	5b                   	pop    %ebx
4064d2:	c9                   	leave
4064d3:	c3                   	ret
4064d4:	8b ff                	mov    %edi,%edi
4064d6:	55                   	push   %ebp
4064d7:	8b ec                	mov    %esp,%ebp
4064d9:	83 ec 2c             	sub    $0x2c,%esp
4064dc:	a1 04 f0 41 00       	mov    0x41f004,%eax
4064e1:	33 c5                	xor    %ebp,%eax
4064e3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064e6:	8b 45 08             	mov    0x8(%ebp),%eax
4064e9:	53                   	push   %ebx
4064ea:	56                   	push   %esi
4064eb:	57                   	push   %edi
4064ec:	8b 7d 0c             	mov    0xc(%ebp),%edi
4064ef:	6a 16                	push   $0x16
4064f1:	5e                   	pop    %esi
4064f2:	56                   	push   %esi
4064f3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4064f6:	51                   	push   %ecx
4064f7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4064fa:	51                   	push   %ecx
4064fb:	ff 70 04             	push   0x4(%eax)
4064fe:	ff 30                	push   (%eax)
406500:	e8 05 23 00 00       	call   0x40880a
406505:	33 db                	xor    %ebx,%ebx
406507:	83 c4 14             	add    $0x14,%esp
40650a:	3b fb                	cmp    %ebx,%edi
40650c:	75 18                	jne    0x406526
40650e:	e8 39 c9 ff ff       	call   0x402e4c
406513:	53                   	push   %ebx
406514:	53                   	push   %ebx
406515:	53                   	push   %ebx
406516:	53                   	push   %ebx
406517:	53                   	push   %ebx
406518:	89 30                	mov    %esi,(%eax)
40651a:	e8 22 d7 ff ff       	call   0x403c41
40651f:	83 c4 14             	add    $0x14,%esp
406522:	8b c6                	mov    %esi,%eax
406524:	eb 6f                	jmp    0x406595
406526:	8b 45 10             	mov    0x10(%ebp),%eax
406529:	3b c3                	cmp    %ebx,%eax
40652b:	76 e1                	jbe    0x40650e
40652d:	8b 75 14             	mov    0x14(%ebp),%esi
406530:	83 f8 ff             	cmp    $0xffffffff,%eax
406533:	75 05                	jne    0x40653a
406535:	83 c8 ff             	or     $0xffffffff,%eax
406538:	eb 14                	jmp    0x40654e
40653a:	33 c9                	xor    %ecx,%ecx
40653c:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
406540:	0f 94 c1             	sete   %cl
406543:	2b c1                	sub    %ecx,%eax
406545:	33 c9                	xor    %ecx,%ecx
406547:	3b f3                	cmp    %ebx,%esi
406549:	0f 9f c1             	setg   %cl
40654c:	2b c1                	sub    %ecx,%eax
40654e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
406551:	51                   	push   %ecx
406552:	8d 4e 01             	lea    0x1(%esi),%ecx
406555:	51                   	push   %ecx
406556:	50                   	push   %eax
406557:	33 c0                	xor    %eax,%eax
406559:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
40655d:	0f 94 c0             	sete   %al
406560:	33 c9                	xor    %ecx,%ecx
406562:	3b f3                	cmp    %ebx,%esi
406564:	0f 9f c1             	setg   %cl
406567:	03 c7                	add    %edi,%eax
406569:	03 c8                	add    %eax,%ecx
40656b:	51                   	push   %ecx
40656c:	e8 1d 21 00 00       	call   0x40868e
406571:	83 c4 10             	add    $0x10,%esp
406574:	3b c3                	cmp    %ebx,%eax
406576:	74 04                	je     0x40657c
406578:	88 1f                	mov    %bl,(%edi)
40657a:	eb 19                	jmp    0x406595
40657c:	ff 75 1c             	push   0x1c(%ebp)
40657f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
406582:	53                   	push   %ebx
406583:	50                   	push   %eax
406584:	ff 75 18             	push   0x18(%ebp)
406587:	8b c7                	mov    %edi,%eax
406589:	56                   	push   %esi
40658a:	ff 75 10             	push   0x10(%ebp)
40658d:	e8 d3 fd ff ff       	call   0x406365
406592:	83 c4 18             	add    $0x18,%esp
406595:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406598:	5f                   	pop    %edi
406599:	5e                   	pop    %esi
40659a:	33 cd                	xor    %ebp,%ecx
40659c:	5b                   	pop    %ebx
40659d:	e8 5e aa ff ff       	call   0x401000
4065a2:	c9                   	leave
4065a3:	c3                   	ret
4065a4:	8b ff                	mov    %edi,%edi
4065a6:	55                   	push   %ebp
4065a7:	8b ec                	mov    %esp,%ebp
4065a9:	6a 00                	push   $0x0
4065ab:	ff 75 18             	push   0x18(%ebp)
4065ae:	ff 75 14             	push   0x14(%ebp)
4065b1:	ff 75 10             	push   0x10(%ebp)
4065b4:	ff 75 0c             	push   0xc(%ebp)
4065b7:	ff 75 08             	push   0x8(%ebp)
4065ba:	e8 15 ff ff ff       	call   0x4064d4
4065bf:	83 c4 18             	add    $0x18,%esp
4065c2:	5d                   	pop    %ebp
4065c3:	c3                   	ret
4065c4:	8b ff                	mov    %edi,%edi
4065c6:	55                   	push   %ebp
4065c7:	8b ec                	mov    %esp,%ebp
4065c9:	83 ec 24             	sub    $0x24,%esp
4065cc:	56                   	push   %esi
4065cd:	57                   	push   %edi
4065ce:	ff 75 1c             	push   0x1c(%ebp)
4065d1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4065d4:	c7 45 ec ff 03 00 00 	movl   $0x3ff,-0x14(%ebp)
4065db:	33 ff                	xor    %edi,%edi
4065dd:	c7 45 fc 30 00 00 00 	movl   $0x30,-0x4(%ebp)
4065e4:	e8 e5 df ff ff       	call   0x4045ce
4065e9:	39 7d 14             	cmp    %edi,0x14(%ebp)
4065ec:	7d 03                	jge    0x4065f1
4065ee:	89 7d 14             	mov    %edi,0x14(%ebp)
4065f1:	8b 75 0c             	mov    0xc(%ebp),%esi
4065f4:	3b f7                	cmp    %edi,%esi
4065f6:	75 2b                	jne    0x406623
4065f8:	e8 4f c8 ff ff       	call   0x402e4c
4065fd:	6a 16                	push   $0x16
4065ff:	5e                   	pop    %esi
406600:	57                   	push   %edi
406601:	57                   	push   %edi
406602:	57                   	push   %edi
406603:	57                   	push   %edi
406604:	57                   	push   %edi
406605:	89 30                	mov    %esi,(%eax)
406607:	e8 35 d6 ff ff       	call   0x403c41
40660c:	83 c4 14             	add    $0x14,%esp
40660f:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
406613:	74 07                	je     0x40661c
406615:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406618:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40661c:	8b c6                	mov    %esi,%eax
40661e:	e9 10 03 00 00       	jmp    0x406933
406623:	39 7d 10             	cmp    %edi,0x10(%ebp)
406626:	76 d0                	jbe    0x4065f8
406628:	8b 45 14             	mov    0x14(%ebp),%eax
40662b:	83 c0 0b             	add    $0xb,%eax
40662e:	c6 06 00             	movb   $0x0,(%esi)
406631:	39 45 10             	cmp    %eax,0x10(%ebp)
406634:	77 09                	ja     0x40663f
406636:	e8 11 c8 ff ff       	call   0x402e4c
40663b:	6a 22                	push   $0x22
40663d:	eb c0                	jmp    0x4065ff
40663f:	8b 7d 08             	mov    0x8(%ebp),%edi
406642:	8b 07                	mov    (%edi),%eax
406644:	89 45 f4             	mov    %eax,-0xc(%ebp)
406647:	8b 47 04             	mov    0x4(%edi),%eax
40664a:	8b c8                	mov    %eax,%ecx
40664c:	c1 e9 14             	shr    $0x14,%ecx
40664f:	ba ff 07 00 00       	mov    $0x7ff,%edx
406654:	53                   	push   %ebx
406655:	23 ca                	and    %edx,%ecx
406657:	33 db                	xor    %ebx,%ebx
406659:	3b ca                	cmp    %edx,%ecx
40665b:	0f 85 90 00 00 00    	jne    0x4066f1
406661:	85 db                	test   %ebx,%ebx
406663:	0f 85 88 00 00 00    	jne    0x4066f1
406669:	8b 45 10             	mov    0x10(%ebp),%eax
40666c:	83 f8 ff             	cmp    $0xffffffff,%eax
40666f:	75 04                	jne    0x406675
406671:	0b c0                	or     %eax,%eax
406673:	eb 03                	jmp    0x406678
406675:	83 c0 fe             	add    $0xfffffffe,%eax
406678:	6a 00                	push   $0x0
40667a:	ff 75 14             	push   0x14(%ebp)
40667d:	8d 5e 02             	lea    0x2(%esi),%ebx
406680:	50                   	push   %eax
406681:	53                   	push   %ebx
406682:	57                   	push   %edi
406683:	e8 1c ff ff ff       	call   0x4065a4
406688:	83 c4 14             	add    $0x14,%esp
40668b:	85 c0                	test   %eax,%eax
40668d:	74 19                	je     0x4066a8
40668f:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
406693:	c6 06 00             	movb   $0x0,(%esi)
406696:	0f 84 96 02 00 00    	je     0x406932
40669c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40669f:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4066a3:	e9 8a 02 00 00       	jmp    0x406932
4066a8:	80 3b 2d             	cmpb   $0x2d,(%ebx)
4066ab:	75 04                	jne    0x4066b1
4066ad:	c6 06 2d             	movb   $0x2d,(%esi)
4066b0:	46                   	inc    %esi
4066b1:	c6 06 30             	movb   $0x30,(%esi)
4066b4:	46                   	inc    %esi
4066b5:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4066b9:	6a 65                	push   $0x65
4066bb:	0f 94 c0             	sete   %al
4066be:	fe c8                	dec    %al
4066c0:	24 e0                	and    $0xe0,%al
4066c2:	04 78                	add    $0x78,%al
4066c4:	88 06                	mov    %al,(%esi)
4066c6:	46                   	inc    %esi
4066c7:	56                   	push   %esi
4066c8:	e8 03 1d 00 00       	call   0x4083d0
4066cd:	59                   	pop    %ecx
4066ce:	59                   	pop    %ecx
4066cf:	85 c0                	test   %eax,%eax
4066d1:	0f 84 4c 02 00 00    	je     0x406923
4066d7:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4066db:	0f 94 c1             	sete   %cl
4066de:	fe c9                	dec    %cl
4066e0:	80 e1 e0             	and    $0xe0,%cl
4066e3:	80 c1 70             	add    $0x70,%cl
4066e6:	88 08                	mov    %cl,(%eax)
4066e8:	c6 40 03 00          	movb   $0x0,0x3(%eax)
4066ec:	e9 32 02 00 00       	jmp    0x406923
4066f1:	25 00 00 00 80       	and    $0x80000000,%eax
4066f6:	33 c9                	xor    %ecx,%ecx
4066f8:	0b c8                	or     %eax,%ecx
4066fa:	74 04                	je     0x406700
4066fc:	c6 06 2d             	movb   $0x2d,(%esi)
4066ff:	46                   	inc    %esi
406700:	8b 5d 18             	mov    0x18(%ebp),%ebx
406703:	c6 06 30             	movb   $0x30,(%esi)
406706:	46                   	inc    %esi
406707:	85 db                	test   %ebx,%ebx
406709:	0f 94 c0             	sete   %al
40670c:	fe c8                	dec    %al
40670e:	24 e0                	and    $0xe0,%al
406710:	04 78                	add    $0x78,%al
406712:	88 06                	mov    %al,(%esi)
406714:	8b 4f 04             	mov    0x4(%edi),%ecx
406717:	46                   	inc    %esi
406718:	f7 db                	neg    %ebx
40671a:	1b db                	sbb    %ebx,%ebx
40671c:	83 e3 e0             	and    $0xffffffe0,%ebx
40671f:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
406725:	33 c0                	xor    %eax,%eax
406727:	83 c3 27             	add    $0x27,%ebx
40672a:	33 d2                	xor    %edx,%edx
40672c:	0b c1                	or     %ecx,%eax
40672e:	75 21                	jne    0x406751
406730:	c6 06 30             	movb   $0x30,(%esi)
406733:	8b 4f 04             	mov    0x4(%edi),%ecx
406736:	8b 07                	mov    (%edi),%eax
406738:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
40673e:	46                   	inc    %esi
40673f:	0b c1                	or     %ecx,%eax
406741:	75 05                	jne    0x406748
406743:	89 55 ec             	mov    %edx,-0x14(%ebp)
406746:	eb 0d                	jmp    0x406755
406748:	c7 45 ec fe 03 00 00 	movl   $0x3fe,-0x14(%ebp)
40674f:	eb 04                	jmp    0x406755
406751:	c6 06 31             	movb   $0x31,(%esi)
406754:	46                   	inc    %esi
406755:	8b c6                	mov    %esi,%eax