Function at 0x401b93
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ecx
push ecx
mov eax, dword [esp + 0x14]
and dword [esp + 4], 0
cmp dword [esp + 0x10], 0
mov cl, byte [eax]
mov dl, byte [eax + 1]
jle 0x40202f
push ebx
push ebp
push esi
push edi
movzx ebp, cl
movzx ebx, dl
mov edi, 0x428649
mov esi, 0x435d78
lea eax, [ebp + 1]
cdq
mov ecx, 0x25c
idiv ecx
mov eax, dword [0x4333d4]
push edi
push esi
movzx ebp, dl
lea ecx, [eax + ebp]
movzx eax, byte [ecx]
add eax, ebx
mov byte [esp + 0x1a], dl
cdq
mov ebx, 0x25c
idiv ebx
mov eax, dword [0x4333d4]
movzx ebx, dl
mov byte [esp + 0x1b], dl
mov dl, byte [ecx]
add eax, ebx
mov byte [esp + 0x19], dl
mov dl, byte [eax]
mov byte [ecx], dl
mov cl, byte [esp + 0x19]
mov byte [eax], cl
mov ecx, dword [0x4333d4]
movzx eax, byte [ebx + ecx]
movzx ecx, byte [ecx + ebp]
add eax, ecx
cdq
mov ecx, 0x25c
idiv ecx
mov byte [esp + 0x19], dl
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
add esp, 0x40
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
push eax
call fcn.00401b7a
push edi
push esi
call fcn.00401999
add esp, 0x44
push eax
call fcn.00401b7a
pop ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [0x4333d4]
add eax, ecx
movzx ecx, byte [esp + 0x11]
mov cl, byte [ecx + edx]
xor byte [eax], cl
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
jl 0x401bc2
mov cl, byte [esp + 0x12]
mov eax, dword [esp + 0x24]
mov dl, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
mov byte [eax], cl
mov byte [eax + 1], dl
pop ecx
pop ecx
ret