Function at 0x1800258ec
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x180052b08]
mov r10d, 0x1431
mov ebx, dword [0x180052b18]
mov eax, 0x2c9c
mov word [rsp + 0x48], ax
movzx eax, word [0x180052b5c]
movzx eax, word [0x180052b30]
mov rax, qword [0x180052b50]
movsx r11d, byte [0x180052a5c]
mov byte [rsp + 0x48], 0xb8
mov qword [rsp + 0x18], 0x995a
mov qword [rsp + 0x10], rax
mov rax, qword [0x180052b48]
mov byte [rsp], 0x16
mov byte [rsp + 4], 0x69
mov byte [rsp + 0x48], 0x5d
mov qword [rsp + 0x48], rax
movabs rax, 0x4dbefa073d098
mov qword [rsp + 0x48], rax
mov eax, 0xfffff3a0
mov word [rsp + 4], ax
mov byte [rsp + 0x48], 0xaf
mov al, byte [str.Output_of_signing]
mov byte [rsp + 0x48], 0x57
movzx eax, word [0x180052a44]
mov word [rsp + 0x48], ax
movzx eax, word [0x180052b5c]
mov byte [rsp + 8], al
movsx rax, word [0x180052b30]
mov qword [rsp + 0x48], rax
mov al, byte [0x180052b58]
mov byte [rsp + 0x48], al
mov byte [rsp + 0x48], 0x58
movzx eax, word [0x180052a2c]
mov eax, dword [0x180052b20]
mov dword [rsp + 0x48], eax
mov rax, qword [0x180052af8]
mov byte [rsp + 0x48], al
movzx eax, word [0x180052b14]
mov byte [rsp + 0x48], 0xd4
mov word [rsp + 0x48], ax
movzx eax, word [0x180052a1c]
mov eax, dword [0x180052b10]
mov al, byte [0x180052b48]
movsx rcx, byte [0x180052a03]
mov byte [rsp + 0x48], al
mov eax, 0x3011
mov qword [rsp + 0x48], rcx
mov word [rsp + 0x48], ax
lea eax, [rcx + 0x62739ca8]
movzx ecx, byte [0x180052a1f]
xor cl, byte [0x180052b34]
xor r9d, r9d
mov dword [0x180052b44], eax
mov byte [0x180052a1f], cl
lea edi, [r9 + 1]
cmp dword [0x180052b14], r9d
je 0x180025a5b
movzx ecx, word [0x180052b44]
mov eax, 0x2655
imul ecx, eax
mov word [0x180052a5c], cx
jmp 0x180025ab7
mov al, byte [0x180052a1e]
mov ecx, r9d
test al, al
sete cl
cmp ecx, ebx
je 0x180025ab7
movsx eax, byte [0x180052ae8]
movsx edx, byte [0x180052b1c]
imul edx, eax
movzx eax, word [0x180052b5c]
mov rcx, qword [0x180052af8]
movsx r8d, word [0x180052a04]
imul r8d, eax
movsx eax, dl
mov rdx, qword [rsp + 0x10]
add ecx, eax
add ecx, r11d
mov eax, r9d
add edx, ecx
add r8d, 0x7f
cmove eax, edx
mov dword [0x180052ae8], eax
sub r10, rdi
jne 0x180025a3a
mov rax, qword [0x180052af8]
mov ecx, 0x6f8f
add ax, cx
mov r8d, 0x12d
mov word [0x180052a1c], ax
mov byte [rsp + 0x48], 3
movzx ecx, byte [0x180052a1b]
movzx edx, r11w
mov rax, qword [0x180052b08]
xor dx, word [0x180052b40]
sub cx, dx
add ax, cx
movzx ecx, word [rsp + 4]
add cx, ax
movzx eax, byte [0x180052a02]
add cx, di
add word [0x180052b34], cx
mov qword [0x180052b00], rax
sub r8, rdi
jne 0x180025ae1
mov al, byte [rsp]
add r9d, r11d
mov rbx, qword [rsp + 0x30]
sub al, 0x47
mov byte [rsp + 4], al
mov dl, byte [rsp + 0x48]
movzx eax, word [0x180052a44]
movzx eax, word [0x180052b40]
mov rdx, qword [0x180052b50]
not eax
movsxd rcx, eax
add rdx, 0x35f3d8f5
mov rax, qword [0x180052af8]
add rdx, rcx
sub dx, ax
movzx eax, r9w
movzx ecx, dx
imul ecx, eax
mov word [rsp + 0x48], cx
mov ecx, 0xffffc564
mov rax, qword [rsp + 0x18]
xor ax, cx
mov word [rsp + 4], ax
mov al, byte [0x180052b1c]
sub al, 0x31
mov byte [rsp + 0x48], al
mov rax, qword [0x180052b00]
add rax, 0x15fa
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 8]
add rsp, 0x20
pop rdi
ret