Function at 0x140163980
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401639cc
test edx, edx
je 0x140163a1c
test r8d, r8d
je 0x140163a5c
movzx eax, byte [0x14042fe02]
cmp al, 0x38
je 0x1401639c4
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0xb
lock cmpxchg byte [0x14042fe02], cl
je 0x140163b49
cmp al, 0x38
jne 0x1401639b0
lea rax, [0x14042fe00]
ret
test edx, edx
je 0x140163a8c
test r8d, r8d
je 0x140163ac9
test r9d, r9d
je 0x140163b81
movzx eax, byte [0x14043001b]
cmp al, 0xd6
je 0x140163a14
mov cl, 0x14
nop word cs:[rax + rax]
mov al, 0x57
lock cmpxchg byte [0x14043001b], cl
je 0x140163cf9
cmp al, 0xd6
jne 0x140163a00
lea rax, [0x140430010]
ret
test r8d, r8d
je 0x140163b09
test r9d, r9d
je 0x140163bb9
movzx eax, byte [0x14042ffbb]
cmp al, 0xc4
je 0x140163a54
mov cl, 0xac
nop dword [rax + rax]
mov al, 0x88
lock cmpxchg byte [0x14042ffbb], cl
je 0x140163d31
cmp al, 0xc4
jne 0x140163a40
lea rax, [0x14042ffb0]
ret
movzx eax, byte [0x14042ffed]
cmp al, 0xa1
je 0x140163a84
mov cl, 0xd0
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x14042ffed], cl
je 0x140163c29
cmp al, 0xa1
jne 0x140163a70
lea rax, [0x14042ffe0]
ret
test r8d, r8d
je 0x140163be9
test r9d, r9d
je 0x140163c61
movzx eax, byte [0x14042feec]
cmp al, 0x73
je 0x140163dc9
mov cl, 0xf4
nop
mov al, 0x79
lock cmpxchg byte [0x14042feec], cl
je 0x140163d9b
cmp al, 0x73
jne 0x140163ab0
jmp 0x140163dc9
test r9d, r9d
je 0x140163c99
movzx eax, byte [0x14042fdb1]
cmp al, 0x2e
je 0x140163e09
mov cl, 0xc7
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x14042fdb1], cl
je 0x140163dd1
cmp al, 0x2e
jne 0x140163af0
jmp 0x140163e09
test r9d, r9d
je 0x140163cc9
movzx eax, byte [0x14042ff03]
cmp al, 0xd9
je 0x140163e49
mov cl, 0x86
nop word cs:[rax + rax]
mov al, 0x74
lock cmpxchg byte [0x14042ff03], cl
je 0x140163e11
cmp al, 0xd9
jne 0x140163b30
jmp 0x140163e49
xor eax, eax
lea rcx, [0x14042fe00]
lea rdx, [0x140356410]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140163b60
mov al, 0x38
xchg byte [0x14042fe02], al
lea rax, [0x14042fe00]
ret
movzx eax, byte [0x14042fd31]
cmp al, 0xee
je 0x140163e89
mov cl, 0xf6
nop word cs:[rax + rax]
mov al, 0x9e
lock cmpxchg byte [0x14042fd31], cl
je 0x140163e51
cmp al, 0xee
jne 0x140163ba0
jmp 0x140163e89
movzx eax, byte [0x14042ffdd]
cmp al, 4
je 0x140163ec9
mov cl, 0xac
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x14042ffdd], cl
je 0x140163e91
cmp al, 4
jne 0x140163bd0
jmp 0x140163ec9
test r9d, r9d
je 0x140163d71
movzx eax, byte [0x14042ff4b]
cmp al, 0x67
je 0x140163f09
mov cl, 0xdc
nop word cs:[rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x14042ff4b], cl
je 0x140163ed1
cmp al, 0x67
jne 0x140163c10
jmp 0x140163f09
xor eax, eax
lea rcx, [0x14042ffe0]
lea rdx, [0x1403565e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140163c40
mov al, 0xa1
xchg byte [0x14042ffed], al
lea rax, [0x14042ffe0]
ret
movzx eax, byte [0x14042fe45]
cmp al, 0x37
je 0x140163f49
mov cl, 0x3a
nop word cs:[rax + rax]
mov al, 0x89
lock cmpxchg byte [0x14042fe45], cl
je 0x140163f11
cmp al, 0x37
jne 0x140163c80
jmp 0x140163f49
movzx eax, byte [0x140430002]
cmp al, 9
je 0x140163f89
mov cl, 0x97
nop word [rax + rax]
mov al, 0x9c
lock cmpxchg byte [0x140430002], cl
je 0x140163f51
cmp al, 9
jne 0x140163cb0
jmp 0x140163f89
movzx eax, byte [0x14042fcfd]
cmp al, 0x2a
je 0x140163fc9
mov cl, 0xff
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x14042fcfd], cl
je 0x140163f91
cmp al, 0x2a
jne 0x140163ce0
jmp 0x140163fc9
xor eax, eax
lea rcx, [0x140430010]
lea rdx, [0x140356610]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140163d10
mov al, 0xd6
xchg byte [0x14043001b], al
lea rax, [0x140430010]
ret
xor eax, eax
lea rcx, [0x14042ffb0]
lea rdx, [0x1403565b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140163d50
mov al, 0xc4
xchg byte [0x14042ffbb], al
lea rax, [0x14042ffb0]
ret
movzx eax, byte [0x14042fc4d]
cmp al, 0x2a
je 0x140163ffa
mov cl, 0x55
mov al, 0xf0
lock cmpxchg byte [0x14042fc4d], cl
je 0x140163fd1
cmp al, 0x2a
jne 0x140163d82
jmp 0x140163ffa
xor eax, eax
lea rcx, [0x14042fed0]
lea rdx, [0x1403564d0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140163db0
mov al, 0x73
xchg byte [0x14042feec], al
lea rax, [0x14042fed0]
ret
xor eax, eax
lea rcx, [0x14042fda0]
lea rdx, [0x1403563b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140163df0
mov al, 0x2e
xchg byte [0x14042fdb1], al
lea rax, [0x14042fda0]
ret
xor eax, eax
lea rcx, [0x14042ff00]
lea rdx, [0x140356500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140163e30
mov al, 0xd9
xchg byte [0x14042ff03], al
lea rax, [0x14042ff00]
ret
xor eax, eax
lea rcx, [0x14042fd00]
lea rdx, [0x140356310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x31
jl 0x140163e70
mov al, 0xee
xchg byte [0x14042fd31], al
lea rax, [0x14042fd00]
ret
xor eax, eax
lea rcx, [0x14042ffd0]
lea rdx, [0x1403565d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140163eb0
mov al, 4
xchg byte [0x14042ffdd], al
lea rax, [0x14042ffd0]
ret
xor eax, eax
lea rcx, [0x14042ff40]
lea rdx, [0x140356540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140163ef0
mov al, 0x67
xchg byte [0x14042ff4b], al
lea rax, [0x14042ff40]
ret
xor eax, eax
lea rcx, [0x14042fe30]
lea rdx, [0x140356430]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140163f30
mov al, 0x37
xchg byte [0x14042fe45], al
lea rax, [0x14042fe30]
ret
xor eax, eax
lea rcx, [0x14042fff0]
lea rdx, [0x1403565f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140163f70
mov al, 9
xchg byte [0x140430002], al
lea rax, [0x14042fff0]
ret
xor eax, eax
lea rcx, [0x14042fcc0]
lea rdx, [0x1403562d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x3d
jl 0x140163fb0
mov al, 0x2a
xchg byte [0x14042fcfd], al
lea rax, [0x14042fcc0]
ret
xor eax, eax
lea rcx, [0x14042fc10]
lea rdx, [0x140356230]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x3d
jl 0x140163fe1
mov al, 0x2a
xchg byte [0x14042fc4d], al
lea rax, [0x14042fc10]
ret