Function at 0x1800438f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov dword [rcx + 0x3cc], reloc.WS2_32.dll_recv
mov rdi, rcx
mov dword [rcx + 0x3d0], reloc.WS2_32.dll_recv
movups xmm0, xmmword [r8]
movups xmmword [rcx + 0x3d8], xmm0
movups xmm0, xmmword [r8]
movups xmmword [rcx + 0x3f8], xmm0
mov eax, dword [rcx + 0x3cc]
cmp eax, 0x10
je 0x180043972
lea r14, [rcx + 0x3d4]
cmp eax, 0x18
je 0x18004395c
mov dword [r14], reloc.WS2_32.dll_ntohl
mov eax, dword [rcx + 0x3d0]
jmp 0x1800439a2
cmp dword [rdi + 0x3d0], 0x20
mov eax, reloc.WS2_32.dll_ntohl
mov ecx, listen
cmovne eax, ecx
jmp 0x180043999
mov edx, dword [rcx + 0x3d0]
cmp edx, 0x10
jne 0x180043982
lea eax, [rdx - 6]
jmp 0x180043992
cmp edx, 0x18
mov eax, reloc.WS2_32.dll_ntohl
mov ecx, listen
cmove eax, ecx
lea r14, [rdi + 0x3d4]
mov dword [r14], eax
mov eax, dword [rdi + 0x3d0]
cdq
lea rsi, [rdi + 0xc]
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
xor ebx, ebx
mov r15, r13
mov qword [rsp + 0x78], r13
nop dword [rax]
test r15, r15
jle 0x1800439d6
mov r8, r15
xor edx, edx
shl r8, 2
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [r14]
inc ebx
add rsi, 0x20
cmp ebx, eax
jle 0x1800439c0
xor ebx, ebx
test eax, eax
js 0x180043a15
lea rsi, [rdi + 0x1ec]
test r15, r15
jle 0x180043a06
mov r8, r15
xor edx, edx
shl r8, 2
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [r14]
inc ebx
add rsi, 0x20
cmp ebx, eax
jle 0x1800439f0
jmp 0x180043a1a
mov qword [rsp + 0x78], r15
lea r12d, [rax + 1]
mov eax, dword [rdi + 0x3cc]
cdq
imul r12d, r13d
and edx, 3
lea r10, [rdi + 0x418]
add eax, edx
mov r8, r10
sar eax, 2
lea rdx, str.pz6kg3umq99rfb2a
movsxd rsi, eax
test eax, eax
jle 0x180043a8c
mov r9d, esi
nop dword [rax]
movzx ecx, byte [rdx]
lea r8, [r8 + 4]
shl ecx, 0x18
lea rdx, [rdx + 4]
mov dword [r8 - 4], ecx
movzx eax, byte [rdx - 3]
shl eax, 0x10
or eax, ecx
mov dword [r8 - 4], eax
movzx ecx, byte [rdx - 2]
shl ecx, 8
or ecx, eax
mov dword [r8 - 4], ecx
movzx eax, byte [rdx - 1]
or ecx, eax
mov dword [r8 - 4], ecx
sub r9, 1
jne 0x180043a50
xor ebx, ebx
mov rbp, rsi
test esi, esi
jle 0x180043aea
xor r11d, r11d
nop dword [rax + rax]
cmp ebx, r12d
jge 0x180043c30
mov ecx, dword [r10]
mov eax, ebx
cdq
inc r11
idiv r13d
movsxd r9, eax
mov eax, ebx
cdq
inc ebx
idiv r13d
movsxd r8, edx
lea rdx, [r8 + r9*8]
mov dword [rdi + rdx*4 + 0xc], ecx
mov eax, dword [r14]
sub eax, r9d
cdqe
lea rcx, [r8 + rax*8]
mov eax, dword [r10]
add r10, 4
mov dword [rdi + rcx*4 + 0x1ec], eax
cmp r11, rbp
jl 0x180043aa0
cmp ebx, r12d
jge 0x180043c30
lea rax, [0x1800ef490]
lea rcx, [rdi + 0x41c]
movzx r8d, byte [rax]
inc rax
mov r11d, dword [rdi + rbp*4 + 0x414]
mov qword [rsp + 0x20], rax
movsxd r9, r11d
mov rax, r9
sar rax, 0x10
movzx edx, al
lea rax, [0x180000000]
movsx r10d, byte [rdx + rax + 0xed380]
mov rax, r9
sar rax, 8
xor r10d, r8d
movzx edx, al
lea r8, [0x180000000]
shl r10d, 8
movzx eax, byte [rdx + r8 + 0xed380]
xor r10d, eax
movzx eax, r9b
shl r10d, 8
movzx eax, byte [rax + r8 + 0xed380]
xor r10d, eax
mov eax, r11d
shr rax, 0x18
lea r11, [0x180000000]
shl r10d, 8
movzx eax, byte [rax + r11 + 0xed380]
xor r10d, eax
xor dword [rdi + 0x418], r10d
cmp esi, 8
je 0x180043cc6
cmp rbp, 1
jle 0x180043bbf
lea rdx, [rbp - 1]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x180043bb0
lea rcx, [rdi + 0x41c]
xor esi, esi
test rbp, rbp
jle 0x180043c1b
lea r11, [rdi + 0x418]
cmp ebx, r12d
jge 0x180043c2b
mov eax, ebx
inc rsi
cdq
idiv r13d
movsxd r10, eax
mov eax, ebx
cdq
inc ebx
idiv r13d
movsxd r9, edx
mov edx, dword [r11]
lea r8, [r9 + r10*8]
mov dword [rdi + r8*4 + 0xc], edx
mov eax, dword [r14]
sub eax, r10d
cdqe
lea rdx, [r9 + rax*8]
mov eax, dword [r11]
add r11, 4
mov dword [rdi + rdx*4 + 0x1ec], eax
cmp rsi, rbp
jl 0x180043bd4
mov rax, qword [rsp + 0x20]
mov esi, ebp
cmp ebx, r12d
jl 0x180043b01
mov r15, qword [rsp + 0x78]
mov ebx, 1
cmp dword [r14], ebx
jle 0x180043d76
lea rsi, [rdi + 0x20c]
test r15, r15
jle 0x180043cb2
mov r10, rsi
lea r12, [0x180000000]
mov r11, r15
nop word [rax + rax]
mov eax, dword [r10]
lea r10, [r10 + 4]
mov edx, eax
movsxd r9, eax
shr rdx, 0x18
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov rax, r9
sar rax, 8
mov r8d, dword [r12 + rdx*4 + 0xed880]
xor r8d, dword [r12 + rcx*4 + 0xee480]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r12 + rcx*4 + 0xecf70]
xor r8d, dword [r12 + rax*4 + 0xee080]
mov dword [r10 - 4], r8d
sub r11, 1
jne 0x180043c60
inc ebx
add rsi, 0x20
cmp ebx, dword [r14]
jl 0x180043c45
mov byte [rdi + 8], 1
jmp 0x180043d79
mov rdx, rcx
mov r8d, 3
nop
mov eax, dword [rdx - 4]
xor dword [rdx], eax
lea rdx, [rdx + 4]
sub r8, 1
jne 0x180043cd0
mov eax, dword [rdi + 0x424]
mov edx, eax
movsxd r8, eax
shr rdx, 0x18
mov rax, r8
sar rax, 0x10
movsx r9d, byte [rdx + r11 + 0xed380]
movzx edx, al
shl r9d, 8
movzx eax, byte [rdx + r11 + 0xed380]
xor r9d, eax
mov rax, r8
sar rax, 8
shl r9d, 8
movzx edx, al
movzx eax, byte [rdx + r11 + 0xed380]
xor r9d, eax
movzx eax, r8b
shl r9d, 8
movzx eax, byte [rax + r11 + 0xed380]
xor r9d, eax
xor dword [rdi + 0x428], r9d
cmp rbp, 5
jle 0x180043bc6
lea rdx, [rdi + 0x42c]
lea r8, [rbp - 5]
nop dword [rax + rax]
mov eax, dword [rdx - 4]
xor dword [rdx], eax
lea rdx, [rdx + 4]
sub r8, 1
jne 0x180043d60
xor esi, esi
jmp 0x180043bcd
mov byte [rdi + 8], bl
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret