522755:	66 8b 57 04          	mov    0x4(%edi),%dx
522759:	88 14 24             	mov    %dl,(%esp)
52275c:	8b d4                	mov    %esp,%edx
52275e:	66 be ba ff          	mov    $0xffba,%si
522762:	e8 0d 15 ee ff       	call   0x403c74
522767:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
52276e:	5a                   	pop    %edx
52276f:	5f                   	pop    %edi
522770:	5e                   	pop    %esi
522771:	c3                   	ret
522772:	8b c0                	mov    %eax,%eax
522774:	51                   	push   %ecx
522775:	88 0c 24             	mov    %cl,(%esp)
522778:	8a 0c 24             	mov    (%esp),%cl
52277b:	e8 fc b6 f2 ff       	call   0x44de7c
522780:	5a                   	pop    %edx
522781:	c3                   	ret
522782:	8b c0                	mov    %eax,%eax
522784:	53                   	push   %ebx
522785:	56                   	push   %esi
522786:	8b f2                	mov    %edx,%esi
522788:	8b d8                	mov    %eax,%ebx
52278a:	80 3e 1f             	cmpb   $0x1f,(%esi)
52278d:	76 15                	jbe    0x5227a4
52278f:	80 3e 7f             	cmpb   $0x7f,(%esi)
522792:	74 10                	je     0x5227a4
522794:	8b c3                	mov    %ebx,%eax
522796:	e8 7d 2e 00 00       	call   0x525618
52279b:	8a 16                	mov    (%esi),%dl
52279d:	8b c3                	mov    %ebx,%eax
52279f:	e8 64 fb ff ff       	call   0x522308
5227a4:	8b c3                	mov    %ebx,%eax
5227a6:	8b 10                	mov    (%eax),%edx
5227a8:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
5227ae:	5e                   	pop    %esi
5227af:	5b                   	pop    %ebx
5227b0:	c3                   	ret
5227b1:	8d 40 00             	lea    0x0(%eax),%eax
5227b4:	55                   	push   %ebp
5227b5:	8b ec                	mov    %esp,%ebp
5227b7:	83 c4 f0             	add    $0xfffffff0,%esp
5227ba:	53                   	push   %ebx
5227bb:	56                   	push   %esi
5227bc:	57                   	push   %edi
5227bd:	33 db                	xor    %ebx,%ebx
5227bf:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5227c2:	88 4d ff             	mov    %cl,-0x1(%ebp)
5227c5:	8b f2                	mov    %edx,%esi
5227c7:	8b d8                	mov    %eax,%ebx
5227c9:	33 c0                	xor    %eax,%eax
5227cb:	55                   	push   %ebp
5227cc:	68 20 30 52 00       	push   $0x523020
5227d1:	64 ff 30             	push   %fs:(%eax)
5227d4:	64 89 20             	mov    %esp,%fs:(%eax)
5227d7:	8b bb 18 02 00 00    	mov    0x218(%ebx),%edi
5227dd:	0f b7 06             	movzwl (%esi),%eax
5227e0:	83 f8 46             	cmp    $0x46,%eax
5227e3:	0f 8f cf 00 00 00    	jg     0x5228b8
5227e9:	0f 84 b3 06 00 00    	je     0x522ea2
5227ef:	83 f8 28             	cmp    $0x28,%eax
5227f2:	7f 4d                	jg     0x522841
5227f4:	0f 84 4a 04 00 00    	je     0x522c44
5227fa:	83 f8 24             	cmp    $0x24,%eax
5227fd:	7f 26                	jg     0x522825
5227ff:	0f 84 8c 04 00 00    	je     0x522c91
522805:	83 e8 08             	sub    $0x8,%eax
522808:	0f 84 4c 03 00 00    	je     0x522b5a
52280e:	83 e8 05             	sub    $0x5,%eax
522811:	0f 84 ac 02 00 00    	je     0x522ac3
522817:	83 e8 16             	sub    $0x16,%eax
52281a:	0f 84 ce 04 00 00    	je     0x522cee
522820:	e9 d9 07 00 00       	jmp    0x522ffe
522825:	83 e8 25             	sub    $0x25,%eax
522828:	0f 84 54 01 00 00    	je     0x522982
52282e:	48                   	dec    %eax
52282f:	0f 84 c2 03 00 00    	je     0x522bf7
522835:	48                   	dec    %eax
522836:	0f 84 e8 01 00 00    	je     0x522a24
52283c:	e9 bd 07 00 00       	jmp    0x522ffe
522841:	83 c0 d3             	add    $0xffffffd3,%eax
522844:	83 f8 18             	cmp    $0x18,%eax
522847:	0f 87 b1 07 00 00    	ja     0x522ffe
52284d:	ff 24 85 54 28 52 00 	jmp    *0x522854(,%eax,4)
522854:	4f                   	dec    %edi
522855:	2d 52 00 db 2a       	sub    $0x2adb0052,%eax
52285a:	52                   	push   %edx
52285b:	00 fe                	add    %bh,%dh
52285d:	2f                   	das
52285e:	52                   	push   %edx
52285f:	00 fe                	add    %bh,%dh
522861:	2f                   	das
522862:	52                   	push   %edx
522863:	00 fe                	add    %bh,%dh
522865:	2f                   	das
522866:	52                   	push   %edx
522867:	00 fe                	add    %bh,%dh
522869:	2f                   	das
52286a:	52                   	push   %edx
52286b:	00 fe                	add    %bh,%dh
52286d:	2f                   	das
52286e:	52                   	push   %edx
52286f:	00 fe                	add    %bh,%dh
522871:	2f                   	das
522872:	52                   	push   %edx
522873:	00 fe                	add    %bh,%dh
522875:	2f                   	das
522876:	52                   	push   %edx
522877:	00 fe                	add    %bh,%dh
522879:	2f                   	das
52287a:	52                   	push   %edx
52287b:	00 fe                	add    %bh,%dh
52287d:	2f                   	das
52287e:	52                   	push   %edx
52287f:	00 fe                	add    %bh,%dh
522881:	2f                   	das
522882:	52                   	push   %edx
522883:	00 fe                	add    %bh,%dh
522885:	2f                   	das
522886:	52                   	push   %edx
522887:	00 fe                	add    %bh,%dh
522889:	2f                   	das
52288a:	52                   	push   %edx
52288b:	00 fe                	add    %bh,%dh
52288d:	2f                   	das
52288e:	52                   	push   %edx
52288f:	00 fe                	add    %bh,%dh
522891:	2f                   	das
522892:	52                   	push   %edx
522893:	00 fe                	add    %bh,%dh
522895:	2f                   	das
522896:	52                   	push   %edx
522897:	00 fe                	add    %bh,%dh
522899:	2f                   	das
52289a:	52                   	push   %edx
52289b:	00 fe                	add    %bh,%dh
52289d:	2f                   	das
52289e:	52                   	push   %edx
52289f:	00 fe                	add    %bh,%dh
5228a1:	2f                   	das
5228a2:	52                   	push   %edx
5228a3:	00 62 2d             	add    %ah,0x2d(%edx)
5228a6:	52                   	push   %edx
5228a7:	00 4e 2f             	add    %cl,0x2f(%esi)
5228aa:	52                   	push   %edx
5228ab:	00 3e                	add    %bh,(%esi)
5228ad:	2e 52                	cs push %edx
5228af:	00 96 2d 52 00 d8    	add    %dl,-0x27ffadd3(%esi)
5228b5:	2d 52 00 83 f8       	sub    $0xf8830052,%eax
5228ba:	58                   	pop    %eax
5228bb:	7f 59                	jg     0x522916
5228bd:	0f 84 91 05 00 00    	je     0x522e54
5228c3:	83 c0 b9             	add    $0xffffffb9,%eax
5228c6:	83 f8 0f             	cmp    $0xf,%eax
5228c9:	0f 87 2f 07 00 00    	ja     0x522ffe
5228cf:	ff 24 85 d6 28 52 00 	jmp    *0x5228d6(,%eax,4)
5228d6:	aa                   	stos   %al,%es:(%edi)
5228d7:	2f                   	das
5228d8:	52                   	push   %edx
5228d9:	00 fe                	add    %bh,%dh
5228db:	2f                   	das
5228dc:	52                   	push   %edx
5228dd:	00 70 2f             	add    %dh,0x2f(%eax)
5228e0:	52                   	push   %edx
5228e1:	00 1c 2e             	add    %bl,(%esi,%ebp,1)
5228e4:	52                   	push   %edx
5228e5:	00 fe                	add    %bh,%dh
5228e7:	2f                   	das
5228e8:	52                   	push   %edx
5228e9:	00 b6 2d 52 00 fe    	add    %dh,-0x1ffadd3(%esi)
5228ef:	2f                   	das
5228f0:	52                   	push   %edx
5228f1:	00 fe                	add    %bh,%dh
5228f3:	2f                   	das
5228f4:	52                   	push   %edx
5228f5:	00 fe                	add    %bh,%dh
5228f7:	2f                   	das
5228f8:	52                   	push   %edx
5228f9:	00 fe                	add    %bh,%dh
5228fb:	2f                   	das
5228fc:	52                   	push   %edx
5228fd:	00 fe                	add    %bh,%dh
5228ff:	2f                   	das
522900:	52                   	push   %edx
522901:	00 fa                	add    %bh,%dl
522903:	2d 52 00 fe 2f       	sub    $0x2ffe0052,%eax
522908:	52                   	push   %edx
522909:	00 fe                	add    %bh,%dh
52290b:	2f                   	das
52290c:	52                   	push   %edx
52290d:	00 8f 2f 52 00 7b    	add    %cl,0x7b00522f(%edi)
522913:	2e 52                	cs push %edx
522915:	00 83 f8 71 7f 16    	add    %al,0x167f71f8(%ebx)
52291b:	74 25                	je     0x522942
52291d:	83 e8 6b             	sub    $0x6b,%eax
522920:	74 20                	je     0x522942
522922:	83 e8 02             	sub    $0x2,%eax
522925:	74 3b                	je     0x522962
522927:	83 e8 03             	sub    $0x3,%eax
52292a:	74 36                	je     0x522962
52292c:	e9 cd 06 00 00       	jmp    0x522ffe
522931:	2d bb 00 00 00       	sub    $0xbb,%eax
522936:	74 0a                	je     0x522942
522938:	83 e8 02             	sub    $0x2,%eax
52293b:	74 25                	je     0x522962
52293d:	e9 bc 06 00 00       	jmp    0x522ffe
522942:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
522946:	0f 84 b2 06 00 00    	je     0x522ffe
52294c:	8b c3                	mov    %ebx,%eax
52294e:	e8 89 2f 00 00       	call   0x5258dc
522953:	8b c3                	mov    %ebx,%eax
522955:	8b 10                	mov    (%eax),%edx
522957:	ff 92 88 00 00 00    	call   *0x88(%edx)
52295d:	e9 9c 06 00 00       	jmp    0x522ffe
522962:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
522966:	0f 84 92 06 00 00    	je     0x522ffe
52296c:	8b c3                	mov    %ebx,%eax
52296e:	e8 f1 2f 00 00       	call   0x525964
522973:	8b c3                	mov    %ebx,%eax
522975:	8b 10                	mov    (%eax),%edx
522977:	ff 92 88 00 00 00    	call   *0x88(%edx)
52297d:	e9 7c 06 00 00       	jmp    0x522ffe
522982:	a0 30 30 52 00       	mov    0x523030,%al
522987:	3a 45 ff             	cmp    -0x1(%ebp),%al
52298a:	75 07                	jne    0x522993
52298c:	8b c3                	mov    %ebx,%eax
52298e:	e8 71 2c 00 00       	call   0x525604
522993:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
52299a:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx
5229a0:	4a                   	dec    %edx
5229a1:	8b c3                	mov    %ebx,%eax
5229a3:	e8 28 14 00 00       	call   0x523dd0
5229a8:	83 f8 02             	cmp    $0x2,%eax
5229ab:	75 07                	jne    0x5229b4
5229ad:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
5229b4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5229b7:	85 c0                	test   %eax,%eax
5229b9:	7e 5a                	jle    0x522a15
5229bb:	89 45 f4             	mov    %eax,-0xc(%ebp)
5229be:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
5229c2:	74 0f                	je     0x5229d3
5229c4:	8d 93 18 02 00 00    	lea    0x218(%ebx),%edx
5229ca:	8b c3                	mov    %ebx,%eax
5229cc:	e8 fb fb ff ff       	call   0x5225cc
5229d1:	eb 0d                	jmp    0x5229e0
5229d3:	8d 93 18 02 00 00    	lea    0x218(%ebx),%edx
5229d9:	8b c3                	mov    %ebx,%eax
5229db:	e8 cc fb ff ff       	call   0x5225ac
5229e0:	8b 83 18 02 00 00    	mov    0x218(%ebx),%eax
5229e6:	3b f8                	cmp    %eax,%edi
5229e8:	74 26                	je     0x522a10
5229ea:	8b d0                	mov    %eax,%edx
5229ec:	4a                   	dec    %edx
5229ed:	8b 8b 58 02 00 00    	mov    0x258(%ebx),%ecx
5229f3:	8b c3                	mov    %ebx,%eax
5229f5:	e8 fa 10 00 00       	call   0x523af4
5229fa:	8a 4d ff             	mov    -0x1(%ebp),%cl
5229fd:	8b d7                	mov    %edi,%edx
5229ff:	8b c3                	mov    %ebx,%eax
522a01:	e8 be fc ff ff       	call   0x5226c4
522a06:	8b c3                	mov    %ebx,%eax
522a08:	8b 10                	mov    (%eax),%edx
522a0a:	ff 92 88 00 00 00    	call   *0x88(%edx)
522a10:	ff 4d f4             	decl   -0xc(%ebp)
522a13:	75 a9                	jne    0x5229be
522a15:	8b c3                	mov    %ebx,%eax
522a17:	8b 10                	mov    (%eax),%edx
522a19:	ff 92 88 00 00 00    	call   *0x88(%edx)
522a1f:	e9 da 05 00 00       	jmp    0x522ffe
522a24:	a0 30 30 52 00       	mov    0x523030,%al
522a29:	3a 45 ff             	cmp    -0x1(%ebp),%al
522a2c:	75 07                	jne    0x522a35
522a2e:	8b c3                	mov    %ebx,%eax
522a30:	e8 cf 2b 00 00       	call   0x525604
522a35:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
522a3c:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx
522a42:	8b c3                	mov    %ebx,%eax
522a44:	e8 87 13 00 00       	call   0x523dd0
522a49:	48                   	dec    %eax
522a4a:	75 07                	jne    0x522a53
522a4c:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
522a53:	8b 45 f8             	mov    -0x8(%ebp),%eax
522a56:	85 c0                	test   %eax,%eax
522a58:	7e 5a                	jle    0x522ab4
522a5a:	89 45 f4             	mov    %eax,-0xc(%ebp)
522a5d:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
522a61:	74 0f                	je     0x522a72
522a63:	8d 93 18 02 00 00    	lea    0x218(%ebx),%edx
522a69:	8b c3                	mov    %ebx,%eax
522a6b:	e8 fc fb ff ff       	call   0x52266c
522a70:	eb 0d                	jmp    0x522a7f
522a72:	8d 93 18 02 00 00    	lea    0x218(%ebx),%edx
522a78:	8b c3                	mov    %ebx,%eax
522a7a:	e8 3d fb ff ff       	call   0x5225bc
522a7f:	8b 83 18 02 00 00    	mov    0x218(%ebx),%eax
522a85:	3b f8                	cmp    %eax,%edi
522a87:	74 26                	je     0x522aaf
522a89:	8b d0                	mov    %eax,%edx
522a8b:	4a                   	dec    %edx
522a8c:	8b 8b 58 02 00 00    	mov    0x258(%ebx),%ecx
522a92:	8b c3                	mov    %ebx,%eax
522a94:	e8 5b 10 00 00       	call   0x523af4
522a99:	8a 4d ff             	mov    -0x1(%ebp),%cl
522a9c:	8b d7                	mov    %edi,%edx
522a9e:	8b c3                	mov    %ebx,%eax
522aa0:	e8 1f fc ff ff       	call   0x5226c4
522aa5:	8b c3                	mov    %ebx,%eax
522aa7:	8b 10                	mov    (%eax),%edx
522aa9:	ff 92 88 00 00 00    	call   *0x88(%edx)
522aaf:	ff 4d f4             	decl   -0xc(%ebp)
522ab2:	75 a9                	jne    0x522a5d
522ab4:	8b c3                	mov    %ebx,%eax
522ab6:	8b 10                	mov    (%eax),%edx
522ab8:	ff 92 88 00 00 00    	call   *0x88(%edx)
522abe:	e9 3b 05 00 00       	jmp    0x522ffe
522ac3:	b2 0a                	mov    $0xa,%dl
522ac5:	8b c3                	mov    %ebx,%eax
522ac7:	e8 3c f8 ff ff       	call   0x522308
522acc:	8b c3                	mov    %ebx,%eax
522ace:	8b 10                	mov    (%eax),%edx
522ad0:	ff 92 88 00 00 00    	call   *0x88(%edx)
522ad6:	e9 23 05 00 00       	jmp    0x522ffe
522adb:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
522ae2:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx
522ae8:	8b c3                	mov    %ebx,%eax
522aea:	e8 e1 12 00 00       	call   0x523dd0
522aef:	48                   	dec    %eax
522af0:	75 07                	jne    0x522af9
522af2:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
522af9:	8b 83 4c 02 00 00    	mov    0x24c(%ebx),%eax
522aff:	3b 83 48 02 00 00    	cmp    0x248(%ebx),%eax
522b05:	7e 07                	jle    0x522b0e
522b07:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
522b0e:	8b 45 f8             	mov    -0x8(%ebp),%eax
522b11:	85 c0                	test   %eax,%eax
522b13:	0f 8e e5 04 00 00    	jle    0x522ffe
522b19:	89 45 f4             	mov    %eax,-0xc(%ebp)
522b1c:	8b 83 4c 02 00 00    	mov    0x24c(%ebx),%eax
522b22:	3b 83 48 02 00 00    	cmp    0x248(%ebx),%eax
522b28:	7e 09                	jle    0x522b33
522b2a:	8b c3                	mov    %ebx,%eax
522b2c:	e8 e7 2a 00 00       	call   0x525618
522b31:	eb 13                	jmp    0x522b46
522b33:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx
522b39:	8b c3                	mov    %ebx,%eax
522b3b:	e8 bc f9 ff ff       	call   0x5224fc
522b40:	89 83 18 02 00 00    	mov    %eax,0x218(%ebx)
522b46:	8b c3                	mov    %ebx,%eax
522b48:	8b 10                	mov    (%eax),%edx
522b4a:	ff 92 88 00 00 00    	call   *0x88(%edx)
522b50:	ff 4d f4             	decl   -0xc(%ebp)