Function at 0x140164010
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14016405c
test edx, edx
je 0x1401640ac
test r8d, r8d
je 0x1401640ec
test r9d, r9d
je 0x140164169
cmp byte [0x14042ff92], 0
je 0x140164054
mov cl, 0x8f
nop dword [rax]
mov al, 0xce
lock cmpxchg byte [0x14042ff92], cl
je 0x1401642e9
test al, al
jne 0x140164040
lea rax, [0x14042ff90]
ret
test edx, edx
je 0x14016412c
test r8d, r8d
je 0x14016419c
test r9d, r9d
je 0x140164219
movzx eax, byte [0x14042ff86]
cmp al, 0x81
je 0x1401640a4
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x14042ff86], cl
je 0x1401643b9
cmp al, 0x81
jne 0x140164090
lea rax, [0x14042ff60]
ret
test r8d, r8d
je 0x1401641d9
test r9d, r9d
je 0x140164249
movzx eax, byte [0x14042fc80]
cmp al, 0xc7
je 0x1401640e4
mov cl, 0xb5
nop dword [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x14042fc80], cl
je 0x1401643f1
cmp al, 0xc7
jne 0x1401640d0
lea rax, [0x14042fc50]
ret
test r9d, r9d
je 0x140164279
movzx eax, byte [0x14042fd74]
cmp al, 0x64
je 0x140164124
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0x76
lock cmpxchg byte [0x14042fd74], cl
je 0x140164431
cmp al, 0x64
jne 0x140164110
lea rax, [0x14042fd70]
ret
test r8d, r8d
je 0x1401642a9
test r9d, r9d
je 0x140164321
movzx eax, byte [0x14042fe7e]
cmp al, 0x36
je 0x140164509
mov cl, 0x46
nop
mov al, 0xdb
lock cmpxchg byte [0x14042fe7e], cl
je 0x1401644db
cmp al, 0x36
jne 0x140164150
jmp 0x140164509
movzx eax, byte [0x14042fe62]
cmp al, 0xb5
je 0x140164194
mov cl, 0xd8
nop word cs:[rax + rax]
mov al, 0x5f
lock cmpxchg byte [0x14042fe62], cl
je 0x140164471
cmp al, 0xb5
jne 0x140164180
lea rax, [0x14042fe50]
ret
test r9d, r9d
je 0x140164359
movzx eax, byte [0x14042fd44]
cmp al, 0x43
je 0x140164549
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x14042fd44], cl
je 0x140164511
cmp al, 0x43
jne 0x1401641c0
jmp 0x140164549
test r9d, r9d
je 0x140164389
movzx eax, byte [0x14042fd84]
cmp al, 0xab
je 0x140164589
mov cl, 0x93
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x14042fd84], cl
je 0x140164551
cmp al, 0xab
jne 0x140164200
jmp 0x140164589
movzx eax, byte [0x14042fd64]
cmp al, 0x22
je 0x1401645c9
mov cl, 0x3c
nop word [rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x14042fd64], cl
je 0x140164591
cmp al, 0x22
jne 0x140164230
jmp 0x1401645c9
movzx eax, byte [0x14042ff33]
cmp al, 0xdf
je 0x140164609
mov cl, 0x55
nop word [rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x14042ff33], cl
je 0x1401645d1
cmp al, 0xdf
jne 0x140164260
jmp 0x140164609
movzx eax, byte [0x14042ffcd]
cmp al, 6
je 0x140164649
mov cl, 0x74
nop word [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x14042ffcd], cl
je 0x140164611
cmp al, 6
jne 0x140164290
jmp 0x140164649
test r9d, r9d
je 0x1401644b1
movzx eax, byte [0x14042ff5f]
cmp al, 0x89
je 0x140164689
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0x55
lock cmpxchg byte [0x14042ff5f], cl
je 0x140164651
cmp al, 0x89
jne 0x1401642d0
jmp 0x140164689
xor eax, eax
lea rcx, [0x14042ff90]
lea rdx, [0x140356590]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140164300
xor eax, eax
xchg byte [0x14042ff92], al
lea rax, [0x14042ff90]
ret
movzx eax, byte [0x14042ffa2]
cmp al, 9
je 0x1401646c9
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x14042ffa2], cl
je 0x140164691
cmp al, 9
jne 0x140164340
jmp 0x1401646c9
movzx eax, byte [0x14042feb8]
cmp al, 0x38
je 0x140164709
mov cl, 0x31
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x14042feb8], cl
je 0x1401646d1
cmp al, 0x38
jne 0x140164370
jmp 0x140164709
movzx eax, byte [0x14042fdd9]
cmp al, 0xed
je 0x140164749
mov cl, 0x2d
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x14042fdd9], cl
je 0x140164711
cmp al, 0xed
jne 0x1401643a0
jmp 0x140164749
xor eax, eax
lea rcx, [0x14042ff60]
lea rdx, [0x140356560]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1401643d0
mov al, 0x81
xchg byte [0x14042ff86], al
lea rax, [0x14042ff60]
ret
xor eax, eax
lea rcx, [0x14042fc50]
lea rdx, [0x140356270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x30
jl 0x140164410
mov al, 0xc7
xchg byte [0x14042fc80], al
lea rax, [0x14042fc50]
ret
xor eax, eax
lea rcx, [0x14042fd70]
lea rdx, [0x140356380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140164450
mov al, 0x64
xchg byte [0x14042fd74], al
lea rax, [0x14042fd70]
ret
xor eax, eax
lea rcx, [0x14042fe50]
lea rdx, [0x140356450]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140164490
mov al, 0xb5
xchg byte [0x14042fe62], al
lea rax, [0x14042fe50]
ret
movzx eax, byte [0x14042fd54]
cmp al, 0xe0
je 0x14016477a
mov cl, 0x7b
mov al, 0xbc
lock cmpxchg byte [0x14042fd54], cl
je 0x140164751
cmp al, 0xe0
jne 0x1401644c2
jmp 0x14016477a
xor eax, eax
lea rcx, [0x14042fe70]
lea rdx, [0x140356470]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401644f0
mov al, 0x36
xchg byte [0x14042fe7e], al
lea rax, [0x14042fe70]
ret
xor eax, eax
lea rcx, [0x14042fd40]
lea rdx, [0x140356350]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140164530
mov al, 0x43
xchg byte [0x14042fd44], al
lea rax, [0x14042fd40]
ret
xor eax, eax
lea rcx, [0x14042fd80]
lea rdx, [0x140356390]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140164570
mov al, 0xab
xchg byte [0x14042fd84], al
lea rax, [0x14042fd80]
ret
xor eax, eax
lea rcx, [0x14042fd60]
lea rdx, [0x140356370]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1401645b0
mov al, 0x22
xchg byte [0x14042fd64], al
lea rax, [0x14042fd60]
ret
xor eax, eax
lea rcx, [0x14042ff10]
lea rdx, [0x140356510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401645f0
mov al, 0xdf
xchg byte [0x14042ff33], al
lea rax, [0x14042ff10]
ret
xor eax, eax
lea rcx, [0x14042ffc0]
lea rdx, [0x1403565c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140164630
mov al, 6
xchg byte [0x14042ffcd], al
lea rax, [0x14042ffc0]
ret
xor eax, eax
lea rcx, [0x14042ff50]
lea rdx, [0x140356550]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140164670
mov al, 0x89
xchg byte [0x14042ff5f], al
lea rax, [0x14042ff50]
ret
xor eax, eax
lea rcx, [0x14042ffa0]
lea rdx, [0x1403565a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401646b0
mov al, 9
xchg byte [0x14042ffa2], al
lea rax, [0x14042ffa0]
ret
xor eax, eax
lea rcx, [0x14042fea0]
lea rdx, [0x1403564a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401646f0
mov al, 0x38
xchg byte [0x14042feb8], al
lea rax, [0x14042fea0]
ret
xor eax, eax
lea rcx, [0x14042fdd0]
lea rdx, [0x1403563e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140164730
mov al, 0xed
xchg byte [0x14042fdd9], al
lea rax, [0x14042fdd0]
ret
xor eax, eax
lea rcx, [0x14042fd50]
lea rdx, [0x140356360]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140164761
mov al, pe_nt_image_headers64
xchg byte [0x14042fd54], al
lea rax, [0x14042fd50]
ret