Function at 0x474100
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
je 0x47436c
push edi
mov edi, dword [esp + 0xc]
test edi, edi
je 0x47436b
push ebx
push esi
cmp edi, 0x10
jb 0x474340
mov ebx, edi
shr ebx, 4
push ebp
lea ebx, [ebx]
mov esi, dword [ecx + 4]
movzx ebp, byte [eax]
mov edx, esi
and edx, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 1]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 2]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 3]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 4]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 5]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 6]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 7]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 8]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 9]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xa]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xb]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xc]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xd]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
mov esi, dword [ebp + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xe]
mov ebp, esi
and ebp, 0xff
xor edx, ebp
mov ebp, dword [0x6437dc]
mov edx, dword [ebp + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xf]
mov ebp, edx
and ebp, 0xff
xor esi, ebp
mov ebp, dword [0x6437dc]
shr edx, 8
xor edx, dword [ebp + esi*4]
sub edi, 0x10
add eax, 0x10
sub ebx, 1
mov dword [ecx + 4], edx
jne 0x474130
pop ebp
test edi, edi
je 0x474369
mov edx, dword [ecx + 4]
movzx ebx, byte [eax]
mov esi, edx
and esi, 0xff
xor esi, ebx
mov ebx, dword [0x6437dc]
shr edx, 8
xor edx, dword [ebx + esi*4]
dec edi
inc eax
mov dword [ecx + 4], edx
test edi, edi
jne 0x474344
pop esi
pop ebx
pop edi
ret 8