Function at 0x1800190c0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha512

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x408
mov rax, qword [0x18010f050]
xor rax, rsp
mov qword [rsp + 0x3f0], rax
mov rax, qword [rsp + 0x470]
mov ebx, 0x80
xor ebp, ebp
cmp edx, ebx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
mov r9d, edx
mov r15, rcx
mov esi, 0x40
lea r13d, [rbx + 0x50]
jle 0x1800191eb
mov rax, qword [0x1800de380]
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x1e8], rbp
mov qword [rsp + 0x1e0], rbp
mov qword [rcx], rax
mov rax, qword [0x1800de388]
mov qword [rcx + 8], rax
mov rax, qword [0x1800de390]
lea r8, [rsp + 0x1e0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1800de398]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1800de3a0]
mov qword [rcx + 0x20], rax
mov rax, qword [0x1800de3a8]
mov qword [rcx + 0x28], rax
mov rax, qword [0x1800de3b0]
mov qword [rcx + 0x30], rax
mov rax, qword [0x1800de3b8]
mov qword [rcx + 0x38], rax
mov rcx, r15
call fcn.18001a560
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x3b0]
mov r8d, esi
call fcn.18001a670
lea rdi, [rsp + 0x1e0]
xor eax, eax
mov rcx, r13
lea r15, [rsp + 0x3b0]
mov r9d, esi
lea rdx, [rsp + 0x1e0]
mov r8d, r13d
rep stosb byte [rdi], al
nop word [rax + rax]
mov byte [rdx], al
inc rdx
sub r8d, 1
jne 0x1800191e0
mov rax, qword [0x1800de380]
mov qword [rsp + 0x118], rbp
lea rcx, [rsp + 0x120]
mov qword [rcx], rax
mov rax, qword [0x1800de388]
mov rdx, rbp
mov qword [rcx + 8], rax
mov rax, qword [0x1800de390]
movsxd rbp, r9d
mov qword [rcx + 0x10], rax
mov rax, qword [0x1800de398]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1800de3a0]
mov qword [rcx + 0x20], rax
mov rax, qword [0x1800de3a8]
mov qword [rcx + 0x28], rax
mov rax, qword [0x1800de3b0]
mov qword [rcx + 0x30], rax
mov rax, qword [0x1800de3b8]
mov qword [rcx + 0x38], rax
test r9d, r9d
jle 0x180019288
lea rax, [rsp + 0x2b0]
mov rdi, r15
sub rdi, rax
nop dword [rax + rax]
lea rcx, [rsp + rdx + 0x2b0]
inc rdx
movzx eax, byte [rcx + rdi]
xor al, 0x36
cmp rdx, rbp
mov byte [rcx], al
jl 0x180019270
cmp rbp, rbx
jge 0x1800192a2
mov r8, rbx
lea rcx, [rsp + rbp + 0x2b0]
mov dl, 0x36
sub r8, rbp
call fcn.1800795c0
mov r12d, ebx
lea r14, [rsp + 0x2b0]
mov qword [rsp + 0x110], rbx
mov r13d, 0xff00ff00
nop dword [rax + rax]
lea rcx, [rsp + 0x160]
mov r8, rbx
mov rdx, r14
call fcn.1800785c0
add r14, rbx
add r12d, 0xffffff80
mov r8d, reloc.WS2_32.dll_recv
mov ecx, dword [rsp + r8*8 + 0x158]
mov rdx, qword [rsp + r8*8 + 0x158]
dec r8
shr rdx, 0x20
mov eax, ecx
mov edi, ecx
ror edi, 8
and rdi, 0xffffffffff00ff00
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov eax, edx
shl rdi, 0x20
ror eax, 8
and rax, r13
or rdi, rax
mov eax, edx
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov qword [rsp + r8*8 + 0x160], rdi
test r8, r8
jne 0x1800192e0
lea rcx, [rsp + 0x110]
call fcn.180019890
cmp r12d, ebx
jae 0x1800192c0
lea rcx, [rsp + 0x160]
mov r8d, r12d
mov rdx, r14
call fcn.1800785c0
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x110]
call fcn.18001a560
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x370]
mov r8d, esi
call fcn.18001a670
mov rax, qword [0x1800de380]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x48], 0
mov qword [rcx], rax
mov rax, qword [0x1800de388]
mov qword [rcx + 8], rax
mov rax, qword [0x1800de390]
xor edx, edx
mov qword [rcx + 0x10], rax
mov rax, qword [0x1800de398]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1800de3a0]
mov qword [rcx + 0x20], rax
mov rax, qword [0x1800de3a8]
mov qword [rcx + 0x28], rax
mov rax, qword [0x1800de3b0]
mov qword [rcx + 0x30], rax
mov rax, qword [0x1800de3b8]
mov qword [rcx + 0x38], rax
test rbp, rbp
jle 0x180019429
lea rax, [rsp + 0x2b0]
sub r15, rax
nop word [rax + rax]
lea rcx, [rsp + rdx + 0x2b0]
inc rdx
movzx eax, byte [rcx + r15]
xor al, 0x5c
cmp rdx, rbp
mov byte [rcx], al
jl 0x180019410
cmp rbp, rbx
jge 0x180019443
mov r8, rbx
lea rcx, [rsp + rbp + 0x2b0]
mov dl, 0x5c
sub r8, rbp
call fcn.1800795c0
mov ebp, ebx
lea r12, [rsp + 0x2b0]
mov qword [rsp + 0x40], rbx
mov r13d, 0xff00ff00
nop dword [rax + rax]
lea rcx, [rsp + 0x90]
mov r8, rbx
mov rdx, r12
call fcn.1800785c0
add r12, rbx
add ebp, 0xffffff80
mov r8d, reloc.WS2_32.dll_recv
nop
mov ecx, dword [rsp + r8*8 + 0x88]
mov rdx, qword [rsp + r8*8 + 0x88]
dec r8
shr rdx, 0x20
mov eax, ecx
mov edi, ecx
ror edi, 8
and rdi, 0xffffffffff00ff00
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov eax, edx
shl rdi, 0x20
ror eax, 8
and rax, r13
or rdi, rax
mov eax, edx
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov qword [rsp + r8*8 + 0x90], rdi
test r8, r8
jne 0x180019480
lea rcx, [rsp + 0x40]
call fcn.180019890
cmp ebp, ebx
jae 0x180019460
lea rcx, [rsp + 0x90]
mov r8d, ebp
mov rdx, r12
call fcn.1800785c0
mov rax, qword [rsp + 0x40]
mov ebp, ebx
mov r15d, eax
add rax, rsi
mov r12d, esi
and r15d, 0x7f
lea r14, [rsp + 0x370]
mov r13d, 0xd0
sub ebp, r15d
mov qword [rsp + 0x40], rax
cmp rax, rsi
jae 0x180019532
inc qword [rsp + 0x48]
cmp ebp, esi
ja 0x1800195e2
mov r13d, 0xff00ff00
lea rcx, [rsp + r15 + 0x90]
mov r8d, ebp
mov rdx, r14
mov edi, ebp
call fcn.1800785c0
sub r12d, ebp
add r14, rdi
mov ebp, ebx
mov r8d, reloc.WS2_32.dll_recv
xor r15d, r15d
nop word [rax + rax]
mov ecx, dword [rsp + r8*8 + 0x88]
mov rdx, qword [rsp + r8*8 + 0x88]
dec r8
shr rdx, 0x20
mov eax, ecx
mov edi, ecx
ror edi, 8
and rdi, 0xffffffffff00ff00
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov eax, edx
shl rdi, 0x20
ror eax, 8
and rax, r13
or rdi, rax
mov eax, edx
rol eax, 8
and eax, 0xff00ff
or rdi, rax
mov qword [rsp + r8*8 + 0x90], rdi
test r8, r8
jne 0x180019570
lea rcx, [rsp + 0x40]
call fcn.180019890
cmp r12d, ebx
jae 0x180019540
mov r13d, 0xd0
lea rcx, [rsp + r15 + 0x90]
mov r8d, r12d
mov rdx, r14
call fcn.1800785c0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x330]
mov r8d, esi
call fcn.18001a670
movsxd r8, esi
test esi, esi
jle 0x180019623
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x330]
call fcn.1800785c0
lea rdi, [rsp + 0x110]
xor eax, eax
mov rcx, r13
lea rdx, [rsp + 0x110]
mov r8d, r13d
rep stosb byte [rdi], al
nop dword [rax]
mov byte [rdx], al
inc rdx
sub r8d, 1
jne 0x180019640
lea rdi, [rsp + 0x40]
mov rcx, r13
lea rdx, [rsp + 0x40]
rep stosb byte [rdi], al
nop word [rax + rax]
mov byte [rdx], al
inc rdx
sub r13d, 1
jne 0x180019660
lea rdi, [rsp + 0x370]
mov rcx, rsi
lea rdx, [rsp + 0x370]
rep stosb byte [rdi], al
mov r8d, esi
mov byte [rdx], al
inc rdx
sub r8d, 1
jne 0x180019683
lea rdi, [rsp + 0x330]
mov rcx, rsi
lea rdx, [rsp + 0x330]
rep stosb byte [rdi], al
mov r8d, esi
nop word [rax + rax]
mov byte [rdx], al
inc rdx
sub r8d, 1
jne 0x1800196b0
lea rdi, [rsp + 0x2b0]
mov rcx, rbx
lea rdx, [rsp + 0x2b0]
rep stosb byte [rdi], al
mov byte [rdx], al
inc rdx
sub ebx, 1
jne 0x1800196d0
lea rdi, [rsp + 0x3b0]
mov rcx, rsi
lea rdx, [rsp + 0x3b0]
rep stosb byte [rdi], al
nop
mov byte [rdx], al
inc rdx
sub esi, 1
jne 0x1800196f0
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.180076a70
add rsp, 0x408
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret