Function at 0x132fdfc
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x13912f4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push 0x200
mov dword [ebp - 0x4c], edi
call fcn.0108dc98
pop ecx
mov ecx, eax
mov dword [ebp - 0x48], ecx
cmp ecx, edi
jne 0x132fe38
mov dword [ebp - 0x4c], 0x8007000e
jmp 0x1330293
lea eax, [ecx + 0x100]
mov byte [esi + 0x2228], 0xb
mov byte [esi + 0x2229], 0xd
mov byte [esi + 0x222a], 9
mov byte [esi + 0x222b], 0xe
mov byte [ecx], 0
push ebx
lea ecx, [ebp - 0x3c]
mov byte [eax], 1
mov ebx, 0x1032c04
mov eax, ecx
sub ebx, eax
lea eax, [ebp - 0x33]
cmp ecx, eax
jae 0x132fe96
mov al, byte [ebx + ecx]
xor al, byte [edi + 0x1032bec]
push 9
mov byte [ecx], al
lea eax, [edi + 1]
xor edx, edx
pop edi
div edi
inc ecx
lea eax, [ecx + ebx]
mov edi, edx
cmp eax, 0x1032c0d
jb 0x132fe6d
lea eax, [ebp - 0x3c]
push eax
mov byte [ecx], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x3c]
xor edx, edx
lea eax, [ebp - 0x38]
cmp ecx, eax
jae 0x132fecc
mov al, byte [edx + 0x1032bec]
xor byte [ecx], al
lea eax, [edx + 1]
push 9
xor edx, edx
pop edi
div edi
inc ecx
lea eax, [ebp - 0x38]
cmp ecx, eax
jb 0x132feab
cmp dword [ebp - 0x40], 0
mov byte [ecx], 0
mov dword [ebp - 0x44], 0xba1d
je 0x132ff7b
lea ecx, [ebp - 0x20]
mov edi, 0x1032c10
mov eax, ecx
xor edx, edx
sub edi, eax
lea eax, [ebp - 7]
cmp ecx, eax
jae 0x132ff15
mov al, byte [edi + ecx]
xor al, byte [edx + 0x1032bec]
push 9
mov byte [ecx], al
lea eax, [edx + 1]
xor edx, edx
inc ecx
pop ebx
div ebx
lea eax, [edi + ecx]
cmp eax, 0x1032c29
jb 0x132feee
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x40]
mov byte [ecx], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x132ff52
push ebx
push 4
lea eax, [ebp - 0x40]
push eax
push 7
mov dword [ebp - 0x40], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
test eax, eax
jne 0x132ff52
cmp dword [ebp - 0x40], ebx
je 0x132ff52
mov dword [ebp - 0x44], 0xba19
lea ecx, [ebp - 0x20]
xor edx, edx
lea eax, [ebp - 0x1c]
cmp ecx, eax
jae 0x132ff78
mov al, byte [edx + 0x1032bec]
xor byte [ecx], al
lea eax, [edx + 1]
push 9
xor edx, edx
pop edi
div edi
inc ecx
lea eax, [ebp - 0x1c]
cmp ecx, eax
jb 0x132ff57
mov byte [ecx], 0
test byte [ebp - 0x44], 4
jne 0x132ff8c
mov eax, dword [ebp - 0x48]
add eax, 0x100
or byte [eax], 2
mov eax, dword [ebp - 0x48]
add eax, 0x100
lea edx, [eax - 1]
mov dword [ebp - 0x40], eax
sub dword [ebp - 0x40], edx
mov dword [ebp - 0x44], 1
lea ecx, [edx + 1]
mov dl, byte [ecx]
mov al, dl
and al, 0x80
neg al
sbb al, al
and al, 0x1b
mov bl, dl
add bl, bl
xor al, bl
xor al, dl
mov edx, dword [ebp - 0x40]
mov byte [ecx + edx], al
movzx eax, al
mov edi, 0x100
cmp eax, edi
jge 0x13302af
mov bl, byte [ebp - 0x44]
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
inc ecx
mov byte [eax + edx], bl
cmp dword [ebp - 0x44], edi
jb 0x132ffa7
lea ecx, [ebp - 0x20]
mov edi, 0x1032c04
mov eax, ecx
xor edx, edx
sub edi, eax
lea eax, [ebp - 0x17]
cmp ecx, eax
jae 0x1330018
mov al, byte [edi + ecx]
xor al, byte [edx + 0x1032bec]
push 9
mov byte [ecx], al
lea eax, [edx + 1]
xor edx, edx
inc ecx
pop ebx
div ebx
lea eax, [edi + ecx]
cmp eax, 0x1032c0d
jb 0x132fff1
lea eax, [ebp - 0x20]
push eax
mov byte [ecx], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ebx, ebx
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x20]
xor edx, edx
lea eax, [ebp - 0x1c]
cmp ecx, eax
jae 0x1330050
mov al, byte [edx + 0x1032bec]
xor byte [ecx], al
lea eax, [edx + 1]
push 9
xor edx, edx
pop edi
div edi
inc ecx
lea eax, [ebp - 0x1c]
cmp ecx, eax
jb 0x133002f
mov byte [ecx], 0
mov dword [ebp - 0x44], 0xba1d
cmp dword [ebp - 0x40], ebx
je 0x13300fe
lea ecx, [ebp - 0x3c]
mov edi, 0x1032c10
mov eax, ecx
xor edx, edx
sub edi, eax
lea eax, [ebp - 0x23]
cmp ecx, eax
jae 0x1330098
mov al, byte [edi + ecx]
xor al, byte [edx + 0x1032bec]
push 9
mov byte [ecx], al
lea eax, [edx + 1]
xor edx, edx
inc ecx
pop ebx
div ebx
lea eax, [edi + ecx]
cmp eax, 0x1032c29
jb 0x1330071
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x40]
mov byte [ecx], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x13300d5
push ebx
push 4
lea eax, [ebp - 0x40]
push eax
push 7
mov dword [ebp - 0x40], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
test eax, eax
jne 0x13300d5
cmp dword [ebp - 0x40], ebx
je 0x13300d5
mov dword [ebp - 0x44], 0xba19
lea ecx, [ebp - 0x3c]
xor edx, edx
lea eax, [ebp - 0x38]
cmp ecx, eax
jae 0x13300fb
mov al, byte [edx + 0x1032bec]
xor byte [ecx], al
lea eax, [edx + 1]
push 9
xor edx, edx
pop edi
div edi
inc ecx
lea eax, [ebp - 0x38]
cmp ecx, eax
jb 0x13300da
mov byte [ecx], 0
test byte [ebp - 0x44], 4
jne 0x133010b
mov dword [ebp - 0x4c], 0x8004d10b
mov byte [esi + 0x100], 0x63
mov dword [esi + 0x38c], ebx
mov ebx, dword [ebp - 0x48]
lea eax, [esi + 0x100]
inc ebx
sub eax, dword [ebp - 0x48]
mov dword [esi + 0x1200], 0xc66363a5
mov byte [esi + 0x63], 0
mov dword [ebp - 0x40], 1
lea edi, [esi + 0x1205]
mov dword [ebp - 0x54], eax
mov al, byte [ebx]
cmp al, 0xff
ja 0x13302af
movzx ecx, al
mov eax, dword [ebp - 0x48]
add eax, 0x100
sub eax, ecx
movzx eax, byte [eax + 0xff]
mov ecx, eax
mov dword [ebp - 0x44], 4
mov edx, eax
shr edx, 7
add eax, eax
or edx, eax
and edx, 0xff
mov eax, edx
xor ecx, eax
dec dword [ebp - 0x44]
jne 0x133016a
mov eax, dword [ebp - 0x54]
xor ecx, 0x63
mov byte [eax + ebx], cl
mov al, byte [ebp - 0x40]
mov byte [esi + ecx], al
mov eax, ecx
and al, 0x80
neg al
sbb al, al
and al, 0x1b
mov dl, cl
add dl, dl
xor al, dl
mov byte [edi + 2], al
xor al, cl
and dword [ebp - 0x44], 0
mov byte [edi - 1], al
lea eax, [esi + ecx*4 + 0x200]
mov byte [edi], cl
mov byte [edi + 1], cl
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x44]
movzx eax, byte [esi + eax + 0x2228]
mov ecx, dword [ebp - 0x48]
movzx eax, byte [ecx + eax]
movzx ecx, byte [ebx]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
add eax, 0x100
mov al, byte [eax + edx]
mov edx, dword [ebp - 0x44]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
mov byte [ecx + edx], al
jb 0x13301bc
inc dword [ebp - 0x40]
add edi, 4
inc ebx
cmp dword [ebp - 0x40], 0x100
jb 0x1330143
lea eax, [esi + 0x1600]
mov edx, 0x100
mov ecx, dword [eax - 0x400]
mov edi, ecx
rol edi, 0x18
mov dword [eax], edi
mov edi, ecx
rol edi, 0x10
rol ecx, 8
mov dword [eax + 0x400], edi
mov dword [eax + 0x800], ecx
mov ecx, dword [eax - 0x1400]
mov edi, ecx
rol edi, 0x18
mov dword [eax - 0x1000], edi
mov edi, ecx
rol edi, 0x10
rol ecx, 8
mov dword [eax - 0xc00], edi
mov dword [eax - 0x800], ecx
add eax, 4
dec edx
jne 0x1330217
xor ecx, ecx
push 0xa
lea eax, [esi + 0x2200]
inc ecx
pop esi
mov edx, ecx
shl edx, 0x18
mov dword [eax], edx
mov edx, ecx
and dl, 0x80
movzx edx, dl
neg edx
sbb edx, edx
add cl, cl
movzx ecx, cl
and edx, 0x1b
xor ecx, edx
add eax, 4
dec esi
jne 0x133026f
pop ebx
push dword [ebp - 0x48]
call fcn.0108dca7
mov eax, dword [ebp - 0x4c]
pop ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0103e3fb
leave
ret 4
mov dword [ebp - 0x4c], 0xc004d104
jmp 0x1330292