Function at 0x1402d1c80
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1402d1ccc
test edx, edx
je 0x1402d1d1c
test r8d, r8d
je 0x1402d1d5c
movzx eax, byte [0x1404a2cf6]
cmp al, 0x88
je 0x1402d1cc4
mov cl, 7
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x1404a2cf6], cl
je 0x1402d1e46
cmp al, 0x88
jne 0x1402d1cb0
lea rax, [0x1404a2cd0]
ret
test edx, edx
je 0x1402d1d8c
test r8d, r8d
je 0x1402d1dc9
test r9d, r9d
je 0x1402d1e81
movzx eax, byte [0x1404a2c73]
cmp al, 0x53
je 0x1402d1d14
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x1404a2c73], cl
je 0x1402d1fd9
cmp al, 0x53
jne 0x1402d1d00
lea rax, [0x1404a2c70]
ret
test r8d, r8d
je 0x1402d1e09
movzx eax, byte [0x1404a2c15]
cmp al, 0xa5
je 0x1402d1d54
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x1404a2c15], cl
je 0x1402d1ef9
cmp al, 0xa5
jne 0x1402d1d40
lea rax, [0x1404a2c00]
ret
movzx eax, byte [0x1404a2d02]
cmp al, 3
je 0x1402d1d84
mov cl, 0xa6
nop dword [rax]
mov al, 0xf4
lock cmpxchg byte [0x1404a2d02], cl
je 0x1402d1f31
cmp al, 3
jne 0x1402d1d70
lea rax, [0x1404a2d00]
ret
test r8d, r8d
je 0x1402d1eb9
test r9d, r9d
je 0x1402d1f71
movzx eax, byte [0x1404a2bb2]
cmp al, 0x7c
je 0x1402d20a9
mov cl, 0x31
nop
mov al, 0xb9
lock cmpxchg byte [0x1404a2bb2], cl
je 0x1402d207b
cmp al, 0x7c
jne 0x1402d1db0
jmp 0x1402d20a9
test r9d, r9d
je 0x1402d1fa9
movzx eax, byte [0x1404a2cbb]
cmp al, 0x86
je 0x1402d20e9
mov cl, 0x29
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x1404a2cbb], cl
je 0x1402d20b1
cmp al, 0x86
jne 0x1402d1df0
jmp 0x1402d20e9
movzx eax, byte [0x1404a2d12]
cmp al, 0x97
je 0x1402d1e3e
mov cl, 0xe2
nop word cs:[rax + rax]
mov al, 0x60
lock cmpxchg byte [0x1404a2d12], cl
mov dword [0x1404c10d4], 0
je 0x1402d2011
cmp al, 0x97
jne 0x1402d1e20
lea rax, [0x1404a2d10]
ret
xor eax, eax
lea rcx, [0x1404a2cd0]
lea rdx, [0x1403b4bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402d1e60
mov al, 0x88
xchg byte [0x1404a2cf6], al
lea rax, [0x1404a2cd0]
ret
movzx eax, byte [0x1404a2d2b]
cmp al, 0xe0
je 0x1402d2129
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x1404a2d2b], cl
je 0x1402d20f1
cmp al, 0xe0
jne 0x1402d1ea0
jmp 0x1402d2129
test r9d, r9d
je 0x1402d2051
movzx eax, byte [0x1404a2ccf]
cmp al, 0xa4
je 0x1402d2169
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x1404a2ccf], cl
je 0x1402d2131
cmp al, 0xa4
jne 0x1402d1ee0
jmp 0x1402d2169
xor eax, eax
lea rcx, [0x1404a2c00]
lea rdx, [0x1403b4b20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1402d1f10
mov al, 0xa5
xchg byte [0x1404a2c15], al
lea rax, [0x1404a2c00]
ret
xor eax, eax
lea rcx, [0x1404a2d00]
lea rdx, [0x1403b4c20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d1f50
mov al, 3
xchg byte [0x1404a2d02], al
lea rax, [0x1404a2d00]
ret
movzx eax, byte [0x1404a2ca3]
cmp al, 0xd1
je 0x1402d21a9
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x1404a2ca3], cl
je 0x1402d2171
cmp al, 0xd1
jne 0x1402d1f90
jmp 0x1402d21a9
movzx eax, byte [0x1404a2c5c]
cmp al, 0xa9
je 0x1402d21e9
mov cl, 0xf2
nop word [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x1404a2c5c], cl
je 0x1402d21b1
cmp al, 0xa9
jne 0x1402d1fc0
jmp 0x1402d21e9
xor eax, eax
lea rcx, [0x1404a2c70]
lea rdx, [0x1403b4b90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402d1ff0
mov al, 0x53
xchg byte [0x1404a2c73], al
lea rax, [0x1404a2c70]
ret
xor eax, eax
lea rcx, [0x1404a2d10]
lea rdx, [0x1403b4c30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d2030
mov al, 0x97
xchg byte [0x1404a2d12], al
lea rax, [0x1404a2d10]
ret
movzx eax, byte [0x1404a2b82]
cmp al, 0x5c
je 0x1402d221a
mov cl, 0xc8
mov al, 0xa9
lock cmpxchg byte [0x1404a2b82], cl
je 0x1402d21f1
cmp al, 0x5c
jne 0x1402d2062
jmp 0x1402d221a
xor eax, eax
lea rcx, [0x1404a2b90]
lea rdx, [0x1403b4ac0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x1402d2090
mov al, 0x7c
xchg byte [0x1404a2bb2], al
lea rax, [0x1404a2b90]
ret
xor eax, eax
lea rcx, [0x1404a2cb0]
lea rdx, [0x1403b4bd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402d20d0
mov al, 0x86
xchg byte [0x1404a2cbb], al
lea rax, [0x1404a2cb0]
ret
xor eax, eax
lea rcx, [0x1404a2d20]
lea rdx, [0x1403b4c40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402d2110
mov al, pe_nt_image_headers64
xchg byte [0x1404a2d2b], al
lea rax, [0x1404a2d20]
ret
xor eax, eax
lea rcx, [0x1404a2cc0]
lea rdx, [0x1403b4be0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402d2150
mov al, 0xa4
xchg byte [0x1404a2ccf], al
lea rax, [0x1404a2cc0]
ret
xor eax, eax
lea rcx, [0x1404a2c80]
lea rdx, [0x1403b4ba0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1402d2190
mov al, 0xd1
xchg byte [0x1404a2ca3], al
lea rax, [0x1404a2c80]
ret
xor eax, eax
lea rcx, [0x1404a2c40]
lea rdx, [0x1403b4b60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1402d21d0
mov al, 0xa9
xchg byte [0x1404a2c5c], al
lea rax, [0x1404a2c40]
ret
xor eax, eax
lea rcx, [0x1404a2b80]
lea rdx, [0x1403b4ab0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d2201
mov al, 0x5c
xchg byte [0x1404a2b82], al
lea rax, [0x1404a2b80]
ret