Function at 0x76a2086d
Capabilities:
Encode data using xor

Disassembly:
sar edx, 3
and edx, 0xfffffffc
add edx, dword [ebp + 0x14]
sar esi, 3
mov ecx, edx
mov edx, dword [ebp + 0x10]
imul edx, dword [ebp + 0x24]
sar eax, 3
and esi, 0xfffffffc
add esi, dword [ebp + 8]
and eax, 0xfffffffc
add eax, dword [ebp + 8]
mov dword [ebp + 0x2c], esi
sub esi, eax
add edx, eax
mov dword [ebp + 0x14], esi
test edi, edi
je 0x76a20947
test ebx, ebx
jne 0x76a209f1
cmp eax, dword [ebp + 0x2c]
je 0x76a2091e
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x10]
sub edi, esi
sub ebx, esi
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x10], ebx
cmp dword [ebp + 0xc], 0
lea ebx, [eax + esi]
mov dword [ebp + 0x2c], ebx
je 0x76a208f1
mov edi, dword [ebp + 0x28]
mov ebx, dword [eax]
and ebx, dword [ebp + 0x28]
not edi
and edi, dword [ecx]
or edi, ebx
mov dword [ecx], edi
mov edi, dword [ebp + 0x20]
add ecx, 4
add eax, 4
jmp 0x76a208f1
mov ebx, dword [eax]
mov dword [ecx], ebx
add eax, 4
add ecx, 4
cmp eax, dword [ebp + 0x2c]
jne 0x76a208e7
cmp dword [ebp + 0x18], 0
je 0x76a2090f
mov edi, dword [ebp + 0x1c]
mov ebx, dword [eax]
and ebx, dword [ebp + 0x1c]
not edi
and edi, dword [ecx]
or edi, ebx
mov dword [ecx], edi
mov edi, dword [ebp + 0x20]
add eax, dword [ebp + 0x10]
add ecx, edi
cmp eax, edx
je 0x76a20ad6
jmp 0x76a208c0
mov esi, dword [ebp + 0x28]
and esi, dword [ebp + 0x1c]
mov dword [ebp + 0x2c], esi
not dword [ebp + 0x2c]
mov ebx, dword [eax]
mov edi, dword [ebp + 0x2c]
and edi, dword [ecx]
add eax, dword [ebp + 0x10]
and ebx, esi
or edi, ebx
mov dword [ecx], edi
add ecx, dword [ebp + 0x20]
cmp eax, edx
je 0x76a20ad6
jmp 0x76a2092a
test ebx, ebx
je 0x76a209f1
cmp eax, dword [ebp + 0x2c]
je 0x76a209c7
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x10]
sub edi, esi
sub ebx, esi
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x10], ebx
cmp dword [ebp + 0xc], 0
lea ebx, [eax + esi]
mov dword [ebp + 0x2c], ebx
je 0x76a20999
mov edi, dword [eax]
mov ebx, dword [ebp + 0x28]
not edi
and edi, dword [ebp + 0x28]
not ebx
and ebx, dword [ecx]
or edi, ebx
mov dword [ecx], edi
mov edi, dword [ebp + 0x20]
add ecx, 4
add eax, 4
jmp 0x76a20999
mov ebx, dword [eax]
not ebx
mov dword [ecx], ebx
add eax, 4
add ecx, 4
cmp eax, dword [ebp + 0x2c]
jne 0x76a2098d
cmp dword [ebp + 0x18], 0
je 0x76a209b9
mov edi, dword [eax]
mov ebx, dword [ebp + 0x1c]
not edi
and edi, dword [ebp + 0x1c]
not ebx
and ebx, dword [ecx]
or edi, ebx
mov dword [ecx], edi
mov edi, dword [ebp + 0x20]
add eax, dword [ebp + 0x10]
add ecx, edi
cmp eax, edx
jne 0x76a20964
jmp 0x76a20ad6
mov esi, dword [ebp + 0x28]
and esi, dword [ebp + 0x1c]
mov dword [ebp + 0x2c], esi
not dword [ebp + 0x2c]
mov edi, dword [eax]
mov ebx, dword [ebp + 0x2c]
and ebx, dword [ecx]
add eax, dword [ebp + 0x10]
not edi
and edi, esi
or edi, ebx
mov dword [ecx], edi
add ecx, dword [ebp + 0x20]
cmp eax, edx
jne 0x76a209d3
jmp 0x76a20ad6
sub edi, ebx
neg edi
sbb edi, edi
and edi, 0xff
mov esi, edi
shl esi, 8
or edi, esi
mov esi, edi
shl esi, 0x10
or edi, esi
dec ebx
neg ebx
sbb ebx, ebx
and ebx, 0xffffff01
add ebx, 0xff
mov esi, ebx
shl esi, 8
or ebx, esi
mov esi, ebx
shl esi, 0x10
or ebx, esi
mov dword [ebp + 8], ebx
cmp eax, dword [ebp + 0x2c]
je 0x76a20aaa
mov esi, dword [ebp + 0x20]
sub esi, dword [ebp + 0x14]
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 0x10]
sub esi, dword [ebp + 0x14]
mov dword [ebp + 0x10], esi
mov esi, dword [ebp + 0x14]
add esi, eax
cmp dword [ebp + 0xc], 0
mov dword [ebp + 0x2c], esi
je 0x76a20a7e
mov esi, dword [eax]
mov ebx, dword [ebp + 0x28]
and esi, edi
xor esi, dword [ebp + 8]
not ebx
and ebx, dword [ecx]
and esi, dword [ebp + 0x28]
or esi, ebx
mov dword [ecx], esi
add ecx, 4
add eax, 4
jmp 0x76a20a7e
mov esi, dword [eax]
and esi, edi
xor esi, dword [ebp + 8]
add eax, 4
mov dword [ecx], esi
add ecx, 4
cmp eax, dword [ebp + 0x2c]
jne 0x76a20a6f
cmp dword [ebp + 0x18], 0
je 0x76a20a9e
mov esi, dword [eax]
mov ebx, dword [ebp + 0x1c]
and esi, edi
xor esi, dword [ebp + 8]
not ebx
and ebx, dword [ecx]
and esi, dword [ebp + 0x1c]
or esi, ebx
mov dword [ecx], esi
add eax, dword [ebp + 0x10]
add ecx, dword [ebp + 0x20]
cmp eax, edx
je 0x76a20ad6
jmp 0x76a20a44
mov esi, dword [ebp + 0x28]
and esi, dword [ebp + 0x1c]
mov dword [ebp + 0x2c], esi
not dword [ebp + 0x2c]
mov dword [ebp + 0x28], esi
mov esi, dword [eax]
mov ebx, dword [ebp + 0x2c]
and ebx, dword [ecx]
add eax, dword [ebp + 0x10]
and esi, edi
xor esi, dword [ebp + 8]
and esi, dword [ebp + 0x28]
or esi, ebx
mov dword [ecx], esi
add ecx, dword [ebp + 0x20]
cmp eax, edx
jne 0x76a20ab9
pop edi
pop esi
pop ebx
leave
ret 0x2c