Function at 0x1401ae640
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401ae68c
test edx, edx
je 0x1401ae6dc
test r8d, r8d
je 0x1401ae71c
movzx eax, byte [0x1404783e3]
cmp al, 0x82
je 0x1401ae684
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0xea
lock cmpxchg byte [0x1404783e3], cl
je 0x1401ae809
cmp al, 0x82
jne 0x1401ae670
lea rax, [0x1404783e0]
ret
test edx, edx
je 0x1401ae74c
test r8d, r8d
je 0x1401ae78c
test r9d, r9d
je 0x1401ae841
movzx eax, byte [0x140478413]
cmp al, 0xac
je 0x1401ae6d4
mov cl, 0xa6
nop word cs:[rax + rax]
mov al, 0xd9
lock cmpxchg byte [0x140478413], cl
je 0x1401ae989
cmp al, 0xac
jne 0x1401ae6c0
lea rax, [0x1404783f0]
ret
test r8d, r8d
je 0x1401ae7c9
test r9d, r9d
je 0x1401ae879
movzx eax, byte [0x14047842b]
cmp al, 0x4b
je 0x1401ae714
mov cl, 0x4f
nop dword [rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x14047842b], cl
je 0x1401ae9c1
cmp al, 0x4b
jne 0x1401ae700
lea rax, [0x140478420]
ret
movzx eax, byte [0x14047839f]
cmp al, 0xb4
je 0x1401ae744
mov cl, 0xdd
nop dword [rax]
mov al, 0x83
lock cmpxchg byte [0x14047839f], cl
je 0x1401ae8e9
cmp al, 0xb4
jne 0x1401ae730
lea rax, [0x140478390]
ret
test r8d, r8d
je 0x1401ae8a9
movzx eax, byte [0x140478362]
cmp al, 0xbe
je 0x1401ae784
mov cl, 0xf9
nop word cs:[rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x140478362], cl
je 0x1401aea01
cmp al, 0xbe
jne 0x1401ae770
lea rax, [0x140478360]
ret
test r9d, r9d
je 0x1401ae921
movzx eax, byte [0x1404782e5]
cmp al, 0x5e
je 0x1401aea99
mov cl, 0x8b
nop word cs:[rax + rax]
mov al, 0xed
lock cmpxchg byte [0x1404782e5], cl
je 0x1401aea6b
cmp al, 0x5e
jne 0x1401ae7b0
jmp 0x1401aea99
test r9d, r9d
je 0x1401ae959
movzx eax, byte [0x1404783cc]
cmp al, 0xde
je 0x1401aead9
mov cl, 0xe9
nop word cs:[rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x1404783cc], cl
je 0x1401aeaa1
cmp al, 0xde
jne 0x1401ae7f0
jmp 0x1401aead9
xor eax, eax
lea rcx, [0x1404783e0]
lea rdx, [0x140392b80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401ae820
mov al, 0x82
xchg byte [0x1404783e3], al
lea rax, [0x1404783e0]
ret
movzx eax, byte [0x140478325]
cmp al, 0xde
je 0x1401aeb19
mov cl, 0x36
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x140478325], cl
je 0x1401aeae1
cmp al, 0xde
jne 0x1401ae860
jmp 0x1401aeb19
movzx eax, byte [0x1404782c6]
cmp al, 0xad
je 0x1401aeb59
mov cl, 0xed
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x1404782c6], cl
je 0x1401aeb21
cmp al, 0xad
jne 0x1401ae890
jmp 0x1401aeb59
test r9d, r9d
je 0x1401aea41
movzx eax, byte [0x14047843f]
cmp al, 0xa2
je 0x1401aeb99
mov cl, 3
nop word cs:[rax + rax]
mov al, 0xf
lock cmpxchg byte [0x14047843f], cl
je 0x1401aeb61
cmp al, 0xa2
jne 0x1401ae8d0
jmp 0x1401aeb99
xor eax, eax
lea rcx, [0x140478390]
lea rdx, [0x140392b30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401ae900
mov al, 0xb4
xchg byte [0x14047839f], al
lea rax, [0x140478390]
ret
movzx eax, byte [0x140478472]
cmp al, 0x1c
je 0x1401aebd9
mov cl, 0xf0
nop word cs:[rax + rax]
mov al, 0x4b
lock cmpxchg byte [0x140478472], cl
je 0x1401aeba1
cmp al, 0x1c
jne 0x1401ae940
jmp 0x1401aebd9
movzx eax, byte [0x14047849b]
cmp al, 0x6b
je 0x1401aec19
mov cl, 0xee
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x14047849b], cl
je 0x1401aebe1
cmp al, 0x6b
jne 0x1401ae970
jmp 0x1401aec19
xor eax, eax
lea rcx, [0x1404783f0]
lea rdx, [0x140392b90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401ae9a0
mov al, 0xac
xchg byte [0x140478413], al
lea rax, [0x1404783f0]
ret
xor eax, eax
lea rcx, [0x140478420]
lea rdx, [0x140392bc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ae9e0
mov al, 0x4b
xchg byte [0x14047842b], al
lea rax, [0x140478420]
ret
xor eax, eax
lea rcx, [0x140478360]
lea rdx, [0x140392b10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401aea20
mov al, 0xbe
xchg byte [0x140478362], al
lea rax, [0x140478360]
ret
movzx eax, byte [0x140478380]
cmp al, 0x55
je 0x1401aec4a
mov cl, 0x53
mov al, 0x88
lock cmpxchg byte [0x140478380], cl
je 0x1401aec21
cmp al, 0x55
jne 0x1401aea52
jmp 0x1401aec4a
xor eax, eax
lea rcx, [0x1404782e0]
lea rdx, [0x140392aa0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401aea80
mov al, 0x5e
xchg byte [0x1404782e5], al
lea rax, [0x1404782e0]
ret
xor eax, eax
lea rcx, [0x1404783b0]
lea rdx, [0x140392b50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1401aeac0
mov al, 0xde
xchg byte [0x1404783cc], al
lea rax, [0x1404783b0]
ret
xor eax, eax
lea rcx, [0x140478310]
lea rdx, [0x140392ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401aeb00
mov al, 0xde
xchg byte [0x140478325], al
lea rax, [0x140478310]
ret
xor eax, eax
lea rcx, [0x1404782c0]
lea rdx, [0x140392a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1401aeb40
mov al, 0xad
xchg byte [0x1404782c6], al
lea rax, [0x1404782c0]
ret
xor eax, eax
lea rcx, [0x140478430]
lea rdx, [0x140392bd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401aeb80
mov al, 0xa2
xchg byte [0x14047843f], al
lea rax, [0x140478430]
ret
xor eax, eax
lea rcx, [0x140478470]
lea rdx, [0x140392c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401aebc0
mov al, 0x1c
xchg byte [0x140478472], al
lea rax, [0x140478470]
ret
xor eax, eax
lea rcx, [0x140478490]
lea rdx, [0x140392c30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401aec00
mov al, 0x6b
xchg byte [0x14047849b], al
lea rax, [0x140478490]
ret
xor eax, eax
lea rcx, [0x140478370]
lea rdx, [0x140392b20]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401aec31
mov al, 0x55
xchg byte [0x140478380], al
lea rax, [0x140478370]
ret