Function at 0x1402a2530
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1402a257c
test edx, edx
je 0x1402a25cc
test r8d, r8d
je 0x1402a260c
movzx eax, byte [0x14045d7b6]
cmp al, 0x88
je 0x1402a2574
mov cl, 7
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x14045d7b6], cl
je 0x1402a26f6
cmp al, 0x88
jne 0x1402a2560
lea rax, [0x14045d790]
ret
test edx, edx
je 0x1402a263c
test r8d, r8d
je 0x1402a2679
test r9d, r9d
je 0x1402a2731
movzx eax, byte [0x14045d733]
cmp al, 0x53
je 0x1402a25c4
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x14045d733], cl
je 0x1402a2889
cmp al, 0x53
jne 0x1402a25b0
lea rax, [0x14045d730]
ret
test r8d, r8d
je 0x1402a26b9
movzx eax, byte [0x14045d6d5]
cmp al, 0xa5
je 0x1402a2604
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14045d6d5], cl
je 0x1402a27a9
cmp al, 0xa5
jne 0x1402a25f0
lea rax, [0x14045d6c0]
ret
movzx eax, byte [0x14045d7c2]
cmp al, 3
je 0x1402a2634
mov cl, 0xa6
nop dword [rax]
mov al, 0xf4
lock cmpxchg byte [0x14045d7c2], cl
je 0x1402a27e1
cmp al, 3
jne 0x1402a2620
lea rax, [0x14045d7c0]
ret
test r8d, r8d
je 0x1402a2769
test r9d, r9d
je 0x1402a2821
movzx eax, byte [0x14045d672]
cmp al, 0x7c
je 0x1402a2959
mov cl, 0x31
nop
mov al, 0xb9
lock cmpxchg byte [0x14045d672], cl
je 0x1402a292b
cmp al, 0x7c
jne 0x1402a2660
jmp 0x1402a2959
test r9d, r9d
je 0x1402a2859
movzx eax, byte [0x14045d77b]
cmp al, 0x86
je 0x1402a2999
mov cl, 0x29
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x14045d77b], cl
je 0x1402a2961
cmp al, 0x86
jne 0x1402a26a0
jmp 0x1402a2999
movzx eax, byte [0x14045d7d2]
cmp al, 0x97
je 0x1402a26ee
mov cl, 0xe2
nop word cs:[rax + rax]
mov al, 0x60
lock cmpxchg byte [0x14045d7d2], cl
mov dword [0x14047a98c], 0
je 0x1402a28c1
cmp al, 0x97
jne 0x1402a26d0
lea rax, [0x14045d7d0]
ret
xor eax, eax
lea rcx, [0x14045d790]
lea rdx, [0x14037a990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402a2710
mov al, 0x88
xchg byte [0x14045d7b6], al
lea rax, [0x14045d790]
ret
movzx eax, byte [0x14045d7eb]
cmp al, 0xe0
je 0x1402a29d9
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x14045d7eb], cl
je 0x1402a29a1
cmp al, 0xe0
jne 0x1402a2750
jmp 0x1402a29d9
test r9d, r9d
je 0x1402a2901
movzx eax, byte [0x14045d78f]
cmp al, 0xa4
je 0x1402a2a19
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x14045d78f], cl
je 0x1402a29e1
cmp al, 0xa4
jne 0x1402a2790
jmp 0x1402a2a19
xor eax, eax
lea rcx, [0x14045d6c0]
lea rdx, [0x14037a8c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1402a27c0
mov al, 0xa5
xchg byte [0x14045d6d5], al
lea rax, [0x14045d6c0]
ret
xor eax, eax
lea rcx, [0x14045d7c0]
lea rdx, [0x14037a9c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402a2800
mov al, 3
xchg byte [0x14045d7c2], al
lea rax, [0x14045d7c0]
ret
movzx eax, byte [0x14045d763]
cmp al, 0xd1
je 0x1402a2a59
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x14045d763], cl
je 0x1402a2a21
cmp al, 0xd1
jne 0x1402a2840
jmp 0x1402a2a59
movzx eax, byte [0x14045d71c]
cmp al, 0xa9
je 0x1402a2a99
mov cl, 0xf2
nop word [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x14045d71c], cl
je 0x1402a2a61
cmp al, 0xa9
jne 0x1402a2870
jmp 0x1402a2a99
xor eax, eax
lea rcx, [0x14045d730]
lea rdx, [0x14037a930]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402a28a0
mov al, 0x53
xchg byte [0x14045d733], al
lea rax, [0x14045d730]
ret
xor eax, eax
lea rcx, [0x14045d7d0]
lea rdx, [0x14037a9d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402a28e0
mov al, 0x97
xchg byte [0x14045d7d2], al
lea rax, [0x14045d7d0]
ret
movzx eax, byte [0x14045d642]
cmp al, 0x5c
je 0x1402a2aca
mov cl, 0xc8
mov al, 0xa9
lock cmpxchg byte [0x14045d642], cl
je 0x1402a2aa1
cmp al, 0x5c
jne 0x1402a2912
jmp 0x1402a2aca
xor eax, eax
lea rcx, [0x14045d650]
lea rdx, [0x14037a860]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x1402a2940
mov al, 0x7c
xchg byte [0x14045d672], al
lea rax, [0x14045d650]
ret
xor eax, eax
lea rcx, [0x14045d770]
lea rdx, [0x14037a970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402a2980
mov al, 0x86
xchg byte [0x14045d77b], al
lea rax, [0x14045d770]
ret
xor eax, eax
lea rcx, [0x14045d7e0]
lea rdx, [0x14037a9e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402a29c0
mov al, pe_nt_image_headers64
xchg byte [0x14045d7eb], al
lea rax, [0x14045d7e0]
ret
xor eax, eax
lea rcx, [0x14045d780]
lea rdx, [0x14037a980]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402a2a00
mov al, 0xa4
xchg byte [0x14045d78f], al
lea rax, [0x14045d780]
ret
xor eax, eax
lea rcx, [0x14045d740]
lea rdx, [0x14037a940]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1402a2a40
mov al, 0xd1
xchg byte [0x14045d763], al
lea rax, [0x14045d740]
ret
xor eax, eax
lea rcx, [0x14045d700]
lea rdx, [0x14037a900]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1402a2a80
mov al, 0xa9
xchg byte [0x14045d71c], al
lea rax, [0x14045d700]
ret
xor eax, eax
lea rcx, [0x14045d640]
lea rdx, [0x14037a850]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402a2ab1
mov al, 0x5c
xchg byte [0x14045d642], al
lea rax, [0x14045d640]
ret