Function at 0x460738
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
mov edx, esi
mov eax, ebx
call sym.DJ_4428.dll_Is_NewCard
dec eax
jl 0x46099e
cmp dword [ebp - 0x10], 1
jne 0x46077c
push 0
push 0
push esi
push ebx
call sym.DJ_4428.dll_DJ_Write_FirstSection
dec eax
jl 0x46099e
jmp 0x46078b
mov eax, dword [ebp - 0x14]
and eax, 2
cmp eax, 2
je 0x46099e
mov edx, esi
mov eax, ebx
call fcn.00456298
dec eax
jl 0x46099e
push esi
push ebx
call sub.MWIC_32.DLL_auto_init
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x46099e
xor ecx, ecx
push ebp
push 0x460997
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_get_status
movsx eax, ax
test eax, eax
je 0x4607db
call fcn.00403a40
jmp 0x46099e
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_chk_4428
movsx eax, ax
test eax, eax
je 0x4607f5
call fcn.00403a40
jmp 0x46099e
lea eax, [ebp - 0x57]
push eax
push 1
push 0x308
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_srd_4428
movsx eax, ax
test eax, eax
je 0x46081a
call fcn.00403a40
jmp 0x46099e
mov al, byte [ebp - 0x57]
and al, 4
cmp al, 4
je 0x46084c
add byte [ebp - 0x57], 4
lea eax, [ebp - 0x57]
push eax
push 1
push 0x308
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_swr_4428
movsx eax, ax
test eax, eax
je 0x46084c
call fcn.00403a40
jmp 0x46099e
mov byte [ebp - 0x57], 0xa8
mov byte [ebp - 0x56], 0x14
mov byte [ebp - 0x55], 0x11
mov byte [ebp - 0x54], 0x29
mov ebx, 4
lea eax, [ebp - 0x53]
mov byte [eax], 0
inc eax
dec ebx
jne 0x460864
mov eax, dword [ebp + 0x10]
mov ecx, 0xf4240
cdq
idiv ecx
mov ebx, edx
mov eax, ebx
mov ecx, 0x2710
cdq
idiv ecx
call fcn.00456d08
mov byte [ebp - 0x4f], al
mov eax, dword [ebp + 0x10]
mov ecx, 0x2710
cdq
idiv ecx
mov ebx, edx
mov eax, ebx
mov ecx, 0x64
cdq
idiv ecx
call fcn.00456d08
mov byte [ebp - 0x4e], al
mov eax, ebx
mov ecx, 0x64
cdq
idiv ecx
mov eax, edx
call fcn.00456d08
mov byte [ebp - 0x4d], al
mov ebx, 4
lea esi, [ebp - 0x4c]
mov eax, 0xff
call fcn.00402c38
mov byte [esi], al
inc esi
dec ebx
jne 0x4608c5
xor eax, eax
mov ebx, 0xf
lea edx, [ebp - 0x57]
xor ecx, ecx
mov cl, byte [edx]
add eax, ecx
inc edx
dec ebx
jne 0x4608df
add al, 0x33
and eax, 0xff
mov byte [ebp - 0x48], al
lea eax, [ebp - 0x57]
push eax
push 0x10
push 0x3a0
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_swr_4428
movsx eax, ax
test eax, eax
je 0x460918
call fcn.00403a40
jmp 0x46099e
call fcn.00402988
mov ebx, 0xf
lea esi, [ebp - 0x57]
mov eax, 0xff
call fcn.00402c38
mov byte [esi], al
inc esi
dec ebx
jne 0x460925
mov byte [ebp - 0x4f], 0xe5
xor eax, eax
mov ebx, 0xf
lea edx, [ebp - 0x57]
xor ecx, ecx
mov cl, byte [edx]
add eax, ecx
inc edx
dec ebx
jne 0x460943
add al, 0x33
and eax, 0xff
mov byte [ebp - 0x48], al
lea eax, [ebp - 0x57]
push eax
push 0x10
push 0x3b0
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_swr_4428
movsx eax, ax
test eax, eax
je 0x460979
call fcn.00403a40
jmp 0x46099e
mov dword [ebp - 4], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46099e
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_ic_exit
ret
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc