Function at 0x43772b
Capabilities:
Encode data using xor

Disassembly:
add dword [edi + 0xa], eax
inc esi
mov esp, 0x90371109
push ebp
movsd dword es:[edi], dword [esi]
bound ecx, qword [ecx]
and dh, bh
adc eax, 0xe9a0d50f
xchg edi, eax
retf 0x8edb
invalid
mov fs, word [edi - 3]
or byte [eax + 0x1e499474], dh
push esi
outsb dx, byte [esi]
sub edx, ecx
aaa
inc ebp
xchg ebx, eax
adc byte [ecx + esi + 0x579b2342], bh
jle 0x4376d4
test eax, 0x8801d41f
inc ecx
inc eax
push edi
add eax, 0x654cab06
xchg ecx, eax
adc esi, ecx
adc eax, 0x68e765c7
cmpsd dword [esi], dword es:[edi]
dec esp
stc
pushal
xor eax, 0xa6b9a248
sbb ebp, dword [edi - 0x2f3127fb]
dec edi
out 0xc2, eax
sub dword [edx - 0x61397a81], edi
ja 0x437633
ret 0xb1e1
xchg byte [0x50e71197], bh
adc edi, esp
push eax
mov dword [0x13352f44], eax
and dword [edi - 0x2f], esi
cmp eax, 0xc2fc1bb1
dec ecx
dec edx
clc
test al, al
push edi
xor bl, ah
mov byte [0xfc65cf75], al
jp 0x437739
inc esi
mov eax, dword [0x61e12d2f]
sal byte [eax + 0x6e], cl
popal
sahf
sbb edi, dword [edi - 0x7c]
test dl, ah
invalid
shl dword [eax + 0x76b2c1b0], 1
mov al, byte [0x76b2c1b0]
mov eax, dword [esi - 0x401b5a01]
xor eax, 0x83552f2c
test al, 0x69
scasd eax, dword es:[edi]
inc esp
out dx, eax
adc dword [ecx + 0x77442f0], ecx
mov edi, 0x552f2c35
sub dword [eax - 0x10bb5097], 0x11
mov eax, esi
inc edx
je 0x437728
add dword [ecx - 0x2a11d03c], 0xb
out 0x41, al
mov eax, 0x4698419
invalid
test byte [ecx + 4], ch
push es
add al, 6
mov cl, 0xd1
push edi
pop esi
pop ebx
xor byte [edi + 0x61], bl
imul eax, edi, 0xffffffbf
xchg dword [eax], edx
stc
adc eax, 0xf795a391
and byte [ecx], 0xa4
and esi, dword [ebx]
mov dl, 0x8f
cmpsd dword [esi], dword es:[edi]
add dword [ebp + 0x3be2d2b6], edx
inc ebx
sub dh, cl
wait
je 0x437710
invalid
adc cl, byte [edx + edx*2 + 0xa]
push ebp
and eax, 0xb3fe695d
jg 0x43772e
add dword [ebx - 0x595f646f], eax
mov es, word [eax - 0x658e293b]
cmpsb byte [esi], byte es:[edi]
jne 0x4377d7
in eax, 0x85
inc ebx
add dword [ebp + 0x61], esi
jne 0x4377d9
sbb ah, byte [ecx - 0x4ee6bb9b]
cmpsb byte [esi], byte es:[edi]
and ah, byte [edi]
mov ds, edi
loope 0x437705
mov ecx, 0x96ae99df
xlatb
push ebp
adc esp, ecx
wait
int1
iretd
dec ecx
or eax, 0xae974211
adc dword [edx - 0x69], eax
scasb al, byte es:[edi]
jne 0x437776
outsb dx, byte [esi]
aaa
push 0x5e
sahf
inc edx
pop ecx
mov ebp, 0xa69317a5
mov ah, 0x8f
inc eax
jmp 0x437864
iretd
mov eax, dword [0x9331cff1]
cdq
pop es
add dword [eax + 0x1e29c7f1], esi
aam 0x76
mov al, byte [0x71b4b907]
push ebp
aas
add al, 0xef
mov cl, 0x75
sbb edi, dword [ebx - 0x1d]
xchg esp, eax
daa
not dword [edx]
outsd dx, dword [esi]
mov edi, 0xb65586a2
leave
add byte [esi + 0x57d7bf9f], bl
aam 0xe6
inc edi
mov edx, 0x11a72548
sbb al, 0x1c
pop ss
fist word [esi]
jo 0x43784a
mov bl, 0xf3
test eax, 0x7725084
das
xchg ecx, eax
adc ebp, dword [ecx + 0x42b674c1]
outsd dx, dword [esi]
xchg esi, eax
das
stosd dword es:[edi], eax
xchg byte [edx + 0xfa52643], al
pop eax
test al, 0xd3
ja 0x4378b5
add byte [ebx + 0x26], 0xa5
addps xmm5, xmmword [eax + 0x9f677d3]
pmulhw mm1, qword [ecx - 0x3f]
pop edi
jns 0x43789a
or dword [edi], ecx
in eax, 0x49
rcr dword [edi + 0x79], 0xd3
loope 0x437916
ja 0x4378a1
stosd dword es:[edi], eax
std
ret
mov esp, 0x3fb3c553
cmp eax, 0xb027b4a7
add esi, dword [edx + 0x26]
xor eax, 0x70627f3c
cmp ch, byte [ecx + 0x43097103]
pinsrw mm7, word [ecx + edx*8 + 0x42], 0x9b
xchg esp, edi
xchg edx, eax
fldenv [esi - 0x6b7c78a7]
pushal
pop esi
imul esi, dword [edi], 0x7ba54a0
pop es
sqrtps xmm2, xmmword [ebp + 0x5d]
inc ecx
mov ah, byte [edx + edx*4]
adc esp, ebp
stc
test esi, ebx
lodsd eax, dword [esi]
and dword [edx + esi*2 - 0x6688a9aa], eax
xchg esi, eax
sub dword [ebx - 0x70ff94a0], eax
dec edi
jle 0x4378e8
mov eax, 0x31c147bf
add al, 5
xchg esi, eax
call 0xb7d24d1c
push ebp
cdq
mov bh, 0x71
scasd eax, dword es:[edi]
pop eax
mov edi, 0x37e7921c
invalid