Function at 0x18009dc90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
mov rax, qword [rcx]
bswap rax
mov qword [rsp + 0x40], rax
mov rdx, qword [rcx + 8]
bswap rdx
mov qword [rsp + 0x48], rdx
mov rdx, qword [rcx + 0x10]
bswap rdx
mov qword [rsp + 0x50], rdx
mov rdx, qword [rcx + 0x18]
bswap rdx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rcx + 0x20]
bswap rdx
mov qword [rsp + 0x60], rdx
mov rdx, qword [rcx + 0x28]
bswap rdx
mov qword [rsp + 0x68], rdx
mov rdx, qword [rcx + 0x30]
bswap rdx
mov qword [rsp + 0x70], rdx
mov rdx, qword [rcx + 0x38]
bswap rdx
mov qword [rsp + 0x78], rdx
mov rdx, qword [rcx + 0x40]
bswap rdx
mov qword [rsp + 0x80], rdx
mov rdx, qword [rcx + 0x48]
bswap rdx
mov qword [rsp + 0x88], rdx
mov rdx, qword [rcx + 0x50]
bswap rdx
mov qword [rsp + 0x90], rdx
mov rdx, qword [rcx + 0x58]
bswap rdx
mov qword [rsp + 0x98], rdx
mov rdx, qword [rcx + 0x60]
bswap rdx
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rcx + 0x68]
bswap rdx
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rcx + 0x70]
bswap rdx
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rcx + 0x78]
bswap rdx
mov qword [rsp + 0xb8], rdx
mov edx, reloc.WS2_32.dll_recv
nop
mov r8, qword [rsp + rdx*8 - 0x38]
mov r9, qword [rsp + rdx*8 + 0x30]
mov r10, r8
ror r10, 1
mov r11, r8
rol r11, 0x38
xor r11, r10
mov r10, r8
mov rsi, r9
rol rsi, 0x2d
shr r10, 7
mov rdi, r9
rol rdi, 3
xor r10, r11
xor rdi, rsi
shr r9, 6
xor r9, rdi
add rax, qword [rsp + rdx*8 + 8]
add rax, r10
add rax, r9
mov qword [rsp + rdx*8 + 0x40], rax
inc rdx
mov rax, r8
cmp rdx, 0x50
jne 0x18009dd80
mov rax, qword [rcx + 0x80]
mov rbp, qword [rcx + 0x88]
mov rsi, qword [rcx + 0x90]
mov rdx, qword [rcx + 0x98]
mov r14, qword [rcx + 0xa0]
mov r9, qword [rcx + 0xa8]
mov r10, qword [rcx + 0xb0]
mov r8, qword [rcx + 0xb8]
xor r12d, r12d
lea r13, [0x180110780]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r10
mov rbx, rax
mov qword [rsp + 8], rbp
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdx
mov r15, r10
mov r10, r9
mov r9, r14
mov r14, rdx
mov rdx, rsi
mov rsi, rbp
mov rbp, r9
rol rbp, 0x32
mov rdi, r9
rol rdi, 0x2e
xor rdi, rbp
mov rbp, r9
rol rbp, 0x17
xor rbp, rdi
mov rdi, r10
and rdi, r9
add rdi, r8
mov r8, r9
not r8
and r8, r15
add r8, rdi
add r8, rbp
add r8, qword [r12 + r13]
add r8, qword [rsp + r12 + 0x40]
mov rbp, rbx
mov rdi, rbx
rol rdi, 0x24
rol rbx, 0x1e
xor rbx, rdi
mov rdi, rbp
rol rdi, 0x19
xor rdi, rbx
mov r11, rdx
xor r11, rsi
and r11, rbp
mov rbx, rdx
and rbx, rsi
xor rbx, r11
add rbx, rdi
add r14, r8
add rbx, r8
add r12, 8
mov r8, r15
cmp r12, 0x280
jne 0x18009de40
add rax, rbx
mov qword [rcx + 0x80], rax
mov rax, qword [rsp + 8]
add rax, rbp
mov qword [rcx + 0x88], rax
mov rax, qword [rsp + 0x10]
add rax, rsi
mov qword [rcx + 0x90], rax
mov rax, qword [rsp + 0x18]
add rax, rdx
mov qword [rcx + 0x98], rax
mov rax, qword [rsp + 0x20]
add rax, r14
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x28]
add rax, r9
mov qword [rcx + 0xa8], rax
mov rax, qword [rsp + 0x30]
add rax, r10
mov qword [rcx + 0xb0], rax
mov rax, qword [rsp + 0x38]
add rax, r15
mov qword [rcx + 0xb8], rax
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret