Function at 0x622c8f90
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x14
mov edi, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax + 4]
mov ecx, edi
movzx edx, cl
mov ecx, edi
shr ecx, 0x18
mov esi, dword [edx*8 + 0x622e6fe0]
mov edx, dword [edx*8 + 0x622e6fe4]
xor esi, dword [ecx*8 + 0x622e87e0]
xor edx, dword [ecx*8 + 0x622e87e4]
movzx ecx, al
xor esi, dword [ecx*8 + 0x622e8fe0]
xor edx, dword [ecx*8 + 0x622e8fe4]
mov ecx, eax
shr ecx, 0x18
xor esi, dword [ecx*8 + 0x622ea7e0]
xor edx, dword [ecx*8 + 0x622ea7e4]
mov ecx, edi
shr edi, 0x10
movzx ecx, ch
xor edx, dword [ecx*8 + 0x622e77e4]
xor esi, dword [ecx*8 + 0x622e77e0]
mov ecx, edx
mov edx, edi
movzx edx, dl
xor ecx, dword [edx*8 + 0x622e7fe4]
xor esi, dword [edx*8 + 0x622e7fe0]
mov edx, ecx
movzx ecx, ah
shr eax, 0x10
movzx eax, al
xor esi, dword [ecx*8 + 0x622e97e0]
xor edx, dword [ecx*8 + 0x622e97e4]
xor esi, dword [eax*8 + 0x622e9fe0]
xor edx, dword [eax*8 + 0x622e9fe4]
mov eax, esi
lea esi, [ebx + 0x80]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], esi
lea esi, [esi]
mov esi, dword [ebx + 4]
mov edx, eax
mov ecx, 4
add ebx, 0x10
ror edx, cl
xor edx, dword [ebx - 0x10]
xor esi, eax
mov edi, edx
and edi, 0x3f
mov ecx, edi
mov edi, esi
and edi, 0x3f
mov ecx, dword [ecx*4 + 0x622db5e0]
xor ecx, dword [edi*4 + 0x622db6e0]
mov edi, edx
shr edi, 8
and edi, 0x3f
xor ecx, dword [edi*4 + 0x622db3e0]
mov edi, edx
shr edx, 0x18
shr edi, 0x10
and edx, 0x3f
and edi, 0x3f
xor ecx, dword [edi*4 + 0x622db1e0]
xor ecx, dword [edx*4 + 0x622dafe0]
mov edx, esi
shr edx, 8
and edx, 0x3f
xor ecx, dword [edx*4 + 0x622db4e0]
mov edx, esi
shr esi, 0x18
shr edx, 0x10
and esi, 0x3f
and edx, 0x3f
xor ecx, dword [edx*4 + 0x622db2e0]
xor ecx, dword [esi*4 + 0x622db0e0]
xor dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x14]
mov ecx, 4
mov edx, edi
ror edx, cl
mov ecx, dword [ebx - 8]
xor edi, dword [ebx - 4]
mov esi, edi
xor ecx, edx
mov edx, ecx
mov edi, ecx
shr edx, 8
and edi, 0x3f
and edx, 0x3f
mov edx, dword [edx*4 + 0x622db3e0]
xor edx, dword [edi*4 + 0x622db5e0]
xor eax, edx
mov edx, ecx
shr ecx, 0x18
shr edx, 0x10
and ecx, 0x3f
and edx, 0x3f
xor eax, dword [edx*4 + 0x622db1e0]
mov edx, esi
xor eax, dword [ecx*4 + 0x622dafe0]
and edx, 0x3f
xor eax, dword [edx*4 + 0x622db6e0]
mov edx, esi
shr edx, 8
and edx, 0x3f
xor eax, dword [edx*4 + 0x622db4e0]
mov edx, esi
shr esi, 0x18
shr edx, 0x10
and esi, 0x3f
and edx, 0x3f
xor eax, dword [edx*4 + 0x622db2e0]
xor eax, dword [esi*4 + 0x622db0e0]
cmp ebx, dword [ebp - 0x18]
jne 0x622c9050
mov esi, dword [ebp - 0x14]
mov ebx, esi
mov edx, esi
shr edx, 0x18
movzx ecx, bl
mov ebx, dword [ecx*8 + 0x622e2fe0]
mov ecx, dword [ecx*8 + 0x622e2fe4]
xor ebx, dword [edx*8 + 0x622e47e0]
xor ecx, dword [edx*8 + 0x622e47e4]
movzx edx, al
xor ebx, dword [edx*8 + 0x622e4fe0]
xor ecx, dword [edx*8 + 0x622e4fe4]
mov edx, eax
shr edx, 0x18
xor ebx, dword [edx*8 + 0x622e67e0]
xor ecx, dword [edx*8 + 0x622e67e4]
mov edx, esi
movzx edx, dh
xor ebx, dword [edx*8 + 0x622e37e0]
xor ecx, dword [edx*8 + 0x622e37e4]
mov edx, esi
shr edx, 0x10
movzx edx, dl
xor ebx, dword [edx*8 + 0x622e3fe0]
xor ecx, dword [edx*8 + 0x622e3fe4]
movzx edx, ah
shr eax, 0x10
movzx eax, al
xor ebx, dword [edx*8 + 0x622e57e0]
xor ecx, dword [edx*8 + 0x622e57e4]
xor ebx, dword [eax*8 + 0x622e5fe0]
xor ecx, dword [eax*8 + 0x622e5fe4]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ecx
add esp, 0x14
pop ebx
pop esi
pop edi
pop ebp
ret