Function at 0x46eed5
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ae7e9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x64
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x46f00c
lea eax, [ebp + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax]
test eax, eax
je 0x46eff0
mov dword [ebp - 0x2c], 0xc37
mov dword [ebp - 0x40], str.ggtmvl_xqs_ixtwnhp_vfqq_oyvhhpde_jows
cmp dword [ebp - 0x2c], 0xdd9
jle 0x46ef9f
and dword [ebp - 0x14], 0
jmp 0x46ef41
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1c7e
jge 0x46ef9f
and dword [ebp - 0x18], 0
jmp 0x46ef57
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x3437
jge 0x46ef9d
and dword [ebp - 0x1c], 0
jmp 0x46ef6d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x5644
jge 0x46ef9b
mov eax, dword [ebp - 0x14]
cdq
idiv dword [ebp - 0x18]
xor edx, dword [ebp - 0x1c]
mov eax, edx
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
mov ecx, 0xabbe58
call fcn.0042fa2a
jmp 0x46ef66
jmp 0x46ef50
jmp 0x46ef3a
push 0
push 0
push 0x204
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
and dword [ebp - 4], 0
cmp dword [ebp - 0x2c], 0xb9f
jge 0x46efc8
mov edx, dword [ebp - 0x40]
mov ecx, 0xabbe58
call fcn.004313d0
jmp 0x46efe4
or dword [ebp - 4], 0xffffffff
jmp 0x46efee
jmp 0x46f007
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
jmp 0x46f12d
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax]
test eax, eax
je 0x46f109
mov dword [ebp - 0x34], 0x7213
mov dword [ebp - 0x54], str.hepeedjno_wfkvkb_adxovtj_ajsc_imglrejwj_jtvsx
cmp dword [ebp - 0x34], 0x7420
jle 0x46f0ad
and dword [ebp - 0x20], 0
jmp 0x46f050
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x382b
jge 0x46f0ad
and dword [ebp - 0x24], 0
jmp 0x46f066
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x5bf0
jge 0x46f0ab
and dword [ebp - 0x28], 0
jmp 0x46f07c
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x71a1
jge 0x46f0a9
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x28]
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
push dword [ebp - 0x70]
push dword [ebp - 0x74]
mov ecx, 0xabbe58
call fcn.0042fa2a
jmp 0x46f075
jmp 0x46f05f
jmp 0x46f049
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x34], 0x6ece
jge 0x46f0d0
mov edx, dword [ebp - 0x54]
mov ecx, 0xabbe58
call fcn.004313d0
jmp 0x46f0ec
or dword [ebp - 4], 0xffffffff
jmp 0x46f0f6
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
jmp 0x46f12d
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test eax, eax
je 0x46f12d
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret