Function at 0x14009f6d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
test ecx, ecx
je 0x14009f729
mov esi, dword [rsp + 0x90]
test edx, edx
je 0x14009f769
test r8d, r8d
je 0x14009f7a9
test r9d, r9d
je 0x14009f829
movzx eax, byte [0x1404551f5]
cmp al, 0x49
je 0x14009fa19
mov cl, 0x8f
nop dword [rax]
mov al, 0x93
lock cmpxchg byte [0x1404551f5], cl
je 0x14009f969
cmp al, 0x49
jne 0x14009f710
jmp 0x14009fa19
test edx, edx
je 0x14009f7e9
test r8d, r8d
je 0x14009f859
movzx eax, byte [0x140455189]
cmp al, 0xc9
je 0x14009fa59
mov cl, 0xac
nop dword [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x140455189], cl
je 0x14009fa25
cmp al, 0xc9
jne 0x14009f750
jmp 0x14009fa59
test r8d, r8d
je 0x14009f889
test r9d, r9d
je 0x14009f8c9
movzx eax, byte [0x1404551f4]
cmp al, 0x6f
je 0x14009fb79
mov cl, 0xe2
nop dword [rax]
mov al, 0xb6
lock cmpxchg byte [0x1404551f4], cl
je 0x14009fac9
cmp al, 0x6f
jne 0x14009f790
jmp 0x14009fb79
test r9d, r9d
je 0x14009f8f9
movzx eax, byte [0x1404553ed]
cmp al, 0xdb
je 0x14009fbb9
mov cl, 0x12
nop word cs:[rax + rax]
mov al, 0xc4
lock cmpxchg byte [0x1404553ed], cl
je 0x14009fb85
cmp al, 0xdb
jne 0x14009f7d0
jmp 0x14009fbb9
test r8d, r8d
je 0x14009f929
test r9d, r9d
je 0x14009fa65
movzx eax, byte [0x1404552ab]
cmp al, 0xd9
je 0x14009fc99
mov cl, 0xf7
nop dword [rax]
mov al, 0x2b
lock cmpxchg byte [0x1404552ab], cl
je 0x14009fc6f
cmp al, 0xd9
jne 0x14009f810
jmp 0x14009fc99
movzx eax, byte [0x1404552bf]
cmp al, 0x4c
je 0x14009fbf9
mov cl, 0xcf
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x1404552bf], cl
je 0x14009fbc5
cmp al, 0x4c
jne 0x14009f840
jmp 0x14009fbf9
movzx eax, byte [0x1404550d2]
cmp al, 0xe7
je 0x14009fc39
mov cl, 0x7b
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x1404550d2], cl
je 0x14009fc05
cmp al, 0xe7
jne 0x14009f870
jmp 0x14009fc39
test r9d, r9d
je 0x14009fa99
movzx eax, byte [0x140455110]
cmp al, 0x59
je 0x14009fcd9
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0x24
lock cmpxchg byte [0x140455110], cl
je 0x14009fca5
cmp al, 0x59
jne 0x14009f8b0
jmp 0x14009fcd9
movzx eax, byte [0x1404551f3]
cmp al, 0xdb
je 0x14009fd19
mov cl, 0x9f
nop word [rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x1404551f3], cl
je 0x14009fce5
cmp al, 0xdb
jne 0x14009f8e0
jmp 0x14009fd19
movzx eax, byte [0x140455293]
cmp al, 0x29
je 0x14009fd59
mov cl, 0xa2
nop word [rax + rax]
mov al, 0xaf
lock cmpxchg byte [0x140455293], cl
je 0x14009fd25
cmp al, 0x29
jne 0x14009f910
jmp 0x14009fd59
test r9d, r9d
je 0x14009fc45
movzx eax, byte [0x140455086]
cmp al, 0xb4
je 0x14009fd99
mov cl, 0x1d
nop word cs:[rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x140455086], cl
je 0x14009fd65
cmp al, 0xb4
jne 0x14009f950
jmp 0x14009fd99
cmp qword [0x1404bd8e0], 0
jne 0x14009f9ef
mov eax, esi
xor eax, 0xcec7bfc9
mov dword [rsp + 0x40], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
mov edx, 1
mov r8d, 4
xor r9d, r9d
call fcn.14009e490
mov rdi, rax
mov qword [0x1404bd8e0], rax
xor esi, 0x9679b99d
lea rdx, [0x14009e270]
xor ecx, ecx
xor r8d, r8d
mov r9d, esi
call fcn.14009ecf0
lea rax, [0x14038a1a0]
nop dword [rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14009f9e0
mov rax, qword [0x1404bd8e0]
xor ecx, ecx
lea rdx, [0x14038a1b0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14009fa00
mov al, 0x49
xchg byte [0x1404551f5], al
mov rax, qword [0x1404bd8e0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x140455180]
lea rdx, [0x14038a110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14009fa40
mov al, 0xc9
xchg byte [0x140455189], al
lea rax, [0x140455180]
jmp 0x14009fe52
movzx eax, byte [0x1404553b4]
cmp al, 0x2d
je 0x14009fdd9
mov cl, 0x9e
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x1404553b4], cl
je 0x14009fda5
cmp al, 0x2d
jne 0x14009fa80
jmp 0x14009fdd9
movzx eax, byte [0x1404551b3]
cmp al, 0x5b
je 0x14009fe19
mov cl, 0xc1
nop word [rax + rax]
mov al, 0xc3
lock cmpxchg byte [0x1404551b3], cl
je 0x14009fde2
cmp al, 0x5b
jne 0x14009fab0
jmp 0x14009fe19
cmp qword [0x1404bd8d8], 0
jne 0x14009fb4f
mov eax, esi
xor eax, 0x6122759e
mov dword [rsp + 0x40], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
mov edx, 1
mov r8d, 7
xor r9d, r9d
call fcn.14009e490
mov rdi, rax
mov qword [0x1404bd8d8], rax
xor esi, 0x399c73ca
lea rdx, [0x14009e250]
xor ecx, ecx
xor r8d, r8d
mov r9d, esi
call fcn.14009ecf0
lea rax, [0x14038a180]
nop dword [rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 5
jle 0x14009fb40
mov rax, qword [0x1404bd8d8]
xor ecx, ecx
lea rdx, [0x14038a190]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 6
jl 0x14009fb60
mov al, 0x6f
xchg byte [0x1404551f4], al
mov rax, qword [0x1404bd8d8]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404553e0]
lea rdx, [0x14038a3c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14009fba0
mov al, 0xdb
xchg byte [0x1404553ed], al
lea rax, [0x1404553e0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404552b0]
lea rdx, [0x14038a290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14009fbe0
mov al, 0x4c
xchg byte [0x1404552bf], al
lea rax, [0x1404552b0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404550c0]
lea rdx, [0x14038a060]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x14009fc20
mov al, 0xe7
xchg byte [0x1404550d2], al
lea rax, [0x1404550c0]
jmp 0x14009fe52
movzx eax, byte [0x1404552e6]
cmp al, 0xad
je 0x14009fe4b
mov cl, 0x1e
mov al, 0x1f
lock cmpxchg byte [0x1404552e6], cl
je 0x14009fe22
cmp al, 0xad
jne 0x14009fc56
jmp 0x14009fe4b
xor eax, eax
lea rcx, [0x1404552a0]
lea rdx, [0x14038a280]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14009fc80
mov al, 0xd9
xchg byte [0x1404552ab], al
lea rax, [0x1404552a0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x140455100]
lea rdx, [0x14038a0a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14009fcc0
mov al, 0x59
xchg byte [0x140455110], al
lea rax, [0x140455100]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404551f0]
lea rdx, [0x14038a170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14009fd00
mov al, 0xdb
xchg byte [0x1404551f3], al
lea rax, [0x1404551f0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x140455270]
lea rdx, [0x14038a250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14009fd40
mov al, 0x29
xchg byte [0x140455293], al
lea rax, [0x140455270]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x140455080]
lea rdx, [0x14038a020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x14009fd80
mov al, 0xb4
xchg byte [0x140455086], al
lea rax, [0x140455080]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404553a0]
lea rdx, [0x14038a380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x14009fdc0
mov al, 0x2d
xchg byte [0x1404553b4], al
lea rax, [0x1404553a0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404551b0]
lea rdx, [0x14038a140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14009fe00
mov al, 0x5b
xchg byte [0x1404551b3], al
lea rax, [0x1404551b0]
jmp 0x14009fe52
xor eax, eax
lea rcx, [0x1404552c0]
lea rdx, [0x14038a2a0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14009fe32
mov al, 0xad
xchg byte [0x1404552e6], al
lea rax, [0x1404552c0]
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret