Function at 0x48dff0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, dword [esp + 0x10]
push ebp
push edi
call fcn.00495b60
mov esi, dword [esp + 0x1c]
sub esp, 0xfffffffc
test esi, esi
je 0x48e1fa
mov al, byte [edi + 1]
and al, 0xf
cmp al, 0xf
je 0x48e01f
mov ax, 0x1d02
pop ebp
pop edi
pop esi
pop ebx
ret
mov ecx, dword [esp + 0x1c]
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x48e02f
jmp dword [eax*4 + 0x48e284]
xor eax, eax
mov dl, byte [eax + edi + 8]
mov byte [eax + edi], dl
inc eax
cmp eax, 0x40
jb 0x48e038
push edi
push esi
call fcn.0048ce90
sub esp, 0xfffffff8
xor eax, eax
mov cl, byte [eax + edi + 0x10]
mov dl, byte [eax + edi]
xor dl, cl
mov byte [eax + edi], dl
inc eax
cmp eax, 0x10
jb 0x48e051
lea ebp, [edi + 0x10]
push ebp
push esi
call fcn.0048ce90
mov ecx, 0xfffffff0
add esp, 8
mov eax, ebp
sub ecx, edi
mov dl, byte [eax + 0x10]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [ecx + eax]
cmp edx, 0x10
jb 0x48e079
lea ebp, [edi + 0x20]
push ebp
push esi
call fcn.0048ce90
sub esp, 0xfffffff8
mov eax, ebp
mov ecx, 0xffffffe0
sub ecx, edi
mov dl, byte [eax + 0x10]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [ecx + eax]
cmp edx, 0x10
jb 0x48e0a1
lea eax, [edi + 0x30]
push eax
push esi
call fcn.0048ce90
add esp, 8
mov cl, byte [edi + 6]
mov al, byte [edi + 0x3e]
cmp cl, al
jne 0x48e0d8
mov dl, byte [edi + 7]
mov al, byte [edi + 0x3f]
cmp dl, al
je 0x48e1fa
pop ebp
mov ax, 0x1d02
pop edi
pop esi
pop ebx
ret
xor eax, eax
mov cl, byte [eax + edi + 8]
mov byte [eax + edi], cl
inc eax
cmp eax, 0x30
jb 0x48e0e3
push edi
push esi
call fcn.0048ce90
sub esp, 0xfffffff8
xor eax, eax
mov dl, byte [eax + edi + 0x10]
mov bl, byte [eax + edi]
xor bl, dl
mov byte [eax + edi], bl
inc eax
cmp eax, 0x10
jb 0x48e0fc
lea ebp, [edi + 0x10]
push ebp
push esi
call fcn.0048ce90
mov ecx, 0xfffffff0
add esp, 8
mov eax, ebp
sub ecx, edi
mov bl, byte [eax]
mov dl, byte [eax + 0x10]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [eax + ecx]
cmp edx, 0x10
jb 0x48e124
lea eax, [edi + 0x20]
push eax
push esi
call fcn.0048ce90
add esp, 8
mov al, byte [edi + 0x2e]
mov cl, byte [edi + 6]
cmp cl, al
jne 0x48e15b
mov dl, byte [edi + 7]
mov al, byte [edi + 0x2f]
cmp dl, al
je 0x48e1fa
mov ax, 0x1d02
pop ebp
pop edi
pop esi
pop ebx
ret
xor eax, eax
mov cl, byte [eax + edi + 8]
mov byte [eax + edi], cl
inc eax
cmp eax, 0x20
jb 0x48e166
push edi
push esi
call fcn.0048ce90
sub esp, 0xfffffff8
xor eax, eax
mov bl, byte [eax + edi]
mov dl, byte [eax + edi + 0x10]
xor bl, dl
mov byte [eax + edi], bl
inc eax
cmp eax, 0x10
jb 0x48e17f
lea eax, [edi + 0x10]
push eax
push esi
call fcn.0048ce90
add esp, 8
mov cl, byte [edi + 6]
mov al, byte [edi + 0x1e]
cmp cl, al
jne 0x48e1b2
mov dl, byte [edi + 7]
mov al, byte [edi + 0x1f]
cmp dl, al
je 0x48e1fa
mov ax, 0x1d02
pop ebp
pop edi
pop esi
pop ebx
ret
xor eax, eax
mov cl, byte [eax + edi + 8]
mov byte [eax + edi], cl
inc eax
cmp eax, 0x10
jb 0x48e1bd
push edi
push esi
call fcn.0048ce90
mov dl, byte [edi + 6]
sub esp, 0xfffffff8
mov al, byte [edi + 0xe]
cmp dl, al
jne case.0x48e236.4
mov al, byte [edi + 7]
mov cl, byte [edi + 0xf]
cmp al, cl
je 0x48e1fa
pop ebp
pop edi
pop esi
pop ebx
mov ax, 0x1d02
ret
mov ax, 0x1d10
pop ebp
pop edi
pop esi
pop ebx
ret
mov dl, byte [edi + 5]
mov al, byte [edi + 4]
xor ecx, ecx
mov cl, byte [edi + 1]
mov ebx, ecx
add ecx, eax
mov al, byte [edi + 3]
add edx, ecx
add edx, eax
mov cl, byte [edi + 2]
add ecx, edx
xor edx, edx
and ecx, 0xff
mov dl, byte [edi]
xor ecx, edx
je 0x48e22c
pop ebp
mov ax, 0x1d0d
pop edi
pop esi
pop ebx
ret
mov eax, ebx
and eax, 0xf
cmp eax, 7
ja case.default.0x48e236
jmp dword [eax*4 + 0x48e294]
pop ebp
xor ax, ax
pop edi
pop esi
pop ebx
ret
pop ebp
mov ax, 0x1d41
pop edi
pop esi
pop ebx
ret
mov ax, 0x1d04
pop ebp
pop edi
pop esi
pop ebx
ret
pop ebp
mov ax, 0x1d0a
pop edi
pop esi
pop ebx
ret
mov ax, 0x1d15
pop ebp
pop edi
pop esi
pop ebx
ret
pop ebp
pop edi
pop esi
pop ebx
mov ax, 0x1d42
ret
mov ax, 0x1d3f
pop ebp
pop edi
pop esi
pop ebx
ret
pop ebp
mov ax, 0x1dff
pop edi
pop esi
pop ebx
ret