458901:	8b 4e 28             	mov    0x28(%esi),%ecx
458904:	85 c9                	test   %ecx,%ecx
458906:	7f 06                	jg     0x45890e
458908:	8b c3                	mov    %ebx,%eax
45890a:	0b c2                	or     %edx,%eax
45890c:	74 3c                	je     0x45894a
45890e:	53                   	push   %ebx
45890f:	6a 00                	push   $0x0
458911:	ff 75 10             	push   0x10(%ebp)
458914:	8d 41 ff             	lea    -0x1(%ecx),%eax
458917:	52                   	push   %edx
458918:	53                   	push   %ebx
458919:	89 46 28             	mov    %eax,0x28(%esi)
45891c:	e8 ff 73 fe ff       	call   0x43fd20
458921:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458924:	5b                   	pop    %ebx
458925:	80 c1 30             	add    $0x30,%cl
458928:	8b d8                	mov    %eax,%ebx
45892a:	80 f9 39             	cmp    $0x39,%cl
45892d:	7e 11                	jle    0x458940
45892f:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458933:	0f 94 c0             	sete   %al
458936:	fe c8                	dec    %al
458938:	24 e0                	and    $0xe0,%al
45893a:	04 61                	add    $0x61,%al
45893c:	2c 3a                	sub    $0x3a,%al
45893e:	02 c8                	add    %al,%cl
458940:	8b 46 34             	mov    0x34(%esi),%eax
458943:	88 08                	mov    %cl,(%eax)
458945:	ff 4e 34             	decl   0x34(%esi)
458948:	eb b7                	jmp    0x458901
45894a:	2b 7e 34             	sub    0x34(%esi),%edi
45894d:	89 7e 38             	mov    %edi,0x38(%esi)
458950:	ff 46 34             	incl   0x34(%esi)
458953:	5f                   	pop    %edi
458954:	5e                   	pop    %esi
458955:	5b                   	pop    %ebx
458956:	8b e5                	mov    %ebp,%esp
458958:	5d                   	pop    %ebp
458959:	c2 10 00             	ret    $0x10
45895c:	8b ff                	mov    %edi,%edi
45895e:	55                   	push   %ebp
45895f:	8b ec                	mov    %esp,%ebp
458961:	51                   	push   %ecx
458962:	51                   	push   %ecx
458963:	53                   	push   %ebx
458964:	56                   	push   %esi
458965:	8b f1                	mov    %ecx,%esi
458967:	57                   	push   %edi
458968:	8d 4e 40             	lea    0x40(%esi),%ecx
45896b:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458971:	85 ff                	test   %edi,%edi
458973:	75 02                	jne    0x458977
458975:	8b f9                	mov    %ecx,%edi
458977:	e8 1e d0 ff ff       	call   0x45599a
45897c:	8b 55 0c             	mov    0xc(%ebp),%edx
45897f:	48                   	dec    %eax
458980:	8b 5d 08             	mov    0x8(%ebp),%ebx
458983:	03 f8                	add    %eax,%edi
458985:	89 7e 34             	mov    %edi,0x34(%esi)
458988:	8b 4e 28             	mov    0x28(%esi),%ecx
45898b:	85 c9                	test   %ecx,%ecx
45898d:	7f 06                	jg     0x458995
45898f:	8b c3                	mov    %ebx,%eax
458991:	0b c2                	or     %edx,%eax
458993:	74 3c                	je     0x4589d1
458995:	53                   	push   %ebx
458996:	6a 00                	push   $0x0
458998:	ff 75 10             	push   0x10(%ebp)
45899b:	8d 41 ff             	lea    -0x1(%ecx),%eax
45899e:	52                   	push   %edx
45899f:	53                   	push   %ebx
4589a0:	89 46 28             	mov    %eax,0x28(%esi)
4589a3:	e8 78 73 fe ff       	call   0x43fd20
4589a8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4589ab:	5b                   	pop    %ebx
4589ac:	80 c1 30             	add    $0x30,%cl
4589af:	8b d8                	mov    %eax,%ebx
4589b1:	80 f9 39             	cmp    $0x39,%cl
4589b4:	7e 11                	jle    0x4589c7
4589b6:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
4589ba:	0f 94 c0             	sete   %al
4589bd:	fe c8                	dec    %al
4589bf:	24 e0                	and    $0xe0,%al
4589c1:	04 61                	add    $0x61,%al
4589c3:	2c 3a                	sub    $0x3a,%al
4589c5:	02 c8                	add    %al,%cl
4589c7:	8b 46 34             	mov    0x34(%esi),%eax
4589ca:	88 08                	mov    %cl,(%eax)
4589cc:	ff 4e 34             	decl   0x34(%esi)
4589cf:	eb b7                	jmp    0x458988
4589d1:	2b 7e 34             	sub    0x34(%esi),%edi
4589d4:	89 7e 38             	mov    %edi,0x38(%esi)
4589d7:	ff 46 34             	incl   0x34(%esi)
4589da:	5f                   	pop    %edi
4589db:	5e                   	pop    %esi
4589dc:	5b                   	pop    %ebx
4589dd:	8b e5                	mov    %ebp,%esp
4589df:	5d                   	pop    %ebp
4589e0:	c2 10 00             	ret    $0x10
4589e3:	8b ff                	mov    %edi,%edi
4589e5:	55                   	push   %ebp
4589e6:	8b ec                	mov    %esp,%ebp
4589e8:	51                   	push   %ecx
4589e9:	51                   	push   %ecx
4589ea:	53                   	push   %ebx
4589eb:	56                   	push   %esi
4589ec:	8b f1                	mov    %ecx,%esi
4589ee:	57                   	push   %edi
4589ef:	8d 4e 40             	lea    0x40(%esi),%ecx
4589f2:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
4589f8:	85 ff                	test   %edi,%edi
4589fa:	75 02                	jne    0x4589fe
4589fc:	8b f9                	mov    %ecx,%edi
4589fe:	e8 97 cf ff ff       	call   0x45599a
458a03:	8b 55 0c             	mov    0xc(%ebp),%edx
458a06:	48                   	dec    %eax
458a07:	8b 5d 08             	mov    0x8(%ebp),%ebx
458a0a:	03 f8                	add    %eax,%edi
458a0c:	89 7e 34             	mov    %edi,0x34(%esi)
458a0f:	8b 4e 28             	mov    0x28(%esi),%ecx
458a12:	85 c9                	test   %ecx,%ecx
458a14:	7f 06                	jg     0x458a1c
458a16:	8b c3                	mov    %ebx,%eax
458a18:	0b c2                	or     %edx,%eax
458a1a:	74 3c                	je     0x458a58
458a1c:	53                   	push   %ebx
458a1d:	6a 00                	push   $0x0
458a1f:	ff 75 10             	push   0x10(%ebp)
458a22:	8d 41 ff             	lea    -0x1(%ecx),%eax
458a25:	52                   	push   %edx
458a26:	53                   	push   %ebx
458a27:	89 46 28             	mov    %eax,0x28(%esi)
458a2a:	e8 f1 72 fe ff       	call   0x43fd20
458a2f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458a32:	5b                   	pop    %ebx
458a33:	80 c1 30             	add    $0x30,%cl
458a36:	8b d8                	mov    %eax,%ebx
458a38:	80 f9 39             	cmp    $0x39,%cl
458a3b:	7e 11                	jle    0x458a4e
458a3d:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458a41:	0f 94 c0             	sete   %al
458a44:	fe c8                	dec    %al
458a46:	24 e0                	and    $0xe0,%al
458a48:	04 61                	add    $0x61,%al
458a4a:	2c 3a                	sub    $0x3a,%al
458a4c:	02 c8                	add    %al,%cl
458a4e:	8b 46 34             	mov    0x34(%esi),%eax
458a51:	88 08                	mov    %cl,(%eax)
458a53:	ff 4e 34             	decl   0x34(%esi)
458a56:	eb b7                	jmp    0x458a0f
458a58:	2b 7e 34             	sub    0x34(%esi),%edi
458a5b:	89 7e 38             	mov    %edi,0x38(%esi)
458a5e:	ff 46 34             	incl   0x34(%esi)
458a61:	5f                   	pop    %edi
458a62:	5e                   	pop    %esi
458a63:	5b                   	pop    %ebx
458a64:	8b e5                	mov    %ebp,%esp
458a66:	5d                   	pop    %ebp
458a67:	c2 10 00             	ret    $0x10
458a6a:	8b ff                	mov    %edi,%edi
458a6c:	55                   	push   %ebp
458a6d:	8b ec                	mov    %esp,%ebp
458a6f:	51                   	push   %ecx
458a70:	51                   	push   %ecx
458a71:	53                   	push   %ebx
458a72:	56                   	push   %esi
458a73:	8b f1                	mov    %ecx,%esi
458a75:	57                   	push   %edi
458a76:	8d 4e 40             	lea    0x40(%esi),%ecx
458a79:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458a7f:	85 ff                	test   %edi,%edi
458a81:	75 02                	jne    0x458a85
458a83:	8b f9                	mov    %ecx,%edi
458a85:	e8 10 cf ff ff       	call   0x45599a
458a8a:	8b 55 0c             	mov    0xc(%ebp),%edx
458a8d:	48                   	dec    %eax
458a8e:	8b 5d 08             	mov    0x8(%ebp),%ebx
458a91:	03 f8                	add    %eax,%edi
458a93:	89 7e 34             	mov    %edi,0x34(%esi)
458a96:	8b 4e 28             	mov    0x28(%esi),%ecx
458a99:	85 c9                	test   %ecx,%ecx
458a9b:	7f 06                	jg     0x458aa3
458a9d:	8b c3                	mov    %ebx,%eax
458a9f:	0b c2                	or     %edx,%eax
458aa1:	74 3c                	je     0x458adf
458aa3:	53                   	push   %ebx
458aa4:	6a 00                	push   $0x0
458aa6:	ff 75 10             	push   0x10(%ebp)
458aa9:	8d 41 ff             	lea    -0x1(%ecx),%eax
458aac:	52                   	push   %edx
458aad:	53                   	push   %ebx
458aae:	89 46 28             	mov    %eax,0x28(%esi)
458ab1:	e8 6a 72 fe ff       	call   0x43fd20
458ab6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458ab9:	5b                   	pop    %ebx
458aba:	80 c1 30             	add    $0x30,%cl
458abd:	8b d8                	mov    %eax,%ebx
458abf:	80 f9 39             	cmp    $0x39,%cl
458ac2:	7e 11                	jle    0x458ad5
458ac4:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458ac8:	0f 94 c0             	sete   %al
458acb:	fe c8                	dec    %al
458acd:	24 e0                	and    $0xe0,%al
458acf:	04 61                	add    $0x61,%al
458ad1:	2c 3a                	sub    $0x3a,%al
458ad3:	02 c8                	add    %al,%cl
458ad5:	8b 46 34             	mov    0x34(%esi),%eax
458ad8:	88 08                	mov    %cl,(%eax)
458ada:	ff 4e 34             	decl   0x34(%esi)
458add:	eb b7                	jmp    0x458a96
458adf:	2b 7e 34             	sub    0x34(%esi),%edi
458ae2:	89 7e 38             	mov    %edi,0x38(%esi)
458ae5:	ff 46 34             	incl   0x34(%esi)
458ae8:	5f                   	pop    %edi
458ae9:	5e                   	pop    %esi
458aea:	5b                   	pop    %ebx
458aeb:	8b e5                	mov    %ebp,%esp
458aed:	5d                   	pop    %ebp
458aee:	c2 10 00             	ret    $0x10
458af1:	8b ff                	mov    %edi,%edi
458af3:	55                   	push   %ebp
458af4:	8b ec                	mov    %esp,%ebp
458af6:	51                   	push   %ecx
458af7:	51                   	push   %ecx
458af8:	53                   	push   %ebx
458af9:	56                   	push   %esi
458afa:	8b f1                	mov    %ecx,%esi
458afc:	57                   	push   %edi
458afd:	8d 4e 40             	lea    0x40(%esi),%ecx
458b00:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458b06:	85 ff                	test   %edi,%edi
458b08:	75 02                	jne    0x458b0c
458b0a:	8b f9                	mov    %ecx,%edi
458b0c:	e8 89 ce ff ff       	call   0x45599a
458b11:	8b 55 0c             	mov    0xc(%ebp),%edx
458b14:	48                   	dec    %eax
458b15:	8b 5d 08             	mov    0x8(%ebp),%ebx
458b18:	03 f8                	add    %eax,%edi
458b1a:	89 7e 34             	mov    %edi,0x34(%esi)
458b1d:	8b 4e 28             	mov    0x28(%esi),%ecx
458b20:	85 c9                	test   %ecx,%ecx
458b22:	7f 06                	jg     0x458b2a
458b24:	8b c3                	mov    %ebx,%eax
458b26:	0b c2                	or     %edx,%eax
458b28:	74 3c                	je     0x458b66
458b2a:	53                   	push   %ebx
458b2b:	6a 00                	push   $0x0
458b2d:	ff 75 10             	push   0x10(%ebp)
458b30:	8d 41 ff             	lea    -0x1(%ecx),%eax
458b33:	52                   	push   %edx
458b34:	53                   	push   %ebx
458b35:	89 46 28             	mov    %eax,0x28(%esi)
458b38:	e8 e3 71 fe ff       	call   0x43fd20
458b3d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458b40:	5b                   	pop    %ebx
458b41:	80 c1 30             	add    $0x30,%cl
458b44:	8b d8                	mov    %eax,%ebx
458b46:	80 f9 39             	cmp    $0x39,%cl
458b49:	7e 11                	jle    0x458b5c
458b4b:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458b4f:	0f 94 c0             	sete   %al
458b52:	fe c8                	dec    %al
458b54:	24 e0                	and    $0xe0,%al
458b56:	04 61                	add    $0x61,%al
458b58:	2c 3a                	sub    $0x3a,%al
458b5a:	02 c8                	add    %al,%cl
458b5c:	8b 46 34             	mov    0x34(%esi),%eax
458b5f:	88 08                	mov    %cl,(%eax)
458b61:	ff 4e 34             	decl   0x34(%esi)
458b64:	eb b7                	jmp    0x458b1d
458b66:	2b 7e 34             	sub    0x34(%esi),%edi
458b69:	89 7e 38             	mov    %edi,0x38(%esi)
458b6c:	ff 46 34             	incl   0x34(%esi)
458b6f:	5f                   	pop    %edi
458b70:	5e                   	pop    %esi
458b71:	5b                   	pop    %ebx
458b72:	8b e5                	mov    %ebp,%esp
458b74:	5d                   	pop    %ebp
458b75:	c2 10 00             	ret    $0x10
458b78:	8b ff                	mov    %edi,%edi
458b7a:	55                   	push   %ebp
458b7b:	8b ec                	mov    %esp,%ebp
458b7d:	51                   	push   %ecx
458b7e:	51                   	push   %ecx
458b7f:	53                   	push   %ebx
458b80:	56                   	push   %esi
458b81:	8b f1                	mov    %ecx,%esi
458b83:	57                   	push   %edi
458b84:	8d 4e 40             	lea    0x40(%esi),%ecx
458b87:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458b8d:	85 ff                	test   %edi,%edi
458b8f:	75 02                	jne    0x458b93
458b91:	8b f9                	mov    %ecx,%edi
458b93:	e8 02 ce ff ff       	call   0x45599a
458b98:	8b 55 0c             	mov    0xc(%ebp),%edx
458b9b:	48                   	dec    %eax
458b9c:	8b 5d 08             	mov    0x8(%ebp),%ebx
458b9f:	03 f8                	add    %eax,%edi
458ba1:	89 7e 34             	mov    %edi,0x34(%esi)
458ba4:	8b 4e 28             	mov    0x28(%esi),%ecx
458ba7:	85 c9                	test   %ecx,%ecx
458ba9:	7f 06                	jg     0x458bb1
458bab:	8b c3                	mov    %ebx,%eax
458bad:	0b c2                	or     %edx,%eax
458baf:	74 3c                	je     0x458bed
458bb1:	53                   	push   %ebx
458bb2:	6a 00                	push   $0x0
458bb4:	ff 75 10             	push   0x10(%ebp)
458bb7:	8d 41 ff             	lea    -0x1(%ecx),%eax
458bba:	52                   	push   %edx
458bbb:	53                   	push   %ebx
458bbc:	89 46 28             	mov    %eax,0x28(%esi)
458bbf:	e8 5c 71 fe ff       	call   0x43fd20
458bc4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458bc7:	5b                   	pop    %ebx
458bc8:	80 c1 30             	add    $0x30,%cl
458bcb:	8b d8                	mov    %eax,%ebx
458bcd:	80 f9 39             	cmp    $0x39,%cl
458bd0:	7e 11                	jle    0x458be3
458bd2:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458bd6:	0f 94 c0             	sete   %al
458bd9:	fe c8                	dec    %al
458bdb:	24 e0                	and    $0xe0,%al
458bdd:	04 61                	add    $0x61,%al
458bdf:	2c 3a                	sub    $0x3a,%al
458be1:	02 c8                	add    %al,%cl
458be3:	8b 46 34             	mov    0x34(%esi),%eax
458be6:	88 08                	mov    %cl,(%eax)
458be8:	ff 4e 34             	decl   0x34(%esi)
458beb:	eb b7                	jmp    0x458ba4
458bed:	2b 7e 34             	sub    0x34(%esi),%edi
458bf0:	89 7e 38             	mov    %edi,0x38(%esi)
458bf3:	ff 46 34             	incl   0x34(%esi)
458bf6:	5f                   	pop    %edi
458bf7:	5e                   	pop    %esi
458bf8:	5b                   	pop    %ebx
458bf9:	8b e5                	mov    %ebp,%esp
458bfb:	5d                   	pop    %ebp
458bfc:	c2 10 00             	ret    $0x10
458bff:	8b ff                	mov    %edi,%edi
458c01:	55                   	push   %ebp
458c02:	8b ec                	mov    %esp,%ebp
458c04:	51                   	push   %ecx
458c05:	51                   	push   %ecx
458c06:	53                   	push   %ebx
458c07:	56                   	push   %esi
458c08:	8b f1                	mov    %ecx,%esi
458c0a:	57                   	push   %edi
458c0b:	8d 4e 40             	lea    0x40(%esi),%ecx