4063ef:	75 07                	jne    0x4063f8
4063f1:	57                   	push   %edi
4063f2:	f2 66 af             	repnz scas %es:(%edi),%ax
4063f5:	f7 d1                	not    %ecx
4063f7:	49                   	dec    %ecx
4063f8:	85 c9                	test   %ecx,%ecx
4063fa:	74 40                	je     0x40643c
4063fc:	66 8b 16             	mov    (%esi),%dx
4063ff:	66 3b 17             	cmp    (%edi),%dx
406402:	74 2f                	je     0x406433
406404:	66 83 fa 41          	cmp    $0x41,%dx
406408:	72 06                	jb     0x406410
40640a:	66 83 fa 5a          	cmp    $0x5a,%dx
40640e:	76 06                	jbe    0x406416
406410:	66 83 fa 61          	cmp    $0x61,%dx
406414:	72 0c                	jb     0x406422
406416:	66 83 fa 7a          	cmp    $0x7a,%dx
40641a:	77 06                	ja     0x406422
40641c:	66 83 f2 20          	xor    $0x20,%dx
406420:	eb 06                	jmp    0x406428
406422:	19 c0                	sbb    %eax,%eax
406424:	0c 01                	or     $0x1,%al
406426:	eb 14                	jmp    0x40643c
406428:	66 3b 17             	cmp    (%edi),%dx
40642b:	74 06                	je     0x406433
40642d:	19 c0                	sbb    %eax,%eax
40642f:	0c 01                	or     $0x1,%al
406431:	eb 09                	jmp    0x40643c
406433:	83 c6 02             	add    $0x2,%esi
406436:	83 c7 02             	add    $0x2,%edi
406439:	49                   	dec    %ecx
40643a:	eb bc                	jmp    0x4063f8
40643c:	5f                   	pop    %edi
40643d:	5e                   	pop    %esi
40643e:	c9                   	leave
40643f:	c2 0c 00             	ret    $0xc
406442:	8b 44 24 04          	mov    0x4(%esp),%eax
406446:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40644a:	8b 00                	mov    (%eax),%eax
40644c:	89 01                	mov    %eax,(%ecx)
40644e:	c2 08 00             	ret    $0x8
406451:	8b 44 24 04          	mov    0x4(%esp),%eax
406455:	85 c0                	test   %eax,%eax
406457:	74 03                	je     0x40645c
406459:	8b 40 10             	mov    0x10(%eax),%eax
40645c:	c2 04 00             	ret    $0x4
40645f:	56                   	push   %esi
406460:	57                   	push   %edi
406461:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406465:	c1 e9 02             	shr    $0x2,%ecx
406468:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40646c:	8b 74 24 10          	mov    0x10(%esp),%esi
406470:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
406472:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406476:	83 e1 03             	and    $0x3,%ecx
406479:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40647b:	5f                   	pop    %edi
40647c:	5e                   	pop    %esi
40647d:	c2 0c 00             	ret    $0xc
406488:	c0 00 00             	rolb   $0x0,(%eax)
40648b:	00 00                	add    %al,(%eax)
40648d:	00 00                	add    %al,(%eax)
40648f:	46                   	inc    %esi
406490:	30 3a                	xor    %bh,(%edx)
406492:	73 0c                	jae    0x4064a0
406494:	1c 2a                	sbb    $0x2a,%al
406496:	ce                   	into
406497:	11 ad e5 00 aa 00    	adc    %ebp,0xaa00e5(%ebp)
40649d:	44                   	inc    %esp
40649e:	77 3d                	ja     0x4064dd
4064a0:	0c 00                	or     $0x0,%al
4064a2:	00 00                	add    %al,(%eax)
4064a4:	00 00                	add    %al,(%eax)
4064a6:	00 00                	add    %al,(%eax)
4064a8:	c0 00 00             	rolb   $0x0,(%eax)
4064ab:	00 00                	add    %al,(%eax)
4064ad:	00 00                	add    %al,(%eax)
4064af:	46                   	inc    %esi
4064b0:	56                   	push   %esi
4064b1:	57                   	push   %edi
4064b2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4064b6:	8b 7c 24 10          	mov    0x10(%esp),%edi
4064ba:	b9 04 00 00 00       	mov    $0x4,%ecx
4064bf:	31 c0                	xor    %eax,%eax
4064c1:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
4064c3:	0f 94 c0             	sete   %al
4064c6:	5f                   	pop    %edi
4064c7:	5e                   	pop    %esi
4064c8:	c2 08 00             	ret    $0x8
4064cb:	cc                   	int3
4064cc:	cc                   	int3
4064cd:	cc                   	int3
4064ce:	cc                   	int3
4064cf:	cc                   	int3
4064d0:	e9 e9 e9 e9 cc       	jmp    0xcd2a4ebe
4064d5:	cc                   	int3
4064d6:	cc                   	int3
4064d7:	cc                   	int3
4064d8:	cc                   	int3
4064d9:	cc                   	int3
4064da:	cc                   	int3
4064db:	cc                   	int3
4064dc:	cc                   	int3
4064dd:	cc                   	int3
4064de:	cc                   	int3
4064df:	cc                   	int3
4064e0:	55                   	push   %ebp
4064e1:	8b ec                	mov    %esp,%ebp
4064e3:	51                   	push   %ecx
4064e4:	51                   	push   %ecx
4064e5:	68 36 13 40 00       	push   $0x401336
4064ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4064f0:	50                   	push   %eax
4064f1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4064f8:	b8 84 00 00 00       	mov    $0x84,%eax
4064fd:	e8 2e ae ff ff       	call   0x401330
406502:	53                   	push   %ebx
406503:	56                   	push   %esi
406504:	57                   	push   %edi
406505:	89 65 f8             	mov    %esp,-0x8(%ebp)
406508:	c7 45 fc 68 11 40 00 	movl   $0x401168,-0x4(%ebp)
40650f:	6a 00                	push   $0x0
406511:	e8 4d fe ff ff       	call   0x406363
406516:	89 45 b8             	mov    %eax,-0x48(%ebp)
406519:	68 2c 38 40 00       	push   $0x40382c
40651e:	e8 7d 07 00 00       	call   0x406ca0
406523:	89 45 bc             	mov    %eax,-0x44(%ebp)
406526:	8d 45 bc             	lea    -0x44(%ebp),%eax
406529:	50                   	push   %eax
40652a:	8d 45 90             	lea    -0x70(%ebp),%eax
40652d:	50                   	push   %eax
40652e:	e8 dd af ff ff       	call   0x401510
406533:	8d 45 90             	lea    -0x70(%ebp),%eax
406536:	50                   	push   %eax
406537:	ff 75 b8             	push   -0x48(%ebp)
40653a:	e8 22 6b 00 00       	call   0x40d061
40653f:	89 45 d8             	mov    %eax,-0x28(%ebp)
406542:	8d 45 90             	lea    -0x70(%ebp),%eax
406545:	50                   	push   %eax
406546:	6a 00                	push   $0x0
406548:	e8 bd af ff ff       	call   0x40150a
40654d:	68 44 38 40 00       	push   $0x403844
406552:	e8 49 07 00 00       	call   0x406ca0
406557:	89 45 bc             	mov    %eax,-0x44(%ebp)
40655a:	8d 45 bc             	lea    -0x44(%ebp),%eax
40655d:	50                   	push   %eax
40655e:	8d 45 88             	lea    -0x78(%ebp),%eax
406561:	50                   	push   %eax
406562:	e8 a9 af ff ff       	call   0x401510
406567:	8d 45 88             	lea    -0x78(%ebp),%eax
40656a:	50                   	push   %eax
40656b:	ff 75 d8             	push   -0x28(%ebp)
40656e:	e8 2e 6c 00 00       	call   0x40d1a1
406573:	a3 00 11 46 00       	mov    %eax,0x461100
406578:	8d 45 88             	lea    -0x78(%ebp),%eax
40657b:	50                   	push   %eax
40657c:	6a 00                	push   $0x0
40657e:	e8 87 af ff ff       	call   0x40150a
406583:	68 68 38 40 00       	push   $0x403868
406588:	e8 13 07 00 00       	call   0x406ca0
40658d:	89 45 bc             	mov    %eax,-0x44(%ebp)
406590:	8d 45 bc             	lea    -0x44(%ebp),%eax
406593:	50                   	push   %eax
406594:	8d 45 80             	lea    -0x80(%ebp),%eax
406597:	50                   	push   %eax
406598:	e8 73 af ff ff       	call   0x401510
40659d:	8d 45 80             	lea    -0x80(%ebp),%eax
4065a0:	50                   	push   %eax
4065a1:	ff 75 d8             	push   -0x28(%ebp)
4065a4:	e8 b8 6a 00 00       	call   0x40d061
4065a9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4065ac:	8d 45 80             	lea    -0x80(%ebp),%eax
4065af:	50                   	push   %eax
4065b0:	6a 00                	push   $0x0
4065b2:	e8 53 af ff ff       	call   0x40150a
4065b7:	68 80 38 40 00       	push   $0x403880
4065bc:	e8 df 06 00 00       	call   0x406ca0
4065c1:	89 45 bc             	mov    %eax,-0x44(%ebp)
4065c4:	8d 45 bc             	lea    -0x44(%ebp),%eax
4065c7:	50                   	push   %eax
4065c8:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065ce:	50                   	push   %eax
4065cf:	e8 3c af ff ff       	call   0x401510
4065d4:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065da:	50                   	push   %eax
4065db:	ff 75 e4             	push   -0x1c(%ebp)
4065de:	e8 be 6b 00 00       	call   0x40d1a1
4065e3:	a3 04 11 46 00       	mov    %eax,0x461104
4065e8:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065ee:	50                   	push   %eax
4065ef:	6a 00                	push   $0x0
4065f1:	e8 14 af ff ff       	call   0x40150a
4065f6:	6a 00                	push   $0x0
4065f8:	6a 0f                	push   $0xf
4065fa:	6a 01                	push   $0x1
4065fc:	6a 03                	push   $0x3
4065fe:	8d 45 e0             	lea    -0x20(%ebp),%eax
406601:	50                   	push   %eax
406602:	6a 04                	push   $0x4
406604:	68 80 00 00 00       	push   $0x80
406609:	e8 f6 ae ff ff       	call   0x401504
40660e:	83 c4 1c             	add    $0x1c,%esp
406611:	68 d0 38 40 00       	push   $0x4038d0
406616:	68 c0 38 40 00       	push   $0x4038c0
40661b:	e8 d2 ae ff ff       	call   0x4014f2
406620:	50                   	push   %eax
406621:	8d 45 c4             	lea    -0x3c(%ebp),%eax
406624:	50                   	push   %eax
406625:	e8 d4 ae ff ff       	call   0x4014fe
40662a:	50                   	push   %eax
40662b:	e8 c8 ae ff ff       	call   0x4014f8
406630:	50                   	push   %eax
406631:	8d 45 cc             	lea    -0x34(%ebp),%eax
406634:	50                   	push   %eax
406635:	e8 c4 ae ff ff       	call   0x4014fe
40663a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40663d:	e8 aa ae ff ff       	call   0x4014ec
406642:	ff 75 cc             	push   -0x34(%ebp)
406645:	8d 45 c4             	lea    -0x3c(%ebp),%eax
406648:	50                   	push   %eax
406649:	e8 98 ae ff ff       	call   0x4014e6
40664e:	50                   	push   %eax
40664f:	e8 62 ae ff ff       	call   0x4014b6
406654:	89 45 d0             	mov    %eax,-0x30(%ebp)
406657:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40665a:	e8 8d ae ff ff       	call   0x4014ec
40665f:	8d 45 d0             	lea    -0x30(%ebp),%eax
406662:	50                   	push   %eax
406663:	e8 4e ae ff ff       	call   0x4014b6
406668:	50                   	push   %eax
406669:	ff 75 d0             	push   -0x30(%ebp)
40666c:	e8 d1 fd ff ff       	call   0x406442
406671:	8b 45 e0             	mov    -0x20(%ebp),%eax
406674:	f7 d0                	not    %eax
406676:	f7 d0                	not    %eax
406678:	50                   	push   %eax
406679:	e8 d3 fd ff ff       	call   0x406451
40667e:	48                   	dec    %eax
40667f:	89 45 a8             	mov    %eax,-0x58(%ebp)
406682:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
406689:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40668d:	eb 09                	jmp    0x406698
40668f:	8b 45 e8             	mov    -0x18(%ebp),%eax
406692:	03 45 ac             	add    -0x54(%ebp),%eax
406695:	89 45 e8             	mov    %eax,-0x18(%ebp)
406698:	8b 45 e8             	mov    -0x18(%ebp),%eax
40669b:	3b 45 a8             	cmp    -0x58(%ebp),%eax
40669e:	7f 44                	jg     0x4066e4
4066a0:	ff 75 e0             	push   -0x20(%ebp)
4066a3:	8d 45 c8             	lea    -0x38(%ebp),%eax
4066a6:	50                   	push   %eax
4066a7:	e8 34 ae ff ff       	call   0x4014e0
4066ac:	8b 45 c8             	mov    -0x38(%ebp),%eax
4066af:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4066b2:	2b 48 14             	sub    0x14(%eax),%ecx
4066b5:	8b 45 c8             	mov    -0x38(%ebp),%eax
4066b8:	8b 40 0c             	mov    0xc(%eax),%eax
4066bb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4066be:	50                   	push   %eax
4066bf:	e8 f2 ad ff ff       	call   0x4014b6
4066c4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4066c7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4066ca:	50                   	push   %eax
4066cb:	e8 0a ae ff ff       	call   0x4014da
4066d0:	ff 75 bc             	push   -0x44(%ebp)
4066d3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4066d6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4066d9:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4066dc:	50                   	push   %eax
4066dd:	e8 60 fd ff ff       	call   0x406442
4066e2:	eb ab                	jmp    0x40668f
4066e4:	ff 75 cc             	push   -0x34(%ebp)
4066e7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4066ea:	50                   	push   %eax
4066eb:	e8 f6 ad ff ff       	call   0x4014e6
4066f0:	50                   	push   %eax
4066f1:	e8 c0 ad ff ff       	call   0x4014b6
4066f6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4066f9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4066fc:	e8 eb ad ff ff       	call   0x4014ec
406701:	8d 45 d4             	lea    -0x2c(%ebp),%eax
406704:	50                   	push   %eax
406705:	e8 ac ad ff ff       	call   0x4014b6
40670a:	89 45 bc             	mov    %eax,-0x44(%ebp)
40670d:	6a 04                	push   $0x4
40670f:	ff 75 d0             	push   -0x30(%ebp)
406712:	ff 75 bc             	push   -0x44(%ebp)
406715:	e8 45 fd ff ff       	call   0x40645f
40671a:	ff 75 e0             	push   -0x20(%ebp)
40671d:	8d 45 c8             	lea    -0x38(%ebp),%eax
406720:	50                   	push   %eax
406721:	e8 ba ad ff ff       	call   0x4014e0
406726:	8b 45 c8             	mov    -0x38(%ebp),%eax
406729:	33 c9                	xor    %ecx,%ecx
40672b:	2b 48 14             	sub    0x14(%eax),%ecx
40672e:	8b 45 c8             	mov    -0x38(%ebp),%eax
406731:	8b 40 0c             	mov    0xc(%eax),%eax
406734:	8d 04 88             	lea    (%eax,%ecx,4),%eax
406737:	50                   	push   %eax
406738:	e8 79 ad ff ff       	call   0x4014b6
40673d:	89 45 bc             	mov    %eax,-0x44(%ebp)
406740:	8d 45 c8             	lea    -0x38(%ebp),%eax
406743:	50                   	push   %eax
406744:	e8 91 ad ff ff       	call   0x4014da
406749:	8b 45 bc             	mov    -0x44(%ebp),%eax
40674c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40674f:	8d 45 b8             	lea    -0x48(%ebp),%eax
406752:	50                   	push   %eax
406753:	e8 5e ad ff ff       	call   0x4014b6
406758:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40675b:	ff 75 d0             	push   -0x30(%ebp)
40675e:	ff 75 b4             	push   -0x4c(%ebp)
406761:	e8 dc fc ff ff       	call   0x406442
406766:	8b 45 e0             	mov    -0x20(%ebp),%eax
406769:	6a 0b                	push   $0xb
40676b:	59                   	pop    %ecx
40676c:	2b 48 14             	sub    0x14(%eax),%ecx
40676f:	8b 45 e0             	mov    -0x20(%ebp),%eax
406772:	8b 40 0c             	mov    0xc(%eax),%eax
406775:	8b 15 04 11 46 00    	mov    0x461104,%edx
40677b:	89 14 88             	mov    %edx,(%eax,%ecx,4)
40677e:	6a 00                	push   $0x0
406780:	6a 10                	push   $0x10
406782:	6a 01                	push   $0x1
406784:	6a 03                	push   $0x3
406786:	8d 45 dc             	lea    -0x24(%ebp),%eax
406789:	50                   	push   %eax
40678a:	6a 04                	push   $0x4
40678c:	68 80 00 00 00       	push   $0x80
406791:	e8 6e ad ff ff       	call   0x401504
406796:	83 c4 1c             	add    $0x1c,%esp
406799:	8d 45 ec             	lea    -0x14(%ebp),%eax
40679c:	50                   	push   %eax
40679d:	e8 14 ad ff ff       	call   0x4014b6
4067a2:	50                   	push   %eax
4067a3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4067a6:	f7 d0                	not    %eax
4067a8:	f7 d0                	not    %eax
4067aa:	83 c0 0c             	add    $0xc,%eax
4067ad:	50                   	push   %eax
4067ae:	e8 8f fc ff ff       	call   0x406442
4067b3:	c7 45 bc 40 00 00 00 	movl   $0x40,-0x44(%ebp)
4067ba:	8d 45 bc             	lea    -0x44(%ebp),%eax
4067bd:	50                   	push   %eax
4067be:	e8 f3 ac ff ff       	call   0x4014b6
4067c3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4067c6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4067c9:	f7 d0                	not    %eax
4067cb:	f7 d0                	not    %eax
4067cd:	83 c0 0c             	add    $0xc,%eax