Function at 0x4746bf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx + 0x10b0]
dec eax
dec eax
je 0x4748f5
dec eax
je 0x474808
dec eax
jne 0x4749a4
mov edi, dword [ebp + 0xc]
lea ebx, [ecx + 0xb8]
mov dword [ebp + 8], eax
movzx edx, al
movzx eax, byte [edi + 0xc]
movzx esi, byte [edx + 0x5284a0]
xor eax, esi
movzx edx, byte [edx + 0x5283a0]
movzx ecx, byte [eax + 0x5284a0]
movzx eax, byte [edi + 8]
xor ecx, eax
movzx eax, byte [edi + 4]
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
movzx eax, byte [edi]
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5285a0]
mov dword [ebx - 8], eax
mov eax, dword [edi + 0xc]
shr eax, 8
movzx eax, al
xor eax, edx
movzx ecx, byte [eax + 0x5284a0]
mov eax, dword [edi + 8]
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, dword [edi + 4]
shr eax, 8
movzx eax, al
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
mov eax, dword [edi]
shr eax, 8
movzx eax, al
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5289a0]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 0xe]
xor eax, edx
movzx ecx, byte [eax + 0x5283a0]
movzx eax, byte [edi + 0xa]
xor ecx, eax
movzx eax, byte [edi + 6]
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
movzx eax, byte [edi + 2]
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x528da0]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 0xf]
xor eax, esi
movzx ecx, byte [eax + 0x5283a0]
movzx eax, byte [edi + 0xb]
xor ecx, eax
movzx eax, byte [edi + 7]
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
movzx eax, byte [edi + 3]
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5291a0]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x4746f0
jmp 0x4749a4
mov edi, dword [ebp + 0xc]
lea ebx, [ecx + 0xb8]
xor eax, eax
mov dword [ebp + 8], eax
movzx esi, al
movzx eax, byte [edi + 8]
movzx edx, byte [esi + 0x5284a0]
xor eax, edx
movzx ecx, byte [eax + 0x5283a0]
movzx eax, byte [edi + 4]
xor ecx, eax
movzx eax, byte [edi]
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5285a0]
mov dword [ebx - 8], eax
mov eax, dword [edi + 8]
shr eax, 8
movzx eax, al
xor eax, edx
movzx edx, byte [esi + 0x5283a0]
movzx ecx, byte [eax + 0x5284a0]
mov eax, dword [edi + 4]
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, dword [edi]
shr eax, 8
movzx eax, al
movzx ecx, byte [ecx + 0x5283a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5289a0]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 0xa]
xor eax, edx
movzx ecx, byte [eax + 0x5283a0]
movzx eax, byte [edi + 6]
xor ecx, eax
movzx eax, byte [edi + 2]
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x528da0]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 0xb]
xor eax, edx
movzx ecx, byte [eax + 0x5284a0]
movzx eax, byte [edi + 7]
xor ecx, eax
movzx eax, byte [edi + 3]
movzx ecx, byte [ecx + 0x5284a0]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5291a0]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x474816
jmp 0x4749a4
mov edi, dword [ebp + 0xc]
lea ebx, [ecx + 0xb8]
xor eax, eax
mov dword [ebp + 8], eax
movzx edx, al
movzx eax, byte [edi + 4]
movzx esi, byte [edx + 0x5283a0]
xor eax, esi
movzx edx, byte [edx + 0x5284a0]
movzx ecx, byte [eax + 0x5283a0]
movzx eax, byte [edi]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5285a0]
mov dword [ebx - 8], eax
mov eax, dword [edi + 4]
shr eax, 8
movzx eax, al
xor eax, edx
movzx ecx, byte [eax + 0x5283a0]
mov eax, dword [edi]
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, dword [ecx*4 + 0x5289a0]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 6]
xor eax, esi
movzx ecx, byte [eax + 0x5284a0]
movzx eax, byte [edi + 2]
xor ecx, eax
mov eax, dword [ecx*4 + 0x528da0]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 7]
xor eax, edx
movzx ecx, byte [eax + 0x5284a0]
movzx eax, byte [edi + 3]
xor ecx, eax
mov eax, dword [ecx*4 + 0x5291a0]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x474903
pop edi
pop esi
pop ebx
pop ebp
ret