Function at 0x140187fd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14018801c
test edx, edx
je 0x14018806c
test r8d, r8d
je 0x1401880ac
test r9d, r9d
je 0x140188129
movzx eax, byte [0x14047499d]
cmp al, 0xf9
je 0x140188014
mov cl, 0x63
nop dword [rax + rax]
mov al, 0xec
lock cmpxchg byte [0x14047499d], cl
je 0x1401882a9
cmp al, 0xf9
jne 0x140188000
lea rax, [0x140474990]
ret
test edx, edx
je 0x1401880ec
test r8d, r8d
je 0x14018815c
test r9d, r9d
je 0x1401881d9
movzx eax, byte [0x1404749fb]
cmp al, 0xa4
je 0x140188064
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x1404749fb], cl
je 0x140188379
cmp al, 0xa4
jne 0x140188050
lea rax, [0x1404749e0]
ret
test r8d, r8d
je 0x140188199
test r9d, r9d
je 0x140188209
movzx eax, byte [0x1404748c3]
cmp al, 0x5a
je 0x1401880a4
mov cl, 0x82
nop dword [rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x1404748c3], cl
je 0x1401883b1
cmp al, 0x5a
jne 0x140188090
lea rax, [0x1404748a0]
ret
test r9d, r9d
je 0x140188239
movzx eax, byte [0x140474850]
cmp al, 0xf
je 0x1401880e4
mov cl, 0x26
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x140474850], cl
je 0x1401883f1
cmp al, 0xf
jne 0x1401880d0
lea rax, [0x140474840]
ret
test r8d, r8d
je 0x140188269
test r9d, r9d
je 0x1401882e1
movzx eax, byte [0x140474b1b]
cmp al, 0xab
je 0x1401884c9
mov cl, 0x29
nop
mov al, 0x33
lock cmpxchg byte [0x140474b1b], cl
je 0x14018849b
cmp al, 0xab
jne 0x140188110
jmp 0x1401884c9
movzx eax, byte [0x140474a45]
cmp al, 0x26
je 0x140188154
mov cl, 0x82
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x140474a45], cl
je 0x140188431
cmp al, 0x26
jne 0x140188140
lea rax, [0x140474a30]
ret
test r9d, r9d
je 0x140188319
movzx eax, byte [0x140474922]
cmp al, 0xe9
je 0x140188509
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x140474922], cl
je 0x1401884d1
cmp al, 0xe9
jne 0x140188180
jmp 0x140188509
test r9d, r9d
je 0x140188349
movzx eax, byte [0x1404747e5]
cmp al, 0xad
je 0x140188549
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 8
lock cmpxchg byte [0x1404747e5], cl
je 0x140188511
cmp al, 0xad
jne 0x1401881c0
jmp 0x140188549
movzx eax, byte [0x140474a1e]
cmp al, 2
je 0x140188589
mov cl, 0x4a
nop word [rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x140474a1e], cl
je 0x140188551
cmp al, 2
jne 0x1401881f0
jmp 0x140188589
movzx eax, byte [0x140474932]
cmp al, 0x13
je 0x1401885c9
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xd2
lock cmpxchg byte [0x140474932], cl
je 0x140188591
cmp al, 0x13
jne 0x140188220
jmp 0x1401885c9
movzx eax, byte [0x140474ad1]
cmp al, 0xb1
je 0x140188609
mov cl, 0x41
nop word [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x140474ad1], cl
je 0x1401885d1
cmp al, 0xb1
jne 0x140188250
jmp 0x140188609
test r9d, r9d
je 0x140188471
movzx eax, byte [0x14047495d]
cmp al, 0xe4
je 0x140188649
mov cl, 0x1a
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x14047495d], cl
je 0x140188611
cmp al, 0xe4
jne 0x140188290
jmp 0x140188649
xor eax, eax
lea rcx, [0x140474990]
lea rdx, [0x1403920a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401882c0
mov al, 0xf9
xchg byte [0x14047499d], al
lea rax, [0x140474990]
ret
movzx eax, byte [0x1404748ef]
cmp al, 0x60
je 0x140188689
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x1404748ef], cl
je 0x140188651
cmp al, 0x60
jne 0x140188300
jmp 0x140188689
movzx eax, byte [0x140474a8d]
cmp al, 0xe0
je 0x1401886c9
mov cl, 0x59
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x140474a8d], cl
je 0x140188691
cmp al, 0xe0
jne 0x140188330
jmp 0x1401886c9
movzx eax, byte [0x140474aed]
cmp al, 0xef
je 0x140188709
mov cl, 0x32
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x140474aed], cl
je 0x1401886d1
cmp al, 0xef
jne 0x140188360
jmp 0x140188709
xor eax, eax
lea rcx, [0x1404749e0]
lea rdx, [0x1403920f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x140188390
mov al, 0xa4
xchg byte [0x1404749fb], al
lea rax, [0x1404749e0]
ret
xor eax, eax
lea rcx, [0x1404748a0]
lea rdx, [0x140391fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401883d0
mov al, 0x5a
xchg byte [0x1404748c3], al
lea rax, [0x1404748a0]
ret
xor eax, eax
lea rcx, [0x140474840]
lea rdx, [0x140391f60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140188410
mov al, 0xf
xchg byte [0x140474850], al
lea rax, [0x140474840]
ret
xor eax, eax
lea rcx, [0x140474a30]
lea rdx, [0x140392140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140188450
mov al, 0x26
xchg byte [0x140474a45], al
lea rax, [0x140474a30]
ret
movzx eax, byte [0x140474b01]
cmp al, 0xa8
je 0x14018873a
mov cl, 0x74
mov al, 0x65
lock cmpxchg byte [0x140474b01], cl
je 0x140188711
cmp al, 0xa8
jne 0x140188482
jmp 0x14018873a
xor eax, eax
lea rcx, [0x140474b10]
lea rdx, [0x140392220]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401884b0
mov al, 0xab
xchg byte [0x140474b1b], al
lea rax, [0x140474b10]
ret
xor eax, eax
lea rcx, [0x140474920]
lea rdx, [0x140392030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401884f0
mov al, 0xe9
xchg byte [0x140474922], al
lea rax, [0x140474920]
ret
xor eax, eax
lea rcx, [0x1404747d0]
lea rdx, [0x140391ef0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140188530
mov al, 0xad
xchg byte [0x1404747e5], al
lea rax, [0x1404747d0]
ret
xor eax, eax
lea rcx, [0x140474a10]
lea rdx, [0x140392120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140188570
mov al, 2
xchg byte [0x140474a1e], al
lea rax, [0x140474a10]
ret
xor eax, eax
lea rcx, [0x140474930]
lea rdx, [0x140392040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401885b0
mov al, 0x13
xchg byte [0x140474932], al
lea rax, [0x140474930]
ret
xor eax, eax
lea rcx, [0x140474ac0]
lea rdx, [0x1403921d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401885f0
mov al, 0xb1
xchg byte [0x140474ad1], al
lea rax, [0x140474ac0]
ret
xor eax, eax
lea rcx, [0x140474950]
lea rdx, [0x140392060]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140188630
mov al, 0xe4
xchg byte [0x14047495d], al
lea rax, [0x140474950]
ret
xor eax, eax
lea rcx, [0x1404748e0]
lea rdx, [0x140391ff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140188670
mov al, 0x60
xchg byte [0x1404748ef], al
lea rax, [0x1404748e0]
ret
xor eax, eax
lea rcx, [0x140474a80]
lea rdx, [0x140392190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401886b0
mov al, pe_nt_image_headers64
xchg byte [0x140474a8d], al
lea rax, [0x140474a80]
ret
xor eax, eax
lea rcx, [0x140474ae0]
lea rdx, [0x1403921f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401886f0
mov al, 0xef
xchg byte [0x140474aed], al
lea rax, [0x140474ae0]
ret
xor eax, eax
lea rcx, [0x140474af0]
lea rdx, [0x140392200]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140188721
mov al, 0xa8
xchg byte [0x140474b01], al
lea rax, [0x140474af0]
ret