Function at 0x140107a30
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x140107a89
test edx, edx
je 0x140107ad9
test r8d, r8d
je 0x140107b19
test r9d, r9d
je 0x140107b99
movzx eax, byte [0x140459e4f]
cmp al, 0xfa
je 0x140107d39
mov cl, 0x8d
nop word cs:[rax + rax]
mov al, 0x29
lock cmpxchg byte [0x140459e4f], cl
je 0x140107d09
cmp al, 0xfa
jne 0x140107a70
jmp 0x140107d39
test edx, edx
je 0x140107b59
test r8d, r8d
je 0x140107bc9
test r9d, r9d
je 0x140107c49
movzx eax, byte [0x140459d36]
cmp al, 0x9f
je 0x140107dd9
mov cl, 0xe3
nop word cs:[rax + rax]
mov al, 0xf5
lock cmpxchg byte [0x140459d36], cl
je 0x140107da9
cmp al, 0x9f
jne 0x140107ac0
jmp 0x140107dd9
test r8d, r8d
je 0x140107c09
test r9d, r9d
je 0x140107c79
movzx eax, byte [0x140459dbb]
cmp al, 0x77
je 0x140107e19
mov cl, 0xba
nop dword [rax]
mov al, 0xf2
lock cmpxchg byte [0x140459dbb], cl
je 0x140107de5
cmp al, 0x77
jne 0x140107b00
jmp 0x140107e19
test r9d, r9d
je 0x140107ca9
movzx eax, byte [0x140459cb9]
cmp al, 6
je 0x140107e59
mov cl, 0x44
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x140459cb9], cl
je 0x140107e25
cmp al, 6
jne 0x140107b40
jmp 0x140107e59
test r8d, r8d
je 0x140107cd9
movzx eax, byte [0x140459d19]
cmp al, 0x40
je 0x140107ed9
mov cl, 0xcd
nop word cs:[rax + rax]
mov al, 0x43
lock cmpxchg byte [0x140459d19], cl
je 0x140107ea5
cmp al, 0x40
jne 0x140107b80
jmp 0x140107ed9
movzx eax, byte [0x140459d65]
cmp al, 0xc
je 0x140107e99
mov cl, 0x48
nop word [rax + rax]
mov al, 0x93
lock cmpxchg byte [0x140459d65], cl
je 0x140107e65
cmp al, 0xc
jne 0x140107bb0
jmp 0x140107e99
test r9d, r9d
je 0x140107d45
movzx eax, byte [0x140459ba8]
cmp al, 0x56
je 0x140107f19
mov cl, 0x7d
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x140459ba8], cl
je 0x140107ee5
cmp al, 0x56
jne 0x140107bf0
jmp 0x140107f19
test r9d, r9d
je 0x140107d79
movzx eax, byte [0x140459e3b]
cmp al, 0x48
je 0x140107f59
mov cl, 0x41
nop word cs:[rax + rax]
mov al, 0x11
lock cmpxchg byte [0x140459e3b], cl
je 0x140107f25
cmp al, 0x48
jne 0x140107c30
jmp 0x140107f59
movzx eax, byte [0x140459c86]
cmp al, 0xd0
je 0x140107f99
mov cl, 0x92
nop word [rax + rax]
mov al, 3
lock cmpxchg byte [0x140459c86], cl
je 0x140107f65
cmp al, 0xd0
jne 0x140107c60
jmp 0x140107f99
movzx eax, byte [0x140459c65]
cmp al, 0xf6
je 0x140107fd9
mov cl, 0x69
nop word [rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x140459c65], cl
je 0x140107fa5
cmp al, 0xf6
jne 0x140107c90
jmp 0x140107fd9
movzx eax, byte [0x140459c28]
cmp al, 0x86
je 0x140108019
mov cl, 0xc9
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x140459c28], cl
je 0x140107fe5
cmp al, 0x86
jne 0x140107cc0
jmp 0x140108019
movzx eax, byte [0x140459d5c]
cmp al, 0xfe
je 0x140108059
mov cl, 0xaa
nop word [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x140459d5c], cl
je 0x140108025
cmp al, 0xfe
jne 0x140107cf0
jmp 0x140108059
xor eax, eax
lea rcx, [0x140459e40]
lea rdx, [0x14038c6a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140107d20
mov al, 0xfa
xchg byte [0x140459e4f], al
lea rax, [0x140459e40]
jmp 0x140108140
movzx eax, byte [0x140459d00]
cmp al, 0xa3
je 0x140108099
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0x53
lock cmpxchg byte [0x140459d00], cl
je 0x140108065
cmp al, 0xa3
jne 0x140107d60
jmp 0x140108099
movzx eax, byte [0x140459d38]
cmp al, 0x74
je 0x140108139
mov esi, dword [rsp + 0x70]
mov cl, 0xc2
nop
mov al, 0x57
lock cmpxchg byte [0x140459d38], cl
je 0x1401080a5
cmp al, 0x74
jne 0x140107d90
jmp 0x140108139
xor eax, eax
lea rcx, [0x140459d30]
lea rdx, [0x14038c550]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140107dc0
mov al, 0x9f
xchg byte [0x140459d36], al
lea rax, [0x140459d30]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459db0]
lea rdx, [0x14038c610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140107e00
mov al, 0x77
xchg byte [0x140459dbb], al
lea rax, [0x140459db0]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459cb0]
lea rdx, [0x14038c4e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140107e40
mov al, 6
xchg byte [0x140459cb9], al
lea rax, [0x140459cb0]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459d60]
lea rdx, [0x14038c5c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140107e80
mov al, 0xc
xchg byte [0x140459d65], al
lea rax, [0x140459d60]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459d10]
lea rdx, [0x14038c530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140107ec0
mov al, 0x40
xchg byte [0x140459d19], al
lea rax, [0x140459d10]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459ba0]
lea rdx, [0x14038c3e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 8
jl 0x140107f00
mov al, 0x56
xchg byte [0x140459ba8], al
lea rax, [0x140459ba0]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459e30]
lea rdx, [0x14038c690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140107f40
mov al, 0x48
xchg byte [0x140459e3b], al
lea rax, [0x140459e30]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459c70]
lea rdx, [0x14038c4a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140107f80
mov al, 0xd0
xchg byte [0x140459c86], al
lea rax, [0x140459c70]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459c50]
lea rdx, [0x14038c480]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140107fc0
mov al, 0xf6
xchg byte [0x140459c65], al
lea rax, [0x140459c50]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459c10]
lea rdx, [0x14038c440]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140108000
mov al, 0x86
xchg byte [0x140459c28], al
lea rax, [0x140459c10]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459d40]
lea rdx, [0x14038c5a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140108040
mov al, 0xfe
xchg byte [0x140459d5c], al
lea rax, [0x140459d40]
jmp 0x140108140
xor eax, eax
lea rcx, [0x140459cf0]
lea rdx, [0x14038c520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140108080
mov al, 0xa3
xchg byte [0x140459d00], al
lea rax, [0x140459cf0]
jmp 0x140108140
cmp qword [0x1404bdbd8], 0
jne 0x14010810a
mov eax, esi
xor eax, 0x3e3fc69c
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
xor ebx, ebx
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1401077d0
mov rdi, rax
mov qword [0x1404bdbd8], rax
xor esi, 0x44ae7919
lea rcx, [0x1401076c0]
mov edx, esi
call fcn.140107920
lea rax, [0x14038c580]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401080fb
mov rax, qword [0x1404bdbd8]
xor ecx, ecx
lea rdx, [0x14038c590]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140108120
mov al, 0x74
xchg byte [0x140459d38], al
mov rax, qword [0x1404bdbd8]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret