Function at 0x1401557e0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14015582c
test edx, edx
je 0x14015587c
test r8d, r8d
je 0x1401558bc
test r9d, r9d
je 0x140155939
movzx eax, byte [0x14046f5ed]
cmp al, 0x57
je 0x140155824
mov cl, 0xe5
nop dword [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14046f5ed], cl
je 0x140155ab9
cmp al, 0x57
jne 0x140155810
lea rax, [0x14046f5e0]
ret
test edx, edx
je 0x1401558fc
test r8d, r8d
je 0x14015596c
test r9d, r9d
je 0x1401559e9
movzx eax, byte [0x14046f62f]
cmp al, 0x43
je 0x140155874
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x14046f62f], cl
je 0x140155b89
cmp al, 0x43
jne 0x140155860
lea rax, [0x14046f620]
ret
test r8d, r8d
je 0x1401559a9
test r9d, r9d
je 0x140155a19
movzx eax, byte [0x14046f50c]
cmp al, 0xc5
je 0x1401558b4
mov cl, 0x25
nop dword [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x14046f50c], cl
je 0x140155bc1
cmp al, 0xc5
jne 0x1401558a0
lea rax, [0x14046f4f0]
ret
test r9d, r9d
je 0x140155a49
movzx eax, byte [0x14046f397]
cmp al, 0x8e
je 0x1401558f4
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x14046f397], cl
je 0x140155c01
cmp al, 0x8e
jne 0x1401558e0
lea rax, [0x14046f390]
ret
test r8d, r8d
je 0x140155a79
test r9d, r9d
je 0x140155af1
movzx eax, byte [0x14046f3d5]
cmp al, 0x9c
je 0x140155cd9
mov cl, 0xba
nop
mov al, 0x14
lock cmpxchg byte [0x14046f3d5], cl
je 0x140155cab
cmp al, 0x9c
jne 0x140155920
jmp 0x140155cd9
movzx eax, byte [0x14046f4d8]
cmp al, 0x49
je 0x140155964
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x14046f4d8], cl
je 0x140155c41
cmp al, 0x49
jne 0x140155950
lea rax, [0x14046f4c0]
ret
test r9d, r9d
je 0x140155b29
movzx eax, byte [0x14046f3e2]
cmp al, 0xc5
je 0x140155d19
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x14046f3e2], cl
je 0x140155ce1
cmp al, 0xc5
jne 0x140155990
jmp 0x140155d19
test r9d, r9d
je 0x140155b59
movzx eax, byte [0x14046f63d]
cmp al, 0x78
je 0x140155d59
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x14046f63d], cl
je 0x140155d21
cmp al, 0x78
jne 0x1401559d0
jmp 0x140155d59
movzx eax, byte [0x14046f4ee]
cmp al, 0x9d
je 0x140155d99
mov cl, 0x16
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x14046f4ee], cl
je 0x140155d61
cmp al, 0x9d
jne 0x140155a00
jmp 0x140155d99
movzx eax, byte [0x14046f652]
cmp al, 0x49
je 0x140155dd9
mov cl, 0xa7
nop word [rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x14046f652], cl
je 0x140155da1
cmp al, 0x49
jne 0x140155a30
jmp 0x140155dd9
movzx eax, byte [0x14046f61b]
cmp al, 0x43
je 0x140155e19
mov cl, 0x20
nop word [rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x14046f61b], cl
je 0x140155de1
cmp al, 0x43
jne 0x140155a60
jmp 0x140155e19
test r9d, r9d
je 0x140155c81
movzx eax, byte [0x14046f5db]
cmp al, 0x49
je 0x140155e59
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0x68
lock cmpxchg byte [0x14046f5db], cl
je 0x140155e21
cmp al, 0x49
jne 0x140155aa0
jmp 0x140155e59
xor eax, eax
lea rcx, [0x14046f5e0]
lea rdx, [0x14038fa50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140155ad0
mov al, 0x57
xchg byte [0x14046f5ed], al
lea rax, [0x14046f5e0]
ret
movzx eax, byte [0x14046f523]
cmp al, 0xb8
je 0x140155e99
mov cl, 0x35
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x14046f523], cl
je 0x140155e61
cmp al, 0xb8
jne 0x140155b10
jmp 0x140155e99
movzx eax, byte [0x14046f56b]
cmp al, 0x24
je 0x140155ed9
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x14046f56b], cl
je 0x140155ea1
cmp al, 0x24
jne 0x140155b40
jmp 0x140155ed9
movzx eax, byte [0x14046f482]
cmp al, 0xbf
je 0x140155f19
mov cl, 0x5b
nop word [rax + rax]
mov al, 0xff
lock cmpxchg byte [0x14046f482], cl
je 0x140155ee1
cmp al, 0xbf
jne 0x140155b70
jmp 0x140155f19
xor eax, eax
lea rcx, [0x14046f620]
lea rdx, [0x14038fa90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140155ba0
mov al, 0x43
xchg byte [0x14046f62f], al
lea rax, [0x14046f620]
ret
xor eax, eax
lea rcx, [0x14046f4f0]
lea rdx, [0x14038f960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140155be0
mov al, 0xc5
xchg byte [0x14046f50c], al
lea rax, [0x14046f4f0]
ret
xor eax, eax
lea rcx, [0x14046f390]
lea rdx, [0x14038f810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x140155c20
mov al, 0x8e
xchg byte [0x14046f397], al
lea rax, [0x14046f390]
ret
xor eax, eax
lea rcx, [0x14046f4c0]
lea rdx, [0x14038f930]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140155c60
mov al, 0x49
xchg byte [0x14046f4d8], al
lea rax, [0x14046f4c0]
ret
movzx eax, byte [0x14046f4b1]
cmp al, 0xdc
je 0x140155f4a
mov cl, 0x44
mov al, 0x18
lock cmpxchg byte [0x14046f4b1], cl
je 0x140155f21
cmp al, 0xdc
jne 0x140155c92
jmp 0x140155f4a
xor eax, eax
lea rcx, [0x14046f3a0]
lea rdx, [0x14038f820]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x35
jl 0x140155cc0
mov al, 0x9c
xchg byte [0x14046f3d5], al
lea rax, [0x14046f3a0]
ret
xor eax, eax
lea rcx, [0x14046f3e0]
lea rdx, [0x14038f860]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140155d00
mov al, 0xc5
xchg byte [0x14046f3e2], al
lea rax, [0x14046f3e0]
ret
xor eax, eax
lea rcx, [0x14046f630]
lea rdx, [0x14038faa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140155d40
mov al, 0x78
xchg byte [0x14046f63d], al
lea rax, [0x14046f630]
ret
xor eax, eax
lea rcx, [0x14046f4e0]
lea rdx, [0x14038f950]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140155d80
mov al, 0x9d
xchg byte [0x14046f4ee], al
lea rax, [0x14046f4e0]
ret
xor eax, eax
lea rcx, [0x14046f640]
lea rdx, [0x14038fab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140155dc0
mov al, 0x49
xchg byte [0x14046f652], al
lea rax, [0x14046f640]
ret
xor eax, eax
lea rcx, [0x14046f610]
lea rdx, [0x14038fa80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140155e00
mov al, 0x43
xchg byte [0x14046f61b], al
lea rax, [0x14046f610]
ret
xor eax, eax
lea rcx, [0x14046f5d0]
lea rdx, [0x14038fa40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140155e40
mov al, 0x49
xchg byte [0x14046f5db], al
lea rax, [0x14046f5d0]
ret
xor eax, eax
lea rcx, [0x14046f520]
lea rdx, [0x14038f990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140155e80
mov al, 0xb8
xchg byte [0x14046f523], al
lea rax, [0x14046f520]
ret
xor eax, eax
lea rcx, [0x14046f560]
lea rdx, [0x14038f9d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140155ec0
mov al, 0x24
xchg byte [0x14046f56b], al
lea rax, [0x14046f560]
ret
xor eax, eax
lea rcx, [0x14046f470]
lea rdx, [0x14038f8e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140155f00
mov al, 0xbf
xchg byte [0x14046f482], al
lea rax, [0x14046f470]
ret
xor eax, eax
lea rcx, [0x14046f4a0]
lea rdx, [0x14038f910]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140155f31
mov al, 0xdc
xchg byte [0x14046f4b1], al
lea rax, [0x14046f4a0]
ret