Function at 0x1401873a0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401873ec
test edx, edx
je 0x14018743c
test r8d, r8d
je 0x14018747c
test r9d, r9d
je 0x1401874f9
movzx eax, byte [0x14047494b]
cmp al, 0xc7
je 0x1401873e4
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x14047494b], cl
je 0x140187639
cmp al, 0xc7
jne 0x1401873d0
lea rax, [0x140474940]
ret
test edx, edx
je 0x1401874bc
test r8d, r8d
je 0x14018752c
test r9d, r9d
je 0x14018759c
movzx eax, byte [0x14047478c]
cmp al, 0x7c
je 0x140187434
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x14047478c], cl
je 0x140187719
cmp al, 0x7c
jne 0x140187420
lea rax, [0x140474780]
ret
test r8d, r8d
je 0x140187569
movzx eax, byte [0x1404749ad]
cmp al, 8
je 0x140187474
mov cl, 0xb
nop word cs:[rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x1404749ad], cl
je 0x140187671
cmp al, 8
jne 0x140187460
lea rax, [0x1404749a0]
ret
test r9d, r9d
je 0x1401875c9
movzx eax, byte [0x14047477c]
cmp al, 0x2c
je 0x1401874b4
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x14047477c], cl
je 0x140187751
cmp al, 0x2c
jne 0x1401874a0
lea rax, [0x140474770]
ret
test r8d, r8d
je 0x1401875f9
test r9d, r9d
je 0x1401876b1
movzx eax, byte [0x1404749c4]
cmp al, 0xbc
je 0x140187869
mov cl, 0xc9
nop
mov al, 0x2d
lock cmpxchg byte [0x1404749c4], cl
je 0x14018783b
cmp al, 0xbc
jne 0x1401874e0
jmp 0x140187869
movzx eax, byte [0x140474abd]
cmp al, 0xe5
je 0x140187524
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x140474abd], cl
je 0x140187791
cmp al, 0xe5
jne 0x140187510
lea rax, [0x140474ab0]
ret
test r9d, r9d
je 0x1401876e9
movzx eax, byte [0x1404747cd]
cmp al, 0xe
je 0x1401878a9
mov cl, 0xc0
nop word cs:[rax + rax]
mov al, 0x44
lock cmpxchg byte [0x1404747cd], cl
je 0x140187871
cmp al, 0xe
jne 0x140187550
jmp 0x1401878a9
movzx eax, byte [0x140474893]
cmp al, 0xc1
je 0x140187594
mov cl, 0xb2
nop word cs:[rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x140474893], cl
je 0x1401877d1
cmp al, 0xc1
jne 0x140187580
lea rax, [0x140474890]
ret
movzx eax, byte [0x140474a2d]
cmp al, 0x5d
je 0x1401878e9
mov cl, 0xdf
nop dword [rax]
mov al, 0x6d
lock cmpxchg byte [0x140474a2d], cl
je 0x1401878b1
cmp al, 0x5d
jne 0x1401875b0
jmp 0x1401878e9
movzx eax, byte [0x14047481e]
cmp al, 0x58
je 0x140187929
mov cl, 0x3c
nop word [rax + rax]
mov al, 0x50
lock cmpxchg byte [0x14047481e], cl
je 0x1401878f1
cmp al, 0x58
jne 0x1401875e0
jmp 0x140187929
test r9d, r9d
je 0x140187811
movzx eax, byte [0x140474802]
cmp al, 0x13
je 0x140187969
mov cl, 0x7b
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x140474802], cl
je 0x140187931
cmp al, 0x13
jne 0x140187620
jmp 0x140187969
xor eax, eax
lea rcx, [0x140474940]
lea rdx, [0x140392050]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140187650
mov al, 0xc7
xchg byte [0x14047494b], al
lea rax, [0x140474940]
ret
xor eax, eax
lea rcx, [0x1404749a0]
lea rdx, [0x1403920b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140187690
mov al, 8
xchg byte [0x1404749ad], al
lea rax, [0x1404749a0]
ret
movzx eax, byte [0x1404747aa]
cmp al, 0xd8
je 0x1401879a9
mov cl, 0xf
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x1404747aa], cl
je 0x140187971
cmp al, 0xd8
jne 0x1401876d0
jmp 0x1401879a9
movzx eax, byte [0x140474a0d]
cmp al, 0x61
je 0x1401879e9
mov cl, 0x9f
nop word [rax + rax]
mov al, 0x52
lock cmpxchg byte [0x140474a0d], cl
je 0x1401879b1
cmp al, 0x61
jne 0x140187700
jmp 0x1401879e9
xor eax, eax
lea rcx, [0x140474780]
lea rdx, [0x140391ea0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140187730
mov al, 0x7c
xchg byte [0x14047478c], al
lea rax, [0x140474780]
ret
xor eax, eax
lea rcx, [0x140474770]
lea rdx, [0x140391e90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140187770
mov al, 0x2c
xchg byte [0x14047477c], al
lea rax, [0x140474770]
ret
xor eax, eax
lea rcx, [0x140474ab0]
lea rdx, [0x1403921c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401877b0
mov al, 0xe5
xchg byte [0x140474abd], al
lea rax, [0x140474ab0]
ret
xor eax, eax
lea rcx, [0x140474890]
lea rdx, [0x140391fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401877f0
mov al, 0xc1
xchg byte [0x140474893], al
lea rax, [0x140474890]
ret
movzx eax, byte [0x140474b2f]
cmp al, 0xa
je 0x140187a1a
mov cl, 0x42
mov al, 0x8b
lock cmpxchg byte [0x140474b2f], cl
je 0x1401879f1
cmp al, 0xa
jne 0x140187822
jmp 0x140187a1a
xor eax, eax
lea rcx, [0x1404749b0]
lea rdx, [0x1403920c0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x140187850
mov al, 0xbc
xchg byte [0x1404749c4], al
lea rax, [0x1404749b0]
ret
xor eax, eax
lea rcx, [0x1404747b0]
lea rdx, [0x140391ed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x140187890
mov al, 0xe
xchg byte [0x1404747cd], al
lea rax, [0x1404747b0]
ret
xor eax, eax
lea rcx, [0x140474a20]
lea rdx, [0x140392130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401878d0
mov al, 0x5d
xchg byte [0x140474a2d], al
lea rax, [0x140474a20]
ret
xor eax, eax
lea rcx, [0x140474810]
lea rdx, [0x140391f30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140187910
mov al, 0x58
xchg byte [0x14047481e], al
lea rax, [0x140474810]
ret
xor eax, eax
lea rcx, [0x1404747f0]
lea rdx, [0x140391f10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140187950
mov al, 0x13
xchg byte [0x140474802], al
lea rax, [0x1404747f0]
ret
xor eax, eax
lea rcx, [0x1404747a0]
lea rdx, [0x140391ec0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x140187990
mov al, 0xd8
xchg byte [0x1404747aa], al
lea rax, [0x1404747a0]
ret
xor eax, eax
lea rcx, [0x140474a00]
lea rdx, [0x140392110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401879d0
mov al, 0x61
xchg byte [0x140474a0d], al
lea rax, [0x140474a00]
ret
xor eax, eax
lea rcx, [0x140474b20]
lea rdx, [0x140392230]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140187a01
mov al, 0xa
xchg byte [0x140474b2f], al
lea rax, [0x140474b20]
ret