Function at 0x100e3170
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 edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x78]
mov bl, 1
cmp edx, 0x101
mov edi, edx
jb 0x100e31be
mov ebx, 0xff
nop
lea edi, [ebx + 1]
cmp edi, edx
jae 0x100e31ae
cmp byte [eax + ebx + 1], 0xbf
jg 0x100e31bc
mov edi, ebx
sub edi, 1
jb 0x100e31bb
cmp edx, ebx
mov ebx, edi
jne 0x100e31a0
inc edi
xor ebx, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edi
mov edi, str.0assertion_failed:_edelta___0srclibcore_numdiy_float.rs
mov ebp, str._..._byte_index__is_out_of_bounds_of___vp
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 0x100e33aa
cmp ecx, edx
ja 0x100e33aa
cmp esi, ecx
ja 0x100e341f
test esi, esi
je 0x100e320e
cmp edx, esi
je 0x100e320e
jbe 0x100e3210
cmp byte [eax + esi], 0xc0
jl 0x100e3210
mov esi, ecx
test esi, esi
mov dword [esp + 0x60], esi
je 0x100e323a
cmp esi, edx
je 0x100e323a
lea edi, [edx + 1]
nop
cmp esi, edx
jae 0x100e322a
cmp byte [eax + esi], 0xc0
jge 0x100e323a
lea ecx, [esi - 1]
cmp esi, 1
je 0x100e323c
cmp edi, esi
mov esi, ecx
jne 0x100e3220
jmp 0x100e323c
mov ecx, esi
cmp ecx, edx
jne 0x100e3256
push 0x101870a8
push 0x2b
push 0x10186af5
call fcn.100df260
add esp, 0xc
ud2
lea ebp, [eax + ecx]
mov bl, byte [ebp]
movzx esi, bl
test bl, bl
js 0x100e3275
mov dword [esp + 4], esi
lea eax, [esp + 8]
mov esi, 1
jmp 0x100e3318
add eax, edx
lea edi, [ebp + 1]
xor edx, edx
cmp edi, eax
mov edi, eax
je 0x100e328e
movzx edx, byte [ebp + 1]
add ebp, 2
mov edi, ebp
and edx, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x100e32de
xor ebp, ebp
cmp edi, eax
mov dword [esp], eax
je 0x100e32a9
movzx ebp, byte [edi]
inc edi
mov dword [esp], edi
and ebp, 0x3f
shl edx, 6
or edx, ebp
cmp bl, 0xf0
jb 0x100e32e3
mov ebx, dword [esp]
xor edi, edi
cmp ebx, eax
je 0x100e32c4
movzx edi, byte [ebx]
mov eax, ebx
and edi, 0x3f
and esi, 7
shl edx, 6
shl esi, 0x12
or edx, esi
or edx, edi
cmp edx, 0x110000
jne 0x100e32e8
jmp 0x100e3240
shl esi, 6
jmp 0x100e32e6
shl esi, 0xc
or edx, esi
lea eax, [esp + 8]
mov esi, 1
cmp edx, 0x80
mov dword [esp + 4], edx
jb 0x100e3318
mov esi, 2
cmp edx, 0x800
jb 0x100e3318
cmp edx, 0x10000
mov esi, 4
sbb esi, 0
add esi, ecx
mov dword [esp + 8], ecx
lea edx, [esp + 4]
mov dword [esp + 0x10], 0x101870ec
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], fcn.100e5520
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x100e1c70
mov dword [esp + 0x38], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x3c], 0x100deda0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x44], 0x100e5e10
mov dword [esp + 0x48], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x4c], 0x100e5e10
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], 5
push 0x10187114
push eax
call fcn.100df310
add esp, 8
ud2
lea eax, [esp + 8]
cmp esi, edx
mov dword [esp + 0x10], 0x1018702c
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x2c], fcn.100e5520
cmova ecx, esi
mov dword [esp + 0x30], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x34], 0x100e5e10
mov dword [esp + 8], ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x3c], 0x100e5e10
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], 3
push 0x10187044
push eax
call fcn.100df310
add esp, 8
ud2
lea eax, [esp + 0x80]
mov dword [esp + 0x10], 0x10187078
mov dword [esp + 0x14], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x2c], fcn.100e5520
mov dword [esp + 0x30], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x34], fcn.100e5520
mov dword [esp + 0x38], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x3c], 0x100e5e10
mov dword [esp + 0x40], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x44], 0x100e5e10
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], 4
push 0x10187098
push eax
call fcn.100df310
add esp, 8
ud2