Function at 0x40bd10
Capabilities:
Encode data using xor

Disassembly:
scasd eax, dword es:[edi]
push es
dec ebp
mov ah, 0xfa
mov esi, 0xb0fc1852
xchg byte [edx], cl
sub word [ebp + 0x74], 0xc0e3
add eax, 0x3deec952
mov ch, 0x6d
dec ebp
adc dl, byte [esi - 0x149b759e]
xchg esi, eax
popal
retf 0x3164
mov ah, 0x2d
invalid
mov al, 0x9c
test byte [ecx - 0x1e0dfaa4], ch
xor dh, ch
jg 0x40bd4b
sub dword [edi - 0x2f], ecx
jae 0x40bd61
sahf
out dx, eax
push es
mov cl, 0xb8
add esi, edx
pop ebx
mov word [ebp - 0x5d644c90], es
cmpsb byte [esi], byte es:[edi]
popal
loop 0x40bcc7
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
cwde
dec edi
xor bh, byte [ebx + 0xe]
dec edi
cmp byte [ecx + esi*2 - 0x51], 0x60
fcomp qword [eax - 0x5f3315a0]
sti
jae 0x40bd35
ja 0x40bd38
in al, dx
push ecx
and dl, byte [0x38c5faaf]
les edx, [ebx + 0xc]
in eax, 0x6b
aas
loope 0x40bda9
retf
in eax, dx
fsubr qword [edi]
insd dword es:[edi], dx
outsb dx, byte [esi]
add cl, byte [edi - 0xc]
jle 0x40bd08
shl dl, 0xb0
sbb edi, dword [ebx]
cmp edi, dword [ecx - 0x158d2281]
js 0x40bd69
push ds
dec esi
and ebp, dword [eax + edi*4 + 0x3f]
mov edx, 0x6acd43c4
mov ebp, 0x8ad58255
imul ebp, dword [ebx + 0x5f], 0x5e0475ae
les edi, [ecx + 0x6605357a]
test dword [ebp - 0x280e1457], eax
mov ah, ch
adc al, 0xbd
and al, 0xb0
invalid
jns 0x40bdf6
loopne 0x40be23
in eax, 0x78
mov dword [0x5af13d42], eax
insb byte es:[edi], dx
nop
invalid
jne 0x40be04
ljmp 0x7143:0xe1baf2d6
xchg ebp, eax
mov dl, 0xf7
fcom dword [ebp - 3]
dec ecx
insd dword es:[edi], dx
shl byte [ebx + 0x47], 0x61
cmc
and al, 0xf3
imul ebp, dword [ebx], 0x63
sub esp, dword [ebx - 0x3c]
xor al, 0x51
loope 0x40bdc7
clc
add byte [esi + 0x45], dh
push 0x34
js 0x40bdfe
pop es
jle 0x40be58
sti
xchg esi, eax
sbb eax, 0xfd405674
inc eax
std
adc edx, ebp
cmp byte [ebx], 0x3e
aad 0x80
cmp edi, dword [esi]
lds ebx, ds:[eax - 0x5c]
lds ebx, [eax - 0x5c]
xor al, 0xba
lahf
popal
shr dword [edx], 1
mov edx, 0x2ad1619f
and eax, 0x6b84f471
jno 0x40be09
int1
loopne 0x40be01
hlt
and eax, 0xf141e072
imul esp, edi, 0x7740474e
adc al, 0x1a
fbld tbyte [edx + 0x62efb9d4]
sub byte [ecx + ebp*2], 0xf4
mov al, byte [0x9225746a]
aam 0xb9
out dx, eax
bound eax, qword [eax - 0x5f0b96d4]
push 0x74
and eax, 0xb52fa592
das
xchg edx, eax
movsd dword es:[edi], dword [esi]
das
mov ch, 0x2f
jne 0x40bdd7
invalid
or byte [edi - 0x3b], ch
loop 0x40be3e
add eax, 0x7031b3d0
push eax
sub ah, ah
fisub dword [ecx + 0x66fc3964]
or ch, byte [esi]
mov dword [0x4a999bd0], eax
add al, 0xbc
xchg ebx, eax
xchg ecx, eax
jno 0x40bebb
ret 0xc5fc
out dx, eax
aad 0xd4
rcr byte [edx - 0x81b2ebd], 1
sal byte [eax], 1
add al, 3
jnp 0x40be32
hlt
mov esp, 0x2daff065
invalid
cmp esi, esp
sar ch, 0xf9
std
stc
dec ebp
fcompi st(5)
and byte [ecx + 0x37], bh
jns 0x40befa
inc ecx
xor eax, 0x26561e76
add byte [edx - 0xfc83bbf], ah
jge 0x40beb8
shl byte fs:[eax], 1
jne 0x40bea6
and byte [eax - 0x67743b29], 0xb4
cwde
sbb dh, byte [esi + 0x37]
jb 0x40bf4a
pop edi
outsb dx, byte [esi]
add edi, dword [eax + edx*2]
aad 0xfa
shl dword [0xa51cf3d5], 1
jnp 0x40bec1
invalid
mov edi, 0xd2801d17
ja 0x40be94
xchg esp, eax
push 0x24466e24
aad 0x2c
sub ebp, dword [ecx + ebp*8]
invalid
pop ebx
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
mov al, byte [0xe537765b]
push edx
push cs
add ch, dl
add dword [ebp + esi + 0x77], 0xffffff91
arpl word [esp + esi - 0x28], bp
lds edi, [ebx]
push edi
xchg esp, eax
les esi, [eax]
bound ecx, qword [ebx - 0x3d]
cmp eax, 0xa685b1b2
inc esi
dec esi
adc dword [ebp + 0x7d14750d], edx
imul edi, dword [eax + esi*2 - 0xd], 0xffffff90
rep lodsb al, byte [esi]
jmp 0x40bf66
dec ebx
ret