Function at 0x966ce1
Capabilities:
Encode data using xor

Disassembly:
sar dword [esp + eax + 8], 0xdd
mov dword [esp + eax*2 + 4], 0xc1a41511
sbb cl, 0x91
xor word [esp + eax*2 + 9], ax
pop eax
jns 0xc598d6
sub byte [0xdde24910], al
mov bl, byte [esi]
sbb edi, esp
sub ah, byte [eax - 0xb8ccd76]
sub ah, byte [eax - 0x40297576]
mov cl, byte [eax + edx*2 + 9]
in al, dx
xor esi, dword [edx - 0x74cc7d17]
salc
add al, 0x4d
js 0x966d76
hlt
popfd
and al, 0x58
fld dword [edx]
push ebx
pop es
pop ds
xor dword [ecx + 0x1f1309e2], esi
aam 0x7b
in eax, dx
loop 0x966d40
adc ebx, dword [edi + 0x20ac8dfc]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jge 0x966da1
pushal
lea ecx, [edx + 0x34a44b62]
or byte [edx + 0x34dc7f62], 0x82
mov dl, byte [edx + 0x23]
aam 0x34
or byte [edx + 0x5bf3ba70], 0xc
mov ah, 0xd6
lea ebx, [ecx + 0xc]
mov ebx, ecx
mov dl, 0x32
js 0x966d0c
dec edi
sbb eax, 0x5302d969
or cl, byte [esi + 0x9e2f874]
adc edi, dword [edx - 0x77]
xor byte [edx - 0x321ecf7], ch
loop 0x966d81
adc ebx, esi
cld
lea ebp, [edx + ebp*4 + 0x1942f887]
mov dh, al
adc dword [esi - 0x47], ebp
sbb dword [edx - 0x4691ee10], ecx
sbb byte [edx - 0x3e81d3ad], cl
or al, 0xe9
loope 0x966d7b
push 0x2b178684
iretd
mov ebp, 0x740f4974
pop ecx
out 0x75, al
and byte [ebx + ebp*4 + 0x22], ch
cld
stosd dword es:[edi], eax
and bh, ah
scasd eax, dword es:[edi]
push ss
jbe 0x966d2c
dec esp
mov ebx, 0x2820767a
salc
sub dh, dl
pop edx
inc edi
xchg ebp, eax
add al, 0xf9
jnp 0x966e2d
invalid
add esp, dword [ebx + 0x7bb5851f]
out dx, al
pop esi
nop
mov dword [esi - 0x713c0a75], ecx
les edi, [edx + 0x58f902b7]
inc eax
jnp 0x966d97
or dh, ch
jbe 0x966e37
stosb byte es:[edi], al
pop edx
adc eax, 0x98efbe38
jnp 0x966ddf
dec byte [edx]
cld
jno 0x966e62
scasb al, byte es:[edi]
stosb byte es:[edi], al
test ebp, ebp
out 0x7e, eax
jbe 0x966dad
jnp 0x966e71
xchg dword [edi + 0x43], esi
lahf
and dword [edx - 0x793d13bc], 0x2a
dec esi
stosb byte es:[edi], al
push ds
jge 0x966dd6
or esp, edi
pop ebp
or al, 0xfd
test byte [ebp + 0x2f], ah
scasd eax, dword es:[edi]
clc
ja 0x966e7c
in eax, dx
salc
ret
test al, 0x14
xchg dword [esi + 0x3cc3c99e], edx
jl 0x966e3e
dec ebp
cmc
outsd dx, dword [esi]
std
jo 0x966e0e
ud0
jmp edi
scasd eax, dword es:[edi]
xor edx, dword [eax]
xor dword [eax - 0x198cafe8], 0xef6b03b1
adc byte [ecx + 0x735018b0], al
out 0xb1, al
add ebp, dword [ebx - 0x11]
adc al, 0xbb
pop esp
jl 0x966e60
out dx, al
cmpsd dword [esi], dword es:[edi]
jmp 0x71012b7c
adc byte [ebx], 0xfd
adc edi, ebp
or dword [eax], ebx
int3
sbb ah, cl
pushal
xchg byte es:[edx + 0x1930bd7e], bh
sbb al, 0xcf
pushfd
test eax, 0xfc55112d
pop edi
std
add al, 0xa4
mov eax, 0x3be05d69
loopne 0x966ed2
sbb ebp, ebx
ja 0x966ec3
ja 0x966e79
mov eax, 0xf17c5803
jnp 0x966ec9
cmp dl, bl
nop
jno 0x966e95
sub dword [edi + 0x57c08c58], esi
pop ds
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
shl eax, 1
or dl, cl
loop 0x966ecb
jge 0x966ec7
and dword [edi + 0x46], esi
invalid
jno 0x966e78
mov edx, 0xfa29189d
sbb byte [ecx], ch
cli
dec esi
loop 0x966e90
add dword [ecx], esi
or esp, dword [eax]
xchg esp, ecx
clc
pop edi
pushal
or byte [ebx + ebx*4 + 0x20], bh
in eax, dx
pop ecx
mov ebp, 0xd8cc41c6
cli
fdiv dword [ebx - 0x7c05c589]
xchg esi, eax
jo 0x966e9d
int3
cmpsd dword [esi], dword es:[edi]
xchg dl, dl
inc esi
hlt
ror cl, 1
xor bl, cl
mov eax, dword [esp + 8]
push eax
lea ecx, [esp + ecx + 0x10]
shl eax, 0x62
mov dword [ecx], edx
setp byte [esp + 6]
mov edx, eax
pop ecx
pop edx
pop ecx
pop edx
js fcn.00ec5123
mov eax, dword [0x3960119f]
cdq
invalid