Function at 0x4078b0
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 0x4078ee
mov ebx, 0xff
lea edi, [ebx + 1]
cmp edi, edx
jae 0x4078de
cmp byte [ecx + ebx + 1], 0xbf
jg 0x4078ec
mov edi, ebx
sub edi, 1
jb 0x4078eb
cmp edx, ebx
mov ebx, edi
jne 0x4078d0
inc edi
xor ebx, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov edi, 0x43188f
mov ebp, 0x42f8f3
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 0x407acc
cmp eax, edx
ja 0x407acc
cmp esi, eax
ja 0x407b3d
test esi, esi
je 0x40793e
cmp edx, esi
je 0x40793e
jbe 0x407940
cmp byte [ecx + esi], 0xc0
jl 0x407940
mov esi, eax
test esi, esi
mov dword [esp + 0x60], esi
je 0x40796a
cmp esi, edx
je 0x40796a
lea edi, [edx + 1]
nop
cmp esi, edx
jae 0x40795a
cmp byte [ecx + esi], 0xc0
jge 0x40796a
lea eax, [esi - 1]
cmp esi, 1
je 0x40796c
cmp edi, esi
mov esi, eax
jne 0x407950
jmp 0x40796c
mov eax, esi
cmp eax, edx
jne 0x40797c
mov ecx, 0x43135c
call fcn.00407330
ud2
lea ebp, [ecx + eax]
mov bl, byte [ebp]
movzx esi, bl
test bl, bl
js 0x40799b
mov dword [esp + 4], esi
lea ecx, [esp + 8]
mov esi, 1
jmp 0x407a3e
add ecx, edx
lea edi, [ebp + 1]
xor edx, edx
cmp edi, ecx
mov edi, ecx
je 0x4079b4
movzx edx, byte [ebp + 1]
add ebp, 2
mov edi, ebp
and edx, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x407a04
xor ebp, ebp
cmp edi, ecx
mov dword [esp], ecx
je 0x4079cf
movzx ebp, byte [edi]
inc edi
mov dword [esp], edi
and ebp, 0x3f
shl edx, 6
or edx, ebp
cmp bl, 0xf0
jb 0x407a09
mov ebx, dword [esp]
xor edi, edi
cmp ebx, ecx
je 0x4079ea
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 0x407a0e
jmp 0x407970
shl esi, 6
jmp 0x407a0c
shl esi, 0xc
or edx, esi
lea ecx, [esp + 8]
mov esi, 1
cmp edx, 0x80
mov dword [esp + 4], edx
jb 0x407a3e
mov esi, 2
cmp edx, 0x800
jb 0x407a3e
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], 0x42f950
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], 0x406e30
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x407bc0
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x3c], 0x408010
lea edx, [esp + 0x58]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0x40c200
mov dword [esp + 0x48], edx
mov edx, 0x42f978
mov dword [esp + 0x4c], 0x40c200
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], 5
call fcn.00406f30
ud2
cmp esi, edx
lea edx, [esp + 8]
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 0x42f8f8
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0x406e30
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x58]
cmova eax, esi
mov dword [esp + 0x34], 0x40c200
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov edx, 0x42f910
mov dword [esp + 8], eax
mov dword [esp + 0x3c], 0x40c200
mov dword [esp + 0x24], 3
call fcn.00406f30
ud2
lea eax, [esp + 0x78]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 0x42f920
mov dword [esp + 0x14], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x406e30
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x406e30
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x58]
mov dword [esp + 0x3c], 0x40c200
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
mov edx, 0x42f940
mov dword [esp + 0x44], 0x40c200
mov dword [esp + 0x24], 4
call fcn.00406f30
ud2