Function at 0x4eef90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ebx, ecx
mov eax, dword [ebp + 8]
add eax, edx
add eax, 0xdeadbeef
test bl, 3
je 0x4ef022
test bl, 1
jne 0x4ef091
cmp edx, 0xd
jb 0x4ef185
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x10], ebx
add ecx, dword [ebx]
add esi, dword [ebx + 4]
add eax, dword [ebx + 8]
sub ecx, eax
mov edi, eax
rol edi, 4
xor edi, ecx
add eax, esi
sub esi, edi
mov ebx, edi
rol ebx, 6
xor ebx, esi
add edi, eax
sub eax, ebx
mov esi, ebx
rol esi, 8
xor esi, eax
add ebx, edi
mov ecx, esi
rol ecx, 0x10
sub edi, esi
xor ecx, edi
add esi, ebx
sub ebx, ecx
mov edi, ecx
rol edi, 0x13
xor edi, ebx
mov ebx, dword [ebp - 0x10]
add ecx, esi
sub esi, edi
mov eax, edi
rol eax, 4
xor eax, esi
mov esi, edi
add esi, ecx
add edx, 0xfffffff4
add ebx, 0xc
cmp edx, 0xc
ja 0x4eefc0
jmp 0x4ef189
cmp edx, 0xd
jb 0x4ef163
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x10], ebx
add ecx, dword [ebx]
add esi, dword [ebx + 4]
add eax, dword [ebx + 8]
sub ecx, eax
mov ebx, esi
mov esi, eax
rol esi, 4
xor esi, ecx
add eax, ebx
sub ebx, esi
mov edi, esi
rol edi, 6
xor edi, ebx
add esi, eax
sub eax, edi
mov ebx, edi
rol ebx, 8
xor ebx, eax
add edi, esi
mov ecx, ebx
rol ecx, 0x10
sub esi, ebx
xor ecx, esi
add ebx, edi
sub edi, ecx
mov esi, ecx
rol esi, 0x13
xor esi, edi
add ecx, ebx
sub ebx, esi
mov eax, esi
rol eax, 4
xor eax, ebx
mov ebx, dword [ebp - 0x10]
add esi, ecx
add edx, 0xfffffff4
add ebx, 0xc
cmp edx, 0xc
ja 0x4ef02f
jmp 0x4ef167
cmp edx, 0xd
jb 0x4ef1a9
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], ebx
movzx esi, byte [ebx]
add esi, ecx
movzx edx, byte [ebx + 1]
shl edx, 8
add edx, esi
movzx esi, byte [ebx + 2]
shl esi, 0x10
add esi, edx
movzx edi, byte [ebx + 3]
shl edi, 0x18
add edi, esi
movzx edx, byte [ebx + 4]
add edx, dword [ebp - 0x14]
movzx ecx, byte [ebx + 5]
shl ecx, 8
add ecx, edx
movzx edx, byte [ebx + 6]
shl edx, 0x10
add edx, ecx
movzx esi, byte [ebx + 7]
shl esi, 0x18
add esi, edx
movzx ecx, byte [ebx + 8]
add ecx, eax
movzx edx, byte [ebx + 9]
shl edx, 8
add edx, ecx
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add eax, edx
movzx ecx, byte [ebx + 0xb]
shl ecx, 0x18
add ecx, eax
sub edi, ecx
mov eax, ecx
rol eax, 4
xor eax, edi
add ecx, esi
sub esi, eax
mov ebx, eax
rol ebx, 6
xor ebx, esi
mov edx, dword [ebp - 0x18]
add eax, ecx
sub ecx, ebx
mov edi, ebx
rol edi, 8
xor edi, ecx
add ebx, eax
mov ecx, edi
rol ecx, 0x10
sub eax, edi
xor ecx, eax
add edi, ebx
sub ebx, ecx
mov esi, ecx
rol esi, 0x13
xor esi, ebx
mov ebx, dword [ebp - 0x10]
add ecx, edi
sub edi, esi
mov eax, esi
rol eax, 4
xor eax, edi
add esi, ecx
add edx, 0xfffffff4
add ebx, 0xc
cmp edx, 0xc
ja 0x4ef09e
jmp 0x4ef1ad
mov ecx, eax
mov esi, eax
cmp edx, 0xc
ja case.default.0x4ef172
mov edi, esi
jmp dword [edx*4 + 0x51ae18]
mov esi, 0xffffff
and esi, dword [ebx]
jmp 0x4ef21b
mov ecx, eax
mov esi, eax
cmp edx, 0xc
ja case.default.0x4ef172
mov edi, esi
jmp dword [edx*4 + 0x51ade4]
movzx esi, byte [ebx + 2]
shl esi, 0x10
add ecx, esi
movzx esi, word [ebx]
jmp 0x4ef21b
mov ecx, eax
mov esi, eax
cmp edx, 0xc
ja case.default.0x4ef172
mov edi, esi
jmp dword [edx*4 + 0x51adb0]
movzx esi, byte [ebx + 0xb]
shl esi, 0x18
add eax, esi
movzx esi, byte [ebx + 0xa]
shl esi, 0x10
add eax, esi
movzx esi, byte [ebx + 9]
shl esi, 8
add eax, esi
movzx esi, byte [ebx + 8]
add eax, esi
movzx esi, byte [ebx + 7]
shl esi, 0x18
add edi, esi
movzx esi, byte [ebx + 6]
shl esi, 0x10
add edi, esi
movzx esi, byte [ebx + 5]
shl esi, 8
add edi, esi
movzx esi, byte [ebx + 4]
add edi, esi
movzx esi, byte [ebx + 3]
shl esi, 0x18
add ecx, esi
movzx esi, byte [ebx + 2]
shl esi, 0x10
add ecx, esi
movzx esi, byte [ebx + 1]
shl esi, 8
add ecx, esi
movzx esi, byte [ebx]
add ecx, esi
mov esi, edi
xor eax, esi
mov edx, esi
rol esi, 0xe
sub eax, esi
xor ecx, eax
mov esi, eax
rol esi, 0xb
sub ecx, esi
xor edx, ecx
mov esi, ecx
rol esi, 0x19
sub edx, esi
xor eax, edx
mov esi, edx
rol esi, 0x10
sub eax, esi
xor ecx, eax
mov esi, eax
rol esi, 4
sub ecx, esi
xor edx, ecx
rol ecx, 0xe
sub edx, ecx
xor eax, edx
rol edx, 0x18
sub eax, edx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
movzx esi, byte [ebx + 8]
jmp 0x4ef2b1
add eax, dword [ebx + 8]
jmp case.0x4ef172.8
movzx esi, byte [ebx + 4]
jmp 0x4ef29e
mov esi, 0xffffff
and esi, dword [ebx + 4]
jmp 0x4ef29e
mov esi, 0xffffff
and esi, dword [ebx + 8]
jmp 0x4ef2b1
movzx esi, byte [ebx + 4]
add edi, esi
add ecx, dword [ebx]
jmp 0x4ef21d
movzx esi, byte [ebx + 6]
shl esi, 0x10
add edi, esi
movzx esi, word [ebx + 4]
add edi, esi
mov esi, edi
jmp 0x4ef2b8
movzx esi, byte [ebx + 0xa]
shl esi, 0x10
add eax, esi
movzx esi, word [ebx + 8]
add eax, esi
mov esi, edi
add esi, dword [ebx + 4]
add ecx, dword [ebx]
jmp case.default.0x4ef172