Function at 0x620410
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, 0x6a00d8
sub eax, 0x80
je 0x620433
sub eax, 0x40
je 0x6204b4
jmp 0x620553
mov ecx, 0xa
mov dword [ebp - 4], 0x68e9c4
mov eax, dword [edx + 0xc]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 4]
xor esi, dword [eax]
mov dword [edx + 0x10], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x10]
mov dword [edx + 0x14], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x18], esi
mov eax, dword [edx + 0xc]
xor eax, dword [edx + 0x18]
mov dword [edx + 0x1c], eax
add edx, 0x10
add dword [ebp - 4], 4
dec ecx
jne 0x62043f
jmp 0x620637
xor ecx, ecx
mov dword [ebp - 8], 0x68e9c4
mov eax, dword [edx + 0x14]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 8]
xor esi, dword [eax]
mov dword [edx + 0x18], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x18]
mov dword [edx + 0x1c], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x20], esi
mov eax, dword [edx + 0xc]
xor eax, dword [edx + 0x20]
mov dword [edx + 0x24], eax
cmp ecx, 7
je 0x620637
mov esi, dword [edx + 0x10]
xor esi, eax
mov dword [edx + 0x28], esi
mov eax, dword [edx + 0x14]
xor eax, dword [edx + 0x28]
mov dword [edx + 0x2c], eax
add edx, 0x18
inc ecx
add dword [ebp - 8], 4
cmp ecx, 8
jne 0x6204bd
jmp 0x620637
xor ecx, ecx
mov dword [ebp - 0xc], 0x68e9c4
mov eax, dword [edx + 0x1c]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 0xc]
xor esi, dword [eax]
mov dword [edx + 0x20], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x20]
mov dword [edx + 0x24], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x28], esi
mov eax, dword [edx + 0xc]
xor eax, dword [edx + 0x28]
mov dword [edx + 0x2c], eax
cmp ecx, 6
je 0x620637
mov esi, 0xff
and esi, eax
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 8
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
shr eax, 0x18
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx + 0x10]
mov dword [edx + 0x30], esi
mov eax, dword [edx + 0x14]
xor eax, dword [edx + 0x30]
mov dword [edx + 0x34], eax
mov esi, dword [edx + 0x18]
xor esi, eax
mov dword [edx + 0x38], esi
mov eax, dword [edx + 0x1c]
xor eax, dword [edx + 0x38]
mov dword [edx + 0x3c], eax
add edx, 0x20
inc ecx
add dword [ebp - 0xc], 4
cmp ecx, 7
jne 0x62055c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret