Function at 0x1401b8550
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x1401b85a9
test edx, edx
je 0x1401b85f9
test r8d, r8d
je 0x1401b8639
test r9d, r9d
je 0x1401b86b9
movzx eax, byte [0x140439cfd]
cmp al, 0x8b
je 0x1401b8869
mov cl, 0x3d
nop word cs:[rax + rax]
mov al, 0x18
lock cmpxchg byte [0x140439cfd], cl
je 0x1401b8839
cmp al, 0x8b
jne 0x1401b8590
jmp 0x1401b8869
test edx, edx
je 0x1401b8679
test r8d, r8d
je 0x1401b86e9
test r9d, r9d
je 0x1401b8769
movzx eax, byte [0x140439b0d]
cmp al, 0xad
je 0x1401b8939
mov cl, 0xfe
nop word cs:[rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x140439b0d], cl
je 0x1401b8909
cmp al, 0xad
jne 0x1401b85e0
jmp 0x1401b8939
test r8d, r8d
je 0x1401b8729
test r9d, r9d
je 0x1401b8799
movzx eax, byte [0x140478000]
cmp al, 0xf
je 0x1401b8979
mov cl, 0x3f
nop dword [rax]
xor eax, eax
lock cmpxchg byte [0x140478000], cl
je 0x1401b8945
cmp al, 0xf
jne 0x1401b8620
jmp 0x1401b8979
test r9d, r9d
je 0x1401b87c9
movzx eax, byte [0x140439286]
cmp al, 0x9e
je 0x1401b89b9
mov cl, 0x80
nop word cs:[rax + rax]
mov al, pe_nt_image_headers64
lock cmpxchg byte [0x140439286], cl
je 0x1401b8985
cmp al, 0x9e
jne 0x1401b8660
jmp 0x1401b89b9
test r8d, r8d
je 0x1401b87f9
test r9d, r9d
je 0x1401b8875
movzx eax, byte [0x1404394e4]
cmp al, 0xee
je 0x1401b8ac9
mov esi, dword [rsp + 0x70]
mov cl, 0xcb
mov al, 0xb5
lock cmpxchg byte [0x1404394e4], cl
je 0x1401b8a2f
cmp al, 0xee
jne 0x1401b86a0
jmp 0x1401b8ac9
movzx eax, byte [0x140439b3a]
cmp al, 0x91
je 0x1401b89f9
mov cl, 0x90
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x140439b3a], cl
je 0x1401b89c5
cmp al, 0x91
jne 0x1401b86d0
jmp 0x1401b89f9
test r9d, r9d
je 0x1401b88a9
movzx eax, byte [0x140439c1d]
cmp al, 0xd0
je 0x1401b8b09
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x140439c1d], cl
je 0x1401b8ad5
cmp al, 0xd0
jne 0x1401b8710
jmp 0x1401b8b09
test r9d, r9d
je 0x1401b88d9
movzx eax, byte [0x140439c0e]
cmp al, 0xd1
je 0x1401b8b49
mov cl, 0xd7
nop word cs:[rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x140439c0e], cl
je 0x1401b8b15
cmp al, 0xd1
jne 0x1401b8750
jmp 0x1401b8b49
movzx eax, byte [0x1404394c5]
cmp al, 0x32
je 0x1401b8b89
mov cl, 0xc2
nop word [rax + rax]
mov al, 0x25
lock cmpxchg byte [0x1404394c5], cl
je 0x1401b8b55
cmp al, 0x32
jne 0x1401b8780
jmp 0x1401b8b89
movzx eax, byte [0x1404396d4]
cmp al, 0xa5
je 0x1401b8bc9
mov cl, 0x76
nop word [rax + rax]
mov al, 0x13
lock cmpxchg byte [0x1404396d4], cl
je 0x1401b8b95
cmp al, 0xa5
jne 0x1401b87b0
jmp 0x1401b8bc9
movzx eax, byte [0x140439ba1]
cmp al, 0x7b
je 0x1401b8c09
mov cl, 0xc0
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x140439ba1], cl
je 0x1401b8bd5
cmp al, 0x7b
jne 0x1401b87e0
jmp 0x1401b8c09
test r9d, r9d
je 0x1401b8a05
movzx eax, byte [0x140439bdd]
cmp al, 0xa6
je 0x1401b8c49
mov cl, 0x16
nop word cs:[rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x140439bdd], cl
je 0x1401b8c15
cmp al, 0xa6
jne 0x1401b8820
jmp 0x1401b8c49
xor eax, eax
lea rcx, [0x140439cf0]
lea rdx, [0x14035b0d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8850
mov al, 0x8b
xchg byte [0x140439cfd], al
lea rax, [0x140439cf0]
jmp 0x1401b8d42
movzx eax, byte [0x140439c5d]
cmp al, 0x4b
je 0x1401b8c89
mov cl, 0xc2
nop word cs:[rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x140439c5d], cl
je 0x1401b8c55
cmp al, 0x4b
jne 0x1401b8890
jmp 0x1401b8c89
movzx eax, byte [0x140439b5c]
cmp al, 0xe
je 0x1401b8cc9
mov cl, 0xee
nop word [rax + rax]
mov al, 0x83
lock cmpxchg byte [0x140439b5c], cl
je 0x1401b8c95
cmp al, 0xe
jne 0x1401b88c0
jmp 0x1401b8cc9
movzx eax, byte [0x140439811]
cmp al, 0x42
je 0x1401b8d09
mov cl, 0x87
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x140439811], cl
je 0x1401b8cd2
cmp al, 0x42
jne 0x1401b88f0
jmp 0x1401b8d09
xor eax, eax
lea rcx, [0x140439b00]
lea rdx, [0x14035aef0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8920
mov al, 0xad
xchg byte [0x140439b0d], al
lea rax, [0x140439b00]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x1404399c0]
lea rdx, [0x14035adb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8960
mov al, 0xf
xchg byte [0x140478000], al
lea rax, [0x1404399c0]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439270]
lea rdx, [0x14035a4c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401b89a0
mov al, 0x9e
xchg byte [0x140439286], al
lea rax, [0x140439270]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439b30]
lea rdx, [0x14035af20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401b89e0
mov al, 0x91
xchg byte [0x140439b3a], al
lea rax, [0x140439b30]
jmp 0x1401b8d42
movzx eax, byte [0x1404396ad]
cmp al, 0xe1
je 0x1401b8d3b
mov cl, 0x12
mov al, 0xb2
lock cmpxchg byte [0x1404396ad], cl
je 0x1401b8d12
cmp al, 0xe1
jne 0x1401b8a16
jmp 0x1401b8d3b
cmp qword [0x140477fb8], 0
jne 0x1401b8a95
mov eax, esi
xor eax, 0xae05e404
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x16
xor r9d, r9d
call fcn.1401b80f0
mov rdi, rax
mov qword [0x140477fb8], rax
xor esi, 0x32253559
lea rcx, [0x1401b7fd0]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x14035a760]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x14
jle 0x1401b8a86
mov rax, qword [0x140477fb8]
xor ecx, ecx
lea rdx, [0x14035a780]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x15
jl 0x1401b8ab0
mov al, 0xee
xchg byte [0x1404394e4], al
mov rax, qword [0x140477fb8]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439c10]
lea rdx, [0x14035b000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8af0
mov al, 0xd0
xchg byte [0x140439c1d], al
lea rax, [0x140439c10]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439c00]
lea rdx, [0x14035aff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401b8b30
mov al, 0xd1
xchg byte [0x140439c0e], al
lea rax, [0x140439c00]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x1404394b0]
lea rdx, [0x14035a720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401b8b70
mov al, 0x32
xchg byte [0x1404394c5], al
lea rax, [0x1404394b0]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x1404396b0]
lea rdx, [0x14035aab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x1401b8bb0
mov al, 0xa5
xchg byte [0x1404396d4], al
lea rax, [0x1404396b0]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439b90]
lea rdx, [0x14035af80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401b8bf0
mov al, 0x7b
xchg byte [0x140439ba1], al
lea rax, [0x140439b90]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439bd0]
lea rdx, [0x14035afc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8c30
mov al, 0xa6
xchg byte [0x140439bdd], al
lea rax, [0x140439bd0]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439c50]
lea rdx, [0x14035b040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401b8c70
mov al, 0x4b
xchg byte [0x140439c5d], al
lea rax, [0x140439c50]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439b50]
lea rdx, [0x14035af40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1401b8cb0
mov al, 0xe
xchg byte [0x140439b5c], al
lea rax, [0x140439b50]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439800]
lea rdx, [0x14035ac00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401b8cf0
mov al, 0x42
xchg byte [0x140439811], al
lea rax, [0x140439800]
jmp 0x1401b8d42
xor eax, eax
lea rcx, [0x140439680]
lea rdx, [0x14035aa80]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2d
jl 0x1401b8d22
mov al, 0xe1
xchg byte [0x1404396ad], al
lea rax, [0x140439680]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret