Function at 0x14009f2c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x48
test ecx, ecx
je 0x14009f319
test edx, edx
je 0x14009f359
test r8d, r8d
je 0x14009f399
test r9d, r9d
je 0x14009f419
movzx eax, byte [0x140456346]
cmp al, 0xd3
je 0x14009f579
mov cl, 0xbc
nop word cs:[rax + rax]
mov al, 0xab
lock cmpxchg byte [0x140456346], cl
je 0x14009f549
cmp al, 0xd3
jne 0x14009f300
jmp 0x14009f579
test edx, edx
je 0x14009f3d9
test r8d, r8d
je 0x14009f449
movzx eax, byte [0x1404560a6]
cmp al, 0x21
je 0x14009f5b9
mov cl, 0xc6
nop dword [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x1404560a6], cl
je 0x14009f585
cmp al, 0x21
jne 0x14009f340
jmp 0x14009f5b9
test r8d, r8d
je 0x14009f479
test r9d, r9d
je 0x14009f4b9
movzx eax, byte [0x1404562f6]
cmp al, 0xda
je 0x14009f629
mov cl, 0x15
nop dword [rax]
mov al, 0x94
lock cmpxchg byte [0x1404562f6], cl
je 0x14009f5f9
cmp al, 0xda
jne 0x14009f380
jmp 0x14009f629
test r9d, r9d
je 0x14009f4e9
movzx eax, byte [0x14045637d]
cmp al, 0xda
je 0x14009f669
mov cl, 0x74
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x14045637d], cl
je 0x14009f635
cmp al, 0xda
jne 0x14009f3c0
jmp 0x14009f669
test r8d, r8d
je 0x14009f519
movzx eax, byte [0x1404560c5]
cmp al, 0x88
je 0x14009f6e9
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x1404560c5], cl
je 0x14009f6b5
cmp al, 0x88
jne 0x14009f400
jmp 0x14009f6e9
movzx eax, byte [0x14045633d]
cmp al, 0x8f
je 0x14009f6a9
mov cl, 0xb8
nop word [rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x14045633d], cl
je 0x14009f675
cmp al, 0x8f
jne 0x14009f430
jmp 0x14009f6a9
movzx eax, byte [0x1404561f9]
cmp al, 0xdf
je 0x14009f729
mov cl, 0x1f
nop word [rax + rax]
mov al, 0x81
lock cmpxchg byte [0x1404561f9], cl
je 0x14009f6f5
cmp al, 0xdf
jne 0x14009f460
jmp 0x14009f729
test r9d, r9d
je 0x14009f5c5
movzx eax, byte [0x140456206]
cmp al, 0x2f
je 0x14009f7d9
mov cl, 0x8d
nop word cs:[rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x140456206], cl
je 0x14009f735
cmp al, 0x2f
jne 0x14009f4a0
jmp 0x14009f7d9
movzx eax, byte [0x1404563ef]
cmp al, 0x18
je 0x14009f819
mov cl, 1
nop word [rax + rax]
mov al, 0x28
lock cmpxchg byte [0x1404563ef], cl
je 0x14009f7e5
cmp al, 0x18
jne 0x14009f4d0
jmp 0x14009f819
movzx eax, byte [0x1404563dd]
cmp al, 0x9e
je 0x14009f859
mov cl, 0x55
nop word [rax + rax]
mov al, 0x1e
lock cmpxchg byte [0x1404563dd], cl
je 0x14009f825
cmp al, 0x9e
jne 0x14009f500
jmp 0x14009f859
movzx eax, byte [0x1404561e0]
cmp al, 3
je 0x14009f899
mov cl, 0x6b
nop word [rax + rax]
mov al, 0x91
lock cmpxchg byte [0x1404561e0], cl
je 0x14009f862
cmp al, 3
jne 0x14009f530
jmp 0x14009f899
xor eax, eax
lea rcx, [0x140456340]
lea rdx, [0x14038b320]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x14009f560
mov al, 0xd3
xchg byte [0x140456346], al
lea rax, [0x140456340]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404560a0]
lea rdx, [0x14038b040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x14009f5a0
mov al, 0x21
xchg byte [0x1404560a6], al
lea rax, [0x1404560a0]
jmp 0x14009f8e0
movzx eax, byte [0x1404563ad]
cmp al, 0xd4
je 0x14009f8d9
mov cl, 0x43
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x1404563ad], cl
je 0x14009f8a2
cmp al, 0xd4
jne 0x14009f5e0
jmp 0x14009f8d9
xor eax, eax
lea rcx, [0x1404562d0]
lea rdx, [0x14038b2b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14009f610
mov al, 0xda
xchg byte [0x1404562f6], al
lea rax, [0x1404562d0]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x140456370]
lea rdx, [0x14038b350]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14009f650
mov al, 0xda
xchg byte [0x14045637d], al
lea rax, [0x140456370]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x140456330]
lea rdx, [0x14038b310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14009f690
mov al, 0x8f
xchg byte [0x14045633d], al
lea rax, [0x140456330]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404560b0]
lea rdx, [0x14038b050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14009f6d0
mov al, 0x88
xchg byte [0x1404560c5], al
lea rax, [0x1404560b0]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404561f0]
lea rdx, [0x14038b170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14009f710
mov al, 0xdf
xchg byte [0x1404561f9], al
lea rax, [0x1404561f0]
jmp 0x14009f8e0
cmp qword [0x1404be918], 0
jne 0x14009f7a3
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x38], 0xfb30e365
mov qword [rsp + 0x30], 0
xor edi, edi
mov ecx, 1
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.14009d910
mov rsi, rax
mov qword [0x1404be918], rax
lea rdx, [0x14009d7a0]
xor ecx, ecx
mov r8d, 0x680c48f9
call fcn.14009d880
lea rax, [0x14038b1d0]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x14009f794
mov rax, qword [0x1404be918]
xor ecx, ecx
lea rdx, [0x14038b1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14009f7c0
mov al, 0x2f
xchg byte [0x140456206], al
mov rax, qword [0x1404be918]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404563e0]
lea rdx, [0x14038b3c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14009f800
mov al, 0x18
xchg byte [0x1404563ef], al
lea rax, [0x1404563e0]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404563d0]
lea rdx, [0x14038b3b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14009f840
mov al, 0x9e
xchg byte [0x1404563dd], al
lea rax, [0x1404563d0]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404561d0]
lea rdx, [0x14038b160]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14009f880
mov al, 3
xchg byte [0x1404561e0], al
lea rax, [0x1404561d0]
jmp 0x14009f8e0
xor eax, eax
lea rcx, [0x1404563a0]
lea rdx, [0x14038b380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14009f8c0
mov al, 0xd4
xchg byte [0x1404563ad], al
lea rax, [0x1404563a0]
add rsp, 0x48
pop rdi
pop rsi
ret