Function at 0x437c46
Capabilities:
Encrypt data using xtea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov eax, dword [ebp + 0x10]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 0x10
or edx, eax
mov eax, dword [ebp + 0x10]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0x10]
add eax, 3
movzx eax, byte [eax]
movzx eax, al
or eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
add eax, 4
movzx eax, byte [eax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov eax, dword [ebp + 0x10]
add eax, 5
movzx eax, byte [eax]
movzx eax, al
shl eax, 0x10
or edx, eax
mov eax, dword [ebp + 0x10]
add eax, 6
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0x10]
add eax, 7
movzx eax, byte [eax]
movzx eax, al
or eax, edx
mov dword [ebp - 8], eax
cmp dword [ebp + 0xc], 1
jne 0x437d78
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x20], 0x9e3779b9
mov dword [ebp - 0xc], 0
jmp 0x437d6d
mov eax, dword [ebp - 8]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 8]
shr eax, 5
xor edx, eax
mov eax, dword [ebp - 8]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x10]
and eax, 3
lea edx, [eax*4]
mov eax, dword [ebp - 0x18]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
xor eax, ecx
add dword [ebp - 4], eax
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 4]
shr eax, 5
xor edx, eax
mov eax, dword [ebp - 4]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x10]
shr eax, 0xb
and eax, 3
lea edx, [eax*4]
mov eax, dword [ebp - 0x18]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
xor eax, ecx
add dword [ebp - 8], eax
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x1f
jbe 0x437cf8
jmp 0x437e0c
mov dword [ebp - 0x1c], 0x9e3779b9
mov eax, dword [ebp - 0x1c]
shl eax, 5
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0
jmp 0x437e06
mov eax, dword [ebp - 4]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 4]
shr eax, 5
xor edx, eax
mov eax, dword [ebp - 4]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x14]
shr eax, 0xb
and eax, 3
lea edx, [eax*4]
mov eax, dword [ebp - 0x18]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
xor eax, ecx
sub dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
sub dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 8]
shr eax, 5
xor edx, eax
mov eax, dword [ebp - 8]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x14]
and eax, 3
lea edx, [eax*4]
mov eax, dword [ebp - 0x18]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
xor eax, ecx
sub dword [ebp - 4], eax
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x1f
jbe 0x437d91
mov eax, dword [ebp - 4]
shr eax, 0x18
mov edx, eax
mov eax, dword [ebp + 0x14]
mov byte [eax], dl
mov eax, dword [ebp - 4]
shr eax, 0x10
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 1
mov byte [eax], dl
mov eax, dword [ebp - 4]
shr eax, 8
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 2
mov byte [eax], dl
mov eax, dword [ebp + 0x14]
add eax, 3
mov edx, dword [ebp - 4]
mov byte [eax], dl
mov eax, dword [ebp - 8]
shr eax, 0x18
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 4
mov byte [eax], dl
mov eax, dword [ebp - 8]
shr eax, 0x10
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 5
mov byte [eax], dl
mov eax, dword [ebp - 8]
shr eax, 8
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 6
mov byte [eax], dl
mov eax, dword [ebp + 0x14]
add eax, 7
mov edx, dword [ebp - 8]
mov byte [eax], dl
mov eax, 0
leave
ret