Function at 0x61e46f6b
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [ebp + 8], 0
je 0x61e46f7d
cmp dword [ebp + 0xc], 0
jne 0x61e46f99
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 8]
jne 0x61e46f8f
mov eax, 0
jmp 0x61e47225
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx eax, word [eax + 2]
movzx eax, ax
and eax, 0x800
test eax, eax
jne 0x61e46fbf
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
movzx eax, ax
and eax, 0x800
test eax, eax
je 0x61e46fc9
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx edx, word [eax + 2]
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
xor eax, edx
movzx eax, ax
and eax, 0x10
test eax, eax
je 0x61e46fed
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp dl, al
je 0x61e47090
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x84
jne 0x61e4701c
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 0x23]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp dl, al
je 0x61e47090
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x61e47051
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.61e46f6b
cmp eax, 1
jg 0x61e47051
mov eax, 1
jmp 0x61e47225
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x61e47086
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.61e46f6b
cmp eax, 1
jg 0x61e47086
mov eax, 1
jmp 0x61e47225
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.61e46f6b
test eax, eax
je 0x61e470bd
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.61e46f6b
test eax, eax
je 0x61e470ea
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.61e47227
test eax, eax
je 0x61e47117
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx edx, word [eax + 0x1c]
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0x1c]
cmp dx, ax
je 0x61e47134
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
cmp edx, eax
je 0x61e4716d
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x84
je 0x61e4716d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
cmp eax, dword [ebp + 0x10]
jne 0x61e47163
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
test eax, eax
js 0x61e4716d
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx eax, word [eax + 2]
movzx eax, ax
and eax, 0x400
test eax, eax
je 0x61e471aa
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
movzx eax, ax
and eax, 0x400
test eax, eax
je 0x61e471a3
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp edx, eax
je 0x61e47220
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x98
je 0x61e47220
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x9a
je 0x61e47220
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x61e47220
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
movzx eax, ax
and eax, 0x400
test eax, eax
jne 0x61e471e5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
jne 0x61e471ec
mov eax, 2
jmp 0x61e47225
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x61e47220
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x61e47219
mov eax, 1
jmp 0x61e47225
mov eax, 2
jmp 0x61e47225
mov eax, 0
leave
ret