Function at 0x140185c50
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140185c9c
test edx, edx
je 0x140185cec
test r8d, r8d
je 0x140185d2c
test r9d, r9d
je 0x140185da9
movzx eax, byte [0x140473adb]
cmp al, 0xc7
je 0x140185c94
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x140473adb], cl
je 0x140185ee9
cmp al, 0xc7
jne 0x140185c80
lea rax, [0x140473ad0]
ret
test edx, edx
je 0x140185d6c
test r8d, r8d
je 0x140185ddc
test r9d, r9d
je 0x140185e4c
movzx eax, byte [0x14047391c]
cmp al, 0x7c
je 0x140185ce4
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x14047391c], cl
je 0x140185fc9
cmp al, 0x7c
jne 0x140185cd0
lea rax, [0x140473910]
ret
test r8d, r8d
je 0x140185e19
movzx eax, byte [0x140473b3d]
cmp al, 8
je 0x140185d24
mov cl, 0xb
nop word cs:[rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x140473b3d], cl
je 0x140185f21
cmp al, 8
jne 0x140185d10
lea rax, [0x140473b30]
ret
test r9d, r9d
je 0x140185e79
movzx eax, byte [0x14047390c]
cmp al, 0x2c
je 0x140185d64
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x14047390c], cl
je 0x140186001
cmp al, 0x2c
jne 0x140185d50
lea rax, [0x140473900]
ret
test r8d, r8d
je 0x140185ea9
test r9d, r9d
je 0x140185f61
movzx eax, byte [0x140473b54]
cmp al, 0xbc
je 0x140186119
mov cl, 0xc9
nop
mov al, 0x2d
lock cmpxchg byte [0x140473b54], cl
je 0x1401860eb
cmp al, 0xbc
jne 0x140185d90
jmp 0x140186119
movzx eax, byte [0x140473c4d]
cmp al, 0xe5
je 0x140185dd4
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x140473c4d], cl
je 0x140186041
cmp al, 0xe5
jne 0x140185dc0
lea rax, [0x140473c40]
ret
test r9d, r9d
je 0x140185f99
movzx eax, byte [0x14047395d]
cmp al, 0xe
je 0x140186159
mov cl, 0xc0
nop word cs:[rax + rax]
mov al, 0x44
lock cmpxchg byte [0x14047395d], cl
je 0x140186121
cmp al, 0xe
jne 0x140185e00
jmp 0x140186159
movzx eax, byte [0x140473a23]
cmp al, 0xc1
je 0x140185e44
mov cl, 0xb2
nop word cs:[rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x140473a23], cl
je 0x140186081
cmp al, 0xc1
jne 0x140185e30
lea rax, [0x140473a20]
ret
movzx eax, byte [0x140473bbd]
cmp al, 0x5d
je 0x140186199
mov cl, 0xdf
nop dword [rax]
mov al, 0x6d
lock cmpxchg byte [0x140473bbd], cl
je 0x140186161
cmp al, 0x5d
jne 0x140185e60
jmp 0x140186199
movzx eax, byte [0x1404739ae]
cmp al, 0x58
je 0x1401861d9
mov cl, 0x3c
nop word [rax + rax]
mov al, 0x50
lock cmpxchg byte [0x1404739ae], cl
je 0x1401861a1
cmp al, 0x58
jne 0x140185e90
jmp 0x1401861d9
test r9d, r9d
je 0x1401860c1
movzx eax, byte [0x140473992]
cmp al, 0x13
je 0x140186219
mov cl, 0x7b
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x140473992], cl
je 0x1401861e1
cmp al, 0x13
jne 0x140185ed0
jmp 0x140186219
xor eax, eax
lea rcx, [0x140473ad0]
lea rdx, [0x140391040]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140185f00
mov al, 0xc7
xchg byte [0x140473adb], al
lea rax, [0x140473ad0]
ret
xor eax, eax
lea rcx, [0x140473b30]
lea rdx, [0x1403910a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140185f40
mov al, 8
xchg byte [0x140473b3d], al
lea rax, [0x140473b30]
ret
movzx eax, byte [0x14047393a]
cmp al, 0xd8
je 0x140186259
mov cl, 0xf
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x14047393a], cl
je 0x140186221
cmp al, 0xd8
jne 0x140185f80
jmp 0x140186259
movzx eax, byte [0x140473b9d]
cmp al, 0x61
je 0x140186299
mov cl, 0x9f
nop word [rax + rax]
mov al, 0x52
lock cmpxchg byte [0x140473b9d], cl
je 0x140186261
cmp al, 0x61
jne 0x140185fb0
jmp 0x140186299
xor eax, eax
lea rcx, [0x140473910]
lea rdx, [0x140390e90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140185fe0
mov al, 0x7c
xchg byte [0x14047391c], al
lea rax, [0x140473910]
ret
xor eax, eax
lea rcx, [0x140473900]
lea rdx, [0x140390e80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140186020
mov al, 0x2c
xchg byte [0x14047390c], al
lea rax, [0x140473900]
ret
xor eax, eax
lea rcx, [0x140473c40]
lea rdx, [0x1403911b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186060
mov al, 0xe5
xchg byte [0x140473c4d], al
lea rax, [0x140473c40]
ret
xor eax, eax
lea rcx, [0x140473a20]
lea rdx, [0x140390f90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401860a0
mov al, 0xc1
xchg byte [0x140473a23], al
lea rax, [0x140473a20]
ret
movzx eax, byte [0x140473cbf]
cmp al, 0xa
je 0x1401862ca
mov cl, 0x42
mov al, 0x8b
lock cmpxchg byte [0x140473cbf], cl
je 0x1401862a1
cmp al, 0xa
jne 0x1401860d2
jmp 0x1401862ca
xor eax, eax
lea rcx, [0x140473b40]
lea rdx, [0x1403910b0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x140186100
mov al, 0xbc
xchg byte [0x140473b54], al
lea rax, [0x140473b40]
ret
xor eax, eax
lea rcx, [0x140473940]
lea rdx, [0x140390ec0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x140186140
mov al, 0xe
xchg byte [0x14047395d], al
lea rax, [0x140473940]
ret
xor eax, eax
lea rcx, [0x140473bb0]
lea rdx, [0x140391120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186180
mov al, 0x5d
xchg byte [0x140473bbd], al
lea rax, [0x140473bb0]
ret
xor eax, eax
lea rcx, [0x1404739a0]
lea rdx, [0x140390f20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401861c0
mov al, 0x58
xchg byte [0x1404739ae], al
lea rax, [0x1404739a0]
ret
xor eax, eax
lea rcx, [0x140473980]
lea rdx, [0x140390f00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140186200
mov al, 0x13
xchg byte [0x140473992], al
lea rax, [0x140473980]
ret
xor eax, eax
lea rcx, [0x140473930]
lea rdx, [0x140390eb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x140186240
mov al, 0xd8
xchg byte [0x14047393a], al
lea rax, [0x140473930]
ret
xor eax, eax
lea rcx, [0x140473b90]
lea rdx, [0x140391100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186280
mov al, 0x61
xchg byte [0x140473b9d], al
lea rax, [0x140473b90]
ret
xor eax, eax
lea rcx, [0x140473cb0]
lea rdx, [0x140391220]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401862b1
mov al, 0xa
xchg byte [0x140473cbf], al
lea rax, [0x140473cb0]
ret