Function at 0x140049170
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x14012b050]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov edi, 0xfde9
test rcx, rcx
je 0x140049403
mov rsi, rcx
cmp byte [rcx], 0
je 0x140049403
lea r13, [0x1400f2370]
mov edi, 0xffffffff
lea r12, str.UTF_8
mov qword [rsp + 0x20], rsi
jmp 0x1400491f4
add rsi, 1
movzx ecx, r14b
call 0x1400d11ac
mov ebp, eax
add r12, 1
movzx ecx, r15b
call 0x1400d11ac
cmp ebp, eax
jne 0x1400492bf
mov r14b, byte [rsi]
test r14b, r14b
je 0x140049240
nop dword [rax]
movzx ebp, r14b
mov ecx, ebp
call fcn.1400ced70
test eax, eax
setne al
cmp bpl, 0x3a
sete bl
or bl, al
jne 0x14004922c
movzx r14d, byte [rsi + 1]
add rsi, 1
test r14b, r14b
jne 0x140049200
xor r14d, r14d
xor bl, 1
jmp 0x140049245
mov bl, 1
xor r14d, r14d
mov r15b, byte [r12]
test r15b, r15b
je 0x140049272
nop
movzx ecx, r15b
call fcn.1400ced70
test eax, eax
jne 0x140049275
cmp r15b, 0x3a
je 0x140049275
movzx r15d, byte [r12 + 1]
add r12, 1
test r15b, r15b
jne 0x140049250
xor r15d, r15d
test bl, bl
je 0x1400491d0
mov edi, dword [r13 + 8]
cmp edi, 0xffffffff
je 0x140049403
cmp edi, 0xfde9
je 0x140049403
test edi, edi
je 0x140049380
mov ecx, edi
lea rdx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1400493b1
mov r14b, byte [rsi]
mov r15b, byte [r12]
jmp 0x1400491d0
mov r12, qword [r13 + 0x18]
add r13, 0x18
test r12, r12
mov rsi, qword [rsp + 0x20]
jne 0x1400491f4
movzx ebp, byte [rsi]
mov ecx, ebp
call 0x1400d11ac
mov rbx, rsi
cmp eax, 0x63
jne 0x140049300
movzx ecx, byte [rsi + 1]
call 0x1400d11ac
xor ecx, ecx
cmp eax, 0x70
sete cl
lea rbx, [rsi + rcx*2]
movzx ebp, byte [rsi + rcx*2]
mov ecx, ebp
call 0x1400d11ac
cmp eax, 0x69
jne 0x140049332
movzx ecx, byte [rbx + 1]
call 0x1400d11ac
cmp eax, 0x62
jne 0x140049332
movzx ecx, byte [rbx + 2]
call 0x1400d11ac
xor ecx, ecx
cmp eax, 0x6d
sete cl
lea rax, [rcx + rcx*2]
add rbx, rax
xor eax, eax
movzx ecx, byte [rbx + rax]
lea edx, [rcx - 0x30]
add rax, 1
cmp dl, 0xa
jb 0x140049334
test cl, cl
jne 0x140049358
cmp rax, 1
je 0x140049358
mov rcx, rbx
call 0x1400ccb74
mov edi, eax
test edi, edi
jne 0x140049364
call qword [sym.imp.KERNEL32.dll_GetACP]
mov edi, eax
cmp edi, 1
jne 0x140049371
call qword [sym.imp.KERNEL32.dll_GetOEMCP]
mov edi, eax
mov ebx, 0xfffffffe
cmp edi, 0xffff
jle 0x1400493a0
jmp 0x1400493a7
lea rax, [0x1400f2370]
sub r13, rax
shr r13, 3
imul edi, r13d, 0xaaaaaaab
add edi, 0x10000
mov rsi, qword [rsp + 0x20]
mov ebx, edi
cmp edi, 0xffffffff
je 0x1400493ec
cmp ebx, 0xfde9
jne 0x1400493c0
jmp 0x1400493fa
mov ebx, edi
mov rsi, qword [rsp + 0x20]
cmp ebx, 0xfde9
je 0x1400493fa
cmp ebx, 0xffff
jg 0x1400493fa
lea rdx, [rsp + 0x28]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
je 0x1400493fe
mov edi, 0xfffffffd
cmp dword [rsp + 0x28], 1
ja 0x140049403
mov edi, ebx
cmp ebx, 0xffffffff
jne 0x140049403
xor edi, edi
cmp byte [rsi], 0
sete dil
or edi, 0xfffffffe
jmp 0x140049403
mov edi, ebx
jmp 0x140049403
mov edi, 0xfffffffe
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call 0x1400ba9f0
mov eax, edi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret