Function at 0x543049
Capabilities:
Encode data using xor

Disassembly:
scasd eax, dword es:[edi]
enter 0x2228, 0xffffffffffffffe4
or dword [edi + edx*2], esp
mov byte [0x6813aa40], al
mov byte [ecx + esi + 0x305c4de1], ch
nop
scasb al, byte es:[edi]
insd dword es:[edi], dx
imul ecx, dword [ecx - 0x44], 0x3013bdf5
adc dword [ebx - 5], ebx
rcl dword [edi - 0x41c6c62b], cl
or ebp, ecx
clc
xor byte [0xf96204], dh
push edi
invalid
test al, 0xdb
inc ebp
imul esi, dword [ecx], 0x4e1f3cf8
test dword [eax], edx
out dx, eax
test ebp, esp
jl 0x542ff2
or eax, 0x8ec1985
and edx, dword [edi + ecx*2 - 0x52fea45d]
test dl, dh
push es
jno 0x5430b6
mov esp, 0xd0897dd9
mov dword [eax - 0x1b], eax
std
cmp byte [esi], ch
out dx, eax
pop ebx
inc edx
ljmp 0xf04a
in al, 0xa3
add eax, 0xf4ecb76e
scasb al, byte es:[edi]
jnp 0x54305a
inc eax
clc
sbb eax, 0x2b4affcf
mov dword [0xaf11de38], esi
test eax, 0xc1057a31
add al, 0x83
jnp 0x54305a
and eax, esp
and dword [ebp - 0x4c266ee9], 0x1c
les eax, [ebx - 0x266ee85b]
mov bl, 0x1c
movsb byte es:[edi], byte [esi]
add byte [ecx - 0x42], al
pop ebp
stosb byte es:[edi], al
pushfd
xchg byte [edx + 0x5a], bh
mov ah, 0x18
push eax
nop
mul byte [ecx - 0x4a]
rcl dword [edi + eax*8]
sub al, 0xad
push esp
fldcw word [esi - 0x26]
jo 0x543170
imul ebx, dword [edi + ebx*8 - 0x50], 0xa588f067
pushal
cwde
mov ah, 0x83
invalid
invalid
frstor dword [esi - 0x5c]
cwde
adc al, ch
xor byte [edi + 0x640be11], ah
inc eax
push es
xchg byte [ebx - 0x44fedece], bh
int1
xchg ebx, eax
add byte [edi + 0x74b82b72], dl
push eax
push esi
inc ebp
mov ebx, dword [esi - 0xc]
xchg ebx, eax
jnp 0x5430d7
inc ebp
mov eax, 0x9d93ba74
mov dh, byte [esi + edx*4 - 0x5b]
stosd dword es:[edi], eax
adc edx, edx
xchg ah, cl
xor dl, al
nop
in al, 0x25
lodsb al, byte [esi]
push ecx
mov ecx, eax
jne 0x543195
mov al, byte [0x42c0ad2d]
jns 0x543101
mov al, 0x76
insd dword es:[edi], dx
and eax, 0x50458c80
xchg esp, eax
mov edx, 0x30c41a37
pop es
aaa
sbb al, ah
xor byte [edi], al
cmc
arpl word [eax], sp
pop ds
push esi
out 0x81, eax
je 0x543168
loope 0x543119
loope 0x543119
push edx
bound esp, qword [eax + eax*2 - 0x76]
daa
loopne 0x543123
push eax
xlatb
dec ebp
mov bl, 0x10
mov ah, byte [eax]
xchg edx, eax
les eax, [edi]
jl 0x543175
movsb byte es:[edi], byte [esi]
add ebp, dword [esi]
retf 0xec10
insd dword es:[di], dx
js 0x5431fe
jno 0x5431be
sub ah, 0x7a
xor byte [eax + 0x57], 0x51
lea esp, [ecx + 0x64a64397]
mov ah, 0x9b
imul ecx, dword [edx - 0x1d], 0xd5c5e7ce
adc ch, byte [ebp + ebx*2 - 0x1fd2bd4c]
sbb eax, 0x103f6410
jbe 0x5431ba
aas
adc byte [esi - 5], dh
sti
sub ebx, dword [eax + 0x50]
add byte [esi - 6], 0x70
loopne 0x543219
pop es
xchg byte [eax - 0x7d0835d9], dh
jmp 0xfe59f89f
invalid
test al, 0x30
stosb byte es:[edi], al
dec ebx
add dword [edx], 0x1ab883d
pop ebp
rcr dword [edx + esi*4], 1
loope 0x543241
push esi
mul byte [edx + 0x74c10bc4]
int1
mov cl, 0xc4
jne 0x543293
jns 0x54322c
adc dword [esi - 0x509db9f0], eax
mov bh, 0x64
inc edx
inc eax
xchg byte [eax], dl
inc esi
bound ebp, qword [edi + 0x404264b7]
add bl, byte [ebx - 0x7a047e61]
inc eax
adc ebx, edi
sti
and al, 0xb6
in al, dx
push edi
fiadd word [0x2504bdb5]
push es
inc ecx
cli
add byte [ebx], 0x17
xchg byte [esi + 0x55a3f1f1], al
rep movsd dword es:[edi], dword [esi]
ja 0x5431f5
mov dword [0x77a5f355], eax
scasb al, byte es:[edi]
test al, 0x52
and bh, byte [edx]
inc esi
aaa
cmp al, 0x94
fdiv st(3)
mov bl, 0xd4
xchg ecx, eax
xor dword [esi + edx*8 + 0x614ca490], esi
loopne 0x5432a4
dec esi
jg 0x54325f
std
adc bh, ah
neg dword [edx]
lahf
lea ebp, [edi]
xchg ecx, eax
invalid
les esi, [eax + 8]
retf
inc ebp
and ebx, edi
cmp eax, 0x12c61289
not byte [eax + edx - 0x4b]
test eax, 0x10e7b687
sti
ror cl, 0x90
sub dword [eax + 0x72c03746], eax
rcr dword [0xf4947acf], cl
mov ebx, 0xe0741b64
nop
sbb dl, byte [ebx - 0x46]
aas
pushal
pop es
inc eax
xlatb
sub bl, bl
add byte [0xca896fb5], 0xc5
xchg edi, eax
mov byte [0x7b864894], al
aam 0x73
rcl dword [eax + 0x204022a0]
cli
pop eax
int3