Function at 0x96c615
Capabilities:
Encode data using xor

Disassembly:
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub al, byte [eax]
add dword [ebx], eax
add al, 5
pop es
or dword [edx], ecx
or ecx, dword [ecx + 0x16151410]
pop ss
sbb byte [ecx], bl
sbb al, 0x1d
pop ds
and byte [ecx], ah
and esp, dword [0x29282726]
sub al, 0x2e
xor byte [ecx], dh
xor dh, byte [ebx]
xor al, 0x35
aaa
cmp byte [ecx], bh
cmp eax, dword [eax]
add dword [edx], eax
add eax, dword [eax + 0x9080706]
or cl, byte [ebx]
or al, 0xd
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 0x15
pop ss
sbb byte [ecx], bl
sbb ebx, dword [ebx + 0x21201f1e]
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0
add dword [edx], eax
add eax, dword [edi + eax]
or byte [edx], cl
or ecx, dword [esi + ecx]
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 0x17
sbb dword [ebx], ebx
sbb al, 0x1d
push ds
and byte [edx], ah
and esp, dword [esi]
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
xor byte [ecx], dh
xor dh, byte [ebx]
xor al, 0
add dword [edx], eax
add eax, dword [eax + 0xa090706]
or ecx, dword [ecx + 0x11100f0e]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and eax, 0x2a292726
sub ebp, dword [eax + eax]
add dword [edx], eax
add eax, dword [eax + 0x9080706]
or ecx, dword [0x11100f0e]
adc dl, byte [edx + 0x19181716]
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0
add dword [eax + 0xb090807], eax
or al, 0xd
push cs
movups xmm2, xmmword [ecx]
adc al, 0x16
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
xor byte [ecx], dh
xor eax, dword [eax]
add dword [edx], eax
add eax, dword [eax + 0xa090807]
or ecx, dword [ecx + 0x11100f0e]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and al, 0x25
daa
sub byte [ecx], ch
sub ebp, dword [ebp + 0x201002e]
add eax, 0xa090706
or ecx, dword [ecx + 0x1211100e]
or al, 0xd
push cs
adc byte [ecx], dl
adc dl, byte [edx + 0x1a191816]
sbb ebx, dword [ebx + 0x2221201e]
and esp, dword [0x29282726]
sub ch, byte [0x3431302e]
aaa
add byte [ecx], al
add al, byte [0xa090807]
or ecx, dword [ecx + 0x1211100e]
adc al, 0x15
push ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
and dword [edx], esp
and esp, dword [0x29282726]
sub ch, byte [0x3231302e]
xor al, 0x35
add byte [ecx], al
add al, byte [ebx]
add al, 7
or dword [ebx], ecx
or al, 0xd
push cs
movups xmm2, xmmword [esi + edx]
pop ss
sbb byte [edx], bl
sbb al, 0x1d
push ds
pop ds
and byte [ebx], ah
daa
sub byte [ecx], ch
sub ebp, dword [edi + ebp]
xor byte [edx], dh
xor esi, dword [esi + esi]
aaa
cmp byte [ecx], bh
cmp bh, byte [ebx]
cmp al, 0x3f
add byte [ecx], al
add al, byte [ebx]
add al, 5
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
push cs
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
add byte [ecx], al
add al, byte [ebx]
add al, 5
push es
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
push cs
movups xmm2, xmmword [ecx]
adc al, 0x15
pop ss
sbb byte [ecx], bl
sbb ebx, dword [ebx + 0x21201f1e]
and al, 0x28
sub dword [edx], ebp
sub ebp, dword [ebp + 0x34333130]
xor eax, 0x3020100
add al, 5
push es
or dword [ebx], ecx
or eax, 0x11100f0e
adc dl, byte [edx + 0x1a191816]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [0x2b2a2926]
sub al, 0x2d
xor byte cs:[ecx], dh
xor dh, byte [ebx]
xor al, 0x35
add byte [edx], al
add eax, dword [eax + 0x9080706]
or ecx, dword [0x11100f0e]
adc dl, byte [ebx]
adc al, 0x17
sbb byte [edx], bl
sbb ebx, dword [esi + ebx]
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x27
sub dword [ebx], ebp
sub al, 0x2d
das
xor byte [edx], dh
xor esi, dword [esi + 0x3020100]
add al, 5
push es
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
push cs
movups xmmword [edx], xmm2
adc edx, dword [edx + 0x19181716]
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub al, byte [eax]
add dword [edx], eax
add eax, dword [eax + 0xa090706]
or ecx, dword [0x11100f0e]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and eax, 0x2a292726
sub ebp, dword [0x201002e]
add eax, dword [eax + 0xb0a0907]
or al, 0xd
push cs
movups xmm2, xmmword [ebx]
adc al, 0x16
pop ss
sbb bl, byte [ebx + 0x23201f1e]
and eax, 0x2a292827
sub ebp, dword [esi + ebp]
das
xor byte [ecx], dh
xor dh, byte [ebx]
xor al, 0x35
add byte ss:[ecx], al
add al, byte [ebx]
add al, 5
push es
pop es
or byte [ecx], cl
or cl, byte [ecx + 0x11100f0e]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub al, byte [eax]
add dword [edx], eax
add al, 5
push es
or byte [ecx], cl
or cl, byte [ecx + 0x11100f0e]
adc dl, byte [edx + 0x1a191817]
sbb ebx, dword [ebx + 0x2221201e]
and al, 0x25
sub byte es:[ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
xor byte cs:[ecx], dh
xor eax, dword [eax]
add dword [edx], eax
add eax, dword [eax + 0xb090807]
or al, 0xd
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 0x15
sbb byte [edx], bl
sbb ebx, dword [ebx + 0x21201f1e]
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
add byte [ecx], al
add al, byte [ebx]
add al, 5
push es
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
adc byte [ecx], dl
adc edx, dword [edx + 0x1a191817]
sbb ebx, dword [ebx + 0x25242220]
daa
sub byte [ecx], ch
sub al, 0x2d
das
xor byte [ecx], dh
xor esi, dword [esi + 0x6030200]
or byte [edx], cl
or ecx, dword [ecx + 0x13120f0e]
adc eax, 0x1a191716
sbb ebx, dword [ebx + 0x26221f1e]
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub eax, 0x31302f2e
xor dh, byte [ebx]
xor al, 0x35
aaa
cmp byte [eax], al
add dword [edx], eax
add eax, dword [eax + 0xa090706]
or ecx, dword [ecx + 0x11100f0e]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub byte [ecx], ch
sub al, byte [eax]
add dword [ebx], eax
add al, 5
pop es
or dword [edx], ecx
or ecx, dword [ecx + 0x15141210]
push ss
pop ss
sbb byte [ecx], bl
sbb al, 0x1d
pop ds
and byte [ecx], ah
and esp, dword [0x29282726]
sub al, 0x2e
xor byte [ecx], dh
xor dh, byte [ebx]
xor al, 0x35
cmp byte [ecx], bh
cmp eax, dword [eax]
add dword [ebx], eax
add al, 5
push es
pop es
or byte [ecx], cl
or al, 0x10
adc dword [edx], edx
adc edx, dword [edx + 0x1b191817]
sbb al, 0x1d
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
sub byte es:[ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
sub eax, 0x31302f2e
xor al, 0x35
add byte [ecx], al
add al, byte [eax + 0xa090706]
or eax, 0x1312110f
adc eax, 0x1c1a1916
sbb eax, 0x2221201e
and esp, dword [0x29282726]
sub ebp, dword [0x31302f2e]
xor dh, byte [0x393836]
add dword [edx], eax
add eax, dword [eax + 0x9080706]
or cl, byte [ebx]
or eax, 0x1211100f
adc edx, dword [edi + edx]
sbb byte [edx], bl
sbb ebx, dword [esi + ebx]
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
daa
sub dword [ebx], ebp
sub al, 0x2d
das
xor byte [edx], dh
xor eax, dword [eax]
add al, byte [ebx]
add al, 6
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
movups xmmword [edx], xmm2
adc edx, dword [edx + 0x1b181716]
sbb al, 0x1e
pop ds
and byte [edx], ah
and esp, dword [0x2b2a2827]
sub eax, 0x3231302f
xor esi, dword [esi + esi]
add byte [ecx], al
add eax, dword [eax + 0xa090807]
or ecx, dword [ecx + 0x1211100f]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb al, 0x1d
pop ds
and byte [ecx], ah
and esp, dword [0x29282726]
sub ch, byte [ebx]
sub al, 0x2d
xor byte cs:[ecx], dh
xor al, byte [eax]
add dword [edx], eax
add eax, 0xa090806
or al, 0xd
push cs
movups xmm2, xmmword [ecx]
adc dl, byte [0x1b1a1917]
sbb dword [edx], ebx
sbb ebx, dword [ebx + 0x2422211e]
invalid
sub byte es:[ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
xor byte cs:[ecx], dh
xor esi, dword [0x383736]
add dword [eax + 0xe0d0c07], eax
movups xmm2, xmmword [ecx]
adc al, 0x16
sbb byte [ecx], bl
sbb bl, byte [ebx + 0x2321201f]
and al, 0x25
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
xor byte [ecx], dh
xor dh, byte [esi + 0x39383736]
cmp al, 0x3d
add byte [ecx], al
add al, byte [eax + 0x9080706]
or cl, byte [0x1312110f]
adc al, 0x15
push ss
add byte [eax], al
inc ecx
mov eax, dword [0xa273a18d]
pop ecx
mov dword [0xa491a445], eax
ja 0x96c61f
arpl word [esi - 0x586a58b7], sp
sub dword [eax - 0x55b25699], 0xab85aa99
imul ebp, dword [ecx + edx*2 - 0x76526253], 0xffffffae
outsd dx, dword [esi]
scasd eax, dword es:[edi]
push ebp
mov al, 0x41
mov cl, 0x8d
mov cl, 0x73
mov dl, 0x59
mov bl, 0x45
mov ah, 0x91
mov ah, 0x77
mov ch, 0x63
mov dh, 0x49
mov bh, 0x95
mov bh, 0x81
mov eax, 0xba4db967
cdq
mov edx, 0xbc6bbb85
push ecx
mov ebp, 0xbe89bd9d
outsd dx, dword [esi]
mov edi, 0xc141c055
invalid