Function at 0x5b87468e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov ecx, edx
mov dword [ebp - 8], edx
add edi, 0xdeadbeef
add edi, ecx
mov edx, edi
mov esi, edi
mov dword [ebp - 4], edx
test bl, 3
jne 0x5b87478a
cmp ecx, 0xc
jbe switch.0x5b87473a
lea eax, [ecx - 0xd]
xor edx, edx
push 0xc
pop ecx
div ecx
inc eax
mov dword [ebp - 0xc], eax
add edi, dword [ebx + 8]
add esi, dword [ebx + 4]
mov edx, edi
mov eax, dword [ebx]
sub eax, edi
rol edx, 4
add eax, dword [ebp - 4]
add edi, esi
xor edx, eax
sub esi, edx
mov eax, edx
rol eax, 6
add edx, edi
xor eax, esi
sub edi, eax
mov ecx, eax
rol ecx, 8
add eax, edx
xor ecx, edi
sub edx, ecx
mov esi, ecx
rol esi, 0x10
add ecx, eax
xor esi, edx
mov edx, esi
mov dword [ebp - 4], esi
sub eax, edx
ror esi, 0xd
xor esi, eax
add edx, ecx
sub ecx, esi
mov dword [ebp - 4], edx
mov edi, esi
add esi, edx
rol edi, 4
xor edi, ecx
mov ecx, dword [ebp - 8]
push 0xc
pop eax
sub ecx, eax
add ebx, eax
sub dword [ebp - 0xc], 1
mov dword [ebp - 8], ecx
jne 0x5b8746cc
cmp ecx, eax
ja 0x5b874a1b
jmp dword [ecx*4 + 0x5b874a6a]
add edi, dword [ebx + 8]
add esi, dword [ebx + 4]
add edx, dword [ebx]
jmp 0x5b874a18
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add edi, eax
movzx eax, byte [ebx + 9]
shl eax, 8
add edi, eax
movzx eax, byte [ebx + 8]
add edi, eax
jmp case.0x5b87473a.8
movzx eax, byte [ebx + 6]
shl eax, 0x10
add esi, eax
movzx eax, byte [ebx + 5]
shl eax, 8
add esi, eax
movzx eax, byte [ebx + 4]
add esi, eax
jmp case.0x5b87473a.4
lfence
jmp 0x5b874a5f
test bl, 1
jne 0x5b8748d5
cmp ecx, 0xc
jbe switch.0x5b87483b
lea eax, [ecx - 0xd]
xor edx, edx
push 0xc
pop ecx
div ecx
inc eax
mov dword [ebp - 0xc], eax
movzx edx, word [ebx + 6]
movzx ecx, word [ebx + 4]
add ecx, esi
movzx eax, word [ebx]
movzx esi, word [ebx + 8]
add esi, edi
shl edx, 0x10
add edx, ecx
movzx ecx, word [ebx + 0xa]
shl ecx, 0x10
add esi, ecx
movzx ecx, word [ebx + 2]
shl ecx, 0x10
mov edi, esi
add ecx, eax
rol edi, 4
sub ecx, esi
add esi, edx
add ecx, dword [ebp - 4]
xor edi, ecx
sub edx, edi
mov eax, edi
add edi, esi
rol eax, 6
xor eax, edx
sub esi, eax
mov ecx, eax
rol ecx, 8
add eax, edi
xor ecx, esi
sub edi, ecx
mov edx, ecx
rol edx, 0x10
add ecx, eax
xor edx, edi
mov esi, edx
sub eax, edx
ror esi, 0xd
add edx, ecx
xor esi, eax
mov dword [ebp - 4], edx
sub ecx, esi
mov edi, esi
rol edi, 4
add esi, edx
xor edi, ecx
mov ecx, dword [ebp - 8]
push 0xc
pop eax
sub ecx, eax
add ebx, eax
sub dword [ebp - 0xc], 1
mov dword [ebp - 8], ecx
jne 0x5b8747aa
cmp ecx, eax
ja 0x5b874a1b
jmp dword [ecx*4 + 0x5b874a9e]
movzx eax, word [ebx + 8]
movzx ecx, word [ebx + 0xa]
add edi, eax
movzx eax, word [ebx + 4]
shl ecx, 0x10
add esi, eax
movzx eax, word [ebx]
add edi, ecx
movzx ecx, word [ebx + 6]
add edx, eax
shl ecx, 0x10
add esi, ecx
movzx ecx, word [ebx + 2]
shl ecx, 0x10
add edx, ecx
jmp 0x5b874a18
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add edi, eax
movzx eax, word [ebx + 8]
add edi, eax
movzx ecx, word [ebx + 6]
movzx eax, word [ebx + 4]
shl ecx, 0x10
add esi, eax
add esi, ecx
movzx ecx, word [ebx + 2]
movzx eax, word [ebx]
shl ecx, 0x10
add eax, edx
add eax, ecx
mov dword [ebp - 4], eax
jmp 0x5b874a1b
movzx eax, byte [ebx + 8]
jmp 0x5b874880
movzx eax, byte [ebx + 6]
shl eax, 0x10
add esi, eax
movzx eax, word [ebx + 4]
add esi, eax
jmp case.0x5b87483b.4
movzx eax, byte [ebx + 4]
jmp 0x5b8748ba
movzx eax, byte [ebx + 2]
shl eax, 0x10
add edx, eax
movzx eax, word [ebx]
jmp 0x5b874a16
cmp ecx, 0xc
jbe switch.0x5b8749af
lea eax, [ecx - 0xd]
xor edx, edx
push 0xc
pop ecx
div ecx
inc eax
mov dword [ebp - 0xc], eax
movzx edx, byte [ebx + 7]
movzx ecx, byte [ebx + 6]
movzx eax, byte [ebx + 5]
shl edx, 8
add edx, ecx
movzx ecx, byte [ebx + 0xb]
shl ecx, 8
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 4]
add esi, eax
shl edx, 8
movzx eax, byte [ebx + 0xa]
add esi, edx
add ecx, eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
add edx, edi
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 8
add edx, ecx
movzx ecx, byte [ebx + 3]
shl ecx, 8
mov edi, edx
add ecx, eax
rol edi, 4
movzx eax, byte [ebx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx]
shl ecx, 8
add ecx, eax
sub ecx, edx
add edx, esi
add ecx, dword [ebp - 4]
xor edi, ecx
sub esi, edi
mov eax, edi
add edi, edx
rol eax, 6
xor eax, esi
sub edx, eax
mov ecx, eax
rol ecx, 8
add eax, edi
xor ecx, edx
sub edi, ecx
mov edx, ecx
rol edx, 0x10
add ecx, eax
xor edx, edi
mov esi, edx
sub eax, edx
ror esi, 0xd
add edx, ecx
xor esi, eax
mov dword [ebp - 4], edx
sub ecx, esi
mov edi, esi
rol edi, 4
add esi, edx
xor edi, ecx
mov ecx, dword [ebp - 8]
push 0xc
pop eax
sub ecx, eax
add ebx, eax
sub dword [ebp - 0xc], 1
mov dword [ebp - 8], ecx
jne 0x5b8748ec
cmp ecx, eax
ja 0x5b874a1b
jmp dword [ecx*4 + 0x5b874ad2]
movzx eax, byte [ebx + 0xb]
shl eax, 0x18
add edi, eax
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add edi, eax
movzx eax, byte [ebx + 9]
shl eax, 8
add edi, eax
movzx eax, byte [ebx + 8]
add edi, eax
movzx eax, byte [ebx + 7]
shl eax, 0x18
add esi, eax
movzx eax, byte [ebx + 6]
shl eax, 0x10
add esi, eax
movzx eax, byte [ebx + 5]
shl eax, 8
add esi, eax
movzx eax, byte [ebx + 4]
add esi, eax
movzx eax, byte [ebx + 3]
shl eax, 0x18
add edx, eax
movzx eax, byte [ebx + 2]
shl eax, 0x10
add edx, eax
movzx eax, byte [ebx + 1]
shl eax, 8
add edx, eax
movzx eax, byte [ebx]
add edx, eax
mov dword [ebp - 4], edx
xor edi, esi
mov eax, esi
rol eax, 0xe
sub edi, eax
mov eax, edi
mov edx, edi
xor edx, dword [ebp - 4]
rol eax, 0xb
sub edx, eax
xor esi, edx
mov eax, edx
ror eax, 7
sub esi, eax
mov eax, esi
xor edi, esi
rol eax, 0x10
sub edi, eax
mov eax, edi
mov ecx, edi
rol eax, 4
xor ecx, edx
sub ecx, eax
mov eax, ecx
xor esi, ecx
rol eax, 0xe
sub esi, eax
mov eax, esi
xor edi, esi
ror eax, 8
sub edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 4