Function at 0x805f54
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805f5a
pop ebp
sub ebp, 6
sub ebp, 0x405f54
jmp 0x805fb8
mov esi, 0x22de486e
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
sbb byte [ebx + 0x76], dh
lodsd eax, dword [esi]
add ah, byte [ebx + 0x7e8877e2]
invalid
jmp 0x805fc1
mov eax, 0x405f54
add eax, ebp
add eax, 0x93
mov ecx, 0x630
mov edx, 0x9772a976
xor byte [eax], dl
inc eax
dec ecx
jne 0x805fd8
invalid
jmp 0x805feb
add byte [ebx], cl
push ebp
pop es
mov eax, dword [0x761e361c]
sbb al, 0x36
push ds
jbe 0x806056
jbe 0x806068
jbe 0x806068
push ds
jbe 0x805faf
pop edx
jbe 0x805fef
xchg ch, ch
jecxz 0x805fe1
retf 0x86f7
jbe 0x806097
jbe 0x805fef
pop esi
jbe 0x80609c
jbe 0x805fa9
xchg esp, eax
jne 0x805fe9
std
idiv dword [edx + 0x76]
jbe 0x8060a7
jne 0x805fe6
push ds
rol dword [ecx + 0x7f], cl
jbe 0x806058
fist dword [ecx + 0x41]
jbe 0x8060b6
pop edx
push edx
push ds
jbe 0x8060ba
jbe 0x8060bc
sahf
jae 0x8060bf
jbe 0x8060c1
lahf
pop esp
jbe 0x8060c5
jbe 0x806074
sti
sbb dl, byte [edx + 0x76]
std
jle 0x8060cf
jbe 0x8060d0
jbe 0x8060d1
jbe 0x806059
std
jecxz 0x8060d8
jbe 0x8060d6
jbe 0x8060d7
jbe 0x80605f
std
sti
jbe 0x8060dc
jbe 0x8060dd
jbe 0x80601f
mov bh, 0x9f
lahf
je 0x8060b2
je 0x806062
mov ah, 0x72
aas
jns 0x806065
or byte [ecx - 0x4bd47677], 0x7a
jbe 0x806078
mov dword [ecx + 0x767ab42b], ecx
jp 0x8060f0
std
cli
push edx
jb 0x8060f5
jbe 0x8060f7
push ds
rol dword [ecx + 0x7f], cl
jbe 0x8060a5
fist dword [ecx + 0x41]
jbe 0x806103
pop edx
push edx
daa
sahf
jae 0x806108
jbe 0x80610a
lahf
aaa
je 0x80610e
jbe 0x80610f
jbe 0x8060bd
and edi, ebx
sti
sbb dl, byte [edx + 0x76]
mov dword [ebx], eax
push edx
jbe 0x806028
add edi, dword [edx - 0x77]
jp 0x80602b
add edi, dword [esi - 0x62]
add al, 0x76
jbe 0x80611f
std
retf
test byte [ecx - 0x8aae842], bl
test byte [ecx + 0x455517be], bl
push ebp
test dword [ecx + ebx*4 + 0x455517be], 0x739ef5a4
jns 0x8060b7
mov esi, 0xa4455517
push ebp
inc ebp
movsb byte es:[edi], byte [esi]
cmc
sahf
jae 0x806101
jns 0x8060b7
cmp byte [esi + 0x76], dh
jbe 0x806143
invalid
adc ch, bh
std
push 0x4f
test byte [ebp + 0x6cf2799e], 0x76
jbe 0x806152
jns 0x8060ca
repne insb byte es:[edi], dx
insb byte es:[edi], dx
jbe 0x806151
jbe 0x8060d3
test byte [ebp + 0x67f2799f], 0x76
lea ebx, [edi + 0x7667f279]
jbe 0x80615b
adc bh, dh
lea ecx, [ecx + 0x63f27953]
jbe 0x806165
jbe 0x806128
aaa
lahf
mov edx, 0x5f898989
mov dword [edi + 0x3a], ebx
cmp cl, byte [edi + 0x77]
cmc
dec edi
ja 0x8060f0
mov bh, 0x73
cmc
sahf
jb 0x8060a0
retf
mov dword [ecx + 0x744f225f], ecx
pop edi
and cl, byte [edi + 0x74]
je 0x8060ff
cmc
mov bh, 0x70
cmc
pushfd
jb 0x806105
cmc
sahf
jae 0x8060b2
fisttp qword [ecx - 0x4bd47677]
jp 0x806191
and edi, ebp
lcall 0x7a03, 0xfd232120
std
and dword [ebx], esp
std
and edi, ebp
add edi, dword [edx - 3]
or edi, dword [esi - 0x76]
invalid
div dword [eax + 0x76767677]
invalid
jbe 0x8061a7
jbe 0x806131
jno 0x80612c
mov cl, 0x77
jbe 0x8061af
ja 0x8061ae
jbe 0x8061b0
jbe 0x806108
int 0x74
jbe 0x8061b4
je 0x8061b3
jbe 0x8061b5
jbe 0x8061b4
je 0x8060e5
movsb byte es:[edi], byte [esi]
jns 0x806136
jae 0x8061bb
jbe 0x8061bd
cld
pushal
xor byte [esp + 0x79], ah
cmc
scasb al, byte es:[edi]
mov dword [ecx + 0x79a47489], ecx
mov dword [esp + 0x79], esi
je 0x8060f8
jns 0x806149
jae 0x8061ce
jae 0x8061ce
jbe 0x8061d0
cld
pushal
xor byte [esp + 0x79], ah
cmc
movsb byte es:[edi], byte [esi]
jns 0x806156
sbb al, 0x76
jbe 0x8061db
inc ebp
mov dh, 0x74
movsb byte es:[edi], byte [esi]
jns 0x80615e
jae 0x8061e3
jae 0x8061e3
jbe 0x8061e5
cld
pushal
xor byte [esp + 0x79], ah
cmc
pop esp
ja 0x8061ef
jbe 0x8061ef
je 0x806120
movsb byte es:[edi], byte [esi]
jns 0x806171
jae 0x8061f6
jbe 0x8061f8
cld
pushal
xor byte [esp + 0x65], ah
mov dh, 0x74
movsb byte es:[edi], byte [esi]
je 0x80612f
jns 0x806180
jae 0x806205
jbe 0x806207
cld
pushal
xor byte [esp + 0x65], ah
mov dh, 0x74
movsb byte es:[edi], byte [esi]
jns 0x80618f
jae 0x806214
jbe 0x806216
cld
pushal
xor byte [esp + 0x65], ah
mov dh, 0x74
movsb byte es:[edi], byte [esi]
je 0x80614d
jns 0x80619e
jae 0x806223
jbe 0x806224
jbe 0x806225
jbe 0x8061ac
cld
pushal
xor byte [esp + 0x65], ah
movsb byte es:[edi], byte [esi]
mov dh, 0x79
mov dh, 0x79
bnd jo 0x806230
jbe 0x806232
jbe 0x8061ba
std
test eax, 0x75fcae5d
invalid
pop ebp
scasb al, byte es:[edi]
cld
jne 0x8061c1
jno 0x8061f6
int 0x74
jbe 0x80623f
jbe 0x80616a
push es
mov dword [ecx + 0x7677ce89], ecx
mov esi, ecx
ja 0x806248
jbe 0x80624a
jbe 0x806249
je 0x80617a
movsb byte es:[edi], byte [esi]
jns 0x8061cb
jae 0x806250
jbe 0x806251
jbe 0x806252
jbe 0x8061d9
cld
pushal
xor byte [esp + 0x65], ah
mov dh, 0x74
movsb byte es:[edi], byte [esi]
je 0x806189
jns 0x8061da
jae 0x80625f
jae 0x80625f
jbe 0x806261
cld
pushal
xor byte [esp + 0x79], ah
hlt
movsb byte es:[edi], byte [esi]
jns 0x8061e6
test al, 0x89
mov dword [ecx + 0x77cdb55d], ecx
pop ebp
mov ch, 0xcd
ja 0x806271
int 0x77
jbe 0x806272
jbe 0x806273
jbe 0x806277
jns 0x8061f2
inc edx
inc edx
jbe 0x806278
jbe 0x8061d3
ja 0x80627c
jbe 0x80627d
jbe 0x80627e
jbe 0x80627d
je 0x8061ae
movsb byte es:[edi], byte [esi]
jns 0x8061ff
jae 0x806284
jbe 0x806286
cld
pushal
xor byte [esp + 0x65], ah
movsb byte es:[edi], byte [esi]
mov edi, 0xf379a474
mov edi, 0xf379a474
jae 0x806293
jae 0x806293
jbe 0x806295
cld
pushal
xor byte [esp + 0x79], ah
movsb byte es:[edi], byte [esi]
jns 0x80621a
hlt
test al, 0x89
mov dword [ecx + 0x5d81fd20], ecx
add dword [ebp + 0x7e9f28d2], 0xffffff89
shr byte [eax], cl
lahf
jle 0x8061be
mov dword [ecx + 0x7e96b73e], ecx
cld
jo 0x80626e
std
sahf
iretd
jae 0x8062c1
jae 0x8062c1
jbe 0x8062c2
jbe 0x8062c3
jbe 0x80624a
cld
pushal
xor byte [esp + 0x65], ah
mov edi, 0xf379a474
movsb byte es:[edi], byte fs:[esi]
movsb byte es:[edi], byte [esi]
mov edi, 0xf379a474
jae 0x8062d0
jae 0x8062d0
jbe 0x8062d2
cld
pushal
xor byte [esp + 0x79], ah
hlt
movsb byte es:[edi], byte fs:[esi]
jns 0x806257
test al, 0x89
mov dword [ecx + 0xb768ef7], ecx
jbe 0x8062e3
test dword [esi + 0x76760b76], 0x8989aff7
imul dword [edi - 0x76767677]
scasd eax, dword es:[edi]
mov dword [ecx - 0x71087677], ecx
jbe 0x8062ea
mov dword [ecx + 0x73768ef7], ecx
mov edi, esi
invalid
test dword [esi + 0x76767376], 0x8989aff7
jbe 0x8062ef
jbe 0x806271
imul dword [edi - 0x76767677]
test dword [esi + 0x767676f6], 0x7676a7f7
scasd eax, dword es:[edi]
mov dword [ecx - 0x71087677], ecx
div byte [esi + 0x76]
mov dword [ecx - 0x9710877], ecx
jbe 0x8062fa
mov dword [ecx + 0x76f68ef7], ecx
jbe 0x8062fb
mov edi, esi
invalid
jbe 0x80627d
mul dword [edi + 0x76767676]
cmpsd dword [esi], dword es:[edi]
jbe 0x8062ff
jbe 0x806301
test dword [esi + 0x767676f6], 0x7676a7f7
jbe 0x80630b
jbe 0x80630d
and ch, bh
sbb dword [ebp - 0x7a], 0x9f28d285
lahf
in eax, dx
mov byte [ecx + 0x3070fc89], cl
inc ebp
mov edi, 0x79779eb6
sahf
ja 0x806326
repne insb byte es:[edi], dx
jbe 0x806327
jbe 0x8062aa
cmpsd dword [esi], dword es:[edi]
je 0x80632c
jbe 0x80632e
std
sahf
and ch, bh
sbb dword [ebp - 0x7a], 0xcd28d285
sub ch, cl
int 0x77
jbe 0x80633c
ja 0x80633b
jbe 0x80633d
jbe 0x806267
lahf
add eax, 0x2b898988
pop ebp
or edi, dword [esi - 3]
std
mov cl, 0x29
sub dword [eax], ebp
std
sub ch, bh
xchg ebx, eax
sub esi, dword [esi + edi*2 - 0x60d7d68a]
jb 0x806355
jbe 0x806357
ja 0x8062d3
jl 0x80635a
into
and ch, byte [ecx]
jbe 0x806360
jne 0x80629f
mov bl, 0xf7
mov dh, 0xc1
div dword [esi + 0x767675c1]
iretd
jne 0x806367
jbe 0x8062c2
jp 0x80636a
jbe 0x80636d
int3
mov edi, 0x36664609
or dword [esi + 0x66], eax
aas
aas
jns 0x8062f5
or byte [ecx + 0x729f8989], 0x76
or byte [ecx + 0x729f8989], 0x76
jbe 0x806381
dec ebx
out 0x1c, eax
std
sbb al, 0xfd
pop ss
push ss
push ss
jb 0x806295
retf 0x11cf
sub byte [eax + 0x1ee4b343], 0x1f
test al, 0x43
mov bl, 0xe4
push ds
pop ds
retf 0x7ddf
fistp qword [ebp + 0x41]
inc ecx
inc ecx
adc cl, byte [esi - 2]
sbb eax, 0xc01b4772
cmp dword [ecx + 0x42414141], 0xffffff97
mov ecx, 0x42414141
inc ecx
inc ecx
inc ecx
inc edx
xchg edi, eax
sar byte [edx + 0x41414141], 0x4e
lds ebx, [edx + 0x41]
inc ecx
inc ecx
pop ss
push ss
retf 0x510b
dec ebp
inc edx
xor edx, dword [ebp - 0x4d]
in eax, 0x1e
pop ds
rol byte [ebx + 0x41414169], 0xa
test al, 0x98
mov esi, 0x4129bebe
inc ecx
inc ecx
inc ecx
or ch, byte [eax - 0x41414168]
sub dword [ecx + 1], eax
mov esi, 0x14129be
inc ecx
add dword [ecx + 0x41], eax
inc ecx
inc ecx
sub dword [ecx - 0x73], eax
insd dword es:[edi], dx
inc ecx
pop ss
mov esi, 0x779045d4
inc ecx
invalid
invalid