Function at 0x8e124c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8e1252
pop ebp
sub ebp, 6
sub ebp, 0x4e124c
jmp 0x8e12b0
jmp 0x8e12b9
mov eax, 0x4e124c
add eax, ebp
add eax, 0x93
mov ecx, 0x631
mov edx, 0x3f92205f
xor byte [eax], dl
inc eax
dec ecx
jne 0x8e12d0
jmp 0x8e12e3
xor eax, 0x4f5f371f
pop edi
pop edi
aaa
pop edi
xchg ebx, eax
jae 0x8e134e
insb byte es:[edi], dx
lahf
push fs
retf 0xe63
ror byte [edi + 0x5f], cl
pop edi
pop edi
sahf
mov dh, 0x5d
outsb dx, byte [esi]
pop ebp
fcomp qword [ebp - 0x25afe9a5]
stosd dword es:[edi], eax
mov al, byte [0x9d02a0a0]
push ebx
pop edi
aam 0xd3
jnp 0x8e13c5
pop edi
pop edi
pop edi
aaa
packuswb mm2, qword [esi + 0x5f]
aaa
mov dword [0x5e5f1b86], eax
jae 0x8e13f5
push cs
mov bh, 0x5a
pop edi
pop edi
pop edi
mov dh, 0x14
pop ebp
pop edi
pop edi
or dl, ah
mov bl, 0xa0
sub dl, byte [ebx - 0x60]
sub dl, byte [edi - 0x49]
and dword [edi + 0x5f], ebx
pop edi
aam 0xe2
push edi
pop edi
pop edi
pop edi
fisubr word [esi + 0x4d6c0d61]
fisubr word [esi + 0x4d6c0d61]
insb byte es:[edi], dx
xchg esi, eax
fisubr word [ebp + 0x2d9f3b73]
fisubr word [ebp + 0x2d9f3b73]
insb byte es:[edi], dx
invalid
cmp esp, edx
inc ebx
fbld tbyte [edi + esi*4 + 0x5f45db50]
pop edi
pop edi
fbld tbyte [esi + esi*4 + 0x5f4edb50]
pop edi
pop edi
cmp esi, ebx
movsb byte es:[edi], byte [esi]
mov al, byte [0x4adb507a]
pop edi
pop edi
pop edi
push ds
mov dh, 0x93
mov al, byte [0x1376a0a0]
pop si
fcomp qword [esi + 0x5bb7dc5a]
pop ebx
mov dh, 0xe2
mov al, byte [0xb76a0a0]
pop bp
fcomp qword [esi + 0x5bb5dc59]
fdiv qword [edi - 0x5f0b49a6]
mov al, byte [0x539d02a0]
pop edi
or dl, ah
mov bl, 9
or byte [edx], cl
aam 0x2a
push ebx
aam 0x22
push edi
mov dword [0x59d5dfed], eax
ficomp word [ecx + 0x5f5f5f5e]
xlatb
pop eax
ficomp word [eax + 0x5f5f5f5e]
in al, 0x5d
pop edi
pop edi
pop edi
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fadd qword [edi + 0x5da0a0a0]
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fdiv qword [0x6c5f5f5f]
lahf
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fdiv qword [ebp + 0x5e]
pop edi
pop edi
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
lahf
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
lahf
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
lahf
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
lahf
push eax
fistp dword [ecx + 0x5f]
pop edi
pop edi
aam 0x80
je 0x8e143d
aad 0x5c
xlatb
pop eax
sbb ah, ah
pop ebp
pop edi
pop edi
pop edi
mov dh, 0x2f
mov al, byte [0x5ee7a0a0]
pop edi
pop edi
pop edi
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
lahf
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fld qword [ecx + 0x74a0a0a0]
pushfd
in al, 0x5e
pop edi
pop edi
pop edi
push eax
fisubr dword [ebx + 0x5f]
pop edi
pop edi
out 0x5e, al
pop edi
pop edi
pop edi
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
xchg esi, eax
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fld qword [ecx + 0x9a0a0a0]
aam 0xa8
je 0x8e14cf
lodsb al, byte [esi]
sti
add dword [esi - 0x5f5f5fa9], esi
pop ss
sahf
mov edi, 0x1959d557
aam 0xb7
out 0x5e, al
pop edi
pop edi
pop edi
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
dec esp
xchg esi, eax
pop ebp
lea edx, [eax - 0x26]
pop edx
pop edi
pop edi
pop edi
aad 0x49
sbb dword [ebp - 0x73], ecx
push eax
fld qword [ecx - 0x215f5f60]
cmpsd dword [esi], dword es:[edi]
pop edi
and bl, byte [edi + 0x5f]
fiadd word [esi - 0x5f5f5f60]
fisub word [edi + 0x5f5f5a5f]
fiadd word [esi - 0x5f5f5f60]
fisub word [edi + 0x5f5f5fdf]
fimul word [esi + 0x5f5f5f5f]
fisub word [edi + 0x5f5f5fdf]
fimul word [esi + 0x5f5f5f5f]
or esp, edx
test al, 0x74
scasd eax, dword es:[edi]
lodsb al, byte [esi]
sti
add dword [esi - 0x5f5f5e3c], esi
aad 0x59
sbb dword [esi + edx*4 - 0x61], ebp
mov bh, 0x5e
push eax
fild dword [ebp + 0x5f]
pop edi
pop edi
fimul word [esi + 0x5f5f5f5d]
aam 0xb7
or esp, edx
test al, 0x74
scasd eax, dword es:[edi]
lodsb al, byte [esi]
sti
add esp, esp
pop esi
pop edi
pop edi
pop edi
mov dh, 0x2c
mov eax, dword [0x7402a0a0]
and dl, byte [edi - 0x2c]
cwde
add byte [ecx], al
aam 0xba
add bl, byte [ebp + 0x1005f57]
mov dh, 0x5b
pop edi
pop edi
pop edi
cmp dword [edi], ebx
nop
mov fs, edi
adc ecx, dword [ebp + 0x11]
pop edi
pop esp
lcall 0x5f5f, 0x5cea9fde
out 0x50, al
pop esp
pop edi
pop edi
in eax, 0x4b
mov ecx, 0x4f6fc4a7
pop ds
push ss
push eax
fisubr dword [ecx - 0x495f5f60]
pop ebx
pop edi
pop edi
pop edi
dec eax
adc eax, 0x1c1d7a32
sbb al, 0x78
mov eax, eax
lds ebx, [ebx]
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14e0b949]
rol ch, 0x1f
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14eeb949]
adc eax, 0x4b77d5c0
dec ebx
dec ebx
sbb byte [esp + esi*8 + 0x17], al
js 0x8e167c
adc edx, ecx
mov dword [ebx + 0x484b4b4b], esi
popfd
retf 0x4bb0
jmp 0x8e16c9
inc esp
into
inc esi
dec ebx
dec ebx
dec ebx
sub eax, 0xabca4cc0
mov ah, 0x44
dec ebx
dec ebx
dec eax
mov dword [edx + 0x53], ecx
add al, byte [edx]
enter 0x498c, 0xffffffffffffffa2
xor dword [esp + esi*4 + 0x4b4fa2b4], 0x4b
dec ebx
lodsb al, byte [esi]
hlt