Function at 0x140243340
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14024338c
test edx, edx
je 0x1402433cc
test r8d, r8d
je 0x14024340c
test r9d, r9d
je 0x140243479
movzx eax, byte [0x140464620]
cmp al, 0x1f
je 0x140243384
mov cl, 0x7b
nop dword [rax + rax]
mov al, 0xb7
lock cmpxchg byte [0x140464620], cl
je 0x140243589
cmp al, 0x1f
jne 0x140243370
lea rax, [0x140464520]
ret
test edx, edx
je 0x14024343c
test r8d, r8d
je 0x1402434ac
movzx eax, byte [0x140464706]
cmp al, 0x56
je 0x1402433c4
mov cl, 0x20
nop word [rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x140464706], cl
je 0x1402435c3
cmp al, 0x56
jne 0x1402433b0
lea rax, [0x1404646e0]
ret
test r8d, r8d
je 0x1402434dc
test r9d, r9d
je 0x140243519
movzx eax, byte [0x140464643]
cmp al, 0xd8
je 0x140243404
mov cl, 0x57
nop dword [rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x140464643], cl
je 0x1402436a9
cmp al, 0xd8
jne 0x1402433f0
lea rax, [0x140464630]
ret
movzx eax, byte [0x140464510]
cmp al, 0x7f
je 0x140243434
mov cl, 0x24
nop dword [rax]
mov al, 0xde
lock cmpxchg byte [0x140464510], cl
je 0x140243601
cmp al, 0x7f
jne 0x140243420
lea rax, [0x140464310]
ret
test r8d, r8d
je 0x140243549
test r9d, r9d
je 0x140243643
movzx eax, byte [0x140464675]
cmp al, 0xe0
je 0x1402437b9
mov cl, 0xa
nop
mov al, 0x39
lock cmpxchg byte [0x140464675], cl
je 0x14024378b
cmp al, 0xe0
jne 0x140243460
jmp 0x1402437b9
movzx eax, byte [0x14049250c]
cmp al, 0x55
je 0x1402434a4
mov cl, 0x99
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x14049250c], cl
je 0x1402436e1
cmp al, 0x55
jne 0x140243490
lea rax, [0x1404646c0]
ret
movzx eax, byte [0x140464722]
cmp al, 0x57
je 0x1402434d4
mov cl, 0x98
nop dword [rax]
mov al, 0x9a
lock cmpxchg byte [0x140464722], cl
je 0x140243721
cmp al, 0x57
jne 0x1402434c0
lea rax, [0x140464720]
ret
test r9d, r9d
je 0x140243679
movzx eax, byte [0x140464683]
cmp al, 0x2b
je 0x1402437f9
mov cl, 0x4a
nop word cs:[rax + rax]
mov al, 0x35
lock cmpxchg byte [0x140464683], cl
je 0x1402437c1
cmp al, 0x2b
jne 0x140243500
jmp 0x1402437f9
movzx eax, byte [0x14046466c]
cmp al, 0xfa
je 0x140243839
mov cl, 0x3a
nop word [rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x14046466c], cl
je 0x140243801
cmp al, 0xfa
jne 0x140243530
jmp 0x140243839
test r9d, r9d
je 0x140243761
movzx eax, byte [0x1404646b3]
cmp al, 0x6b
je 0x140243879
mov cl, 5
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x1404646b3], cl
je 0x140243841
cmp al, 0x6b
jne 0x140243570
jmp 0x140243879
xor eax, eax
lea rcx, [0x140464520]
lea rdx, [0x140377410]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x100
jl 0x1402435a0
mov al, 0x1f
xchg byte [0x140464620], al
lea rax, [0x140464520]
ret
xor eax, eax
lea rcx, [0x1404646e0]
lea rdx, [0x1403775c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402435e0
mov al, 0x56
xchg byte [0x140464706], al
lea rax, [0x1404646e0]
ret
xor eax, eax
lea rcx, [0x140464310]
lea rdx, [0x140377210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x200
jl 0x140243620
mov al, 0x7f
xchg byte [0x140464510], al
lea rax, [0x140464310]
ret
movzx eax, byte [0x1404646df]
cmp al, 0xb4
je 0x1402438b9
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x1404646df], cl
je 0x140243881
cmp al, 0xb4
jne 0x140243660
jmp 0x1402438b9
movzx eax, byte [0x14046473b]
cmp al, 0xa4
je 0x1402438f9
mov cl, 0x98
nop word [rax + rax]
mov al, 0x36
lock cmpxchg byte [0x14046473b], cl
je 0x1402438c1
cmp al, 0xa4
jne 0x140243690
jmp 0x1402438f9
xor eax, eax
lea rcx, [0x140464630]
lea rdx, [0x140377510]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x1402436c0
mov al, 0xd8
xchg byte [0x140464643], al
lea rax, [0x140464630]
ret
xor eax, eax
lea rcx, [0x1404646c0]
lea rdx, [0x1403775a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140243700
mov al, 0x55
xchg byte [0x14049250c], al
lea rax, [0x1404646c0]
ret
xor eax, eax
lea rcx, [0x140464720]
lea rdx, [0x140377600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140243740
mov al, 0x57
xchg byte [0x140464722], al
lea rax, [0x140464720]
ret
movzx eax, byte [0x140464712]
cmp al, 0x96
je 0x14024392a
mov cl, 0xe8
mov al, 2
lock cmpxchg byte [0x140464712], cl
je 0x140243901
cmp al, 0x96
jne 0x140243772
jmp 0x14024392a
xor eax, eax
lea rcx, [0x140464670]
lea rdx, [0x140377550]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402437a0
mov al, 0xe0
xchg byte [0x140464675], al
lea rax, [0x140464670]
ret
xor eax, eax
lea rcx, [0x140464680]
lea rdx, [0x140377560]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402437e0
mov al, 0x2b
xchg byte [0x140464683], al
lea rax, [0x140464680]
ret
xor eax, eax
lea rcx, [0x140464650]
lea rdx, [0x140377530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140243820
mov al, 0xfa
xchg byte [0x14046466c], al
lea rax, [0x140464650]
ret
xor eax, eax
lea rcx, [0x140464690]
lea rdx, [0x140377570]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140243860
mov al, 0x6b
xchg byte [0x1404646b3], al
lea rax, [0x140464690]
ret
xor eax, eax
lea rcx, [0x1404646d0]
lea rdx, [0x1403775b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402438a0
mov al, 0xb4
xchg byte [0x1404646df], al
lea rax, [0x1404646d0]
ret
xor eax, eax
lea rcx, [0x140464730]
lea rdx, [0x140377610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402438e0
mov al, 0xa4
xchg byte [0x14046473b], al
lea rax, [0x140464730]
ret
xor eax, eax
lea rcx, [0x140464710]
lea rdx, [0x1403775f0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140243911
mov al, 0x96
xchg byte [0x140464712], al
lea rax, [0x140464710]
ret