Function at 0x10007090
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0xbfa02fe9
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
imul eax, esi, 0xd7c
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ebp, ecx
mov esi, dword [esp + 0x1c]
add ebp, eax
mov eax, 0x51eb851f
mov ecx, edi
mul edi
shr edx, 3
imul eax, edx, 0x19
sub ecx, eax
enter 0xffffffffffffce2b, 0xffffffffffffff8a
inc esp
or al, 0x24
xor al, byte [edi + resource.1]
mov byte [edi + ebp], al
inc edi
cmp edi, 0x76400
jb 0x100070c3
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.1000743f
movsx ecx, byte [esp + 0x8c]
shl ecx, 3
push ecx
push 0x3000
push eax
push 0
call dword [esp + 0x5c]
mov ebp, eax
mov dword [esp + 0x78], ebp
test ebp, ebp
je 0x10007365
mov esi, dword [edi + 0x3c]
mov edx, edi
add esi, edi
mov ecx, ebp
mov dword [esp + 0x40], esi
movzx eax, word [esi + 0x14]
push dword [esi + 0x54]
add eax, 0x18
add eax, esi
mov dword [esp + 0x84], eax
mov eax, ebp
sub eax, dword [esi + 0x34]
mov dword [esp + 0x78], eax
mov dword [esi + 0x34], ebp
call fcn.1000745f
mov eax, dword [esi + 0xa4]
add esp, 4
mov edx, dword [esi + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x80]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x44], edx
push esp
and al, 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x10], eax
cmp ax, word [esi + 6]
jae 0x10007365
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x40]
add esi, 0xc
mov ecx, dword [esi]
cmp edx, ecx
jb 0x100071b5
mov eax, dword [esi - 4]
add eax, ecx
cmp edx, eax
jae 0x100071b5
lea eax, [esi - 0xc]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x70]
cmp edx, ecx
jb 0x100071cd
mov eax, dword [esi - 4]
add eax, ecx
cmp edx, eax
jae 0x100071cd
lea eax, [esi - 0xc]
mov dword [esp + 0x4c], eax
mov edx, dword [esi + 8]
add ecx, ebp
push dword [esi + 4]
add edx, edi
call fcn.1000745f
mov edx, dword [esp + 0x14]
add esp, 4
movzx eax, word [ebx + 6]
inc edx
add esi, 0x28
mov dword [esp + 0x10], edx
cmp edx, eax
mov edx, dword [esp + 0x44]
jl 0x1000719f
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10007365
xor edi, edi
cmp dword [esp + 0x1c], edi
jbe 0x1000729b
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
lea esp, [esp]
mov ecx, dword [eax + 0x14]
add ecx, edi
add edi, 8
add ecx, edx
mov dword [esp + 0x44], ecx
mov ebx, dword [ecx + 4]
sub ebx, 8
shr ebx, 1
je 0x10007291
mov eax, dword [eax + 0x14]
add eax, edi
add edi, 2
movzx esi, word [eax + edx]
test esi, 0xf000
je 0x1000728a
and esi, 0xfff
mov dword [esp + 0x10], 0
add esi, dword [ecx]
lea ecx, [esp + 0x10]
add esi, ebp
push 4
mov edx, esi
call fcn.1000745f
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x14]
add dword [esp + 0x14], eax
mov ecx, esi
push 4
call fcn.1000745f
mov ecx, dword [esp + 0x4c]
add esp, 8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
dec ebx
jne 0x10007237
cmp edi, dword [esp + 0x1c]
jb 0x1000721f
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov esi, dword [edi + 0x80]
add esi, ebp
je 0x10007365
add esi, 0xc
mov dword [esp + 0x18], esi
cmp dword [esi], 0
je 0x10007311
lea ebx, [ebx]
mov eax, dword [esi]
add eax, ebp
push eax
call dword [esp + 0x80]
mov edi, eax
test edi, edi
mov ecx, dword [esp + 0x14]
call fcn.1000744f
test eax, eax
je 0x10007345
mov eax, dword [edi + 0xc0]
mov esi, dword [eax + ebp + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x10007345
mov ebp, ecx
push 0
push 1
push ebp
call eax
mov eax, dword [esi + 4]
lea esi, [esi + 4]
jbe 0x10007341
test eax, eax
jne 0x10007330
mov ebp, dword [esp + 0x78]
mov eax, dword [edi + 0x28]
push 0
push 1
push dword [esp + 0x50]
add eax, ebp
call eax
neg eax
pop edi
sbb eax, eax
pop esi
and eax, ebp
pop ebp
pop ebx
add esp, 0xe0
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret