Function at 0x1400639e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
movabs r12, 0xc150ff023ce6698e
mov rax, qword [0x1402f6970]
add rax, r12
call rax
cdqe
lea rcx, [0x14024b54c]
movzx ecx, byte [rcx + rax*4]
mov eax, edi
mov r14, rax
shr r14, cl
mov rax, qword [0x1402f6978]
add rax, r12
call rax
cdqe
lea rcx, [0x14024b558]
mov ebp, r14d
add ebp, dword [rcx + rax*4]
mov rax, qword [0x1402f6980]
add rax, r12
call rax
cdqe
lea rcx, [0x14024b564]
and ebp, dword [rcx + rax*4]
mov edx, ebp
mov rax, qword [0x1402f6988]
add rax, r12
mov r8d, 6
mov rcx, rbx
call rax
test rax, rax
je 0x140063d3a
mov r15, rax
mov rax, qword [0x1402f6990]
add rax, r12
mov rcx, rbx
mov rdx, r15
call rax
test rax, rax
je 0x140063d3a
mov rcx, rax
mov rax, qword [0x1402f6998]
add rax, r12
call rax
test rax, rax
je 0x140063d3a
mov r14, rax
mov qword [rsp + 0x20], rsi
mov r13, rax
mov rax, qword [0x1402f69a0]
add rax, r12
mov rcx, rbx
mov rdx, r15
call rax
mov ebx, eax
mov rax, qword [0x1402f69a8]
add rax, r12
call rax
cdqe
lea rcx, [0x14024b570]
mov ebp, edi
and ebp, dword [rcx + rax*4]
mov rax, qword [0x1402f69b0]
add rax, r12
call rax
imul eax, dword [0x140294b14], 0x231b21a3
imul ecx, dword [0x140294b18], 0xb69b3b6c
lea edi, [rax + rcx]
add edi, 0x6cbec5bf
mov rax, qword [0x1402f69b8]
add rax, r12
call rax
imul eax, dword [str.82__v], 0xc5d3cee6
imul ecx, dword [0x140294b20], 0x706acb1e
add ecx, eax
add ecx, 0x4882236
cmp ebx, ecx
setne al
cmp ebp, edi
je 0x140063bfe
cmp ebx, ecx
je 0x140063bfe
mov ebx, ebx
mov eax, ebx
add r14, rax
lea rdi, reloc.WS2_32.dll_accept
lea rbx, reloc.OLEAUT32.dll_SysReAllocString
lea r15, [0x14024b5b8]
mov rsi, r13
nop dword [rax + rax]
movzx eax, word [rsi]
mov r13d, eax
mov rax, qword [0x1402f69c0]
add rax, r12
call rax
cdqe
movzx ecx, byte [rdi + rax*8]
shl r13, cl
mov rax, qword [0x1402f69c8]
add rax, r12
call rax
cdqe
add r13, qword [rbx + rax*8]
add r13, rsi
mov rax, qword [0x1402f69d0]
add rax, r12
call rax
cdqe
add ebp, dword [r15 + rax*4]
mov rax, qword [0x1402f69d8]
add rax, r12
call rax
mov eax, dword [0x140294b24]
mov ecx, dword [0x140294b28]
shrd ecx, eax, 1
xor ecx, 0xe50db6d
cmp r13, r14
setb al
movzx edx, byte [reloc.WS2_32.dll_accept]
inc dl
cmp ebp, ecx
mov ecx, 0
mov cl, al
movzx edx, dl
cmovne edx, ecx
mov rsi, r13
test dl, 1
jne 0x140063b70
test al, al
je 0x140063d3a
mov r14, r13
movzx edi, word [r13]
mov esi, edi
mov rax, qword [0x1402f69e0]
add rax, r12
call rax
movzx eax, word [0x140294b2e]
movzx ecx, word [0x140294b30]
shrd cx, ax, 3
mov eax, ecx
xor eax, 0x5dc3
test r13, r13
sete cl
movzx edx, byte [0x1404a7506]
add dl, byte [reloc.WS2_32.dll_accept]
cmp di, ax
mov eax, 0
mov al, cl
movzx ecx, dl
cmovne ecx, eax
mov eax, 0
test cl, 1
jne 0x140063d3c
lea rbx, [r14 + 2]
mov r13, qword [rsp + 0x20]
mov r15, qword [r13]
mov esi, dword [r15 - 8]
mov rax, qword [0x1402f69e8]
add rax, r12
call rax
cdqe
lea rcx, [0x14024b5c4]
mov eax, dword [rcx + rax*4]
sub eax, esi
mov ecx, dword [r15 - 0xc]
sub ecx, edi
mov esi, ecx
or esi, eax
mov rax, qword [0x1402f69f0]
add rax, r12
call rax
mov eax, dword [0x140294b34]
mov ecx, dword [0x140294b38]
shrd ecx, eax, 9
xor ecx, 0x9d71ce98
mov r9d, edi
cmp esi, ecx
jge 0x140063cde
mov rax, qword [0x1402f69f8]
add rax, r12
mov rcx, r13
mov edx, edi
call rax
mov r15, qword [r13]
movzx r9d, word [r14]
mov rcx, r15
mov rax, qword [0x1402f6a00]
add rax, r12
mov edx, edi
mov r8, rbx
call rax
mov rax, qword [r13]
cmp dword [rax - 0xc], edi
jl 0x140063d4d
mov dword [rax - 0x10], edi
mov rsi, qword [r13]
mov edi, edi
add r12, qword [0x1402f6a10]
call r12
movzx eax, word [0x140294b44]
movzx ecx, word [0x140294b46]
imul eax, eax, 0x4737
imul ecx, ecx, 0x5de3
add eax, ecx
add eax, 0x908
mov word [rsi + rdi*2], ax
mov eax, 1
jmp 0x140063d3c
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x140294b3c]
mov ecx, dword [0x140294b40]
shrd ecx, eax, 8
xor ecx, 0x3fdd87be
add r12, qword [0x1402f6a08]
call r12
int3