Function at 0x408cb0
Capabilities:
Encrypt data using rc4 ksa
Read file on windows

Disassembly:
sub esp, 0x74
lea eax, [esp + 4]
push ebx
xor ebx, ebx
test eax, eax
push esi
jne 0x4091bb
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LockFile]
xor eax, eax
movsx ecx, ax
mov byte [esp + ecx + 0x10], al
xor eax, eax
lea ecx, [esp + 0x10]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408cdd
xor eax, eax
lea ecx, [esp + 0x10]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408ced
inc eax
cmp ax, 0x100
jl 0x408cd0
xor eax, eax
lea ecx, [esp + 0x10]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408d04
mov byte [esp + 8], bl
push ebp
mov ebp, dword [esp + 0xc]
push edi
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], bl
mov byte [esp + 0x14], bl
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408d2a
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408d3a
xor ecx, ecx
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x408d4a
mov eax, dword [esp + 0x14]
xor ebx, ebx
movsx edx, cx
and eax, 0xff
and ebp, 0xff
lea esi, [esp + edx + 0x18]
mov bl, byte [eax + 0x384]
mov dl, byte [esi]
mov edi, edx
and edi, 0xff
add ebx, edi
add ebx, ebp
and ebx, 0x800000ff
jns 0x408d91
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov ebp, dword [esp + 0x10]
mov edi, ebp
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
lea edi, [esp + edi + 0x18]
mov byte [esi], bl
mov esi, 0x57
mov byte [edi], dl
cdq
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x408d24
mov edi, ebp
and edi, 0xff
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408dd4
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408de4
xor ecx, ecx
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x408df4
movsx eax, cx
mov dl, byte [esp + eax + 0x18]
xor ebx, ebx
lea esi, [esp + eax + 0x18]
mov eax, dword [esp + 0x14]
and eax, 0xff
mov ebp, edx
and ebp, 0xff
mov bl, byte [eax + 0x384]
add edi, ebx
add ebp, edi
mov ebx, ebp
and ebx, 0x800000ff
jns 0x408e39
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov edi, dword [esp + 0x10]
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
mov byte [esi], bl
mov byte [esp + edi + 0x18], dl
cdq
mov esi, 0x57
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x408dce
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
xor eax, eax
movsx ecx, ax
mov byte [esp + ecx + 0x18], al
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408e86
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408e96
inc eax
cmp ax, 0x100
jl 0x408e79
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408ead
mov byte [esp + 0x10], bl
mov byte [esp + 0x1c], bl
mov ebp, dword [esp + 0x10]
mov byte [esp + 0x1d], bl
mov byte [esp + 0x14], bl
jmp 0x408ecf
xor ebx, ebx
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408ed5
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408ee5
xor ecx, ecx
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x408ef5
mov eax, dword [esp + 0x14]
xor ebx, ebx
movsx edx, cx
and eax, 0xff
and ebp, 0xff
lea esi, [esp + edx + 0x18]
mov bl, byte [eax + 0x384]
mov dl, byte [esi]
mov edi, edx
and edi, 0xff
add ebx, edi
add ebx, ebp
and ebx, 0x800000ff
jns 0x408f3c
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov ebp, dword [esp + 0x10]
mov edi, ebp
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
lea edi, [esp + edi + 0x18]
mov byte [esi], bl
mov esi, 0x57
mov byte [edi], dl
cdq
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x408ecd
mov edi, ebp
and edi, 0xff
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408f7f
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x408f8f
xor ecx, ecx
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x408f9f
movsx eax, cx
mov dl, byte [esp + eax + 0x18]
xor ebx, ebx
lea esi, [esp + eax + 0x18]
mov eax, dword [esp + 0x14]
and eax, 0xff
mov ebp, edx
and ebp, 0xff
mov bl, byte [eax + 0x384]
add edi, ebx
add ebp, edi
mov ebx, ebp
and ebx, 0x800000ff
jns 0x408fe4
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov edi, dword [esp + 0x10]
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
mov byte [esi], bl
mov byte [esp + edi + 0x18], dl
cdq
mov esi, 0x57
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x408f79
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
xor eax, eax
movsx edx, ax
mov byte [esp + edx + 0x18], al
xor eax, eax
lea edx, [esp + 0x18]
mov byte [edx], al
inc eax
inc edx
cmp ax, 0x100
jl 0x40902c
xor eax, eax
lea edx, [esp + 0x18]
mov byte [edx], al
inc eax
inc edx
cmp ax, 0x100
jl 0x40903c
inc eax
cmp ax, 0x100
jl 0x40901f
xor eax, eax
lea edx, [esp + 0x18]
mov byte [edx], al
inc eax
inc edx
cmp ax, 0x100
jl 0x409053
mov byte [esp + 0x10], cl
mov byte [esp + 0x1c], cl
mov ebp, dword [esp + 0x10]
mov byte [esp + 0x1d], cl
mov byte [esp + 0x14], cl
jmp 0x409075
xor ecx, ecx
xor eax, eax
lea edx, [esp + 0x18]
mov byte [edx], al
inc eax
inc edx
cmp ax, 0x100
jl 0x40907b
xor eax, eax
lea edx, [esp + 0x18]
mov byte [edx], al
inc eax
inc edx
cmp ax, 0x100
jl 0x40908b
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x409099
movsx eax, cx
mov dl, byte [esp + eax + 0x18]
xor ebx, ebx
lea esi, [esp + eax + 0x18]
mov eax, dword [esp + 0x14]
and eax, 0xff
mov edi, edx
and edi, 0xff
and ebp, 0xff
mov bl, byte [eax + 0x384]
add ebx, edi
add ebx, ebp
and ebx, 0x800000ff
jns 0x4090e2
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov ebp, dword [esp + 0x10]
mov edi, ebp
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
lea edi, [esp + edi + 0x18]
mov byte [esi], bl
mov esi, 0x57
mov byte [edi], dl
cdq
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x409073
mov edi, ebp
and edi, 0xff
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x409125
xor eax, eax
lea ecx, [esp + 0x18]
mov byte [ecx], al
inc eax
inc ecx
cmp ax, 0x100
jl 0x409135
xor ecx, ecx
lea eax, [esp + 0x18]
mov byte [eax], cl
inc ecx
inc eax
cmp cx, 0x100
jl 0x409145
mov eax, dword [esp + 0x14]
xor ebx, ebx
movsx edx, cx
and eax, 0xff
lea esi, [esp + edx + 0x18]
mov bl, byte [eax + 0x384]
mov dl, byte [esi]
add edi, ebx
mov ebp, edx
and ebp, 0xff
add ebp, edi
mov ebx, ebp
and ebx, 0x800000ff
jns 0x409188
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x10], bl
mov edi, dword [esp + 0x10]
and edi, 0xff
inc eax
mov bl, byte [esp + edi + 0x18]
mov byte [esi], bl
mov byte [esp + edi + 0x18], dl
cdq
mov esi, 0x57
idiv esi
inc ecx
cmp cx, 0x100
mov byte [esp + 0x14], dl
jl 0x40911f
pop edi
pop ebp
push 0
push 0x7d
push 0x39
push 0x39
push 0x31
push 0x37
push 0x38
push 0x33
push 0x32
push 0x33
push 0x36
push 0x32
push 0x46
push 0x32
push 0x2d
push 0x36
push 0x31
push 0x43
push 0x39
push 0x2d
push 0x33
push 0x65
push 0x31
push 0x34
push 0x2d
push 0x33
push 0x34
push 0x30
push 0x46
push 0x2d
push 0x44
push 0x46
push 0x30
push 0x34
push 0x33
push 0x37
push 0x33
push 0x41
lea eax, [esp + 0xb0]
push 0x7b
push eax
call fcn.00408c90
mov edx, dword [0x4353d0]
add esp, 0xa0
lea ecx, [esp + 0x18]
push ecx
push 0
push 0x1f0003
call dword [edx + 0x30]
mov esi, eax
test esi, esi
je 0x40924a
mov eax, dword [0x4353d0]
push esi
call dword [eax + 0x48]
mov ecx, dword [0x4353d0]
push esi
call dword [ecx + 0x44]
pop esi
pop ebx
add esp, 0x74
ret