Function at 0x9063871
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x90a2bc4
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2960
call fcn.0909ea10
mov eax, dword [0x90de124]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
mov eax, dword [edi + 4]
add eax, 0x78
mov esi, ecx
push 0
push eax
mov dword [ebp - 0x294c], esi
mov dword [ebp - 0x2944], edi
call fcn.0904e977
cmp dword [esi], 0
pop ecx
pop ecx
jne 0x90638f5
mov eax, dword [edi + 4]
push 0
push 0x88b
push 0x4ce3
push eax
call fcn.0904e977
add esp, 0x10
mov dword [esi], eax
mov ecx, edi
mov dword [ebp - 0x2950], edi
call fcn.0900e991
and dword [ebp - 4], 0
and dword [ebp - 0x2934], 0
jmp 0x9063915
mov edi, dword [ebp - 0x2944]
lea eax, [ebp - 0x85e]
mov dword [ebp - 0x2938], 1
mov ecx, dword [ebp - 0x2938]
shr ecx, 1
cmp dword [ebp - 0x2934], 0
movzx esi, cx
mov ecx, 0x8000
mov edx, esi
je 0x9063942
mov edx, ecx
cmp dword [ebp - 0x2934], 1
mov word [eax - 2], dx
mov edx, esi
je 0x9063953
mov edx, ecx
cmp dword [ebp - 0x2934], 2
mov word [eax], dx
mov edx, esi
je 0x9063963
mov edx, ecx
cmp dword [ebp - 0x2934], 3
mov word [eax + 2], dx
jne 0x9063972
mov ecx, esi
add dword [ebp - 0x2938], 0x101
mov word [eax + 4], cx
add eax, 8
cmp dword [ebp - 0x2938], 0x10101
jb 0x9063925
push 0
push 0x504c4142
push 0x434d594b
push pe_nt_image_headers32
lea eax, [ebp - 0x860]
push eax
push eax
mov ecx, edi
call fcn.0904e977
xor edi, edi
mov dword [ebp - 0x293c], edi
movzx ecx, word [ebp - 0x66]
movzx eax, word [ebp + edi*8 - 0x85e]
sub eax, ecx
movzx ecx, word [ebp - 0x64]
cdq
mov esi, eax
movzx eax, word [ebp + edi*8 - 0x85c]
sub eax, ecx
xor esi, edx
sub esi, edx
cdq
mov ecx, eax
movzx eax, word [ebp + edi*8 - 0x85a]
xor ecx, edx
sub ecx, edx
movzx edx, word [ebp - 0x62]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
add eax, ecx
add eax, esi
test edi, edi
jne 0x9063a06
test eax, eax
je 0x9063a40
mov dword [ebp - 0x293c], eax
cmp eax, dword [ebp - 0x293c]
ja 0x9063a40
shl eax, 0xf
xor edx, edx
div dword [ebp - 0x293c]
mov ecx, 0x8000
sub ecx, eax
mov word [ebp + edi*2 - 0x2128], cx
inc edi
cmp edi, 0x100
jb 0x90639b7
lea ecx, [ebp - 0x2128]
call fcn.0905f132
test al, al
jne 0x9063a4b
lea ecx, [ebp - 0x2128]
call fcn.0905f118
push 8
lea ecx, [ebp - 0x2128]
call fcn.0904e977
mov eax, dword [ebp - 0x2934]
mov ecx, dword [ebp - 0x294c]
shl eax, 9
lea edi, [eax + ecx + 4]
mov ecx, 0x80
lea esi, [ebp - 0x2128]
lea eax, [ebp - 0x2930]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x2128]
call fcn.0904e977
mov esi, dword [ebp - 0x2934]
xor edi, edi
imul esi, esi, 0x12
lea esi, [ebp + esi - 0x60]
mov eax, edi
and eax, 0x1ffff
shl eax, 0xc
push eax
lea ecx, [ebp - 0x2930]
call fcn.0904e977
mov word [esi], ax
inc edi
add esi, 2
cmp edi, 9
jb 0x9063a99
inc dword [ebp - 0x2934]
cmp dword [ebp - 0x2934], 4
jb 0x906390f
and dword [ebp - 0x293c], 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x2948], eax
mov eax, dword [ebp - 0x2948]
movzx eax, word [eax]
and dword [ebp - 0x2934], 0
mov dword [ebp - 0x2940], eax
lea eax, [ebp - 0x1f26]
mov ecx, dword [ebp - 0x2934]
and dword [ebp - 0x2938], 0
movzx esi, word [ebp + ecx*2 - 0x4e]
mov edx, dword [ebp - 0x2938]
movzx edx, word [ebp + edx*2 - 0x3c]
xor ecx, ecx
mov di, word [ebp - 0x2940]
mov word [eax - 2], di
mov di, word [ebp + ecx*2 - 0x2a]
mov word [eax], si
mov word [eax + 2], dx
mov word [eax + 4], di
inc ecx
add eax, 8
cmp ecx, 9
jb 0x9063b19
inc dword [ebp - 0x2938]
cmp dword [ebp - 0x2938], 9
jb 0x9063b0c
inc dword [ebp - 0x2934]
cmp dword [ebp - 0x2934], 9
jb 0x9063afa
mov ecx, dword [ebp - 0x2944]
push 0
push 0x504c4142
push 0x434d594b
push 0x2d9
lea eax, [ebp - 0x1f28]
push eax
push eax
call fcn.0904e977
mov eax, dword [ebp - 0x294c]
push 1
push 0x88b
push dword [ebp - 0x293c]
lea ecx, [ebp - 0x296c]
push dword [eax]
call fcn.0904e977
lea ecx, [ebp - 0x296c]
mov byte [ebp - 4], 1
call fcn.09005145
lea edi, [ebp - 0x1f28]
lea esi, [eax + 2]
mov dword [ebp - 0x2940], 9
mov dword [ebp - 0x2934], 9
mov dword [ebp - 0x2938], 9
mov eax, dword [edi]
mov ecx, dword [edi + 4]
shr eax, 0x10
imul eax, eax, 0xff
add eax, 0x4000
shr eax, 0xf
mov byte [esi - 2], al
movzx eax, cx
push eax
mov dword [ebp - 0x2954], ecx
call fcn.0904e977
mov byte [esi - 1], al
movzx eax, word [ebp - 0x2952]
push eax
call fcn.0904e977
mov byte [esi], al
pop ecx
add esi, 3
add edi, 8
dec dword [ebp - 0x2938]
pop ecx
jne 0x9063bd5
dec dword [ebp - 0x2934]
jne 0x9063bcb
dec dword [ebp - 0x2940]
jne 0x9063bc1
lea ecx, [ebp - 0x296c]
mov byte [ebp - 4], 0
call fcn.09005177
add dword [ebp - 0x293c], 0x88b
add dword [ebp - 0x2948], 2
cmp dword [ebp - 0x293c], 0x4ce3
jb 0x9063ade
mov ecx, dword [ebp - 0x2944]
or dword [ebp - 4], 0xffffffff
call fcn.0904e977
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.09001690
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4