Function at 0x18026af30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.18014c9d0
sub rsp, rax
mov r15, qword [rsp + 0xd0]
xor ebp, ebp
mov rdi, r9
mov rax, r15
mov r13, r8
mov r12, rdx
shl rax, 4
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x60], rbp
add rax, 6
mov ebx, ebp
cmp rax, 0x1555555
ja 0x18026b85f
lea rsi, [r15 + r15*2]
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x25d
shl rsi, 9
lea rcx, [rsi + 0x220]
call fcn.1801a04c0
mov r14, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18026b85c
mov rcx, r15
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x25f
imul rcx, rcx, 0x21
call fcn.1801a04c0
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18026b857
lea rcx, [r15*8]
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x260
call fcn.1801a04c0
mov rdx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18026b857
mov rax, r14
mov rcx, r14
mov qword [rsp + 0x50], rbp
and eax, 0x3f
sub rcx, rax
add rcx, 0x40
mov qword [rsp + 0x58], rcx
lea r14, [rsi + rcx]
test r15, r15
je 0x18026b48c
mov rbx, qword [rsp + 0xd8]
mov r15, rdx
mov qword [rsp + 0x40], rbp
sub r15, r13
sub rdi, r13
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0xc8], rdi
nop dword [rax]
mov rcx, qword [r13]
call fcn.1801b8630
cmp eax, 0x100
jg 0x18026b083
mov rcx, qword [r13]
call fcn.1801b84c0
test eax, eax
jne 0x18026b083
mov rdi, qword [r13]
jmp 0x18026b0ba
mov rcx, rbx
call fcn.1802191d0
mov rdi, rax
test rax, rax
je 0x18026b7d3
mov rax, qword [rsp + 0xb0]
mov rdx, qword [r13]
mov r9, rbx
mov r8, qword [rax + 0x10]
mov rcx, rdi
call fcn.18021f210
test eax, eax
je 0x18026b835
mov rcx, rdi
mov qword [r15 + r13], rdi
mov esi, ebp
mov rbx, rbp
call fcn.180194c00
shl eax, 3
test eax, eax
jle 0x18026b168
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
lea rdi, [rax + rcx + 1]
mov rcx, qword [r15 + r13]
call fcn.1802a5280
add rbx, 8
mov r11, rax
mov eax, esi
add esi, 8
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
mov rdx, qword [r11 + rcx*8]
mov byte [rdi + rbx - 9], dl
mov rax, rdx
shr rax, 8
mov byte [rdi + rbx - 8], al
mov rax, rdx
shr rdx, 0x18
shr rax, 0x10
mov byte [rdi + rbx - 6], dl
shr rdx, 8
mov byte [rdi + rbx - 7], al
mov byte [rdi + rbx - 5], dl
mov rax, rdx
shr rax, 8
mov byte [rdi + rbx - 4], al
mov rax, rdx
shr rdx, 0x18
mov byte [rdi + rbx - 2], dl
shr rax, 0x10
mov byte [rdi + rbx - 3], al
mov rcx, qword [r15 + r13]
call fcn.180194c00
shl eax, 3
cmp esi, eax
jl 0x18026b0e5
cmp rbx, 0x21
jge 0x18026b185
mov rcx, qword [rsp + 0x40]
mov r8d, 0x21
xor edx, edx
add rcx, rbx
sub r8, rbx
add rcx, qword [rsp + 0x38]
call fcn.18014af80
mov rbx, qword [rsp + 0xc8]
mov r8d, 4
mov rcx, r14
mov rax, qword [rbx + r13]
mov rdx, qword [rax + 8]
call fcn.1802212c0
test eax, eax
je 0x18026b7b1
mov rax, qword [rbx + r13]
lea rcx, [r14 + 0x20]
mov r8d, 4
mov rdx, qword [rax + 0x10]
call fcn.1802212c0
test eax, eax
je 0x18026b7b1
mov rax, qword [rbx + r13]
lea rcx, [r14 + 0x40]
mov r8d, 4
mov rdx, qword [rax + 0x18]
call fcn.1802212c0
test eax, eax
je 0x18026b7b1
mov rbx, qword [rsp + 0x30]
mov r8d, 1
mov rdx, r14
mov rcx, rbx
call fcn.18029efa0
lea rcx, [r14 + 0x60]
mov rdx, r14
call fcn.18029f720
lea rdx, [r14 + 0x60]
mov r8d, 2
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0xc0]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0xc0]
mov r8d, 3
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0x60]
call fcn.18029f720
lea rdx, [r14 + 0x60]
mov r8d, 4
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0xc0]
lea rcx, [r14 + 0xc0]
call fcn.18029f720
lea rdx, [r14 + 0xc0]
mov r8d, 6
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0x120]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0x120]
mov r8d, 5
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0xc0]
lea rcx, [r14 + 0x180]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0x180]
mov r8d, 7
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0x60]
call fcn.18029f720
lea rdx, [r14 + 0x60]
mov r8d, 8
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0xc0]
lea rcx, [r14 + 0xc0]
call fcn.18029f720
lea rdx, [r14 + 0xc0]
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x120]
lea rcx, [r14 + 0x120]
call fcn.18029f720
lea rdx, [r14 + 0x120]
mov r8d, 0xa
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x180]
lea rcx, [r14 + 0x180]
call fcn.18029f720
lea rdx, [r14 + 0x180]
mov r8d, send
mov rcx, rbx
call fcn.18029efa0
mov r8, r14
lea rdx, [r14 + 0xc0]
lea rcx, [r14 + 0xc0]
call fcn.18029fa40
lea rdx, [r14 + 0xc0]
mov r8d, recv
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x120]
lea rcx, [r14 + 0x120]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0x120]
mov r8d, reloc.WS2_32.dll_inet_addr
mov rcx, rbx
mov rdi, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x180]
lea rcx, [r14 + 0x180]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0x180]
mov r8d, send
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0xc0]
mov r8, r14
call fcn.18029fa40
lea rdx, [r14 + 0xc0]
mov r8d, 9
mov rcx, rbx
call fcn.18029efa0
lea rdx, [r14 + 0x60]
lea rcx, [r14 + 0x60]
call fcn.18029f720
lea rdx, [r14 + 0x60]
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.18029efa0
mov rsi, qword [rsp + 0x50]
add qword [rsp + 0x40], 0x21
mov rbx, qword [rsp + 0xd8]
inc rsi
add rdi, 0x600
add r13, 8
mov ebp, 0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x30], rdi
cmp rsi, qword [rsp + 0xd0]
jb 0x18026b060
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0xd0]
movzx edx, byte [rbx + 0x1f]
mov eax, 0x3f
mov edi, 0xff
shr edx, 6
mov dword [rsp + 0x40], edi
and edx, 0x3f
sub eax, edx
mov ecx, edx
shr ecx, 5
dec ecx
not ecx
and eax, ecx
not ecx
and ecx, edx
mov rdx, qword [rsp + 0x58]
or eax, ecx
mov rcx, r14
mov r8d, eax
and eax, 1
shr r8d, 1
add r8d, eax
btr r8d, 0x1f
call fcn.18029f000
mov rcx, r12
mov rdx, r14
mov r8d, 0x60
call fcn.180147850
nop word [rax + rax]
cmp edi, 0xff
mov rdx, rbp
sete dl
cmp rdx, r15
jae 0x18026b65f
lea r8d, [rdi - 1]
lea r13, [rdx + rdx*2]
mov rbp, rdx
mov ecx, r8d
shl r13, 9
and r8d, 7
imul rbp, rbp, 0x21
add r13, qword [rsp + 0x58]
shr ecx, 3
mov dword [rsp + 0x30], r8d
lea eax, [rcx + 1]
mov qword [rsp + 0x68], rcx
sub r15, rdx
mov qword [rsp + 0x50], rax
nop dword [rax]
add rax, rbp
movzx edx, byte [rax + rbx]
lea rax, [rcx + rbp]
movzx ecx, byte [rax + rbx]
shl edx, 8
or edx, ecx
mov ecx, r8d
shr edx, cl
mov ecx, 0x3f
and edx, 0x3f
sub ecx, edx
mov r8d, edx
shr r8d, 5
dec r8d
not r8d
and ecx, r8d
mov eax, r8d
and r8d, 1
not eax
and eax, edx
mov rdx, r13
or ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
add eax, ecx
mov rcx, r14
lea ebx, [r8 + rax*2]
mov r8d, ebx
shr r8d, 1
call fcn.18029f000
lea rdx, [r14 + 0x20]
lea rcx, [r14 + 0x80]
call fcn.18029e440
mov rax, qword [r14 + 0x80]
mov r11d, ebx
and r11d, 1
mov r8, r14
neg r11
and rax, r11
mov rdx, r11
not rdx
mov rcx, rdx
and rcx, qword [r14 + 0x20]
xor rcx, rax
mov rax, qword [r14 + 0x28]
mov qword [r14 + 0x20], rcx
and rax, rdx
mov rcx, r11
and rcx, qword [r14 + 0x88]
xor rcx, rax
mov qword [r14 + 0x28], rcx
mov rax, qword [r14 + 0x90]
mov rcx, qword [r14 + 0x30]
and rcx, rdx
and rdx, qword [r14 + 0x38]
and rax, r11
xor rcx, rax
mov qword [r14 + 0x30], rcx
mov rax, qword [r14 + 0x98]
mov rcx, r12
and rax, r11
xor rax, rdx
mov rdx, r12
mov qword [r14 + 0x38], rax
call fcn.18029fa40
mov rbx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
add rbp, 0x21
add r13, 0x600
dec r15
jne 0x18026b540
mov edi, dword [rsp + 0x40]
mov r15, qword [rsp + 0xd0]
xor ebp, ebp
add edi, 0xfffffffb
mov rdx, r12
mov rcx, r12
mov dword [rsp + 0x40], edi
call fcn.18029f720
mov rdx, r12
mov rcx, r12
call fcn.18029f720
mov rdx, r12
mov rcx, r12
call fcn.18029f720
mov rdx, r12
mov rcx, r12
call fcn.18029f720
mov rdx, r12
mov rcx, r12
call fcn.18029f720
cmp edi, 5
jae 0x18026b4f0
test r15, r15
je 0x18026b7aa
mov r13, qword [rsp + 0x58]
mov rbp, rbx
nop word [rax + rax]
movzx edx, byte [rbp]
mov ecx, 0x3f
and edx, 0x1f
add edx, edx
sub ecx, edx
mov r8d, edx
shr r8d, 5
dec r8d
not r8d
and ecx, r8d
mov eax, r8d
and r8d, 1
not eax
and eax, edx
mov rdx, r13
or ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
add eax, ecx
mov rcx, r14
lea ebx, [r8 + rax*2]
mov r8d, ebx
shr r8d, 1
call fcn.18029f000
lea rdx, [r14 + 0x20]
lea rcx, [r14 + 0x80]
call fcn.18029e440
mov rax, qword [r14 + 0x80]
mov r11d, ebx
and r11d, 1
mov r8, r14
neg r11
and rax, r11
mov rdx, r11
not rdx
mov rcx, rdx
and rcx, qword [r14 + 0x20]
xor rcx, rax
mov rax, qword [r14 + 0x28]
mov qword [r14 + 0x20], rcx
and rax, rdx
mov rcx, r11
and rcx, qword [r14 + 0x88]
xor rcx, rax
mov qword [r14 + 0x28], rcx
mov rax, qword [r14 + 0x90]
mov rcx, qword [r14 + 0x30]
and rcx, rdx
and rdx, qword [r14 + 0x38]
and rax, r11
xor rcx, rax
mov qword [r14 + 0x30], rcx
mov rax, qword [r14 + 0x98]
mov rcx, r12
and rax, r11
xor rax, rdx
mov rdx, r12
mov qword [r14 + 0x38], rax
call fcn.18029fa40
add rbp, 0x21
add r13, 0x600
dec r15
jne 0x18026b6c0
mov ebp, 1
jmp 0x18026b7d3
mov edx, 0xf2
mov dword [rsp + 0x20], 0x28f
lea r9, str.cryptoececp_nistz256.c
lea r8d, [rdx - 0x60]
mov ecx, reloc.WS2_32.dll_recv
call fcn.18018f910
mov rbx, qword [rsp + 0x48]
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x2f1
mov rcx, rbx
call fcn.1801a0590
mov rcx, qword [rsp + 0x38]
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x2f2
call fcn.1801a0590
mov rcx, qword [rsp + 0x60]
lea rdx, str.cryptoececp_nistz256.c
mov r8d, 0x2f3
call fcn.1801a0590
mov rbx, qword [rsp + 0xb8]
mov eax, ebp
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0x272
lea r9, str.cryptoececp_nistz256.c
lea r8d, [rcx - 0xd]
mov edx, 0xf2
jmp 0x18026b7ce
mov rbx, r14
jmp 0x18026b85f
mov rbx, rax
mov ecx, reloc.WS2_32.dll_recv
lea r9, str.cryptoececp_nistz256.c
mov edx, 0xf2
lea r8d, [rcx + 0x31]
mov dword [rsp + 0x20], 0x261
call fcn.18018f910
jmp 0x18026b7d8