Function at 0x40d61c
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff00
mov esi, edx
mov edi, eax
mov ebx, 0x418b54
shr esi, 3
xor ecx, ecx
mov byte [ebx + ecx], cl
mov eax, ecx
xor edx, edx
div esi
mov ebp, edi
add edx, ebp
mov al, byte [edx]
mov byte [esp + ecx], al
mov eax, ecx
inc eax
mov byte [ebx + ecx + 1], al
lea eax, [ecx + 1]
xor edx, edx
div esi
add edx, ebp
mov al, byte [edx]
mov byte [esp + ecx + 1], al
mov eax, ecx
add al, 2
mov byte [ebx + ecx + 2], al
lea eax, [ecx + 2]
xor edx, edx
div esi
add edx, ebp
mov al, byte [edx]
mov byte [esp + ecx + 2], al
mov eax, ecx
add al, 3
mov byte [ebx + ecx + 3], al
lea eax, [ecx + 3]
xor edx, edx
div esi
add edx, ebp
mov al, byte [edx]
mov byte [esp + ecx + 3], al
mov eax, ecx
add al, 4
mov byte [ebx + ecx + 4], al
lea eax, [ecx + 4]
xor edx, edx
div esi
add edx, edi
mov al, byte [edx]
mov byte [esp + ecx + 4], al
mov eax, ecx
add al, 5
mov byte [ebx + ecx + 5], al
lea eax, [ecx + 5]
xor edx, edx
div esi
add edx, edi
mov al, byte [edx]
mov byte [esp + ecx + 5], al
mov eax, ecx
add al, 6
mov byte [ebx + ecx + 6], al
lea eax, [ecx + 6]
xor edx, edx
div esi
add edx, edi
mov al, byte [edx]
mov byte [esp + ecx + 6], al
mov eax, ecx
add al, 7
mov byte [ebx + ecx + 7], al
lea eax, [ecx + 7]
xor edx, edx
div esi
add edx, edi
mov al, byte [edx]
mov byte [esp + ecx + 7], al
add ecx, 8
cmp ecx, 0xff
jb 0x40d634
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dl, byte [ebx + ecx]
add eax, edx
movzx esi, byte [esp + ecx]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 1]
add eax, edx
movzx esi, byte [esp + ecx + 1]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 1], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 2]
add eax, edx
movzx esi, byte [esp + ecx + 2]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 2], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 3]
add eax, edx
movzx esi, byte [esp + ecx + 3]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 3], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 4]
add eax, edx
movzx esi, byte [esp + ecx + 4]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 4], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 5]
add eax, edx
movzx esi, byte [esp + ecx + 5]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 5], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 6]
add eax, edx
movzx esi, byte [esp + ecx + 6]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 6], dl
mov edx, esi
mov byte [ebx + eax], dl
xor edx, edx
mov dl, byte [ebx + ecx + 7]
add eax, edx
movzx esi, byte [esp + ecx + 7]
add eax, esi
and eax, 0xff
mov esi, edx
mov dl, byte [ebx + eax]
mov byte [ebx + ecx + 7], dl
mov edx, esi
mov byte [ebx + eax], dl
add ecx, 8
cmp ecx, 0xff
jb 0x40d6f9
mov edx, 0x418c54
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.0040268c
add esp, 0x100
pop ebp
pop edi
pop esi
pop ebx
ret