Function at 0x48b2e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
mov edi, edi
push esi
push edi
mov edi, ecx
mov dword [esp - 0x40], 0x25abc918
xor eax, eax
lea ebx, [ebx]
xor byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN], 0xe
inc eax
mov dword [esp - 0x18], edi
cmp eax, 0x100
jb 0x48b2fa
mov edx, dword [edi]
xor ecx, ecx
mov dword [esp - 0x18], 0x1a74fce5
mov esi, edx
movzx eax, byte [esi]
inc esi
cmp byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN], 0x3f
xchg ecx, ecx
ja 0x48b334
mov eax, ecx
inc ecx
cmp eax, dword [edi + 4]
xchg edi, edi
jb 0x48b31b
sub esi, edx
dec esi
mov dword [esp - 0x34], 0x51dd381b
lea eax, [esi + 3]
shr eax, 2
lea eax, [eax + eax*2]
mov dword [esp - 0x18], esi
inc eax
push eax
call fcn.0048b720
mov ebx, dword [ebp + 8]
xchg edi, edi
mov edx, eax
add esp, 4
mov dword [ebx], edx
xchg ebx, ebx
mov edi, dword [edi]
cmp esi, 4
jbe 0x48b40e
xchg ebx, ebx
lea ebx, [esi - 5]
shr ebx, 2
inc ebx
jmp 0x48b380
movzx eax, byte [edi + 1]
sub esi, 4
mov dword [esp - 0x38], 0x20704f4c
movzx ecx, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
movzx eax, byte [edi]
shr cl, 4
mov edi, edi
movzx eax, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
shl al, 2
or cl, al
mov byte [edx], cl
mov dword [esp - 0x2c], 0x47108519
movzx eax, byte [edi + 1]
movzx ecx, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
movzx eax, byte [edi + 2]
shl cl, 4
xchg esp, esp
movzx eax, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
shr al, 2
or cl, al
mov esi, esi
mov byte [edx + 1], cl
movzx eax, byte [edi + 2]
movzx ecx, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
movzx eax, byte [edi + 3]
xchg ebx, ebx
add edi, 4
shl cl, 6
or cl, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
mov byte [edx + 2], cl
mov dword [esp - 0x40], edx
add edx, 3
sub ebx, 1
jne 0x48b380
mov esp, esp
mov ebx, dword [ebp + 8]
cmp esi, 1
jbe 0x48b48a
movzx eax, byte [edi + 1]
mov dword [esp - 0x2c], ebp
mov cl, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
movzx eax, byte [edi]
shr cl, 4
mov al, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
mov edi, edi
shl al, 2
or cl, al
mov byte [edx], cl
inc edx
mov dword [esp - 0x2c], ebp
cmp esi, 2
jbe 0x48b48a
movzx eax, byte [edi + 1]
mov cl, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
xchg esp, esp
movzx eax, byte [edi + 2]
shl cl, 4
mov al, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
shr al, 2
mov ebp, ebp
or cl, al
mov byte [edx], cl
inc edx
cmp esi, 3
mov esp, esp
jbe 0x48b48a
movzx eax, byte [edi + 2]
movzx ecx, byte [edi + 3]
mov al, byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
xchg esp, esp
shl al, 6
or al, byte [ecx + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN]
mov byte [edx], al
mov dword [esp - 0x20], ebp
inc edx
mov byte [edx], 0x54
sub byte [edx], 0xd
xchg esp, esp
xor byte [edx], 0x2a
add byte [edx], 2
sub byte [edx], 0x53
xchg ebx, ebx
sub byte [edx], 0x1c
inc edx
xor eax, eax
jmp 0x48b4ab
xor byte [eax + str.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0NNN1:_89674523NNNNNNN], 0xe
inc eax
cmp eax, 0x100
mov dword [esp - 0x24], 0x2fd01eb9
jb 0x48b4ab
sub edx, dword [ebx]
pop edi
mov dword [esp - 0x28], ebp
pop esi
mov eax, edx
pop ebx
pop ebp
xchg edi, edi
ret 4