Function at 0x408ec8
Capabilities:
Encode data using xor

Disassembly:
sub ax, 0xf92a
sub byte [edi - 0x16], dl
jne 0x408ed9
mov esp, 0x7838c1d2
mov ecx, 0x53b2b8bc
js 0x408e83
mov esp, 0x1653b2b8
push ebx
push ss
xor ah, 0xb1
add eax, 0xc22731e2
pop esp
stosb byte es:[edi], al
xor esp, dword [ebx - 0x13f47882]
cmp ebp, dword [edi]
jge 0x408ecd
jecxz 0x408ef3
sbb dword [ecx - 0x764561a2], ebp
rcr dword [eax - 0x21], cl
jl 0x408e9c
mov edx, 0x6ca4644f
movsb byte es:[edi], byte fs:[esi]
insb byte es:[edi], dx
xchg ebx, eax
sbb al, 0x7d
scasd eax, dword es:[edi]
mov esi, dword [eax]
xchg ebx, eax
xchg ebx, eax
fcmovnb st(0), st(3)
insb byte es:[edi], dx
test dword [edx], esi
pop ss
sbb edx, dword [ecx - 0x37e7b011]
mov eax, 0x9605ab1b
aas
pop edi
mov ebx, 0x19c5b0a4
test eax, 0x29e7ad4a
int 0x84
mov esp, 0x6faa35c9
and al, 0x4f
push edi
or al, byte [edi]
pop ebx
out dx, al
and byte [edx + ecx*8], al
pop ebx
pop ebp
jbe 0x408ebf
and bh, ch
stosb byte es:[edi], al
push ss
into
cdq
leave
cmp bl, byte [edi - 0x3ebad24d]
jl 0x408ece
in al, 0x2a
inc ebx
insb byte es:[edi], dx
je 0x408f72
pop ebx
xor eax, 0xee6b45bb
fst dword [ecx - 0x53]
jns 0x408efe
mov dh, 0x59
mov dword [edi - 0x74], ecx
rcl bh, 0x2d
cli
cmp bl, dh
xchg edi, eax
adc cl, byte [ebx - 0x41]
jb 0x408fad
add esi, dword [eax]
sub dl, cl
movsd dword es:[edi], dword [esi]
stc
cld
popfd
ret
retf 0xf9a5
popal
mov dh, 0x21
cmp dword [ebx + 0x79], 0xdd737c7e
inc eax
dec edi
jae 0x408f65
mov al, 0x4b
salc
jmp 0x408fd4
fild dword [ebx]
mov eax, fs
mov eax, 0x83c2b2e
cmp al, 8
sbb al, 0x35
xor dword [ecx - 0x49f56a6f], 0x7274c512
scasd eax, dword es:[edi]
cmp dword [edi], edx
sahf
call 0xf19ee8e6
imul eax, dword [ebp - 0x22ecc9b7], 0x683d3b51
jns 0x408fe2
push 0xd70a792e
xlatb
mov byte [0x6532b2a2], al
iretd
cmp al, 0x7f
inc eax
push 0xffffffffffffff9b
cmpsb byte [esi], byte es:[edi]
push ecx
jnp 0x40904f
and byte [ebx - 0x3a], ch
into
daa
sub ch, byte [esi - 0x10]
mov edx, dr2
sahf
into
xor dword [edx - 0x41], 0x52527209
pushal
mov dh, 0x79
rcl byte [ebp + 0x5f]
fimul word [edx]
mov bh, 0x72
mov esp, 0xec2a3809
mov al, 0x59
mov al, 0x59
jno 0x40908b
push 0x6141ee38
pop ds
shr dword [ebx + 0x5fd527a9], 0x30
cmp dl, byte [edx + 0x420ba22c]
jp 0x408fb4
cwde
pushfd
and dword [ebp + 0x2e2485c7], 0x26
lodsb al, byte [esi]
push es
push ecx
or byte [ebp - 0xb], al
mov dword [0x2d0b7717], eax
sub esi, dword [esi + ebx*8 + 0x69]
or ebp, dword [0x69de742b]
mov bl, 0x75
and al, 0x33
dec ebp
cld
xchg esi, eax
push eax
lodsd eax, dword [esi]
loope 0x409061
aaa
movsd dword es:[edi], dword [esi]
dec dword [bx + di]
call [eax + 3]
and ah, ah
mov edi, 0x60d8c01c
daa
or edi, edi
pop eax
add esp, dword [eax]
in al, 0xbf
sbb al, 0xc0
fsub dword [eax + 0x27]
push 0x2d10dd9a
adc byte [edx + 0x26], bh
or dword [eax + esi*2 + 0x40f7ed9b], ecx
jl 0x4090c5
or dword es:[eax + esi*2 + 0x40f7ed9b], ecx
invalid
fisttp word [edx + 0x3b6fe0ef]
push ebp
test eax, 0x772749c8
into
call 0x7f9e954b
jbe 0x4090e1
mov ecx, eax
jecxz 0x40900f
jbe 0x40903a
mov al, 0x84
invalid
pop ds
xacquire xchg dword [esi + esi*8], edx
scasb al, byte es:[edi]
sbb bh, bh
mov edi, dword [edi + ebp + 0x1157d10f]
mov bl, 0x53
xlatb
jecxz 0x409065
add al, byte [ebx - 0x992758c]
and bl, dl
fidiv word [eax + 0x1c471fb2]
movsd dword es:[edi], dword [esi]
inc edi
sbb al, 0xa5
xchg byte [edx - 0x6c90a718], cl
inc eax
mov edx, dword [ecx + edi]
retf 0xaca