Function at 0x1402d38e0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1402d392c
test edx, edx
je 0x1402d397c
test r8d, r8d
je 0x1402d39bc
movzx eax, byte [0x1404a3d36]
cmp al, 0x88
je 0x1402d3924
mov cl, 7
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x1404a3d36], cl
je 0x1402d3aa6
cmp al, 0x88
jne 0x1402d3910
lea rax, [0x1404a3d10]
ret
test edx, edx
je 0x1402d39ec
test r8d, r8d
je 0x1402d3a29
test r9d, r9d
je 0x1402d3ae1
movzx eax, byte [0x1404a3cb3]
cmp al, 0x53
je 0x1402d3974
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x1404a3cb3], cl
je 0x1402d3c39
cmp al, 0x53
jne 0x1402d3960
lea rax, [0x1404a3cb0]
ret
test r8d, r8d
je 0x1402d3a69
movzx eax, byte [0x1404a3c55]
cmp al, 0xa5
je 0x1402d39b4
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x1404a3c55], cl
je 0x1402d3b59
cmp al, 0xa5
jne 0x1402d39a0
lea rax, [0x1404a3c40]
ret
movzx eax, byte [0x1404a3d42]
cmp al, 3
je 0x1402d39e4
mov cl, 0xa6
nop dword [rax]
mov al, 0xf4
lock cmpxchg byte [0x1404a3d42], cl
je 0x1402d3b91
cmp al, 3
jne 0x1402d39d0
lea rax, [0x1404a3d40]
ret
test r8d, r8d
je 0x1402d3b19
test r9d, r9d
je 0x1402d3bd1
movzx eax, byte [0x1404a3bf2]
cmp al, 0x7c
je 0x1402d3d09
mov cl, 0x31
nop
mov al, 0xb9
lock cmpxchg byte [0x1404a3bf2], cl
je 0x1402d3cdb
cmp al, 0x7c
jne 0x1402d3a10
jmp 0x1402d3d09
test r9d, r9d
je 0x1402d3c09
movzx eax, byte [0x1404a3cfb]
cmp al, 0x86
je 0x1402d3d49
mov cl, 0x29
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x1404a3cfb], cl
je 0x1402d3d11
cmp al, 0x86
jne 0x1402d3a50
jmp 0x1402d3d49
movzx eax, byte [0x1404a3d52]
cmp al, 0x97
je 0x1402d3a9e
mov cl, 0xe2
nop word cs:[rax + rax]
mov al, 0x60
lock cmpxchg byte [0x1404a3d52], cl
mov dword [0x1404c212c], 0
je 0x1402d3c71
cmp al, 0x97
jne 0x1402d3a80
lea rax, [0x1404a3d50]
ret
xor eax, eax
lea rcx, [0x1404a3d10]
lea rdx, [0x1403b5bd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402d3ac0
mov al, 0x88
xchg byte [0x1404a3d36], al
lea rax, [0x1404a3d10]
ret
movzx eax, byte [0x1404a3d6b]
cmp al, 0xe0
je 0x1402d3d89
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x1404a3d6b], cl
je 0x1402d3d51
cmp al, 0xe0
jne 0x1402d3b00
jmp 0x1402d3d89
test r9d, r9d
je 0x1402d3cb1
movzx eax, byte [0x1404a3d0f]
cmp al, 0xa4
je 0x1402d3dc9
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x1404a3d0f], cl
je 0x1402d3d91
cmp al, 0xa4
jne 0x1402d3b40
jmp 0x1402d3dc9
xor eax, eax
lea rcx, [0x1404a3c40]
lea rdx, [0x1403b5b00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1402d3b70
mov al, 0xa5
xchg byte [0x1404a3c55], al
lea rax, [0x1404a3c40]
ret
xor eax, eax
lea rcx, [0x1404a3d40]
lea rdx, [0x1403b5c00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d3bb0
mov al, 3
xchg byte [0x1404a3d42], al
lea rax, [0x1404a3d40]
ret
movzx eax, byte [0x1404a3ce3]
cmp al, 0xd1
je 0x1402d3e09
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x1404a3ce3], cl
je 0x1402d3dd1
cmp al, 0xd1
jne 0x1402d3bf0
jmp 0x1402d3e09
movzx eax, byte [0x1404a3c9c]
cmp al, 0xa9
je 0x1402d3e49
mov cl, 0xf2
nop word [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x1404a3c9c], cl
je 0x1402d3e11
cmp al, 0xa9
jne 0x1402d3c20
jmp 0x1402d3e49
xor eax, eax
lea rcx, [0x1404a3cb0]
lea rdx, [0x1403b5b70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402d3c50
mov al, 0x53
xchg byte [0x1404a3cb3], al
lea rax, [0x1404a3cb0]
ret
xor eax, eax
lea rcx, [0x1404a3d50]
lea rdx, [0x1403b5c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d3c90
mov al, 0x97
xchg byte [0x1404a3d52], al
lea rax, [0x1404a3d50]
ret
movzx eax, byte [0x1404a3bc2]
cmp al, 0x5c
je 0x1402d3e7a
mov cl, 0xc8
mov al, 0xa9
lock cmpxchg byte [0x1404a3bc2], cl
je 0x1402d3e51
cmp al, 0x5c
jne 0x1402d3cc2
jmp 0x1402d3e7a
xor eax, eax
lea rcx, [0x1404a3bd0]
lea rdx, [0x1403b5aa0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x1402d3cf0
mov al, 0x7c
xchg byte [0x1404a3bf2], al
lea rax, [0x1404a3bd0]
ret
xor eax, eax
lea rcx, [0x1404a3cf0]
lea rdx, [0x1403b5bb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402d3d30
mov al, 0x86
xchg byte [0x1404a3cfb], al
lea rax, [0x1404a3cf0]
ret
xor eax, eax
lea rcx, [0x1404a3d60]
lea rdx, [0x1403b5c20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402d3d70
mov al, pe_nt_image_headers64
xchg byte [0x1404a3d6b], al
lea rax, [0x1404a3d60]
ret
xor eax, eax
lea rcx, [0x1404a3d00]
lea rdx, [0x1403b5bc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402d3db0
mov al, 0xa4
xchg byte [0x1404a3d0f], al
lea rax, [0x1404a3d00]
ret
xor eax, eax
lea rcx, [0x1404a3cc0]
lea rdx, [0x1403b5b80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1402d3df0
mov al, 0xd1
xchg byte [0x1404a3ce3], al
lea rax, [0x1404a3cc0]
ret
xor eax, eax
lea rcx, [0x1404a3c80]
lea rdx, [0x1403b5b40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1402d3e30
mov al, 0xa9
xchg byte [0x1404a3c9c], al
lea rax, [0x1404a3c80]
ret
xor eax, eax
lea rcx, [0x1404a3bc0]
lea rdx, [0x1403b5a90]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402d3e61
mov al, 0x5c
xchg byte [0x1404a3bc2], al
lea rax, [0x1404a3bc0]
ret