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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
and dword [ebp - 8], 0
xor ecx, ecx
mov edx, dword [0x44a2fc]
push esi
push edi
mov esi, 0x401d20
mov dword [ebp - 0x34], 0x128f4751
lea edi, [ebp - 0x44]
mov dword [ebp - 0x30], 0x59553787
mov dword [ebp - 0x2c], 0xdc6a2dbc
mov dword [ebp - 0x28], 0x3b32cab8
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0xb6c4280
mov dword [ebp - 0x20], 0x3908af2b
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [0x44a300]
mov dword [ebp - 0xc], edi
push 0x54
mov esi, 0x401f00
pop eax
add eax, 0xffffffd0
cmp ax, 9
ja 0x410246
mov edi, dword [ebp - 0xc]
add esi, 2
movzx eax, word [esi]
mov dword [ebp - 0x14], eax
test ax, ax
jne 0x41022a
jmp 0x41024c
lea edx, [edi - 0x64383a9a]
xor edx, 0xfbfe321b
push ecx
call fcn.0040cec2
add esp, 4
mov byte [ebp + ecx - 0x160], cl
inc ecx
cmp ecx, 0x100
jb 0x410222
imul esi, edx, 0xa7347d2d
xor edi, edi
xor edx, edx
mov dword [ebp - 0x14], 0xc
mov eax, edi
mov cl, byte [ebp + edi - 0x160]
div dword [ebp - 0x14]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x44]
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov ecx, 0x44a350
mov dword [ebp - 8], eax
mov al, byte [0x44a350]
jmp 0x4102b3
sub al, 0x30
cmp al, 9
ja 0x4102b9
inc ecx
mov al, byte [ecx]
test al, al
jne 0x4102aa
jmp 0x4102c2
imul eax, esi, 0xe500c020
mov dword [ebp - 0xc], eax
imul esi, esi, 0x9f5d45c6
call fcn.0040cdc6
mov ecx, dword [ebp - 8]
mov al, byte [ebp + ecx - 0x160]
mov byte [ebp + edi - 0x160], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x160], al
cmp edi, 0x100
jb 0x410273
xor edx, edx
xor ecx, ecx
xor edi, edi
lea eax, [ecx + 1]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x160]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x3c], eax
add eax, edx
movzx eax, al
mov dword [ebp - 0x14], eax
xor eax, eax
cmp byte [0x44a350], al
je 0x41033c
inc eax
cmp eax, 0x173
jl 0x410335
cmp byte [eax + 0x44a350], 0
jne 0x410322
jmp 0x41033c
imul esi, dword [ebp - 0xc], 0x487ef08
add esi, 0x3f71c175
mov eax, esi
and eax, 0xf3a8f1a7
mov dword [ebp - 0xc], eax
mov dword [0x44a300], eax
call fcn.0040cdc6
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov al, byte [ebp + edx - 0x160]
mov byte [ebp + ecx - 0x160], al
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x160], al
movzx eax, byte [ebp + ecx - 0x160]
add eax, dword [ebp - 0x3c]
movzx eax, al
mov al, byte [ebp + eax - 0x160]
xor al, byte [ebp + edi - 0x34]
mov byte [ebp + edi - 0x60], al
inc edi
cmp edi, 0x18
jb 0x4102f7
mov dword [ebp - 0xc], esi
lea edi, [ebp - 0x14]
mov esi, 0x401d30
mov byte [ebp - 0x48], 0
mov dword [ebp - 0x1c], 0x5228433b
mov word [ebp - 0x18], 0x5531
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x4103bf
xor esi, esi
mov dword [ebp - 0x3c], 6
xor edx, edx
mov cl, byte [ebp + esi - 0x160]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x3c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x160]
mov byte [ebp + esi - 0x160], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x160], al
cmp esi, 0x100
jb 0x4103d7
and dword [ebp - 8], 0
xor eax, eax
mov esi, dword [ebp - 0xc]
xor edi, edi
inc eax
or esi, 0x920bec9d
movzx eax, al
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x14]
mov cl, byte [ebp + eax - 0x160]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
push 6
mov al, byte [ebp + eax - 0x160]
mov byte [ebp + esi - 0x160], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x160], cl
mov eax, esi
mov esi, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x160]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x160]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x40], al
inc edi
pop eax
cmp edi, eax
mov eax, dword [ebp - 0x14]
jb 0x410423
lea eax, [esi - 0x7d52f001]
mov byte [ebp - 0x3a], 0
lea ecx, [ebp - 0x40]
mov dword [0x44a2fc], eax
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.0041d4c4
call eax
pop edi
pop esi
leave
ret