Function at 0x465fd7
Capabilities:
Encrypt data using rc4 prga
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x14], ecx
cmp dword [ebp + 8], 0xffffffff
jne 0x465ff0
mov eax, 0x85670004
jmp 0x46625c
push 0
lea eax, [ebp - 4]
push eax
push 4
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x466010
cmp dword [ebp - 4], 4
je 0x46601b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
mov byte [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x230], 0
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x28], 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x301
ja 0x466074
cmp dword [ebp - 0x18], 0x301
je 0x4660ea
cmp dword [ebp - 0x18], 0x200
je 0x46611c
cmp dword [ebp - 0x18], 0x300
je 0x4660ee
jmp 0x466243
cmp dword [ebp - 0x18], 0x302
je 0x4660b9
cmp dword [ebp - 0x18], 0x303
je 0x46608b
jmp 0x466243
push 0
lea ecx, [ebp - 4]
push ecx
push 4
mov edx, dword [ebp - 0x14]
add edx, 0xc
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4660ae
cmp dword [ebp - 4], 4
je 0x4660b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 4
mov edx, dword [ebp - 0x14]
add edx, 0x230
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4660df
cmp dword [ebp - 4], 4
je 0x4660ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
mov byte [ebp - 0x10], 0x31
push 0
lea ecx, [ebp - 4]
push ecx
push 1
mov edx, dword [ebp - 0x14]
add edx, 0x28
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x466111
cmp dword [ebp - 4], 1
je 0x46611c
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 4
mov edx, dword [ebp - 0x14]
add edx, 8
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46613f
cmp dword [ebp - 4], 4
je 0x46614a
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 4
mov edx, dword [ebp - 0x14]
add edx, 0x10
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46616d
cmp dword [ebp - 4], 4
je 0x466178
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 8
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46619b
cmp dword [ebp - 4], 8
je 0x4661a6
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 8
mov edx, dword [ebp - 0x14]
add edx, 0x20
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4661c9
cmp dword [ebp - 4], 8
je 0x4661d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
push 0
lea ecx, [ebp - 4]
push ecx
push 0x200
mov edx, dword [ebp - 0x14]
add edx, 0x29
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4661fd
cmp dword [ebp - 4], 0x200
je 0x466205
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46625c
mov dword [ebp - 8], 0
jmp 0x466217
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x200
jge 0x466241
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 8]
xor eax, eax
mov al, byte [edx + 0x29]
mov ecx, dword [ebp - 0x10]
and ecx, 0xff
xor eax, ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 8]
mov byte [edx + 0x29], al
jmp 0x46620e
jmp 0x46624a
mov eax, 0x85670e03
jmp 0x46625c
mov eax, dword [ebp - 0x14]
cmp dword [eax + 8], 4
jl 0x46625a
mov eax, 0x85670e03
jmp 0x46625c
xor eax, eax
mov esp, ebp
pop ebp
ret 4