Function at 0x1400cf90a
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x1401177b0
push rbp
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x1402d9238]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov rdi, r8
mov r14, rdx
mov rsi, rcx
test rcx, rcx
jne 0x1401177f0
lea r8d, [rcx + 0x3e]
lea rcx, str.in___NULL
lea rdx, str.srcpk_asn1dergeneralizedtimeder_decode_generalizedtime.c
call fcn.1400cabda
test r14, r14
jne 0x14011780c
lea r8d, [r14 + 0x3f]
lea rdx, str.srcpk_asn1dergeneralizedtimeder_decode_generalizedtime.c
lea rcx, str.inlen___NULL
call fcn.1400cabda
test rdi, rdi
jne 0x140117828
lea r8d, [rdi + 0x40]
lea rdx, str.srcpk_asn1dergeneralizedtimeder_decode_generalizedtime.c
lea rcx, str.out___NULL
call fcn.1400cabda
mov edx, dword [r14]
cmp edx, 2
jb 0x140117aea
movzx ecx, byte [rsi + 1]
cmp cl, 0x20
jae 0x140117aea
movzx eax, cl
add eax, 2
cmp eax, edx
ja 0x140117aea
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r15
xor r15d, r15d
mov ebx, r15d
test cl, cl
je 0x1401178ad
movabs r12, 0x800000007fed
lea eax, [rbx + 2]
movzx ecx, byte [rax + rsi]
call fcn.1400cf770
cmp eax, 0xffffffff
je 0x140117aa5
lea ecx, [rax - 0x2b]
cmp ecx, 0x2f
ja 0x140117aa5
bt r12, rcx
jae 0x140117aa5
mov ecx, ebx
inc ebx
mov byte [rbp + rcx - 0x48], al
movzx eax, byte [rsi + 1]
cmp ebx, eax
jb 0x140117872
lea eax, [rbx + 2]
mov dword [r14], eax
cmp ebx, 0xf
jb 0x140117aa5
movzx ecx, byte [rbp - 0x48]
call fcn.140117700
movzx ecx, byte [rbp - 0x47]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
lea r8d, [rcx + rcx*4]
movzx ecx, byte [rbp - 0x46]
call fcn.140117700
lea ecx, [rax + r8*2]
lea r8d, [rcx + rcx*4]
movzx ecx, byte [rbp - 0x45]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi], ecx
cmp ecx, 0x2710
jae 0x140117aa5
movzx ecx, byte [rbp - 0x44]
call fcn.140117700
movzx ecx, byte [rbp - 0x43]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi + 4], ecx
cmp ecx, 0xd
jae 0x140117aa5
movzx ecx, byte [rbp - 0x42]
call fcn.140117700
movzx ecx, byte [rbp - 0x41]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi + 8], ecx
cmp ecx, 0x20
jae 0x140117aa5
movzx ecx, byte [rbp - 0x40]
call fcn.140117700
movzx ecx, byte [rbp - 0x3f]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi + 0xc], ecx
cmp ecx, 0x18
jae 0x140117aa5
movzx ecx, byte [rbp - 0x3e]
call fcn.140117700
movzx ecx, byte [rbp - 0x3d]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi + 0x10], ecx
cmp ecx, 0x3c
jae 0x140117aa5
movzx ecx, byte [rbp - 0x3c]
call fcn.140117700
movzx ecx, byte [rbp - 0x3b]
lea r8d, [rax + rax*4]
call fcn.140117700
lea ecx, [rax + r8*2]
mov dword [rdi + 0x14], ecx
cmp ecx, 0x3c
jae 0x140117aa5
mov rax, qword [rbp - 0x3a]
mov r9d, reloc.WS2_32.dll_ntohl
mov dword [rdi + 0x18], r15d
cmp al, 0x5a
je 0x140117a36
cmp al, 0x2e
jne 0x140117a29
cmp byte [rbp - 0x39], 0x30
mov r9d, reloc.WS2_32.dll_ntohs
jb 0x140117a29
lea rax, [rbp - 0x39]
nop word [rax + rax]
movzx ecx, byte [rax]
cmp cl, 0x39
ja 0x140117a29
mov r8d, dword [rdi + 0x18]
cmp r9d, 0x20
jae 0x140117aa5
call fcn.140117700
lea ecx, [r8 + r8*4]
lea edx, [rax + rcx*2]
mov dword [rdi + 0x18], edx
cmp r8d, edx
ja 0x140117a5d
inc r9d
lea rax, [rbp - 0x48]
add rax, r9
cmp byte [rax], 0x30
jae 0x1401179f0
mov eax, r9d
movzx ecx, byte [rbp + rax - 0x48]
cmp cl, 0x5a
jne 0x140117a64
xor eax, eax
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.1400cbea4
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
ret
mov eax, reloc.WS2_32.dll_send
jmp 0x140117a38
lea eax, [rcx - 0x2b]
test al, 0xfd
jne 0x140117aa5
mov eax, r15d
inc r9d
cmp cl, 0x2b
setne al
mov dword [rdi + 0x1c], eax
lea eax, [r9 + 1]
movzx ecx, byte [rbp + rax - 0x48]
call fcn.140117700
movzx ecx, byte [rbp + r9 - 0x48]
mov r8d, eax
call fcn.140117700
lea ecx, [rax + rax*4]
lea eax, [r8 + rcx*2]
mov dword [rdi + 0x20], eax
cmp eax, 0x18
jb 0x140117aac
mov eax, 7
jmp 0x140117a38
add r9d, 2
lea eax, [r9 + 1]
movzx ecx, byte [rbp + rax - 0x48]
call fcn.140117700
movzx ecx, byte [rbp + r9 - 0x48]
mov r8d, eax
call fcn.140117700
lea ecx, [rax + rax*4]
mov eax, 7
lea edx, [r8 + rcx*2]
cmp edx, 0x3c
mov dword [rdi + 0x24], edx
cmovae r15d, eax
mov eax, r15d
jmp 0x140117a38
mov eax, 7
jmp 0x140117a47