Function at 0x1400c5d44
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
mov rax, qword [0x1401d4770]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rbx, rcx
mov qword [rbp - 0x80], rcx
lea rcx, [rbp + 0x10]
mov r8d, 0x80
call fcn.140145200
mov r8d, 0x40
lea rcx, [rbp - 0x70]
mov rdx, rbx
call fcn.140145200
movaps xmm0, xmmword [0x1401a5060]
lea rax, [0x1401a5080]
movaps xmm1, xmmword [0x1401a5070]
lea r10, [0x1401a5060]
mov r9, rbx
sub r9, rax
xor edx, edx
mov r8d, edx
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
lea rax, [r8 + r10]
mov rcx, qword [r9 + rax + 0x60]
xor rcx, qword [rax + 0x20]
mov qword [rbp + r8 - 0x10], rcx
add r8, 8
cmp r8, 0x10
jl 0x1400c5dd2
lea rax, [0x1401a5090]
sub rbx, rax
lea rax, [rdx + r10]
mov rcx, qword [rbx + rax + 0x80]
xor rcx, qword [rax + 0x30]
mov qword [rbp + rdx], rcx
add rdx, 8
cmp rdx, 0x10
jl 0x1400c5df8
mov rax, qword [rbp - 0x40]
lea r11, [0x1401a50a4]
mov rdi, qword [rbp + 8]
mov r14, qword [rbp]
mov rsi, qword [rbp - 8]
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x48]
mov r13, qword [rbp - 0x50]
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], reloc.WS2_32.dll_inet_ntoa
mov eax, dword [r11 - 4]
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp + rax*8 + 0x10]
mov eax, dword [r11]
add rdx, r13
add rdx, qword [rbp - 0x70]
mov r9, rdx
xor r9, r15
mov r15, qword [rbp + rax*8 + 0x10]
ror r9, 0x20
add r8, r9
mov r10, r8
xor r10, r13
ror r10, 0x18
add r15, r10
add r15, rdx
mov rax, r15
xor rax, r9
ror rax, 0x10
mov qword [rsp + 0x40], rax
add rax, r8
mov r8, qword [rbp - 0x28]
mov qword [rsp + 0x28], rax
xor rax, r10
rol rax, 1
mov qword [rsp + 0x60], rax
mov eax, dword [r11 + 4]
mov rdx, qword [rbp + rax*8 + 0x10]
mov eax, dword [r11 + 8]
add rdx, rbx
add rdx, qword [rbp - 0x68]
mov r9, rdx
xor r9, rsi
mov r13, qword [rbp + rax*8 + 0x10]
ror r9, 0x20
add r8, r9
mov r10, r8
xor r10, rbx
ror r10, 0x18
add r13, r10
add r13, rdx
mov rdx, qword [rbp - 0x60]
mov rax, r13
xor rax, r9
ror rax, 0x10
mov qword [rsp + 0x50], rax
add rax, r8
mov r8, qword [rbp - 0x20]
mov rsi, rax
mov qword [rsp + 0x70], rax
xor rsi, r10
mov eax, dword [r11 + 0xc]
rol rsi, 1
mov rcx, qword [rbp + rax*8 + 0x10]
add rcx, qword [rsp + 0x30]
mov eax, dword [r11 + 0x10]
add rdx, rcx
mov r9, rdx
xor r9, r14
ror r9, 0x20
mov rax, qword [rbp + rax*8 + 0x10]
add r8, r9
mov r10, r8
xor r10, qword [rsp + 0x30]
ror r10, 0x18
add rax, r10
add rax, rdx
mov qword [rsp + 0x48], rax
xor rax, r9
ror rax, 0x10
mov qword [rsp + 0x68], rax
lea rbx, [rax + r8]
mov eax, dword [r11 + 0x14]
mov r14, rbx
xor r14, r10
rol r14, 1
mov rdx, qword [rbp + rax*8 + 0x10]
add rdx, r12
add rdx, qword [rbp - 0x58]
mov r9, rdx
xor r9, rdi
mov eax, dword [r11 + 0x18]
mov r8, qword [rbp - 0x18]
ror r9, 0x20
add r8, r9
mov rax, qword [rbp + rax*8 + 0x10]
mov r10, r8
xor r10, r12
ror r10, 0x18
add rax, r10
add rax, rdx
mov r11, rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x20]
xor r11, r9
ror r11, 0x10
mov eax, dword [rax + 0x1c]
lea rdi, [r11 + r8]
mov r12, rdi
xor r12, r10
mov rdx, qword [rbp + rax*8 + 0x10]
add rdx, rsi
rol r12, 1
add rdx, r15
mov r8, rdx
xor r8, r11
mov r11, qword [rsp + 0x20]
ror r8, 0x20
mov eax, dword [r11 + 0x20]
lea r9, [r8 + rbx]
mov rbx, r9
xor rbx, rsi
mov rax, qword [rbp + rax*8 + 0x10]
ror rbx, 0x18
add rax, rbx
add rax, rdx
mov qword [rbp - 0x70], rax
xor rax, r8
ror rax, 0x10
mov qword [rsp + 0x78], rax
mov qword [rbp + 8], rax
add rax, r9
mov r9, qword [rsp + 0x40]
xor rbx, rax
mov qword [rbp - 0x20], rax
mov eax, dword [r11 + 0x24]
rol rbx, 1
mov rdx, qword [rbp + rax*8 + 0x10]
mov eax, dword [r11 + 0x28]
add rdx, r14
add rdx, r13
xor r9, rdx
ror r9, 0x20
mov r15, qword [rbp + rax*8 + 0x10]
lea r8, [rdi + r9]
xor r14, r8
ror r14, 0x18
add r15, r14
add r15, rdx
mov qword [rbp - 0x68], r15
xor r15, r9
mov r9, qword [rsp + 0x50]
ror r15, 0x10
lea rax, [r8 + r15]
mov r8, qword [rsp + 0x28]
mov qword [rbp - 0x18], rax
xor rax, r14
rol rax, 1
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x40], rax
mov eax, dword [r11 + 0x2c]
mov rdx, qword [rbp + rax*8 + 0x10]
mov eax, dword [r11 + 0x30]
add rdx, r12
add rdx, qword [rsp + 0x48]
xor r9, rdx
ror r9, 0x20
mov rsi, qword [rbp + rax*8 + 0x10]
add r8, r9
xor r12, r8
ror r12, 0x18
add rsi, r12
mov r10, qword [rsp + 0x60]
add rsi, rdx
mov rdi, qword [rsp + 0x78]
mov qword [rbp - 0x60], rsi
xor rsi, r9
mov r9, qword [rsp + 0x68]
ror rsi, 0x10
lea rax, [r8 + rsi]
mov r8, qword [rsp + 0x70]
mov qword [rbp - 0x30], rax
xor rax, r12
rol rax, 1
mov qword [rsp + 0x28], rax
mov r12, qword [rsp + 0x28]
mov qword [rbp - 0x38], rax
mov eax, dword [r11 + 0x34]
mov rdx, qword [rbp + rax*8 + 0x10]
mov eax, dword [r11 + 0x38]
add r11, 0x40
add rdx, qword [rsp + 0x58]
add rdx, r10
mov qword [rsp + 0x20], r11
xor r9, rdx
mov r14, qword [rbp + rax*8 + 0x10]
ror r9, 0x20
add r8, r9
xor r10, r8
ror r10, 0x18
add r14, r10
add r14, rdx
mov qword [rbp - 0x58], r14
xor r14, r9
ror r14, 0x10
lea rax, [r8 + r14]
mov r13, rax
mov qword [rbp - 0x28], rax
xor r13, r10
rol r13, 1
sub qword [rsp + 0x38], 1
jne 0x1400c5e51
mov rcx, qword [rbp - 0x80]
lea r8, [rbp - 0x70]
sub r8, rcx
mov qword [rbp - 0x48], rbx
mov qword [rbp], r14
lea rdx, [rbp - 0x30]
mov qword [rbp - 8], rsi
mov r9d, 8
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x50], r13
mov rax, qword [r8 + rcx]
xor rax, qword [rdx]
lea rdx, [rdx + 8]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r9, 1
jne 0x1400c6173
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140140c60
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret