Function at 0x14005d2f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
test rdx, rdx
je 0x14005d358
mov r8, rdx
cmp rdx, 1
jne 0x14005d362
movzx eax, byte [rcx]
movzx r10d, al
mov edx, 0xc5766a6b
nop dword [rax]
mov r9d, dword [0x141dcbeb8]
sub r9d, dword [0x141dcbebc]
xor r9d, 0x280255c4
imul r9, rdx
shr r9, 0x3c
xor r9d, 0x13c85692
cmp r9d, 0x63b7cd48
ja 0x14005d310
mov dl, 1
mov r9b, 1
cmp r10d, 0x2b
je 0x14005d682
cmp r10d, 0x2d
je 0x14005d682
jmp 0x14005d370
xor edx, edx
mov r9b, 1
jmp 0x14005d682
movzx eax, byte [rcx]
nop word cs:[rax + rax]
mov edx, dword [0x141dcbec8]
xor edx, dword [0x141dcbecc]
xor edx, 0x326d0
and edx, 0x20f36fc
cmp edx, 0x63551de1
ja 0x14005d370
cmp al, 0x2d
je 0x14005d471
movzx eax, al
cmp eax, 0x2b
jne 0x14005d50b
mov eax, 0xc9fc75bf
inc rcx
nop dword [rax]
mov edx, dword [0x141dcbed0]
sub edx, dword [0x141dcbed4]
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0x8a0f42d0
shr edx, 3
imul rdx, rdx, 0x460ca5d
shr rdx, 0x35
cmp edx, 0x72f92c7
ja 0x14005d3b0
lea r9, [r8 - 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dcbed8]
or eax, dword [0x141dcbedc]
imul eax, eax, 0x25c0398e
shr eax, 2
imul rax, rax, 0x425664d5
shr rax, 0x3a
or eax, 0x788e4ad2
cmp eax, 0x93a8504c
ja 0x14005d3f0
mov eax, dword [0x141dcbee0]
xor edx, edx
div dword [0x141dcbee4]
nop word [rax + rax]
mov eax, dword [0x141dcbee8]
sub eax, dword [0x141dcbeec]
imul rax, rax, 0x1e24f25b
shr rax, 0x3b
or eax, 0x1b16ab8c
imul eax, eax, 0x321140ad
cmp eax, 0x8ab0b7e7
jb 0x14005d430
cmp r8, 3
jae 0x14005d52b
test r9, r9
jne 0x14005d511
jmp 0x14005d670
inc rcx
lea r10, [r8 - 1]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14005d480
cmp r8, 3
jae 0x14005d603
test r10, r10
je 0x14005d670
movzx ecx, byte [rcx]
add ecx, 0xffffffd0
mov eax, 0x87a9d36f
nop word cs:[rax + rax]
mov edx, dword [0x141dcbef0]
xor edx, dword [0x141dcbef4]
imul rdx, rax
shr rdx, 0x3d
add edx, 0x3800909a
cmp edx, 0xe1f789b8
ja 0x14005d4b0
mov dl, 1
mov r9b, 1
cmp ecx, 0xa
jae 0x14005d682
mov eax, dword [0x141dcbf00]
xor edx, edx
div dword [0x141dcbf04]
and eax, 0x986fb2e7
add eax, 0xb3dc89d5
cmp eax, 0x4e52dcbd
jb 0x14005d4e0
neg cl
xor r9d, r9d
mov edx, ecx
jmp 0x14005d682
cmp r8, 2
jae 0x14005d530
movzx eax, byte [rcx]
add eax, 0xffffffd0
cmp eax, 0xa
setae r9b
mov edx, 1
cmovb edx, eax
jmp 0x14005d682
mov r8, r9
nop
mov eax, dword [0x141dcbec0]
xor eax, dword [0x141dcbec4]
or eax, 0x8737990c
imul rax, rax, 0x5024d743
shr rax, 0x3a
add eax, 0x5be859dd
cmp eax, 0xfe76d222
ja 0x14005d530
xor r10d, r10d
mov r11b, 0xa
mov esi, 0x9b31da8b
nop word cs:[rax + rax]
add r8, 0xffffffffffffffff
setb r9b
jae 0x14005d677
lea rdi, [rcx + 1]
mov eax, r10d
imul r11b
seto bl
movzx ecx, byte [rcx]
mov r10d, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dcbf08]
xor edx, edx
div dword [0x141dcbf0c]
or eax, 0xc141b1b6
cmp eax, 0xc2ac94e9
je 0x14005d5a0
add ecx, 0xffffffd0
mov eax, dword [0x141dcbf10]
sub eax, dword [0x141dcbf14]
and eax, 0x8d112bf5
xor eax, 0x45751b6d
imul rax, rsi
shr rax, 0x3b
cmp eax, 0x540f10f
ja 0x14005d5bd
cmp ecx, 9
ja 0x14005d67c
mov dl, 2
test bl, bl
jne 0x14005d682
add r10b, cl
mov rcx, rdi
jno 0x14005d570
jmp 0x14005d682
xor eax, eax
mov r8b, 0xa
nop dword [rax + rax]
add r10, 0xffffffffffffffff
setb r9b
jae 0x14005d680
imul r8b
seto bl
movzx r11d, byte [rcx]
add r11d, 0xffffffd0
cmp r11d, 0xa
setae dl
or dl, bl
nop word cs:[rax + rax]
mov esi, dword [0x141dcbef8]
and esi, dword [0x141dcbefc]
imul esi, esi, 0xc6b6c78a
add esi, 0x56cbf784
cmp esi, 0x93dd2f9e
ja 0x14005d640
test dl, dl
jne 0x14005d6bf
inc rcx
sub al, r11b
mov dl, 3
jno 0x14005d610
jmp 0x14005d682
xor edx, edx
xor r9d, r9d
jmp 0x14005d682
mov edx, r10d
jmp 0x14005d682
mov dl, 1
jmp 0x14005d682
mov edx, eax
mov eax, 0x8ecc5615
nop word [rax + rax]
mov ecx, dword [0x141dcbf18]
xor ecx, dword [0x141dcbf1c]
add ecx, 0x9818f9f5
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0x55652b0c
cmp ecx, 0x220490b1
jb 0x14005d690
mov eax, r9d
pop rbx
pop rdi
pop rsi
ret
mov eax, 0x878a1f07
nop word cs:[rax + rax]
cmp r11d, 0xa
setb dl
mov ecx, dword [0x141dcbeb0]
or ecx, dword [0x141dcbeb4]
add ecx, 0x3104cd6c
xor ecx, 0xcba327ea
imul rcx, rax
shr rcx, 0x3f
add dl, dl
or dl, 1
cmp ecx, 0xf3f16d7c
je 0x14005d6d0
jmp 0x14005d35a