Function at 0x410a20
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov bl, 1
cmp edx, 0x101
mov edi, edx
jb 0x410a5e
mov ebx, 0xff
lea edi, [ebx + 1]
cmp edi, edx
jae 0x410a4e
cmp byte [ecx + ebx + 1], 0xbf
jg 0x410a5c
mov edi, ebx
sub edi, 1
jb 0x410a5b
cmp edx, ebx
mov ebx, edi
jne 0x410a40
inc edi
xor ebx, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov edi, 0x4483ff
mov ebp, 0x445ddb
test bl, bl
cmovne ebp, edi
xor bl, 1
cmp esi, edx
movzx edi, bl
mov dword [esp + 0x58], ebp
lea edi, [edi + edi*4]
mov dword [esp + 0x5c], edi
ja 0x410c49
cmp eax, edx
ja 0x410c49
cmp esi, eax
ja 0x410cba
test esi, esi
je 0x410aae
cmp edx, esi
je 0x410aae
jbe 0x410ab0
cmp byte [ecx + esi], 0xc0
jl 0x410ab0
mov esi, eax
test esi, esi
mov dword [esp + 0x60], esi
je 0x410ada
cmp esi, edx
je 0x410ada
lea edi, [edx + 1]
nop
cmp esi, edx
jae 0x410aca
cmp byte [ecx + esi], 0xc0
jge 0x410ada
lea eax, [esi - 1]
cmp esi, 1
je 0x410adc
cmp edi, esi
mov esi, eax
jne 0x410ac0
jmp 0x410adc
mov eax, esi
cmp eax, edx
jne 0x410af9
mov ecx, 0x4494d9
mov edx, 0x2b
push 0x445e38
call fcn.004104b0
add esp, 4
ud2
lea ebp, [ecx + eax]
mov bl, byte [ebp]
movzx esi, bl
test bl, bl
js 0x410b18
mov dword [esp + 4], esi
lea ecx, [esp + 8]
mov esi, 1
jmp 0x410bbb
add ecx, edx
lea edi, [ebp + 1]
xor edx, edx
cmp edi, ecx
mov edi, ecx
je 0x410b31
movzx edx, byte [ebp + 1]
add ebp, 2
mov edi, ebp
and edx, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x410b81
xor ebp, ebp
cmp edi, ecx
mov dword [esp], ecx
je 0x410b4c
movzx ebp, byte [edi]
inc edi
mov dword [esp], edi
and ebp, 0x3f
shl edx, 6
or edx, ebp
cmp bl, 0xf0
jb 0x410b86
mov ebx, dword [esp]
xor edi, edi
cmp ebx, ecx
je 0x410b67
movzx edi, byte [ebx]
mov ecx, ebx
and edi, 0x3f
and esi, 7
shl edx, 6
shl esi, 0x12
or edx, esi
or edx, edi
cmp edx, 0x110000
jne 0x410b8b
jmp 0x410ae0
shl esi, 6
jmp 0x410b89
shl esi, 0xc
or edx, esi
lea ecx, [esp + 8]
mov esi, 1
cmp edx, 0x80
mov dword [esp + 4], edx
jb 0x410bbb
mov esi, 2
cmp edx, 0x800
jb 0x410bbb
cmp edx, 0x10000
mov esi, 4
sbb esi, 0
add esi, eax
mov dword [esp + 8], eax
lea edx, [esp + 4]
mov dword [esp + 0x10], 0x445e48
mov dword [esp + 0x14], 5
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], esi
lea esi, [esp + 0x60]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0x40ffc0
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x410d40
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x3c], 0x4111a0
lea edx, [esp + 0x58]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0x40ce30
mov dword [esp + 0x48], edx
mov edx, 0x445e70
mov dword [esp + 0x4c], 0x40ce30
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], 5
call fcn.004100c0
ud2
cmp esi, edx
lea edx, [esp + 8]
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 0x445de0
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0x40ffc0
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x58]
cmova eax, esi
mov dword [esp + 0x34], 0x40ce30
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov edx, 0x445df8
mov dword [esp + 8], eax
mov dword [esp + 0x3c], 0x40ce30
mov dword [esp + 0x24], 3
call fcn.004100c0
ud2
lea eax, [esp + 0x78]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 0x445e08
mov dword [esp + 0x14], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x40ffc0
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x40ffc0
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x58]
mov dword [esp + 0x3c], 0x40ce30
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov edx, 0x445e28
mov dword [esp + 0x44], 0x40ce30
mov dword [esp + 0x24], 4
call fcn.004100c0
ud2