Function at 0x1800a4820
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 [0x180237160]
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 0x1800a4880
mov rdx, rcx
lea rcx, [rbp - 0x50]
mov r8, rbx
call fcn.180183a80
mov eax, ebx
movsxd rcx, eax
lea r8, [0x18023a7c0]
cmp rcx, r14
jge 0x1800a48ae
mov rdx, rcx
sub rdx, rcx
cmp rdx, r14
jge 0x1800a48ae
movzx eax, byte [rdx + r8]
inc rcx
inc rdx
mov byte [rbp + rcx - 0x51], al
cmp rcx, r14
jl 0x1800a4895
mov rcx, r13
cmp rcx, r14
jge 0x1800a48c7
movzx eax, byte [rcx + r8]
inc rcx
mov byte [rbp + rcx - 0x71], al
cmp rcx, r14
jl 0x1800a48b6
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.1800a3bd0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a39f0
mov esi, gethostbyname
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.1800a3bd0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a39f0
dec rbx
jne 0x1800a4920
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 0x1800a49a0
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 0x1800a49c2
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 0x1800a49f5
dec eax
or eax, 0xfffffff0
inc eax
cdqe
movzx ecx, byte [rbp + rax - 0x30]
add ecx, ebx
add r8d, ecx
and r8d, 0x800000ff
jge 0x1800a4a17
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 0x1800a49e0
lea r8, [rbp - 0x70]
mov rbx, r14
nop dword [rax]
inc edx
and edx, 0x800000ff
jge 0x1800a4a54
dec edx
or edx, 0xffffff00
inc edx
movsxd r10, edx
movzx r11d, byte [rbp + r10 - 0x20]
add r9d, r11d
and r9d, 0x800000ff
jge 0x1800a4a76
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 0x1800a4aa3
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 0x1800a4a40
inc edi
cmp edi, 0x14
jl 0x1800a4990
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.1800a3bd0
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
mov r8d, r14d
call fcn.1800a3bd0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a39f0
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.1800a3bd0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1800a39f0
dec rsi
jne 0x1800a4b20
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.180183a50
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