Function at 0x5f2155
Capabilities:
Encode data using xor

Disassembly:
out 0xed, eax
cmp byte [eax - 0x41], 0x6e
mov edi, 0xb6f3656e
jo 0x5f21c5
mov dh, 0x70
and al, 0x3a
and al, 0x3a
push ds
and al, 0x3a
insb byte es:[edi], dx
add edi, dword [edx]
dec bx
inc ecx
add esp, dword [ecx - 0x58]
in eax, dx
js 0x5f217a
jp 0x5f21f0
jnp 0x5f2159
cmp dword [esi + 0x65], esp
dec ebx
dec bx
inc ecx
loope 0x5f21cd
invalid
cmp ch, byte [ebx - 0x11]
sub al, 0x3a
loope 0x5f2225
cmp ah, cl
pop ecx
invalid
cmp dword [ebx - 0x11], ebp
cld
shl dword [esi - 0x15], cl
and al, 0x41
inc ecx
add ebx, dword [ebp + 0x678eda8]
jo 0x5f21d5
push 0xb
mov bh, 0x36
nop
insd dword es:[edi], dx
push edi
ret
cld
inc eax
add edi, dword [ebp + 0x678eda8]
scasb al, byte es:[edi]
jl 0x5f2269
dec ecx
mov bl, 0x51
push es
jo 0x5f21c9
outsb dx, byte [esi]
in eax, 0x62
cmp bh, byte [ebx - 0x1f]
push es
cmp ah, byte [esi + 0x65]
movsb byte es:[edi], byte [esi]
add byte [ebx + 0x66357956], bl
and al, 0x78
xor eax, 0x78246566
je 0x5f2211
cmp dl, byte [ebx + 0x51]
and al, 0x3a
lds ecx, [edi + esi*4]
nop
insd dword es:[edi], dx
push edi
in eax, 0x69
push ebp
aaa
jno 0x5f21e5
inc esi
pop esp
and al, 0x3a
in eax, dx
mov al, byte [0xeaf1b02a]
and dword [edx], edi
imul ecx, ebx, 0x39
inc esp
ret
jp 0x5f22e6
loope 0x5f22d3
cmp ah, byte [esi + 0x65]
and ecx, eax
insb byte es:[edi], dx
jns 0x5f22af
imul esp, dword [ebp + 0x24], 0xffffffc8
pushal
insb byte es:[edi], dx
mov eax, dword [0x4c656b39]
dec esp
inc ecx
loope 0x5f22df
and al, 0xc8
mov word gs:[ebx], gs
loop 0x5f2216
push es
loope 0x5f2280
and eax, 0x6573b5f4
and al, 0x3a
xchg ebp, eax
and eax, 0x6566380e
and al, 0x82
and al, 0x3a
sub eax, 0xc139f124
int3
enter 0xffffffffffffca79, 0x69
and al, 0xb4
mov cl, 0x5a
dec esp
sal al, cl
arpl word [edx + edi], sp
imul ebp, edi, 0x1f
cmp al, cl
dec ebp
inc ebx
mov bh, 0x26
push edi
js 0x5f22fa
retf 0x6569
and al, 0x41
loope 0x5f2325
and ecx, eax
jp 0x5f233a
stosb byte es:[edi], al
stosb byte es:[edi], al
cmp eax, 0x3a238e4e
imul ecx, dword [ebx], 0xffffffb7
sub ah, byte [esi - 0x70]
nop
insd dword es:[edi], dx
push edi
out 0x69, eax
stc
fldln2
in eax, dx
pop ebx
jo 0x5f22b1
invalid
outsb dx, byte [esi]
in eax, 0x62
cmp bh, byte [ebx - 0x1f]
cli
cmp dword [esi + 0x65], esp
cmp dl, byte [ebx + 0x55]
and al, 0x3a
out 0x97, al
inc eax
xor edx, esi
mov ebp, 0xe5663a24
bound edx, qword [ecx]
jnp 0x5f22e9
cmp dword [esi + 0x65], esp
pop edi
invalid
add byte [ebx + 0x663b7956], bl
and al, 0xf8
out dx, eax
fdiv st(0)
mov ecx, 0xb5f365ab
je 0x5f239d
and al, 0x3a
mov bl, 0x6c
insb byte es:[edi], dx
cmp ch, byte es:[ebx + 0x65]
jne 0x5f233b
retf 0x7856
mov bh, 0x32
nop
xor ah, byte [esi - 0x70]
insd dword es:[edi], dx
push edi
in eax, 0x69
dec ebp
aaa
inc sp
jns 0x5f239c
jns 0x5f23cc
cmp ch, byte [ebx + 0x64]
and al, 0x3a
push cs
jp 0x5f2410
pushal
and al, 0x3b
and al, 0xb5
loope 0x5f240d
jno 0x5f2441
pop edx
pop edx
and al, 0x3a
out 0x97, al
and al, 0x31
les esp, [edx + edi]
and al, 0x3a
sub word [ecx - 0x25], sp
jnp 0x5f23b7
invalid
cmp ch, byte [edx + 0x72b8f3db]
and al, 0x3a
mov eax, 0x3a246572
lcall 0xc518, 0xe7faf904
inc esp
imul esp, dword [ebp - 8], 0x30
int1
les esp, [edx + edi]
cwd
inc eax
xor ecx, esi
mov esp, 0xe5663a24
mov byte [0x7956ca40], al
sub dword [esi + 0x65], esp
and al, 0xba
in al, dx
pop eax
pop edi
xor ecx, esi
pushal
and al, 0x3a
insb byte es:[edi], dx
cmp ah, byte [esi + 0x6c]
idiv byte [ecx]
into
cmp ecx, esi
test dword [edi], ebx
cmp ch, byte [ebx + 0x6b]
int 0x39
imul esp, dword [ebp + 0x65], 0x7a
adc bl, cl
jns 0x5f24b8
pushal
and al, 0xfe
int1
test dword [edi], ebx
cmp ch, byte [ebx + 0x55]
ja 0x5f2493
and al, 0xb3
int1
insd dword es:[edi], dx
pop ds
cmp ch, byte [ebx + 0x6b]
int1
cmp dword [esi + 0x65], esp
outsd dx, dword [esi]
outsw dx, word gs:[esi]
mov bh, 0x46
pop esp
and al, 0x3a
in eax, dx
loopne 0x5f2499
inc ebp
imul esp, dword [ebp - 0x44], 0xffffffb7
push edx
pop esp
and al, 0x3a
and al, 0x3a
out dx, eax
rcr byte [eax*2 - 0x788d9a95], 1
pop edx
pop edx
and al, 0x3a
stc
sbb byte [ebx + 0x5e656b3f], ch
cmpsd dword [esi], dword es:[edi]
aas
imul esp, dword [ebp + 0x5e], 0xffffffa7
push edx
pop esp
and al, 0x3a
jnp 0x5f2472
cmp ah, byte [bp + 0x65]
outsb dx, byte [esi]
cmp dh, ah
cmpsb byte [esi], byte es:[edi]
dec esi
xor ecx, esi
pushal
and al, 0x3a
insb byte es:[edi], dx
insd dword es:[edi], dx
cmp ah, byte [esi + 0x65]
movsb byte es:[edi], byte [esi]
stc
stosd dword es:[edi], eax
push esi
js 0x5f24ed
and al, 4
jae 0x5f251a
js 0x5f24fd
and al, 0x53
mov byte [esp + 0x3a], ah
mov ah, 0x8e
and edi, dword [eax + 0x3a245c52]
dec ebp
and eax, 0xc96b3a24
jns 0x5f253c
pushal
and al, 0xfe
int1
test dword [edi], ebx
cmp ch, byte [ebx + 0x55]
jp 0x5f2521
and al, 0x53
push ebx
insb byte es:[edi], dx
and al, 0x3a
lahf
loopne 0x5f24b9
inc esp
imul esp, dword [ebp - 0xc], 0xffffffbc
xchg edi, eax
and al, 0x3a
out dx, eax
cmp ch, bh
rol ah, 1
inc esp
imul esp, dword [ebp + 0x50], 0xffffffa7
dec edx
pop esp
and al, 0x3a
mov al, 0xe0
invalid
movsb byte es:[edi], byte gs:[esi]
stc
nop
push esi
js 0x5f2559
aaa
and al, 0x53
and al, 0x53
xor al, 0x66
and al, 0x3a
mov bl, 0x8b
or eax, 0x24656b65
jb 0x5f2524
jge 0x5f2554
cmp ch, byte [ebx + 0x63]
and al, 0x3a
insb byte es:[edi], dx
fistp qword [edx]
movsb byte es:[edi], byte gs:[esi]
add byte [esi + 0x56], ah
js 0x5f2565
and al, 0xba
lodsb al, byte [esi]
stc
mov ch, 0x6d
and al, 0x3a
out 0x97, al
push ebx
xor ecx, esi
pushal
and al, 0x3a
insb byte es:[edi], dx
cmp ah, byte [esi + 0x6c]
test dword [edx], edi
cmp dl, byte gs:[ebx + 0x40]
and al, 0x3a
out 0xa6, al
cmp ah, dh
cmpsb byte [esi], byte es:[edi]
push edx
xor edx, esi
push esi
and al, 0x3a
in ax, 0x63
cmp bh, byte [ebx - 0x1f]
cli
cmp dword [esi + 0x65], esp
cmp edx, dword [ebx + 0x4e]
and al, 0x3a
out 0xa6, al
push edx
xor ecx, esi
add dword [0xa3e5663a], esp
cmp edx, dword [eax + 0x66e47856]
and al, 0xaf
and dword [edx + 0x1f], ebp
cmp ch, byte [ebx - 0x35]
adc al, 0xbb
lodsb al, byte [esi]
mov ch, 0x74
and al, 0x3a
mov ah, 0x6c
cmp ch, byte es:[ebx + 0x65]
jne 0x5f25aa
pushfd
push esi
js 0x5f25de
and al, 3
xor al, 0x57
jp 0x5f25ee
and al, 0xf0
dec ebp
insd dword es:[edi], dx
and al, 0x3a
imul esp, esp, 0x62
adc byte [ebx - 0x1f], bh
stc
cmp dword [esi + 0x65], esp
or eax, 0x24656616
mov edx, 0xb5f365ab
and dword [ebp + 0x24], 0x2497e63a
xor edx, esi
dec ecx
and al, 0x3a
aas
hlt
imul esp, dword [ebp - 0x44], 0xffffffb7
pop esp
and al, 0x3a
and al, 0x3a
invalid