Function at 0x458440
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 0x4586a6
cmp dword [ebp - 0x10], 1
jne 0x458484
push 0
push 0
push esi
push ebx
call sym.DJ_4428.dll_DJ_Write_FirstSection
dec eax
jl 0x4586a6
jmp 0x458493
mov eax, dword [ebp - 0x14]
and eax, 2
cmp eax, 2
je 0x4586a6
mov edx, esi
mov eax, ebx
call fcn.00456298
dec eax
jl 0x4586a6
push esi
push ebx
call sub.MWIC_32.DLL_auto_init
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x4586a6
xor ecx, ecx
push ebp
push 0x45869f
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 0x4584e3
call fcn.00403a40
jmp 0x4586a6
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_chk_4428
movsx eax, ax
test eax, eax
je 0x4584fd
call fcn.00403a40
jmp 0x4586a6
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 0x458522
call fcn.00403a40
jmp 0x4586a6
mov al, byte [ebp - 0x57]
and al, 2
cmp al, 2
je 0x458554
add byte [ebp - 0x57], 2
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 0x458554
call fcn.00403a40
jmp 0x4586a6
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 0x45856c
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 0x4585cd
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 0x4585e7
add al, 0x33
and eax, 0xff
mov byte [ebp - 0x48], al
lea eax, [ebp - 0x57]
push eax
push 0x10
push 0x320
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_swr_4428
movsx eax, ax
test eax, eax
je 0x458620
call fcn.00403a40
jmp 0x4586a6
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 0x45862d
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 0x45864b
add al, 0x33
and eax, 0xff
mov byte [ebp - 0x48], al
lea eax, [ebp - 0x57]
push eax
push 0x10
push 0x330
mov eax, dword [ebp - 8]
push eax
call sub.MWIC_32.dll_swr_4428
movsx eax, ax
test eax, eax
je 0x458681
call fcn.00403a40
jmp 0x4586a6
mov dword [ebp - 4], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4586a6
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