Function at 0x1800a97a0
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x1802e4710]
xor rax, rsp
mov qword [rbp + 0xe0], rax
xor r13d, r13d
mov r14d, 0x20
mov r12, r8
cmp edx, r14d
mov eax, r13d
cmovg edx, r14d
movsxd rbx, edx
test edx, edx
jle 0x1800a9800
mov rdx, rcx
lea rcx, [rbp - 0x50]
mov r8, rbx
call fcn.1800acfd0
mov eax, ebx
movsxd rcx, eax
lea r8, [0x1802ea000]
cmp rcx, r14
jge 0x1800a982e
mov rdx, rcx
sub rdx, rcx
cmp rdx, r14
jge 0x1800a982e
movzx eax, byte [rdx + r8]
inc rcx
inc rdx
mov byte [rbp + rcx - 0x51], al
cmp rcx, r14
jl 0x1800a9815
mov rcx, r13
cmp rcx, r14
jge 0x1800a9847
movzx eax, byte [rcx + r8]
inc rcx
mov byte [rbp + rcx - 0x71], al
cmp rcx, r14
jl 0x1800a9836
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
mov r8d, r14d
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r13d
call fcn.1800a8b50
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a8970
mov esi, gethostbyaddr
mov ebx, esi
nop word [rax + rax]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x20]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r13d
call fcn.1800a8b50
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a8970
dec rbx
jne 0x1800a98a0
mov rax, qword [rbp - 0x50]
mov edi, r13d
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x58], rax
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x80]
inc rcx
xor al, dil
mov byte [rbp + rcx - 0x31], al
cmp rcx, 0x10
jl 0x1800a9920
mov edx, r13d
mov r9d, r13d
mov eax, r13d
lea rcx, [rbp - 0x20]
mov byte [rcx], al
inc eax
inc rcx
cmp eax, 0x100
jl 0x1800a9942
mov r8d, r13d
mov r10d, r13d
lea r11, [rbp - 0x20]
nop word [rax + rax]
movzx ebx, byte [r11]
mov eax, r10d
and eax, 0x8000000f
jge 0x1800a9975
dec eax
or eax, 0xfffffff0
inc eax
cdqe
movzx ecx, byte [rbp + rax - 0x30]
add ecx, ebx
add r8d, ecx
and r8d, 0x800000ff
jge 0x1800a9997
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rcx, r8d
inc r10d
inc r11
movzx eax, byte [rbp + rcx - 0x20]
mov byte [r11 - 1], al
mov byte [rbp + rcx - 0x20], bl
cmp r10d, 0x100
jl 0x1800a9960
lea r8, [rbp - 0x70]
mov rbx, r14
nop dword [rax]
inc edx
and edx, 0x800000ff
jge 0x1800a99d4
dec edx
or edx, 0xffffff00
inc edx
movsxd r10, edx
movzx r11d, byte [rbp + r10 - 0x20]
add r9d, r11d
and r9d, 0x800000ff
jge 0x1800a99f6
dec r9d
or r9d, 0xffffff00
inc r9d
movsxd rcx, r9d
movzx eax, byte [rbp + rcx - 0x20]
mov byte [rbp + r10 - 0x20], al
mov byte [rbp + rcx - 0x20], r11b
movzx ecx, byte [rbp + r10 - 0x20]
add ecx, r11d
and ecx, 0x800000ff
jge 0x1800a9a23
dec ecx
or ecx, 0xffffff00
inc ecx
movsxd rax, ecx
inc r8
movzx ecx, byte [rbp + rax - 0x20]
xor byte [r8 - 1], cl
dec rbx
jne 0x1800a99c0
inc edi
cmp edi, 0x14
jl 0x1800a9910
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x20]
mov r8d, r14d
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r13d
call fcn.1800a8b50
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
mov r8d, r14d
call fcn.1800a8b50
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a8970
nop dword [rax + rax]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x20]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r13d
call fcn.1800a8b50
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a8970
dec rsi
jne 0x1800a9aa0
mov rax, qword [rbp - 0x80]
mov qword [r12], rax
mov rax, qword [rbp - 0x78]
mov qword [r12 + 8], rax
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1800acfa0
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret