Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
add byte [edx - 0x4e63f645], dh
mov edx, dword [ebp - 0x7dbaf8dd]
imul edx, dword [ecx - 0x4e837d24], 0xffffff9f
xchg ebp, eax
xchg dword [eax], edi
inc ebp
cmp byte [ebx], 0x5a
mov edx, 0x90b2827d
and bh, byte [ebp + 0x51]
imul edi, dword [edi + ebp*2 - 0x16], 0x525ac224
inc eax
inc esp
movsb byte es:[edi], byte [esi]
inc ebp
clc
inc ebx
mov edi, 0x45057795
or byte [edx - 0x68], 0xb6
ret 0x525a
jge 0x414a97
salc
rcr dword [edi - 0x45], cl
xchg byte [edx + 0x5b833ceb], cl
shr byte [ebp + 0x17ba1841], cl
jne 0x414a84
sar byte [eax - 0x6a155a83], 0x27
daa
pushfd
inc esp
cmp byte [edx], 0x5a
pop edx
aas
and eax, 0xffffffbe
popfd
rcr dword [edx + 2], 0x4d
jecxz 0x414b05
mov edx, 0x45a5d395
sub byte [ebx + 1], 0x45
cmp byte [edx - 0x56], 0x1d
ret 0x525a
pop edx
mov edx, 0xba5a837d
jge 0x414a90
mov edx, 0xba5a837d
jge 0x414b8d
pop edx
mov edx, 0x45a57c7d
movsd dword es:[edi], dword [esi]
inc ebp
add byte [ebx + 0x7c7dba5a], 0xa5
inc ebp
add byte [ebx - 0x7c8245a6], 0x5a
mov edx, 0xba5a837d
jge 0x414aac
pop edx
cmp dword [ecx + 0x59be9d87], edx
outsd dx, dword [esi]
clc
jge 0x414abf
mov eax, dword [0x2a8315f5]
sti
jge 0x414b0a
sbb eax, 0x6001a502
cmp al, 0xc6
dec esp
or ebx, edx
cmp byte [edx - 0x7c3b035b], ch
dec edx
cli
jge 0x414b53
stosb byte es:[edi], al
movsd dword es:[edi], dword [esi]
cld
les eax, [ebx + 0x27dfa4a]
popfd
mov ebx, 0x3b5a837d
xchg ebx, eax
push 0x2c
mov dl, 0x9f
jge 0x414ad8
pop edx
cmp edx, dword [ebx - 0x604dd396]
add dh, byte [ebx + edi*4 + 0x5a837d]
pop ebp
enter 0xffffffffffffba1b, 0xfffffffffffffffc
insb byte es:[edi], dx
clc
jbe 0x414bb5
cmpsd dword [esi], dword es:[edi]
pop ebx
inc ebp
xchg ebp, eax
test al, 0x5a
mov edx, 0xd770387d
cmpsb byte [esi], byte es:[edi]
inc esi
add edx, dword [ebx - 0x61b1f775]
inc byte [edi + 0x5e]
inc edi
pop esi
cmp edi, dword [edx + 0x3d8d6a03]
imul ecx, dword [eax - 0x46], 0x7d
sbb dword [ebx + 0x44], 0x74
je 0x414bed
pop ebx
inc esp
je 0x414c05
pop ebx
inc ebp
mov ah, 0xc8
jae 0x414bfc
mov edi, 0x8b935a8f
mov ch, byte [ebp - 0x1b7db30f]
inc ebp
outsb dx, byte [esi]
pop ecx
cdq
cmp edi, dword [edi + eax*4 - 0x5d8245a6]
mov eax, dword [0xb50226ed]
pop ebx
hlt
and al, 0x83
lodsb al, byte [esi]
idiv byte [edi + 0x5a82923b]
mov edx, 0xbb99027d
jge 0x414b48
sbb dword [edx + 0x79], 0xfffffffc
pop edx
jns 0x414bc4
inc esp
inc esp
and ebp, edi
je 0x414bb2
int3
pop edx
mov edx, 0xba5a837d
jge 0x414b78
pop edx
mov edx, 0xba5a837d
jge 0x414b80
sbb dword [edx - 0x46], 0x7d
sbb byte [ecx + 0x4e], al
pop edx
mov edx, 0x4e41187d
push ebp
sbb byte [ecx + 0x4e], al
inc ecx
dec esi
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
dec esi
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx + 0x4e], al
push ebp
sbb byte [ecx], bh
and eax, 0x253f83f8
mov byte [ecx], dh
sub al, 0x2e
cmp ebp, dword [esi + esi*4 - 0x57]
test cl, bl
out dx, eax
xlatb
loope 0x414cda
cmp ebp, dword cs:[eax + edi*8 - 0x67]
xor esi, eax
outsb dx, byte [esi]
add eax, 0x54de1ad4
test byte [ebp + 0x6a], dh
fisub dword [ebx - 0x559cf400]
outsb dx, byte [esi]
mov esp, dword gs:[ecx - 0x597c0a9f]
arpl word [edi], bp
xor esi, esp
invalid