Function at 0x140156f30
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140156f7c
test edx, edx
je 0x140156fcc
test r8d, r8d
je 0x14015700c
test r9d, r9d
je 0x140157089
movzx eax, byte [0x14047045d]
cmp al, 0x57
je 0x140156f74
mov cl, 0xe5
nop dword [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14047045d], cl
je 0x140157209
cmp al, 0x57
jne 0x140156f60
lea rax, [0x140470450]
ret
test edx, edx
je 0x14015704c
test r8d, r8d
je 0x1401570bc
test r9d, r9d
je 0x140157139
movzx eax, byte [0x14047049f]
cmp al, 0x43
je 0x140156fc4
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x14047049f], cl
je 0x1401572d9
cmp al, 0x43
jne 0x140156fb0
lea rax, [0x140470490]
ret
test r8d, r8d
je 0x1401570f9
test r9d, r9d
je 0x140157169
movzx eax, byte [0x14047037c]
cmp al, 0xc5
je 0x140157004
mov cl, 0x25
nop dword [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x14047037c], cl
je 0x140157311
cmp al, 0xc5
jne 0x140156ff0
lea rax, [0x140470360]
ret
test r9d, r9d
je 0x140157199
movzx eax, byte [0x140470207]
cmp al, 0x8e
je 0x140157044
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x140470207], cl
je 0x140157351
cmp al, 0x8e
jne 0x140157030
lea rax, [0x140470200]
ret
test r8d, r8d
je 0x1401571c9
test r9d, r9d
je 0x140157241
movzx eax, byte [0x140470245]
cmp al, 0x9c
je 0x140157429
mov cl, 0xba
nop
mov al, 0x14
lock cmpxchg byte [0x140470245], cl
je 0x1401573fb
cmp al, 0x9c
jne 0x140157070
jmp 0x140157429
movzx eax, byte [0x140470348]
cmp al, 0x49
je 0x1401570b4
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x140470348], cl
je 0x140157391
cmp al, 0x49
jne 0x1401570a0
lea rax, [0x140470330]
ret
test r9d, r9d
je 0x140157279
movzx eax, byte [0x140470252]
cmp al, 0xc5
je 0x140157469
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x140470252], cl
je 0x140157431
cmp al, 0xc5
jne 0x1401570e0
jmp 0x140157469
test r9d, r9d
je 0x1401572a9
movzx eax, byte [0x1404704ad]
cmp al, 0x78
je 0x1401574a9
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x1404704ad], cl
je 0x140157471
cmp al, 0x78
jne 0x140157120
jmp 0x1401574a9
movzx eax, byte [0x14047035e]
cmp al, 0x9d
je 0x1401574e9
mov cl, 0x16
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x14047035e], cl
je 0x1401574b1
cmp al, 0x9d
jne 0x140157150
jmp 0x1401574e9
movzx eax, byte [0x1404704c2]
cmp al, 0x49
je 0x140157529
mov cl, 0xa7
nop word [rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x1404704c2], cl
je 0x1401574f1
cmp al, 0x49
jne 0x140157180
jmp 0x140157529
movzx eax, byte [0x14047048b]
cmp al, 0x43
je 0x140157569
mov cl, 0x20
nop word [rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x14047048b], cl
je 0x140157531
cmp al, 0x43
jne 0x1401571b0
jmp 0x140157569
test r9d, r9d
je 0x1401573d1
movzx eax, byte [0x14047044b]
cmp al, 0x49
je 0x1401575a9
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0x68
lock cmpxchg byte [0x14047044b], cl
je 0x140157571
cmp al, 0x49
jne 0x1401571f0
jmp 0x1401575a9
xor eax, eax
lea rcx, [0x140470450]
lea rdx, [0x140390a60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140157220
mov al, 0x57
xchg byte [0x14047045d], al
lea rax, [0x140470450]
ret
movzx eax, byte [0x140470393]
cmp al, 0xb8
je 0x1401575e9
mov cl, 0x35
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x140470393], cl
je 0x1401575b1
cmp al, 0xb8
jne 0x140157260
jmp 0x1401575e9
movzx eax, byte [0x1404703db]
cmp al, 0x24
je 0x140157629
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x1404703db], cl
je 0x1401575f1
cmp al, 0x24
jne 0x140157290
jmp 0x140157629
movzx eax, byte [0x1404702f2]
cmp al, 0xbf
je 0x140157669
mov cl, 0x5b
nop word [rax + rax]
mov al, 0xff
lock cmpxchg byte [0x1404702f2], cl
je 0x140157631
cmp al, 0xbf
jne 0x1401572c0
jmp 0x140157669
xor eax, eax
lea rcx, [0x140470490]
lea rdx, [0x140390aa0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401572f0
mov al, 0x43
xchg byte [0x14047049f], al
lea rax, [0x140470490]
ret
xor eax, eax
lea rcx, [0x140470360]
lea rdx, [0x140390970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140157330
mov al, 0xc5
xchg byte [0x14047037c], al
lea rax, [0x140470360]
ret
xor eax, eax
lea rcx, [0x140470200]
lea rdx, [0x140390820]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x140157370
mov al, 0x8e
xchg byte [0x140470207], al
lea rax, [0x140470200]
ret
xor eax, eax
lea rcx, [0x140470330]
lea rdx, [0x140390940]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401573b0
mov al, 0x49
xchg byte [0x140470348], al
lea rax, [0x140470330]
ret
movzx eax, byte [0x140470321]
cmp al, 0xdc
je 0x14015769a
mov cl, 0x44
mov al, 0x18
lock cmpxchg byte [0x140470321], cl
je 0x140157671
cmp al, 0xdc
jne 0x1401573e2
jmp 0x14015769a
xor eax, eax
lea rcx, [0x140470210]
lea rdx, [0x140390830]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x35
jl 0x140157410
mov al, 0x9c
xchg byte [0x140470245], al
lea rax, [0x140470210]
ret
xor eax, eax
lea rcx, [0x140470250]
lea rdx, [0x140390870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140157450
mov al, 0xc5
xchg byte [0x140470252], al
lea rax, [0x140470250]
ret
xor eax, eax
lea rcx, [0x1404704a0]
lea rdx, [0x140390ab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140157490
mov al, 0x78
xchg byte [0x1404704ad], al
lea rax, [0x1404704a0]
ret
xor eax, eax
lea rcx, [0x140470350]
lea rdx, [0x140390960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401574d0
mov al, 0x9d
xchg byte [0x14047035e], al
lea rax, [0x140470350]
ret
xor eax, eax
lea rcx, [0x1404704b0]
lea rdx, [0x140390ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140157510
mov al, 0x49
xchg byte [0x1404704c2], al
lea rax, [0x1404704b0]
ret
xor eax, eax
lea rcx, [0x140470480]
lea rdx, [0x140390a90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140157550
mov al, 0x43
xchg byte [0x14047048b], al
lea rax, [0x140470480]
ret
xor eax, eax
lea rcx, [0x140470440]
lea rdx, [0x140390a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140157590
mov al, 0x49
xchg byte [0x14047044b], al
lea rax, [0x140470440]
ret
xor eax, eax
lea rcx, [0x140470390]
lea rdx, [0x1403909a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401575d0
mov al, 0xb8
xchg byte [0x140470393], al
lea rax, [0x140470390]
ret
xor eax, eax
lea rcx, [0x1404703d0]
lea rdx, [0x1403909e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140157610
mov al, 0x24
xchg byte [0x1404703db], al
lea rax, [0x1404703d0]
ret
xor eax, eax
lea rcx, [0x1404702e0]
lea rdx, [0x1403908f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140157650
mov al, 0xbf
xchg byte [0x1404702f2], al
lea rax, [0x1404702e0]
ret
xor eax, eax
lea rcx, [0x140470310]
lea rdx, [0x140390920]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140157681
mov al, 0xdc
xchg byte [0x140470321], al
lea rax, [0x140470310]
ret