Function at 0x1005cce0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [0x1017f528]
xor ecx, ebp
mov dword [esp + 0x78], ecx
movzx ecx, byte [eax]
jmp 0x1005cd20
xor edx, edx
cmp cl, 0x25
sete dl
movzx ecx, byte [eax + edx + 1]
add eax, edx
inc eax
test cl, cl
je 0x1005cf41
cmp cl, 0x25
jne 0x1005cd10
cmp byte [eax + 1], 0x25
je 0x1005cd10
lea ebx, [eax + 1]
mov cl, 0x25
mov edx, 0x25
mov edi, 0x900
mov esi, 0x2480a80
jmp 0x1005cd64
dec dl
movzx ecx, dl
bt edi, ecx
jae 0x1005cd83
movsx edx, byte [ebx]
inc ebx
mov ecx, edx
test edx, edx
je 0x1005cd82
mov ch, cl
add ch, 0xbf
cmp ch, 0x19
jbe 0x1005cd50
add cl, 0x9f
cmp cl, 0x19
ja 0x1005cd5a
dec dl
movzx ecx, dl
bt esi, ecx
jb 0x1005cd5a
jmp 0x1005cd83
dec ebx
mov edi, dword [ebp + 0x14]
lea edx, [esp + 0x58]
mov ecx, ebx
mov esi, edx
sub ecx, eax
jbe 0x1005cdb5
mov edi, eax
not edi
add edi, ebx
lea esi, [esp + 0x58]
and ecx, 3
jne 0x1005ce48
cmp edi, 3
lea edx, [esp + 0x58]
mov edi, dword [ebp + 0x14]
jae 0x1005ce6b
mov byte [esi], 0
lea ebx, [esp + 0x18]
push edi
push dword [ebp + 0x10]
push edx
push 0x40
push ebx
call fcn.1001cbc0
add esp, 0x14
nop dword [eax]
movzx eax, byte [ebx]
inc ebx
cmp al, 0x20
je 0x1005cdd0
mov ecx, dword [ebp + 0xc]
and ecx, 0xfffffffe
cmp ecx, 8
jne 0x1005cec4
dec ebx
push ebx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
add esp, 4
fstp qword [esp + 0x10]
vmovsd xmm0, qword [esp + 0x10]
vmovsd xmm1, qword [0x10131680]
vucomisd xmm0, xmm1
jae 0x1005ce0e
vxorpd xmm1, xmm1, xmm1
vsubsd xmm0, xmm0, xmm1
vmovsd qword [esp + 8], xmm0
fld qword [esp + 8]
fisttp qword [esp + 8]
setae al
movzx edi, al
shl edi, 0x1f
xor edi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1005cf41
inc eax
dec ecx
je 0x1005cda5
movzx edx, byte [eax]
cmp edx, 0x24
je 0x1005ce40
cmp edx, 0x27
je 0x1005ce40
cmp edx, 0x5f
je 0x1005ce40
mov byte [esi], dl
inc esi
jmp 0x1005ce40
add eax, 4
cmp eax, ebx
je 0x1005cdb5
movzx ecx, byte [eax]
cmp ecx, 0x24
je 0x1005ce80
cmp ecx, 0x27
je 0x1005ce80
cmp ecx, 0x5f
je 0x1005ce80
mov byte [esi], cl
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, 0x24
je 0x1005ce96
cmp ecx, 0x27
je 0x1005ce96
cmp ecx, 0x5f
je 0x1005ce96
mov byte [esi], cl
inc esi
movzx ecx, byte [eax + 2]
cmp ecx, 0x24
je 0x1005ceac
cmp ecx, 0x27
je 0x1005ceac
cmp ecx, 0x5f
je 0x1005ceac
mov byte [esi], cl
inc esi
movzx ecx, byte [eax + 3]
cmp ecx, 0x24
je 0x1005ce60
cmp ecx, 0x27
je 0x1005ce60
cmp ecx, 0x5f
je 0x1005ce60
mov byte [esi], cl
inc esi
jmp 0x1005ce60
xor ecx, ecx
cmp al, 0x2d
sete cl
xor edx, edx
cmp byte [ebx + ecx - 1], 0x2b
sete dl
add edx, ecx
mov ah, byte [ebx + edx - 1]
mov cl, ah
add cl, 0xd0
mov byte [esp + 7], cl
mov esi, 0
mov ecx, 0
cmp byte [esp + 7], 9
ja 0x1005cf2e
add ebx, edx
xor edx, edx
xor ecx, ecx
nop dword [eax + eax]
movzx esi, ah
mov edi, 0xa
mulx edx, edi, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
add esi, 0xffffffd0
add esi, edi
adc ecx, edx
mov ah, byte [ebx]
mov byte [esp + 7], ah
add ah, 0xd0
inc ebx
mov edx, esi
cmp ah, 0xa
mov ah, byte [esp + 7]
jb 0x1005cf00
mov ebx, esi
neg ebx
mov edi, 0
sbb edi, ecx
cmp al, 0x2d
cmovne ebx, esi
cmovne edi, ecx
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.100d7fe0
mov eax, ebx
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret