Function at 0x46e3bd
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 0x46e5f3
dec eax
je 0x46e506
dec eax
jne 0x46e6a2
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 + 0x51f278]
xor eax, esi
movzx edx, byte [edx + 0x51f178]
movzx ecx, byte [eax + 0x51f278]
movzx eax, byte [edi + 8]
xor ecx, eax
movzx eax, byte [edi + 4]
movzx ecx, byte [ecx + 0x51f178]
xor ecx, eax
movzx eax, byte [edi]
movzx ecx, byte [ecx + 0x51f178]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f378]
mov dword [ebx - 8], eax
mov eax, dword [edi + 0xc]
shr eax, 8
movzx eax, al
xor eax, edx
movzx ecx, byte [eax + 0x51f278]
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 + 0x51f278]
xor ecx, eax
mov eax, dword [edi]
shr eax, 8
movzx eax, al
movzx ecx, byte [ecx + 0x51f178]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f778]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 0xe]
xor eax, edx
movzx ecx, byte [eax + 0x51f178]
movzx eax, byte [edi + 0xa]
xor ecx, eax
movzx eax, byte [edi + 6]
movzx ecx, byte [ecx + 0x51f178]
xor ecx, eax
movzx eax, byte [edi + 2]
movzx ecx, byte [ecx + 0x51f278]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51fb78]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 0xf]
xor eax, esi
movzx ecx, byte [eax + 0x51f178]
movzx eax, byte [edi + 0xb]
xor ecx, eax
movzx eax, byte [edi + 7]
movzx ecx, byte [ecx + 0x51f278]
xor ecx, eax
movzx eax, byte [edi + 3]
movzx ecx, byte [ecx + 0x51f278]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51ff78]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x46e3ee
jmp 0x46e6a2
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 + 0x51f278]
xor eax, edx
movzx ecx, byte [eax + 0x51f178]
movzx eax, byte [edi + 4]
xor ecx, eax
movzx eax, byte [edi]
movzx ecx, byte [ecx + 0x51f178]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f378]
mov dword [ebx - 8], eax
mov eax, dword [edi + 8]
shr eax, 8
movzx eax, al
xor eax, edx
movzx edx, byte [esi + 0x51f178]
movzx ecx, byte [eax + 0x51f278]
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 + 0x51f178]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f778]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 0xa]
xor eax, edx
movzx ecx, byte [eax + 0x51f178]
movzx eax, byte [edi + 6]
xor ecx, eax
movzx eax, byte [edi + 2]
movzx ecx, byte [ecx + 0x51f278]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51fb78]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 0xb]
xor eax, edx
movzx ecx, byte [eax + 0x51f278]
movzx eax, byte [edi + 7]
xor ecx, eax
movzx eax, byte [edi + 3]
movzx ecx, byte [ecx + 0x51f278]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51ff78]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x46e514
jmp 0x46e6a2
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 + 0x51f178]
xor eax, esi
movzx edx, byte [edx + 0x51f278]
movzx ecx, byte [eax + 0x51f178]
movzx eax, byte [edi]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f378]
mov dword [ebx - 8], eax
mov eax, dword [edi + 4]
shr eax, 8
movzx eax, al
xor eax, edx
movzx ecx, byte [eax + 0x51f178]
mov eax, dword [edi]
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, dword [ecx*4 + 0x51f778]
mov dword [ebx - 4], eax
movzx eax, byte [edi + 6]
xor eax, esi
movzx ecx, byte [eax + 0x51f278]
movzx eax, byte [edi + 2]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51fb78]
mov dword [ebx], eax
lea ebx, [ebx + 0x10]
movzx eax, byte [edi + 7]
xor eax, edx
movzx ecx, byte [eax + 0x51f278]
movzx eax, byte [edi + 3]
xor ecx, eax
mov eax, dword [ecx*4 + 0x51ff78]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x100
jb 0x46e601
pop edi
pop esi
pop ebx
pop ebp
ret