Function at 0x3018cff4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [ebp + 8]
cmp byte [esi + 4], 0
mov dword [ebp - 4], ecx
jne 0x3018d2a4
cmp dword [esi + 0xc], 1
jne 0x3018d2a4
cmp dword [esi + 8], 1
jne 0x3018d2a4
mov ecx, dword [esi]
test ecx, ecx
je 0x3018d2a4
mov eax, dword [ecx]
push edi
mov edi, dword [0x3026813c]
call dword [eax + 0x64]
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x20]
test al, al
je 0x3018d2a3
mov ecx, dword [ebp - 4]
push 0x30268168
call main
mov edi, eax
test edi, edi
je 0x3018d2a3
cmp dword [esi + 0x10], 0
jne 0x3018d2a3
mov eax, dword [esi + 0x14]
test al, 0x30
jne 0x3018d2a3
test al, 0xf
push ebx
movzx ebx, word [esi + 0x18]
jne 0x3018d0ae
movzx eax, bx
sub eax, 0x6a
je 0x3018d09e
dec eax
je 0x3018d087
dec eax
dec eax
jne 0x3018d0ae
cmp bx, 0x6d
sete al
push 1
mov ecx, edi
mov byte [esi + 4], 1
push eax
call main
jmp 0x3018d0ae
lea ecx, [edi + 0x84]
mov byte [esi + 4], 1
mov eax, dword [ecx]
push 1
call dword [eax]
movzx eax, bx
add eax, 0xffffffdf
cmp eax, 7
ja case.default.0x3018d0bd
jmp dword [eax*4 + 0x3018d2b2]
mov ecx, dword [ebp - 4]
mov byte [esi + 4], 1
call sym.OFFDIAG.exe_protected:_void___thiscall_NetUI::Element::HandledKeyboardNavigation_void_
mov ecx, dword [ebp - 4]
xor eax, eax
cmp bx, 0x21
sete al
push 0
inc eax
push eax
push 0
call main
mov ecx, dword [ebp - 4]
push 0x30268154
call main
cmp bx, 0x21
sete cl
push ecx
mov ecx, eax
add eax, 0xa4
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
call main
test eax, eax
je case.default.0x3018d0bd
xor ecx, ecx
cmp bx, 0x21
jmp 0x3018d293
mov ecx, edi
mov byte [esi + 4], 1
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::TreeViewItem::GetIsCollapsed_void_
mov ecx, dword [ebp - 4]
test byte [ecx + 0x7a], 8
mov byte [ebp + 0xb], al
je 0x3018d149
xor edx, edx
cmp bx, 0x25
sete dl
lea edx, [edx + edx + 0x25]
movzx ebx, dx
xor edx, edx
cmp bx, 0x25
sete dl
movzx eax, al
xor edx, eax
je 0x3018d16f
cmp byte [ebp + 0xb], 0
push 1
sete al
mov ecx, edi
push eax
call main
jmp case.default.0x3018d0bd
cmp bx, 0x25
jne 0x3018d1c3
call sym.OFFDIAG.exe_protected:_void___thiscall_NetUI::Element::HandledKeyboardNavigation_void_
lea ecx, [edi + 0x84]
mov eax, dword [ecx]
jmp 0x3018d1ac
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
test al, al
jne case.default.0x3018d0bd
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x3018d1a8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x94]
test al, al
jne 0x3018d1ba
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jne 0x3018d184
jmp case.default.0x3018d0bd
push 3
mov ecx, ebx
jmp 0x3018d29a
cmp bx, 0x27
jne case.default.0x3018d0bd
call sym.OFFDIAG.exe_protected:_void___thiscall_NetUI::Element::HandledKeyboardNavigation_void_
and dword [ebp + 8], 0
lea ecx, [edi + 0x84]
mov eax, dword [ecx]
lea edx, [ebp + 8]
push edx
call dword [eax + 4]
push 1
push eax
call main
test eax, eax
je 0x3018d1fd
push 4
push dword [esi + 0x14]
mov ecx, eax
call main
mov ecx, dword [ebp + 8]
test ecx, ecx
je case.default.0x3018d0bd
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp case.default.0x3018d0bd
mov ecx, dword [ebp - 4]
mov byte [esi + 4], 1
call sym.OFFDIAG.exe_protected:_void___thiscall_NetUI::Element::HandledKeyboardNavigation_void_
mov edi, dword [edi + 0x88]
xor eax, eax
cmp edi, eax
mov dword [ebp + 8], eax
je 0x3018d23c
lea ecx, [edi + 0xa4]
mov eax, dword [ecx]
lea edx, [ebp + 8]
push edx
call dword [eax + 4]
cmp bx, 0x24
sete cl
push ecx
push eax
call main
mov ecx, dword [ebp + 8]
test ecx, ecx
mov edi, eax
je 0x3018d25c
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
and dword [ebp + 8], 0
test edi, edi
je case.default.0x3018d0bd
xor eax, eax
cmp bx, 0x24
setne al
mov ecx, edi
inc eax
push eax
jmp 0x3018d29a
mov ecx, dword [ebp - 4]
mov byte [esi + 4], 1
call sym.OFFDIAG.exe_protected:_void___thiscall_NetUI::Element::HandledKeyboardNavigation_void_
cmp bx, 0x26
sete al
push eax
push edi
call main
test eax, eax
je case.default.0x3018d0bd
xor ecx, ecx
cmp bx, 0x26
setne cl
inc ecx
push ecx
mov ecx, eax
push dword [esi + 0x14]
call main
pop ebx
pop edi
mov ecx, dword [ebp - 4]
push esi
call main
pop esi
leave
ret 4