404655:	3b f3                	cmp    %ebx,%esi
404657:	74 d2                	je     0x40462b
404659:	0f b7 0e             	movzwl (%esi),%ecx
40465c:	33 d2                	xor    %edx,%edx
40465e:	89 9d e8 fb ff ff    	mov    %ebx,-0x418(%ebp)
404664:	89 9d ec fb ff ff    	mov    %ebx,-0x414(%ebp)
40466a:	89 9d c4 fb ff ff    	mov    %ebx,-0x43c(%ebp)
404670:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
404676:	66 3b cb             	cmp    %bx,%cx
404679:	0f 84 b1 0a 00 00    	je     0x405130
40467f:	6a 02                	push   $0x2
404681:	5b                   	pop    %ebx
404682:	03 f3                	add    %ebx,%esi
404684:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
40468b:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
404691:	0f 8c 99 0a 00 00    	jl     0x405130
404697:	8d 41 e0             	lea    -0x20(%ecx),%eax
40469a:	66 83 f8 58          	cmp    $0x58,%ax
40469e:	77 0f                	ja     0x4046af
4046a0:	0f b7 c1             	movzwl %cx,%eax
4046a3:	0f be 80 28 00 41 00 	movsbl 0x410028(%eax),%eax
4046aa:	83 e0 0f             	and    $0xf,%eax
4046ad:	eb 02                	jmp    0x4046b1
4046af:	33 c0                	xor    %eax,%eax
4046b1:	0f be 84 c2 48 00 41 	movsbl 0x410048(%edx,%eax,8),%eax
4046b8:	00
4046b9:	6a 07                	push   $0x7
4046bb:	c1 f8 04             	sar    $0x4,%eax
4046be:	5a                   	pop    %edx
4046bf:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4046c5:	3b c2                	cmp    %edx,%eax
4046c7:	0f 87 20 0a 00 00    	ja     0x4050ed
4046cd:	ff 24 85 59 51 40 00 	jmp    *0x405159(,%eax,4)
4046d4:	33 c0                	xor    %eax,%eax
4046d6:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
4046dd:	89 85 98 fb ff ff    	mov    %eax,-0x468(%ebp)
4046e3:	89 85 b8 fb ff ff    	mov    %eax,-0x448(%ebp)
4046e9:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
4046ef:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
4046f5:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
4046fb:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
404701:	e9 e7 09 00 00       	jmp    0x4050ed
404706:	0f b7 c1             	movzwl %cx,%eax
404709:	83 e8 20             	sub    $0x20,%eax
40470c:	74 4a                	je     0x404758
40470e:	83 e8 03             	sub    $0x3,%eax
404711:	74 36                	je     0x404749
404713:	83 e8 08             	sub    $0x8,%eax
404716:	74 25                	je     0x40473d
404718:	2b c3                	sub    %ebx,%eax
40471a:	74 15                	je     0x404731
40471c:	83 e8 03             	sub    $0x3,%eax
40471f:	0f 85 c8 09 00 00    	jne    0x4050ed
404725:	83 8d f8 fb ff ff 08 	orl    $0x8,-0x408(%ebp)
40472c:	e9 bc 09 00 00       	jmp    0x4050ed
404731:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
404738:	e9 b0 09 00 00       	jmp    0x4050ed
40473d:	83 8d f8 fb ff ff 01 	orl    $0x1,-0x408(%ebp)
404744:	e9 a4 09 00 00       	jmp    0x4050ed
404749:	81 8d f8 fb ff ff 80 	orl    $0x80,-0x408(%ebp)
404750:	00 00 00
404753:	e9 95 09 00 00       	jmp    0x4050ed
404758:	09 9d f8 fb ff ff    	or     %ebx,-0x408(%ebp)
40475e:	e9 8a 09 00 00       	jmp    0x4050ed
404763:	66 83 f9 2a          	cmp    $0x2a,%cx
404767:	75 2c                	jne    0x404795
404769:	83 c7 04             	add    $0x4,%edi
40476c:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404772:	8b 7f fc             	mov    -0x4(%edi),%edi
404775:	89 bd d0 fb ff ff    	mov    %edi,-0x430(%ebp)
40477b:	85 ff                	test   %edi,%edi
40477d:	0f 89 6a 09 00 00    	jns    0x4050ed
404783:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
40478a:	f7 9d d0 fb ff ff    	negl   -0x430(%ebp)
404790:	e9 58 09 00 00       	jmp    0x4050ed
404795:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
40479b:	6b c0 0a             	imul   $0xa,%eax,%eax
40479e:	0f b7 c9             	movzwl %cx,%ecx
4047a1:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
4047a5:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
4047ab:	e9 3d 09 00 00       	jmp    0x4050ed
4047b0:	83 a5 f4 fb ff ff 00 	andl   $0x0,-0x40c(%ebp)
4047b7:	e9 31 09 00 00       	jmp    0x4050ed
4047bc:	66 83 f9 2a          	cmp    $0x2a,%cx
4047c0:	75 26                	jne    0x4047e8
4047c2:	83 c7 04             	add    $0x4,%edi
4047c5:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
4047cb:	8b 7f fc             	mov    -0x4(%edi),%edi
4047ce:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
4047d4:	85 ff                	test   %edi,%edi
4047d6:	0f 89 11 09 00 00    	jns    0x4050ed
4047dc:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
4047e3:	e9 05 09 00 00       	jmp    0x4050ed
4047e8:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
4047ee:	6b c0 0a             	imul   $0xa,%eax,%eax
4047f1:	0f b7 c9             	movzwl %cx,%ecx
4047f4:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
4047f8:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
4047fe:	e9 ea 08 00 00       	jmp    0x4050ed
404803:	0f b7 c1             	movzwl %cx,%eax
404806:	83 f8 49             	cmp    $0x49,%eax
404809:	74 57                	je     0x404862
40480b:	83 f8 68             	cmp    $0x68,%eax
40480e:	74 46                	je     0x404856
404810:	83 f8 6c             	cmp    $0x6c,%eax
404813:	74 18                	je     0x40482d
404815:	83 f8 77             	cmp    $0x77,%eax
404818:	0f 85 cf 08 00 00    	jne    0x4050ed
40481e:	81 8d f8 fb ff ff 00 	orl    $0x800,-0x408(%ebp)
404825:	08 00 00
404828:	e9 c0 08 00 00       	jmp    0x4050ed
40482d:	66 83 3e 6c          	cmpw   $0x6c,(%esi)
404831:	75 17                	jne    0x40484a
404833:	03 f3                	add    %ebx,%esi
404835:	81 8d f8 fb ff ff 00 	orl    $0x1000,-0x408(%ebp)
40483c:	10 00 00
40483f:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
404845:	e9 a3 08 00 00       	jmp    0x4050ed
40484a:	83 8d f8 fb ff ff 10 	orl    $0x10,-0x408(%ebp)
404851:	e9 97 08 00 00       	jmp    0x4050ed
404856:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
40485d:	e9 8b 08 00 00       	jmp    0x4050ed
404862:	0f b7 06             	movzwl (%esi),%eax
404865:	83 f8 36             	cmp    $0x36,%eax
404868:	75 1f                	jne    0x404889
40486a:	66 83 7e 02 34       	cmpw   $0x34,0x2(%esi)
40486f:	75 18                	jne    0x404889
404871:	83 c6 04             	add    $0x4,%esi
404874:	81 8d f8 fb ff ff 00 	orl    $0x8000,-0x408(%ebp)
40487b:	80 00 00
40487e:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
404884:	e9 64 08 00 00       	jmp    0x4050ed
404889:	83 f8 33             	cmp    $0x33,%eax
40488c:	75 1f                	jne    0x4048ad
40488e:	66 83 7e 02 32       	cmpw   $0x32,0x2(%esi)
404893:	75 18                	jne    0x4048ad
404895:	83 c6 04             	add    $0x4,%esi
404898:	81 a5 f8 fb ff ff ff 	andl   $0xffff7fff,-0x408(%ebp)
40489f:	7f ff ff
4048a2:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
4048a8:	e9 40 08 00 00       	jmp    0x4050ed
4048ad:	83 f8 64             	cmp    $0x64,%eax
4048b0:	0f 84 37 08 00 00    	je     0x4050ed
4048b6:	83 f8 69             	cmp    $0x69,%eax
4048b9:	0f 84 2e 08 00 00    	je     0x4050ed
4048bf:	83 f8 6f             	cmp    $0x6f,%eax
4048c2:	0f 84 25 08 00 00    	je     0x4050ed
4048c8:	83 f8 75             	cmp    $0x75,%eax
4048cb:	0f 84 1c 08 00 00    	je     0x4050ed
4048d1:	83 f8 78             	cmp    $0x78,%eax
4048d4:	0f 84 13 08 00 00    	je     0x4050ed
4048da:	83 f8 58             	cmp    $0x58,%eax
4048dd:	0f 84 0a 08 00 00    	je     0x4050ed
4048e3:	83 a5 a0 fb ff ff 00 	andl   $0x0,-0x460(%ebp)
4048ea:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
4048f0:	51                   	push   %ecx
4048f1:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
4048f7:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
4048fe:	00 00 00
404901:	e8 7c fc ff ff       	call   0x404582
404906:	e9 e1 07 00 00       	jmp    0x4050ec
40490b:	0f b7 c1             	movzwl %cx,%eax
40490e:	83 f8 64             	cmp    $0x64,%eax
404911:	0f 8f 2f 02 00 00    	jg     0x404b46
404917:	0f 84 c0 02 00 00    	je     0x404bdd
40491d:	83 f8 53             	cmp    $0x53,%eax
404920:	0f 8f 1b 01 00 00    	jg     0x404a41
404926:	74 7e                	je     0x4049a6
404928:	83 e8 41             	sub    $0x41,%eax
40492b:	74 10                	je     0x40493d
40492d:	2b c3                	sub    %ebx,%eax
40492f:	74 59                	je     0x40498a
404931:	2b c3                	sub    %ebx,%eax
404933:	74 08                	je     0x40493d
404935:	2b c3                	sub    %ebx,%eax
404937:	0f 85 df 05 00 00    	jne    0x404f1c
40493d:	83 c1 20             	add    $0x20,%ecx
404940:	c7 85 98 fb ff ff 01 	movl   $0x1,-0x468(%ebp)
404947:	00 00 00
40494a:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
404950:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
404957:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
40495e:	8d 9d fc fb ff ff    	lea    -0x404(%ebp),%ebx
404964:	b8 00 02 00 00       	mov    $0x200,%eax
404969:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
40496f:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
404975:	0f 8d 92 02 00 00    	jge    0x404c0d
40497b:	c7 85 f4 fb ff ff 06 	movl   $0x6,-0x40c(%ebp)
404982:	00 00 00
404985:	e9 ec 02 00 00       	jmp    0x404c76
40498a:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
404991:	08 00 00
404994:	0f 85 c8 00 00 00    	jne    0x404a62
40499a:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4049a1:	e9 bc 00 00 00       	jmp    0x404a62
4049a6:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
4049ad:	08 00 00
4049b0:	75 07                	jne    0x4049b9
4049b2:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4049b9:	8b 9d f4 fb ff ff    	mov    -0x40c(%ebp),%ebx
4049bf:	83 fb ff             	cmp    $0xffffffff,%ebx
4049c2:	75 05                	jne    0x4049c9
4049c4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4049c9:	83 c7 04             	add    $0x4,%edi
4049cc:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
4049d3:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
4049d9:	8b 7f fc             	mov    -0x4(%edi),%edi
4049dc:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
4049e2:	0f 84 f7 04 00 00    	je     0x404edf
4049e8:	85 ff                	test   %edi,%edi
4049ea:	75 0b                	jne    0x4049f7
4049ec:	a1 e0 2d 41 00       	mov    0x412de0,%eax
4049f1:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4049f7:	83 a5 ec fb ff ff 00 	andl   $0x0,-0x414(%ebp)
4049fe:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
404a04:	85 db                	test   %ebx,%ebx
404a06:	0f 8e 10 05 00 00    	jle    0x404f1c
404a0c:	8a 06                	mov    (%esi),%al
404a0e:	84 c0                	test   %al,%al
404a10:	0f 84 06 05 00 00    	je     0x404f1c
404a16:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
404a1c:	0f b6 c0             	movzbl %al,%eax
404a1f:	51                   	push   %ecx
404a20:	50                   	push   %eax
404a21:	e8 f5 62 00 00       	call   0x40ad1b
404a26:	59                   	pop    %ecx
404a27:	59                   	pop    %ecx
404a28:	85 c0                	test   %eax,%eax
404a2a:	74 01                	je     0x404a2d
404a2c:	46                   	inc    %esi
404a2d:	46                   	inc    %esi
404a2e:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
404a34:	39 9d ec fb ff ff    	cmp    %ebx,-0x414(%ebp)
404a3a:	7c d0                	jl     0x404a0c
404a3c:	e9 db 04 00 00       	jmp    0x404f1c
404a41:	83 e8 58             	sub    $0x58,%eax
404a44:	0f 84 f5 02 00 00    	je     0x404d3f
404a4a:	2b c3                	sub    %ebx,%eax
404a4c:	0f 84 94 00 00 00    	je     0x404ae6
404a52:	2b c2                	sub    %edx,%eax
404a54:	0f 84 f6 fe ff ff    	je     0x404950
404a5a:	2b c3                	sub    %ebx,%eax
404a5c:	0f 85 ba 04 00 00    	jne    0x404f1c
404a62:	0f b7 07             	movzwl (%edi),%eax
404a65:	83 c7 04             	add    $0x4,%edi
404a68:	33 f6                	xor    %esi,%esi
404a6a:	46                   	inc    %esi
404a6b:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
404a72:	89 b5 d4 fb ff ff    	mov    %esi,-0x42c(%ebp)
404a78:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404a7e:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
404a84:	74 42                	je     0x404ac8
404a86:	88 85 c8 fb ff ff    	mov    %al,-0x438(%ebp)
404a8c:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
404a92:	50                   	push   %eax
404a93:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
404a99:	c6 85 c9 fb ff ff 00 	movb   $0x0,-0x437(%ebp)
404aa0:	ff b0 ac 00 00 00    	push   0xac(%eax)
404aa6:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
404aac:	50                   	push   %eax
404aad:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
404ab3:	50                   	push   %eax
404ab4:	e8 32 61 00 00       	call   0x40abeb
404ab9:	83 c4 10             	add    $0x10,%esp
404abc:	85 c0                	test   %eax,%eax
404abe:	79 0f                	jns    0x404acf
404ac0:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
404ac6:	eb 07                	jmp    0x404acf
404ac8:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
404acf:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
404ad5:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
404adb:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
404ae1:	e9 36 04 00 00       	jmp    0x404f1c
404ae6:	8b 07                	mov    (%edi),%eax
404ae8:	83 c7 04             	add    $0x4,%edi
404aeb:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404af1:	85 c0                	test   %eax,%eax
404af3:	74 3a                	je     0x404b2f
404af5:	8b 48 04             	mov    0x4(%eax),%ecx
404af8:	85 c9                	test   %ecx,%ecx
404afa:	74 33                	je     0x404b2f
404afc:	f7 85 f8 fb ff ff 00 	testl  $0x800,-0x408(%ebp)
404b03:	08 00 00
404b06:	0f bf 00             	movswl (%eax),%eax
404b09:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
404b0f:	74 12                	je     0x404b23
404b11:	99                   	cltd
404b12:	2b c2                	sub    %edx,%eax
404b14:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
404b1b:	00 00 00
404b1e:	e9 f1 03 00 00       	jmp    0x404f14
404b23:	83 a5 d4 fb ff ff 00 	andl   $0x0,-0x42c(%ebp)
404b2a:	e9 e7 03 00 00       	jmp    0x404f16
404b2f:	a1 e0 2d 41 00       	mov    0x412de0,%eax
404b34:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
404b3a:	50                   	push   %eax
404b3b:	e8 20 60 00 00       	call   0x40ab60
404b40:	59                   	pop    %ecx
404b41:	e9 d0 03 00 00       	jmp    0x404f16
404b46:	83 f8 70             	cmp    $0x70,%eax
404b49:	0f 8f f8 01 00 00    	jg     0x404d47
404b4f:	0f 84 e0 01 00 00    	je     0x404d35
404b55:	83 f8 65             	cmp    $0x65,%eax
404b58:	0f 8c be 03 00 00    	jl     0x404f1c
404b5e:	83 f8 67             	cmp    $0x67,%eax
404b61:	0f 8e e9 fd ff ff    	jle    0x404950
404b67:	83 f8 69             	cmp    $0x69,%eax
404b6a:	74 71                	je     0x404bdd
404b6c:	83 f8 6e             	cmp    $0x6e,%eax
404b6f:	74 28                	je     0x404b99
404b71:	83 f8 6f             	cmp    $0x6f,%eax
404b74:	0f 85 a2 03 00 00    	jne    0x404f1c
404b7a:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
404b81:	c7 85 e4 fb ff ff 08 	movl   $0x8,-0x41c(%ebp)
404b88:	00 00 00
404b8b:	74 61                	je     0x404bee
404b8d:	81 8d f8 fb ff ff 00 	orl    $0x200,-0x408(%ebp)
404b94:	02 00 00
404b97:	eb 55                	jmp    0x404bee
404b99:	8b 37                	mov    (%edi),%esi
404b9b:	83 c7 04             	add    $0x4,%edi
404b9e:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404ba4:	e8 9e 5f 00 00       	call   0x40ab47
404ba9:	85 c0                	test   %eax,%eax
404bab:	0f 84 63 05 00 00    	je     0x405114
404bb1:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
404bb8:	74 0c                	je     0x404bc6
404bba:	66 8b 85 e8 fb ff ff 	mov    -0x418(%ebp),%ax
404bc1:	66 89 06             	mov    %ax,(%esi)
404bc4:	eb 08                	jmp    0x404bce
404bc6:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
404bcc:	89 06                	mov    %eax,(%esi)
404bce:	c7 85 b8 fb ff ff 01 	movl   $0x1,-0x448(%ebp)
404bd5:	00 00 00
404bd8:	e9 f4 04 00 00       	jmp    0x4050d1
404bdd:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
404be4:	c7 85 e4 fb ff ff 0a 	movl   $0xa,-0x41c(%ebp)
404beb:	00 00 00
404bee:	8b 8d f8 fb ff ff    	mov    -0x408(%ebp),%ecx
404bf4:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
404bfa:	0f 84 a7 01 00 00    	je     0x404da7
404c00:	8b 07                	mov    (%edi),%eax
404c02:	8b 57 04             	mov    0x4(%edi),%edx
404c05:	83 c7 08             	add    $0x8,%edi
404c08:	e9 d3 01 00 00       	jmp    0x404de0
404c0d:	75 16                	jne    0x404c25
404c0f:	66 83 bd e4 fb ff ff 	cmpw   $0x67,-0x41c(%ebp)
404c16:	67
404c17:	75 5d                	jne    0x404c76
404c19:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)