Function at 0x4b01c0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x38
mov eax, dword [0x7c6ee4]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
xorps xmm0, xmm0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
push 1
push esi
mov edi, ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x38], 0
movq qword [esp + 0x39], xmm0
mov dword [esp + 0x41], 0
mov word [esp + 0x45], 0
mov byte [esp + 0x47], 0
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x34], 0xffffffff
call fcn.004b3bb0
push 2
mov ebp, eax
mov ecx, edi
push esi
mov dword [esp + 0x20], ebp
call fcn.004b3bb0
push 3
push esi
mov ecx, edi
mov ebx, eax
call fcn.004b3bb0
mov esi, eax
lea edx, [esp + 0x20]
mov ecx, ebx
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b0266
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b0253
jmp 0x4b02bf
mov edi, ebx
xor edx, edx
sub edi, ebp
nop dword [eax]
lea eax, [edx + ebp]
mov cl, byte [eax + edi]
xor cl, byte [eax]
cmp cl, 0xff
jne 0x4b02b6
mov al, byte [ebx + edx + 1]
xor al, byte [edx + ebp + 1]
cmp al, cl
jne 0x4b02b5
mov al, byte [ebx + edx + 2]
xor al, byte [edx + ebp + 2]
cmp al, cl
jne 0x4b02b0
mov al, byte [ebx + edx + 3]
xor al, byte [edx + ebp + 3]
cmp al, cl
jne 0x4b02ab
add edx, 4
cmp edx, 0x10
jb 0x4b0270
jmp 0x4b02bf
add edx, 3
jmp 0x4b02b6
add edx, 2
jmp 0x4b02b6
inc edx
cmp edx, 0x10
jb 0x4b0504
mov ecx, esi
lea edx, [esp + 0x20]
mov edi, 0xc
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b02e3
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b02d0
jmp 0x4b033f
mov edi, esi
xor edx, edx
sub edi, ebp
nop dword [eax]
lea eax, [edx + ebp]
mov cl, byte [eax + edi]
xor cl, byte [eax]
cmp cl, 0xaa
jne 0x4b0336
mov al, byte [esi + edx + 1]
xor al, byte [edx + ebp + 1]
cmp al, cl
jne 0x4b0335
mov al, byte [esi + edx + 2]
xor al, byte [edx + ebp + 2]
cmp al, cl
jne 0x4b0330
mov al, byte [esi + edx + 3]
xor al, byte [edx + ebp + 3]
cmp al, cl
jne 0x4b032b
add edx, 4
cmp edx, 0x10
jb 0x4b02f0
jmp 0x4b033f
add edx, 3
jmp 0x4b0336
add edx, 2
jmp 0x4b0336
inc edx
cmp edx, 0x10
jb 0x4b0504
mov eax, dword [esp + 0x58]
xor edi, edi
mov dword [esp + 0x14], edi
add eax, 0xfffffff0
je 0x4b0504
mov ebx, dword [esp + 0x54]
mov edx, ebx
lea eax, [ebp + 0xf]
xor esi, esi
lea ecx, [esp + 0x30]
cmp ecx, eax
ja 0x4b0390
lea eax, [esp + 0x3f]
cmp eax, ebp
jb 0x4b0390
mov edi, ebp
mov eax, ecx
sub edi, eax
mov al, byte [edx + esi]
lea ecx, [esp + 0x30]
add ecx, esi
inc esi
xor al, byte [ecx + edi]
mov byte [ecx], al
cmp esi, 0x10
jb 0x4b0373
mov edi, dword [esp + 0x14]
jmp 0x4b03a0
movups xmm1, xmmword [edx]
movups xmm0, xmmword [ebp]
pxor xmm1, xmm0
movups xmmword [esp + 0x30], xmm1
xor ecx, ecx
mov al, byte [esp + ecx + 0x30]
cmp al, byte [esp + ecx + 0x38]
jne 0x4b03b4
inc ecx
cmp ecx, 8
jb 0x4b03a2
jmp 0x4b03bd
cmp ecx, 8
jb 0x4b04ef
mov eax, dword [esp + 0x58]
sub eax, edi
sub eax, 0x10
cmp eax, 0x10
jb 0x4b04ef
lea ebp, [ebx + 0x10]
add ebp, edi
lea ebx, [eax - 0x10]
xor edi, edi
test ebx, ebx
je 0x4b04e3
mov al, byte [edx]
lea esi, [ebp + 2]
cmp byte [esi - 2], al
jne 0x4b0536
mov ecx, 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esi + ecx - 2]
cmp al, byte [edx + ecx]
jne 0x4b052b
mov al, byte [esi + ecx - 1]
cmp al, byte [edx + ecx + 1]
jne 0x4b052a
mov al, byte [esi + ecx]
cmp al, byte [edx + ecx + 2]
jne 0x4b0525
mov al, byte [esi + ecx + 1]
cmp al, byte [edx + ecx + 3]
jne 0x4b0520
mov al, byte [esi + ecx + 2]
cmp al, byte [edx + ecx + 4]
jne 0x4b051b
add ecx, 5
cmp ecx, 0x10
jb 0x4b0400
mov ebx, dword [esp + 0x54]
lea ecx, [edi + ebp]
test ecx, ecx
je 0x4b04e7
mov eax, ecx
sub eax, ebx
sub eax, 0x10
cmp eax, 0x10
jb 0x4b04e7
lea ebx, [eax - 0x10]
xor edi, edi
lea ebp, [ecx + 0x10]
test ebx, ebx
je 0x4b04e3
mov ch, byte [edx]
lea esi, [ebp + 2]
nop dword [eax]
cmp byte [esi - 2], ch
jne 0x4b0557
mov eax, 1
nop
mov cl, byte [esi + eax - 2]
cmp cl, byte [edx + eax]
jne 0x4b0552
mov cl, byte [esi + eax - 1]
cmp cl, byte [edx + eax + 1]
jne 0x4b0551
mov cl, byte [esi + eax]
cmp cl, byte [edx + eax + 2]
jne 0x4b054c
mov cl, byte [esi + eax + 1]
cmp cl, byte [edx + eax + 3]
jne 0x4b0547
mov cl, byte [esi + eax + 2]
cmp cl, byte [edx + eax + 4]
jne 0x4b0542
add eax, 5
cmp eax, 0x10
jb 0x4b0490
lea eax, [edi + ebp]
test eax, eax
jne 0x4b0563
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
inc edi
add eax, 0xfffffff0
mov dword [esp + 0x14], edi
inc edx
cmp edi, eax
jb 0x4b0358
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0050b38b
add esp, 0x38
ret 0x14
add ecx, 4
jmp 0x4b052b
add ecx, 3
jmp 0x4b052b
add ecx, 2
jmp 0x4b052b
inc ecx
cmp ecx, 0x10
jae 0x4b044c
mov al, byte [edx]
inc edi
inc esi
cmp edi, ebx
jb 0x4b03e6
jmp 0x4b04e3
add eax, 4
jmp 0x4b0552
add eax, 3
jmp 0x4b0552
add eax, 2
jmp 0x4b0552
inc eax
cmp eax, 0x10
jae 0x4b04d8
inc edi
inc esi
cmp edi, ebx
jb 0x4b0480
jmp 0x4b04e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
movups xmm0, xmmword [eax + ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
pop ebx
xor ecx, esp
movups xmmword [eax], xmm0
mov al, 1
call fcn.0050b38b
add esp, 0x38
ret 0x14