Function at 0x43e6e6
Capabilities:
Encode data using xor

Disassembly:
sub al, 0xd9
pop es
dec ebp
mov bl, 0x83
dec eax
movsd dword es:[edi], dword [esi]
mov bl, 0xf8
nop
and dword [ebp + esi - 0x58e47f], edi
js 0x43e658
movsd dword es:[edi], dword [esi]
stosd dword es:[edi], eax
bound ebx, qword [esi]
loop 0x43e694
cmp cl, byte [ebx + edx*8 + 0x774b51f0]
cmc
pop ss
retf
cmc
push edx
test al, 0xa9
cmp esp, dword [ecx - 0x4b]
arpl di, si
invalid
salc
sub eax, 0xaa057230
and dword [edx - 0x19], edi
shr cl, 0xf3
aas
inc ebp
jnp 0x43e617
dec ebx
dec esp
push ebx
pop ebp
pushfd
les eax, [ecx - 0x1f]
pop es
insb byte es:[edi], dx
mov ah, 0x31
sub edx, dword [edi + eax*4 - 0x58fd589d]
adc esi, edi
retf 0x58d7
xlatb
pop eax
inc esp
leave
mov al, 0x7b
cmpsd dword [esi], dword es:[edi]
xchg esi, eax
test al, 0xc2
nop
xchg ebx, eax
ja 0x43e715
add eax, 0x7ff1692
cmp bl, byte [ecx]
push edi
add ebp, ecx
add ah, dh
push ecx
fbstp tbyte [ebx - 0x74ac98fa]
xchg esp, eax
adc ch, byte cs:[0xc3df2014]
iretd
inc ecx
jg 0x43e66e
std
mov ch, 0xfc
adc byte [esi + 0x513fad3], bl
in eax, dx
adc ebp, edx
sbb eax, 0x63d8f225
mov esp, 0xa4e52349
sar edx, cl
adc eax, dword [0x1dd511ed]
and eax, 0xbc63d8f2
dec ecx
and esp, ebp
movsb byte es:[edi], byte [esi]
push edx
je 0x43e691
push es
daa
rcl byte [esi + eax*2], 0xe7
stc
push ebx
insb byte es:[edi], dx
cmpsd dword [esi], dword es:[edi]
jge 0x43e69a
mov ch, 0xed
adc ch, byte [eax + 0x690e8232]
xchg edi, eax
pop ebp
sal dh, 0xc1
cmp dh, byte [ebx - 0x7c]
xor eax, 0xb64b249
push ebx
ja 0x43e7a2
push cs
imul edx, dword [edi - 0x3e093fa3], 0x3584733a
dec ecx
mov dl, 0x64
or edx, dword [ebx + 0x77]
jnp 0x43e6ee
invalid
aas
mov byte [0xfb90fd49], al
stosb byte es:[edi], al
test dh, 0x10
imul esi, ebx, 0xfffffffc
xor al, 0xb9
ljmp 0x49d5
and byte [edi], dl
pop edi
jo 0x43e7cf
push 0x45
cmc
js 0x43e727
pop edi
adc byte [esp + eax + 0x34], 0xd3
add dword [edx], ebp
div dword [esp + edx*2]
inc eax
lds edx, [edi - 0x468dad71]
sub eax, 0x4164b675
invalid
xor eax, 0x49fde592
jmp 0x43e75a
adc dword [edi + 0x3c], 0xb
mov ebx, esp
xor eax, 0x8ea53217
lodsb al, byte [esi]
inc ecx
sub dword [ecx - 0x3d], 0x95217d57
cmp edi, edx
lodsd eax, dword [esi]
inc esi
lahf
xor dword [eax + 0x18], ebx
imul ebx, dword [edx], 0x58
in al, 0x46
call dword [eax + ebp*8]
mov dword [0x9540cf3f], eax
je 0x43e7e7
iretd
inc edi
cwde
popal
test byte [eax], al
push esi
dec esi
cli
xor dword [ebp + 0x15], 0xf7b07365
shl byte [eax - 0xc], cl
test esp, edi
cwde
outsd dx, dword [esi]
adc eax, 0xc035f242
out 0x45, al
pop esp
push ebp
dec esi
sub ah, byte [ecx]
add byte [ebx + 0x7e], ah
xchg esp, eax
and byte [bx + si - 0x48], bl
add ah, bh
sbb bh, dl
movsb byte es:[edi], byte [esi]
sub ah, byte [edx - 0xe]
add dword [edi - 0x7d], eax
add dword [ecx - 0x682601f9], 0xf408bab2
pushal
lcall 0x6136, 0x736f3439
add dword [edi], 0xb297d9fe
mov edx, 0x9a60f408
cmp dword [edi + ebp*2], esi
jae 0x43e878
popal
jge 0x43e85c
adc al, 5
sbb al, 0xca
inc edi
mov al, 0x61
mov ch, 0x2d
jb 0x43e832
mov edi, 0xd1577416
mov edi, 0x408192d0
ret 0x38cf
cmp bl, dl
js 0x43e7f6
sbb al, 0xac
out dx, eax
cwde
mov ebx, 0x8440df86
cmp dword [0xdce2ae2], eax
ljmp 0x1eda
sbb byte [eax + 0x2a], bl
jb 0x43e8e2
and esi, esp
fld dword [esi - 0x5da8a53]
xchg dword [edx - 0x386a39cc], esp
lcall 0xcac1, 0xfbc9083b
xchg esp, eax
add dl, cl
xchg edx, eax
sub al, byte [edi + 0x14]
bound edx, qword [esi]
jg 0x43e831
push ecx
insd dword es:[edi], dx
pop esi
cmpsd dword [esi], dword es:[edi]
lea edx, [eax + 0x5c]
push ebp
adc eax, 0xd2a3c7a5
mov ebp, 0xb7ee25f6
nop
fild word [eax - 0x5b6ebf9b]
mov dl, 0x10
cmpsd dword [esi], dword es:[edi]
jno 0x43e8d9
xchg ecx, eax
push es
xchg edx, eax
retf 0xe57a
hlt
shl byte [edx + 0x78d0e52a], 1
je 0x43e90e
xchg ebp, eax
and edx, dword gs:[edx - 0x16]
xor byte [ecx + 0x6f8d243e], ah
test dword [ebp + 0x3b], ecx
pop edi
push ebp
xchg ecx, eax
aam 2
push ebp
xor al, 0xe3
ja 0x43e925
mov bh, 0xa0
mov eax, 0x94e54ee1
sub byte [ebx - 0x44], dh
js 0x43e964
bound edx, qword [ebp + 0x74c25db8]
jne 0x43e944
mov al, 0x39
adc eax, 0x64da128a
cmp dword [0x64da128a], edx
and al, 0xd5
in eax, 0x7e
jae 0x43e930
xchg ebp, eax
pop es
sal dword [ebp - 0x6a989c74], 0x94
dec ebp
xor edi, dword [esi + 0x15e764f9]
mov esi, 0x15e764f9
jne 0x43e8ef
shr ebp, 0x82
sub eax, eax
sub eax, eax
salc
stosb byte es:[edi], al
push esp
cmp dl, byte [edx + 0x40edf256]
jge 0x43e991
jbe 0x43e96f
aam 0x82
insd dword es:[edi], dx
xchg dword [ecx - 0x2c], esp
push edx
popal
aam 0x52
loope 0x43e8cc
dec edx
cmpsd dword [esi], dword es:[edi]
jno 0x43e94d
invalid
jns 0x43e9b1
ror byte [0x109b6c7e], 1
dec esi
fbld tbyte [ecx + 0x4d94a7d6]
fild dword [edi - 0x6d0a8bbf]
jge 0x43e967
add dl, byte [edx - 0x220a329b]
lodsd eax, dword [esi]
shr dl, 1
in al, 0x90
xchg edx, eax
int 0xf5
int 0xf5
invalid
xchg edi, eax
xor al, 0x63
int1
imul ch
clc
cmp cl, byte [esi - 0x7a6853d7]
mov word [ebx], ds
ror byte [ebx - 0x756ef04e], cl
or dword [edi - 0x21], 0x70
and eax, 0xa7600c8c
mov dl, 0xf
xchg ecx, eax
mov al, byte [ebx + 0x2570df4f]
mov word [eax], cs
cmpsd dword [esi], dword es:[edi]
adc al, 0x36
cmp dh, byte [edx]
out 0x10, eax
mov edx, 0x6bc28152
xor ah, bh
adc byte [edx + 0x6bc28152], bh
mov bh, 0x85
shl dword [0x5921fc77], 1
shl bl, cl
push 0x50
jbe 0x43e981
and dword [ebx - 0xe], esp
ret 0xfa73
xchg eax, ecx
add al, byte [ebx + 0x1c081415]
pop ebp
cmpsb byte [esi], byte es:[edi]
popfd
or byte [ebp - 0x42], bh
inc ecx
aad 0x47
and al, 0x76
add esi, dword [eax]
inc esp
invalid