Function at 0x140186880
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401868cc
test edx, edx
je 0x14018691c
test r8d, r8d
je 0x14018695c
test r9d, r9d
je 0x1401869d9
movzx eax, byte [0x140473b2d]
cmp al, 0xf9
je 0x1401868c4
mov cl, 0x63
nop dword [rax + rax]
mov al, 0xec
lock cmpxchg byte [0x140473b2d], cl
je 0x140186b59
cmp al, 0xf9
jne 0x1401868b0
lea rax, [0x140473b20]
ret
test edx, edx
je 0x14018699c
test r8d, r8d
je 0x140186a0c
test r9d, r9d
je 0x140186a89
movzx eax, byte [0x140473b8b]
cmp al, 0xa4
je 0x140186914
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x140473b8b], cl
je 0x140186c29
cmp al, 0xa4
jne 0x140186900
lea rax, [0x140473b70]
ret
test r8d, r8d
je 0x140186a49
test r9d, r9d
je 0x140186ab9
movzx eax, byte [0x140473a53]
cmp al, 0x5a
je 0x140186954
mov cl, 0x82
nop dword [rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x140473a53], cl
je 0x140186c61
cmp al, 0x5a
jne 0x140186940
lea rax, [0x140473a30]
ret
test r9d, r9d
je 0x140186ae9
movzx eax, byte [0x1404739e0]
cmp al, 0xf
je 0x140186994
mov cl, 0x26
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x1404739e0], cl
je 0x140186ca1
cmp al, 0xf
jne 0x140186980
lea rax, [0x1404739d0]
ret
test r8d, r8d
je 0x140186b19
test r9d, r9d
je 0x140186b91
movzx eax, byte [0x140473cab]
cmp al, 0xab
je 0x140186d79
mov cl, 0x29
nop
mov al, 0x33
lock cmpxchg byte [0x140473cab], cl
je 0x140186d4b
cmp al, 0xab
jne 0x1401869c0
jmp 0x140186d79
movzx eax, byte [0x140473bd5]
cmp al, 0x26
je 0x140186a04
mov cl, 0x82
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x140473bd5], cl
je 0x140186ce1
cmp al, 0x26
jne 0x1401869f0
lea rax, [0x140473bc0]
ret
test r9d, r9d
je 0x140186bc9
movzx eax, byte [0x140473ab2]
cmp al, 0xe9
je 0x140186db9
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x140473ab2], cl
je 0x140186d81
cmp al, 0xe9
jne 0x140186a30
jmp 0x140186db9
test r9d, r9d
je 0x140186bf9
movzx eax, byte [0x140473975]
cmp al, 0xad
je 0x140186df9
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 8
lock cmpxchg byte [0x140473975], cl
je 0x140186dc1
cmp al, 0xad
jne 0x140186a70
jmp 0x140186df9
movzx eax, byte [0x140473bae]
cmp al, 2
je 0x140186e39
mov cl, 0x4a
nop word [rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x140473bae], cl
je 0x140186e01
cmp al, 2
jne 0x140186aa0
jmp 0x140186e39
movzx eax, byte [0x140473ac2]
cmp al, 0x13
je 0x140186e79
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xd2
lock cmpxchg byte [0x140473ac2], cl
je 0x140186e41
cmp al, 0x13
jne 0x140186ad0
jmp 0x140186e79
movzx eax, byte [0x140473c61]
cmp al, 0xb1
je 0x140186eb9
mov cl, 0x41
nop word [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x140473c61], cl
je 0x140186e81
cmp al, 0xb1
jne 0x140186b00
jmp 0x140186eb9
test r9d, r9d
je 0x140186d21
movzx eax, byte [0x140473aed]
cmp al, 0xe4
je 0x140186ef9
mov cl, 0x1a
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x140473aed], cl
je 0x140186ec1
cmp al, 0xe4
jne 0x140186b40
jmp 0x140186ef9
xor eax, eax
lea rcx, [0x140473b20]
lea rdx, [0x140391090]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186b70
mov al, 0xf9
xchg byte [0x140473b2d], al
lea rax, [0x140473b20]
ret
movzx eax, byte [0x140473a7f]
cmp al, 0x60
je 0x140186f39
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x140473a7f], cl
je 0x140186f01
cmp al, 0x60
jne 0x140186bb0
jmp 0x140186f39
movzx eax, byte [0x140473c1d]
cmp al, 0xe0
je 0x140186f79
mov cl, 0x59
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x140473c1d], cl
je 0x140186f41
cmp al, 0xe0
jne 0x140186be0
jmp 0x140186f79
movzx eax, byte [0x140473c7d]
cmp al, 0xef
je 0x140186fb9
mov cl, 0x32
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x140473c7d], cl
je 0x140186f81
cmp al, 0xef
jne 0x140186c10
jmp 0x140186fb9
xor eax, eax
lea rcx, [0x140473b70]
lea rdx, [0x1403910e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x140186c40
mov al, 0xa4
xchg byte [0x140473b8b], al
lea rax, [0x140473b70]
ret
xor eax, eax
lea rcx, [0x140473a30]
lea rdx, [0x140390fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140186c80
mov al, 0x5a
xchg byte [0x140473a53], al
lea rax, [0x140473a30]
ret
xor eax, eax
lea rcx, [0x1404739d0]
lea rdx, [0x140390f50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140186cc0
mov al, 0xf
xchg byte [0x1404739e0], al
lea rax, [0x1404739d0]
ret
xor eax, eax
lea rcx, [0x140473bc0]
lea rdx, [0x140391130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140186d00
mov al, 0x26
xchg byte [0x140473bd5], al
lea rax, [0x140473bc0]
ret
movzx eax, byte [0x140473c91]
cmp al, 0xa8
je 0x140186fea
mov cl, 0x74
mov al, 0x65
lock cmpxchg byte [0x140473c91], cl
je 0x140186fc1
cmp al, 0xa8
jne 0x140186d32
jmp 0x140186fea
xor eax, eax
lea rcx, [0x140473ca0]
lea rdx, [0x140391210]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140186d60
mov al, 0xab
xchg byte [0x140473cab], al
lea rax, [0x140473ca0]
ret
xor eax, eax
lea rcx, [0x140473ab0]
lea rdx, [0x140391020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140186da0
mov al, 0xe9
xchg byte [0x140473ab2], al
lea rax, [0x140473ab0]
ret
xor eax, eax
lea rcx, [0x140473960]
lea rdx, [0x140390ee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140186de0
mov al, 0xad
xchg byte [0x140473975], al
lea rax, [0x140473960]
ret
xor eax, eax
lea rcx, [0x140473ba0]
lea rdx, [0x140391110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140186e20
mov al, 2
xchg byte [0x140473bae], al
lea rax, [0x140473ba0]
ret
xor eax, eax
lea rcx, [0x140473ac0]
lea rdx, [0x140391030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140186e60
mov al, 0x13
xchg byte [0x140473ac2], al
lea rax, [0x140473ac0]
ret
xor eax, eax
lea rcx, [0x140473c50]
lea rdx, [0x1403911c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140186ea0
mov al, 0xb1
xchg byte [0x140473c61], al
lea rax, [0x140473c50]
ret
xor eax, eax
lea rcx, [0x140473ae0]
lea rdx, [0x140391050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186ee0
mov al, 0xe4
xchg byte [0x140473aed], al
lea rax, [0x140473ae0]
ret
xor eax, eax
lea rcx, [0x140473a70]
lea rdx, [0x140390fe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140186f20
mov al, 0x60
xchg byte [0x140473a7f], al
lea rax, [0x140473a70]
ret
xor eax, eax
lea rcx, [0x140473c10]
lea rdx, [0x140391180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186f60
mov al, pe_nt_image_headers64
xchg byte [0x140473c1d], al
lea rax, [0x140473c10]
ret
xor eax, eax
lea rcx, [0x140473c70]
lea rdx, [0x1403911e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140186fa0
mov al, 0xef
xchg byte [0x140473c7d], al
lea rax, [0x140473c70]
ret
xor eax, eax
lea rcx, [0x140473c80]
lea rdx, [0x1403911f0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140186fd1
mov al, 0xa8
xchg byte [0x140473c91], al
lea rax, [0x140473c80]
ret