Function at 0x8e121c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8e1222
pop ebp
sub ebp, 6
sub ebp, 0x4e121c
jmp 0x8e1280
jmp 0x8e1289
mov eax, 0x4e121c
add eax, ebp
add eax, 0x93
mov ecx, 0x622
mov edx, 0x8a55df55
xor byte [eax], dl
inc eax
dec ecx
jne 0x8e12a0
jmp 0x8e12b3
aas
adc eax, 0x5545553d
push ebp
cmp eax, 0x55799955
aam 0xa5
out 0x4d, al
sub al, 0x9c
aam 0xa5
out 0x4d, al
sub al, 0x9c
xchg bp, ax
add eax, 0x469c0aa
adc dword [ebp + 5], edx
ficomp word [eax + 0x5569dcde]
push ebp
push ebp
aam 0x94
lodsd eax, dword [esi]
push ebp
push ebp
push ebp
push esi
cwde
in eax, dx
push ebx
push ebp
push ebp
push ebp
out dx, eax
jge 0x8e1342
push ebp
push ebp
mov byte [0xde9d56b7], al
aam 0x59
push ebp
push ebp
push ebp
push esi
nop
add eax, 0x5c62cc3d
push ebp
cmp eax, 0x55118fd6
push esp
jns 0x8e137a
cmp eax, 0x55555555
mov ebp, 0x55555550
mov esp, 0x5555557f
add al, bl
cmp dword [ecx + 0x55], esi
invalid
fcompp
jno 0x8e1397
push ebp
push ebp
push ebp
cmp eax, 0x555c62cc
cmp eax, 0x55118fd6
push esp
jns 0x8e13c7
add al, 0xbd
push eax
push ebp
push ebp
push ebp
mov esp, 0x55555760
add al, bl
cmp dword [ecx + 0x55], esi
stosb byte es:[edi], al
and byte [ecx - 0x56], bl
and byte [ebp - 0x43], bl
xor edx, dword [ebp + 0x55]
push ebp
fsubp st(0)
pop ebp
push ebp
push ebp
push ebp
pushf
xchg si, dx
xchg esi, edx
mov ebp, 0xd15a1d50
sbb edx, dword [ebp + 0x55]
push ebp
pop edx
fstp qword [0x33555555]
fimul word [ecx + 0x6c]
aad 0xae
mov ebp, 0x554fd15a
push ebp
push ebp
aad 0xae
mov esp, 0x5544d15a
push ebp
push ebp
xor edx, esp
scasb al, byte es:[edi]
stosb byte es:[edi], al
jo 0x8e1401
rol dword [eax + 0x55], 1
push ebp
push ebp
adc al, 0xbc
cdq
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0x8e13cd
insb byte es:[edi], dx
push esp
salc
xchg esp, eax
push eax
salc
mov ebp, 0xaae8bc51
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0x8e13c4
insb byte es:[edi], dx
push edi
salc
xchg esp, eax
push ebx
salc
mov edi, 0x50bdd651
push eax
mov esp, 0xaaaaaafe
or byte [edi - 0x21ffaaa7], dl
mov ecx, 0xde000203
and byte [ecx - 0x22], bl
sub byte [ebp - 0x57], bl
out 0xd5, eax
fist word [ebx - 0x2c]
xchg ebx, eax
push esp
push ebp
push ebp
push ebp
fst qword [edx - 0x2c]
xchg edx, eax
push esp
push ebp
push ebp
push ebp
out dx, al
push edi
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
lea ebp, [edx - 0x78a85556]
pop edx
rcl byte [eax + 0x55]
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
aas
push ebp
push ebp
push ebp
xchg bp, ax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
jg 0x8e1488
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
pop edx
rcl dword [ebx + 0x55]
push ebp
push ebp
fimul word [edx + 0x56df8d7e]
fst qword [edx + 0x12]
out dx, al
push edi
push ebp
push ebp
push ebp
mov esp, 0xaaaaaa25
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
in eax, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x69815556]
out dx, al
push esp
push ebp
push ebp
push ebp
pop edx
shl byte [ecx + 0x55], 1
push ebp
push ebp
in al, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x21fc5556]
mov byte [0xf1a6a07e], al
or edi, dword [ebp + ebx*2 + 0x1daaaaaa]
xchg esp, eax
mov ch, 0x5d
fist word [ebx + 0x13]
fidivr word [ebp + 0x555554ec]
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x522b5556]
push ebp
sub byte [ebp + 0x55], dl
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
push ebp
push eax
push ebp
push ebp
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
add ebx, esi
mov byte [0xf1a6a57e], al
or edi, dword [esi + ecx*8 - 0x20555555]
push ebx
adc esp, dword [esi - 0x64]
xchg ebp, eax
mov ebp, 0x4fd15a54
push ebp
push ebp
push ebp
aam 0x84
push edi
push ebp
push ebp
push ebp
fidivr word [ebp + 0x7ea2de03]
movsd dword es:[edi], dword [esi]
cmpsb byte [esi], byte es:[edi]
int1
or ebp, esi
push esp
push ebp
push ebp
push ebp
mov esp, 0xaaaaab26
or byte [esi + 0x28], bh
pop ebp
ficom word [edx - 0x4f21f4f6]
or byte [edi + 0xb0a555d], dl
mov esp, 0x55555551
adc dword [ebx], edi
sbb eax, 0x4749ed96
sbb edx, dword [ebp + 0x56]
nop
aam 0x95
invalid