Function at 0x140181380
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401813cc
test edx, edx
je 0x14018141c
test r8d, r8d
je 0x14018145c
movzx eax, byte [0x14044ad92]
cmp al, 0x66
je 0x1401813c4
mov cl, 0xe7
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x14044ad92], cl
je 0x140181559
cmp al, 0x66
jne 0x1401813b0
lea rax, [0x14044ad80]
ret
test edx, edx
je 0x14018149c
test r8d, r8d
je 0x1401814d9
test r9d, r9d
je 0x140181591
movzx eax, byte [0x14044ae7b]
cmp al, 0x86
je 0x140181414
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0x38
lock cmpxchg byte [0x14044ae7b], cl
je 0x1401816f9
cmp al, 0x86
jne 0x140181400
lea rax, [0x14044ae70]
ret
test r8d, r8d
je 0x140181519
test r9d, r9d
je 0x1401815c9
movzx eax, byte [0x14044ae63]
cmp al, 0x6b
je 0x140181454
mov cl, 0xfe
nop dword [rax + rax]
mov al, 0xcd
lock cmpxchg byte [0x14044ae63], cl
je 0x140181731
cmp al, 0x6b
jne 0x140181440
lea rax, [0x14044ae40]
ret
test r9d, r9d
je 0x1401815f9
movzx eax, byte [0x14044aed2]
cmp al, 0xdb
je 0x140181494
mov cl, 0xd
nop word cs:[rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x14044aed2], cl
je 0x140181771
cmp al, 0xdb
jne 0x140181480
lea rax, [0x14044aed0]
ret
test r8d, r8d
je 0x140181629
test r9d, r9d
je 0x140181669
movzx eax, byte [0x14044adba]
cmp al, 0x7e
je 0x140181809
mov cl, 0xe3
nop
mov al, 0x52
lock cmpxchg byte [0x14044adba], cl
je 0x1401817db
cmp al, 0x7e
jne 0x1401814c0
jmp 0x140181809
test r9d, r9d
je 0x140181699
movzx eax, byte [0x14044ae33]
cmp al, 0xde
je 0x140181849
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0x6e
lock cmpxchg byte [0x14044ae33], cl
je 0x140181811
cmp al, 0xde
jne 0x140181500
jmp 0x140181849
test r9d, r9d
je 0x1401816c9
movzx eax, byte [0x14044ae8f]
cmp al, 0x33
je 0x140181889
mov cl, 6
nop word cs:[rax + rax]
mov al, 0xaa
lock cmpxchg byte [0x14044ae8f], cl
je 0x140181851
cmp al, 0x33
jne 0x140181540
jmp 0x140181889
xor eax, eax
lea rcx, [0x14044ad80]
lea rdx, [0x140364c90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140181570
mov al, 0x66
xchg byte [0x14044ad92], al
lea rax, [0x14044ad80]
ret
movzx eax, byte [0x14044aeeb]
cmp al, 0x9f
je 0x1401818c9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x14044aeeb], cl
je 0x140181891
cmp al, 0x9f
jne 0x1401815b0
jmp 0x1401818c9
movzx eax, byte [0x14044adf5]
cmp al, 0xc5
je 0x140181909
mov cl, 0xa
nop word [rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x14044adf5], cl
je 0x1401818d1
cmp al, 0xc5
jne 0x1401815e0
jmp 0x140181909
movzx eax, byte [0x14044aec2]
cmp al, 0x4a
je 0x140181949
mov cl, 0x74
nop word [rax + rax]
mov al, 0x21
lock cmpxchg byte [0x14044aec2], cl
je 0x140181911
cmp al, 0x4a
jne 0x140181610
jmp 0x140181949
test r9d, r9d
je 0x1401817b1
movzx eax, byte [0x14044aeb6]
cmp al, 0xbd
je 0x140181989
mov cl, 0x8b
nop word cs:[rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x14044aeb6], cl
je 0x140181951
cmp al, 0xbd
jne 0x140181650
jmp 0x140181989
movzx eax, byte [0x14044ad73]
cmp al, 0x25
je 0x1401819c9
mov cl, 0x27
nop word [rax + rax]
mov al, 0x80
lock cmpxchg byte [0x14044ad73], cl
je 0x140181991
cmp al, 0x25
jne 0x140181680
jmp 0x1401819c9
movzx eax, byte [0x14044ae1c]
cmp al, 0x66
je 0x140181a09
mov cl, 4
nop word [rax + rax]
mov al, 0xb8
lock cmpxchg byte [0x14044ae1c], cl
je 0x1401819d1
cmp al, 0x66
jne 0x1401816b0
jmp 0x140181a09
movzx eax, byte [0x14044ae25]
cmp al, 0x84
je 0x140181a49
mov cl, 0x3a
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x14044ae25], cl
je 0x140181a11
cmp al, 0x84
jne 0x1401816e0
jmp 0x140181a49
xor eax, eax
lea rcx, [0x14044ae70]
lea rdx, [0x140364d70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140181710
mov al, 0x86
xchg byte [0x14044ae7b], al
lea rax, [0x14044ae70]
ret
xor eax, eax
lea rcx, [0x14044ae40]
lea rdx, [0x140364d40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140181750
mov al, 0x6b
xchg byte [0x14044ae63], al
lea rax, [0x14044ae40]
ret
xor eax, eax
lea rcx, [0x14044aed0]
lea rdx, [0x140364dd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140181790
mov al, 0xdb
xchg byte [0x14044aed2], al
lea rax, [0x14044aed0]
ret
movzx eax, byte [0x14044add0]
cmp al, 0xf3
je 0x140181a7a
mov cl, 0x36
mov al, 0x34
lock cmpxchg byte [0x14044add0], cl
je 0x140181a51
cmp al, 0xf3
jne 0x1401817c2
jmp 0x140181a7a
xor eax, eax
lea rcx, [0x14044ada0]
lea rdx, [0x140364cb0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x1401817f0
mov al, 0x7e
xchg byte [0x14044adba], al
lea rax, [0x14044ada0]
ret
xor eax, eax
lea rcx, [0x14044ae30]
lea rdx, [0x140364d30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140181830
mov al, 0xde
xchg byte [0x14044ae33], al
lea rax, [0x14044ae30]
ret
xor eax, eax
lea rcx, [0x14044ae80]
lea rdx, [0x140364d80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140181870
mov al, 0x33
xchg byte [0x14044ae8f], al
lea rax, [0x14044ae80]
ret
xor eax, eax
lea rcx, [0x14044aee0]
lea rdx, [0x140364de0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401818b0
mov al, 0x9f
xchg byte [0x14044aeeb], al
lea rax, [0x14044aee0]
ret
xor eax, eax
lea rcx, [0x14044ade0]
lea rdx, [0x140364ce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401818f0
mov al, 0xc5
xchg byte [0x14044adf5], al
lea rax, [0x14044ade0]
ret
xor eax, eax
lea rcx, [0x14044aec0]
lea rdx, [0x140364dc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140181930
mov al, 0x4a
xchg byte [0x14044aec2], al
lea rax, [0x14044aec0]
ret
xor eax, eax
lea rcx, [0x14044ae90]
lea rdx, [0x140364d90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140181970
mov al, 0xbd
xchg byte [0x14044aeb6], al
lea rax, [0x14044ae90]
ret
xor eax, eax
lea rcx, [0x14044ad50]
lea rdx, [0x140364c60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401819b0
mov al, 0x25
xchg byte [0x14044ad73], al
lea rax, [0x14044ad50]
ret
xor eax, eax
lea rcx, [0x14044ae00]
lea rdx, [0x140364d00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1401819f0
mov al, 0x66
xchg byte [0x14044ae1c], al
lea rax, [0x14044ae00]
ret
xor eax, eax
lea rcx, [0x14044ae20]
lea rdx, [0x140364d20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140181a30
mov al, 0x84
xchg byte [0x14044ae25], al
lea rax, [0x14044ae20]
ret
xor eax, eax
lea rcx, [0x14044adc0]
lea rdx, [0x140364cd0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140181a61
mov al, 0xf3
xchg byte [0x14044add0], al
lea rax, [0x14044adc0]
ret