Function at 0x424760
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x24
mov dword [esp + 0x18], edx
mov ebp, eax
cmp edx, 0xf
jbe 0x424da0
mov esi, 0xdeedbeef
xor edi, edi
mov eax, 0x10
sub eax, ebp
mov dword [esp + 0x1c], eax
lea esi, [esi]
nop
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
xor ecx, 0xc47d124f
xor ebx, 0x1d8e4e27
mov eax, dword [ebp + 8]
xor edx, edx
xor eax, 0x75374cc3
xor edx, 0x589965cc
mov dword [esp], ecx
imul ebx, eax
mov dword [esp + 8], eax
mov ecx, dword [esp]
imul edx, ecx
add ebx, edx
mov eax, dword [esp + 8]
mul ecx
mov dword [esp], eax
mov dword [esp + 4], edx
add dword [esp + 4], ebx
mov ecx, dword [ebp + 4]
xor ebx, ebx
xor ecx, 0x9c88c6e3
xor ebx, 0x8ebc6af0
mov eax, dword [ebp]
xor edx, edx
xor eax, 0xa0b428db
xor edx, 0xe7037ed1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
imul ebx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 8]
imul edx, ecx
add ebx, edx
mov eax, dword [esp + 0x10]
mul ecx
add edx, ebx
mov ecx, eax
mov ebx, edx
mov ecx, ebx
xor ebx, ebx
sub eax, ecx
sbb edx, ebx
add esi, eax
adc edi, edx
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov ecx, eax
mov ebx, edx
mov ecx, ebx
xor ebx, ebx
sub eax, ecx
sbb edx, ebx
mov ecx, edi
imul ecx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
imul edx, esi
add ecx, edx
mov eax, dword [esp]
mul esi
add edx, ecx
mov ecx, eax
mov ebx, edx
mov ecx, ebx
xor ebx, ebx
sub eax, ecx
sbb edx, ebx
mov esi, eax
mov edi, edx
add ebp, 0x10
mov eax, dword [esp + 0x1c]
add eax, ebp
cmp dword [esp + 0x18], eax
jae case.default.0x42488a
add esi, 0xb455d165
adc edi, 0xeb44acca
mov eax, dword [esp + 0x18]
and eax, 0xf
jmp dword [eax*4 + 0x46a1a8]
xor ecx, ecx
mov cl, byte [ebp]
xor ebx, ebx
xor ecx, 0xa0b428db
xor ebx, 0xe7037ed1
mov eax, esi
mov edx, edi
xor eax, 0x9c88c6e3
xor edx, 0x8ebc6af0
mov edi, eax
mov ebp, edx
mov edx, ebx
imul ebx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov edx, ecx
imul edx, ebp
add ebx, edx
mov eax, dword [esp]
mul edi
add edx, ebx
mov ecx, eax
mov ebx, edx
mov ecx, ebx
xor ebx, ebx
sub eax, ecx
sbb edx, ebx
mov esi, eax
mov edi, edx
mov ecx, esi
mov ebx, edi
shld ebx, ecx, 0x10
shl ecx, 0x10
xor ecx, esi
xor ebx, edi
mov eax, dword [esp + 0x18]
xor edx, edx
xor eax, 0x78bd642f
xor edx, 0xa0761d64
mov esi, edx
imul edx, ecx
mov dword [esp], eax
mov dword [esp + 4], esi
imul eax, ebx
mov ebx, eax
add ebx, edx
mov eax, dword [esp]
mul ecx
lea ecx, [ebx + edx]
mov edx, ecx
lea ebx, [eax + eax]
mov esi, eax
lea edi, [ecx + ebx]
shrd eax, edx, 0x1f
shr edx, 0x1f
mov ecx, eax
mov ebx, edx
mov eax, esi
mov edx, edi
sub eax, ecx
sbb edx, ebx
add esp, 0x24
pop ebx
pop esi
pop edi
pop ebp
ret
xor ecx, ecx
mov cx, word [ebp]
xor ebx, ebx
xor ecx, 0xc47d124f
xor ebx, 0x1d8e4e27
mov eax, esi
mov edx, edi
xor eax, 0x75374cc3
xor edx, 0x589965cc
jmp 0x4248b3
xor eax, eax
mov al, byte [ebp + 2]
xor edx, edx
xor eax, 0x9c88c6e3
xor edx, 0x8ebc6af0
xor ecx, ecx
mov cx, word [ebp]
lea esi, [esi]
xor ebx, ebx
xor ecx, esi
xor ebx, edi
mov edi, ecx
mov ebp, ebx
mov ebx, edx
mov esi, edx
imul esi, ecx
mov edx, ebp
mov dword [esp], eax
mov dword [esp + 4], ebx
imul edx, eax
lea ebx, [esi + edx]
jmp 0x4248ca
xor eax, eax
mov ax, word [ebp + 2]
xor edx, edx
xor eax, 0x75374cc3
xor edx, 0x589965cc
xor ecx, ecx
mov cx, word [ebp]
jmp 0x424a40
mov esi, 0x93439054
mov edi, 0xeb44accb
jmp 0x424883