Function at 0x907d8ed
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 0x90ac349
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2150
call fcn.090a6f20
mov eax, dword [0x90e6610]
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, ecx
mov dword [ebp - 0x2140], edi
mov esi, dword [ebx + 8]
push 0
mov dword [ebp - 0x213c], esi
mov eax, dword [esi + 4]
add eax, 0x94
push eax
call fcn.09010f42
cmp dword [edi], 0
pop ecx
pop ecx
jne 0x907d972
push 0
push 0x88b
push 0x4ce3
push dword [esi + 4]
call fcn.09010f42
add esp, 0x10
mov dword [edi], eax
mov ecx, esi
mov dword [ebp - 0x214c], esi
call fcn.090168fd
and dword [ebp - 4], 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x2130], eax
xor edi, edi
mov eax, dword [ebp - 0x2140]
add eax, 4
mov dword [ebp - 0x2134], edi
mov dword [ebp - 0x2138], eax
xor eax, eax
lea esi, [ebp - 0x85e]
inc eax
mov dword [ebp - 0x212c], eax
shr eax, 1
mov ecx, 0x8000
test edi, edi
movzx edx, ax
mov eax, edx
cmove ecx, eax
cmp edi, 1
mov word [esi - 2], cx
mov ecx, 0x8000
cmove ecx, eax
cmp edi, 2
mov word [esi], cx
mov ecx, 0x8000
cmove ecx, eax
lea esi, [esi + 8]
mov word [esi - 6], cx
cmp edi, 3
mov ecx, 0x8000
cmove ecx, eax
mov eax, dword [ebp - 0x212c]
add eax, 0x101
mov word [esi - 4], cx
mov dword [ebp - 0x212c], eax
cmp eax, 0x10101
jb 0x907d9b2
mov ecx, dword [ebp - 0x213c]
lea eax, [ebp - 0x860]
push 0
push 0x504c4142
push 0x434d594b
push 0x100
push eax
push eax
call fcn.09010f42
and dword [ebp - 0x212c], 0
xor edi, 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 0x907da8e
test eax, eax
je 0x907daca
mov ecx, eax
mov dword [ebp - 0x212c], ecx
jmp 0x907da94
mov ecx, dword [ebp - 0x212c]
cmp eax, ecx
ja 0x907daca
shl eax, 0xf
xor edx, edx
div ecx
mov ecx, 0x8000
sub ecx, eax
mov word [ebp + edi*2 - 0x2128], cx
inc edi
movzx ecx, word [ebp - 0x66]
cmp edi, 0x100
jb 0x907da3f
lea ecx, [ebp - 0x2128]
call fcn.0906b7a9
test al, al
jne 0x907dad5
lea ecx, [ebp - 0x2128]
call fcn.0906b7c9
push 8
lea ecx, [ebp - 0x2128]
call fcn.09010f42
mov edi, dword [ebp - 0x2138]
lea esi, [ebp - 0x2128]
mov ecx, 0x80
lea eax, [ebp - 0x1068]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x2128]
call fcn.09010f42
mov edi, dword [ebp - 0x2130]
xor esi, esi
mov eax, esi
lea ecx, [ebp - 0x1068]
and eax, 0x1ffff
shl eax, 0xc
push eax
call fcn.09010f42
mov word [edi], ax
inc esi
add edi, 2
cmp esi, 9
jb 0x907db0f
add dword [ebp - 0x2138], 0x200
mov dword [ebp - 0x2130], edi
mov edi, dword [ebp - 0x2134]
inc edi
mov dword [ebp - 0x2134], edi
cmp edi, 4
jb 0x907d9a3
and dword [ebp - 0x2138], 0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x2144], ecx
movzx eax, word [ecx]
xor edx, edx
mov dword [ebp - 0x2130], edx
lea ecx, [ebp - 0x1f26]
mov dword [ebp - 0x2148], eax
movzx eax, word [ebp + edx*2 - 0x4e]
xor edi, edi
mov dword [ebp - 0x2134], edi
mov dword [ebp - 0x212c], eax
movzx edx, word [ebp + edi*2 - 0x3c]
xor esi, esi
mov edi, dword [ebp - 0x212c]
mov eax, dword [ebp - 0x2148]
mov word [ecx - 2], ax
mov ax, word [ebp + esi*2 - 0x2a]
inc esi
mov word [ecx], di
mov word [ecx + 2], dx
mov word [ecx + 4], ax
add ecx, 8
cmp esi, 9
jb 0x907db9e
mov edi, dword [ebp - 0x2134]
inc edi
mov dword [ebp - 0x2134], edi
cmp edi, 9
jb 0x907db91
mov edx, dword [ebp - 0x2130]
inc edx
mov dword [ebp - 0x2130], edx
cmp edx, 9
jb 0x907db7e
mov ecx, dword [ebp - 0x213c]
lea eax, [ebp - 0x1f28]
push 0
push 0x504c4142
push 0x434d594b
push 0x2d9
push eax
push eax
call fcn.09010f42
mov eax, dword [ebp - 0x2140]
lea ecx, [ebp - 0x2160]
push 1
push 0x88b
push dword [ebp - 0x2138]
push dword [eax]
call fcn.09010f42
lea ecx, [ebp - 0x2160]
mov byte [ebp - 4], 1
call fcn.09005d4d
lea edi, [ebp - 0x1f28]
mov dword [ebp - 0x212c], 9
lea esi, [eax + 2]
mov dword [ebp - 0x2130], 9
mov dword [ebp - 0x2134], 9
mov eax, dword [edi]
mov edx, dword [edi + 4]
shr eax, 0x10
imul eax, eax, 0xff
movzx ecx, dx
add ecx, 0x40
shr ecx, 7
add eax, 0x4000
shr eax, 0xf
cmp ecx, 0xff
mov byte [esi - 2], al
movzx eax, cl
mov ecx, 0xff
cmova eax, ecx
shr edx, 0x10
add edx, 0x40
mov byte [esi - 1], al
shr edx, 7
cmp edx, ecx
movzx eax, dl
cmova eax, ecx
add edi, 8
mov byte [esi], al
add esi, 3
sub dword [ebp - 0x2134], 1
jne 0x907dc5f
sub dword [ebp - 0x2130], 1
jne 0x907dc55
sub dword [ebp - 0x212c], 1
jne 0x907dc4b
lea ecx, [ebp - 0x2160]
mov byte [ebp - 4], 0
call fcn.09005e1d
mov eax, dword [ebp - 0x2138]
mov ecx, dword [ebp - 0x2144]
add eax, 0x88b
add ecx, 2
mov dword [ebp - 0x2138], eax
mov dword [ebp - 0x2144], ecx
cmp eax, 0x4ce3
jb 0x907db67
mov ecx, dword [ebp - 0x213c]
or dword [ebp - 4], 0xffffffff
call fcn.09016a6b
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.09001f80
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4