Function at 0x20193c70
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20193cbc
test edx, edx
je 0x20193d0c
test r8d, r8d
je 0x20193d4c
movzx eax, byte [0x2045c682]
cmp al, 0x66
je 0x20193cb4
mov cl, 0xe7
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x2045c682], cl
je 0x20193e49
cmp al, 0x66
jne 0x20193ca0
lea rax, [0x2045c670]
ret
test edx, edx
je 0x20193d8c
test r8d, r8d
je 0x20193dc9
test r9d, r9d
je 0x20193e81
movzx eax, byte [0x2045c76b]
cmp al, 0x86
je 0x20193d04
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0x38
lock cmpxchg byte [0x2045c76b], cl
je 0x20193fe9
cmp al, 0x86
jne 0x20193cf0
lea rax, [0x2045c760]
ret
test r8d, r8d
je 0x20193e09
test r9d, r9d
je 0x20193eb9
movzx eax, byte [0x2045c753]
cmp al, 0x6b
je 0x20193d44
mov cl, 0xfe
nop dword [rax + rax]
mov al, 0xcd
lock cmpxchg byte [0x2045c753], cl
je 0x20194021
cmp al, 0x6b
jne 0x20193d30
lea rax, [0x2045c730]
ret
test r9d, r9d
je 0x20193ee9
movzx eax, byte [0x2045c7c2]
cmp al, 0xdb
je 0x20193d84
mov cl, 0xd
nop word cs:[rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x2045c7c2], cl
je 0x20194061
cmp al, 0xdb
jne 0x20193d70
lea rax, [0x2045c7c0]
ret
test r8d, r8d
je 0x20193f19
test r9d, r9d
je 0x20193f59
movzx eax, byte [0x2045c6aa]
cmp al, 0x7e
je 0x201940f9
mov cl, 0xe3
nop
mov al, 0x52
lock cmpxchg byte [0x2045c6aa], cl
je 0x201940cb
cmp al, 0x7e
jne 0x20193db0
jmp 0x201940f9
test r9d, r9d
je 0x20193f89
movzx eax, byte [0x2045c723]
cmp al, 0xde
je 0x20194139
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0x6e
lock cmpxchg byte [0x2045c723], cl
je 0x20194101
cmp al, 0xde
jne 0x20193df0
jmp 0x20194139
test r9d, r9d
je 0x20193fb9
movzx eax, byte [0x2045c77f]
cmp al, 0x33
je 0x20194179
mov cl, 6
nop word cs:[rax + rax]
mov al, 0xaa
lock cmpxchg byte [0x2045c77f], cl
je 0x20194141
cmp al, 0x33
jne 0x20193e30
jmp 0x20194179
xor eax, eax
lea rcx, [0x2045c670]
lea rdx, [0x20376cb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20193e60
mov al, 0x66
xchg byte [0x2045c682], al
lea rax, [0x2045c670]
ret
movzx eax, byte [0x2045c7db]
cmp al, 0x9f
je 0x201941b9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x2045c7db], cl
je 0x20194181
cmp al, 0x9f
jne 0x20193ea0
jmp 0x201941b9
movzx eax, byte [0x2045c6e5]
cmp al, 0xc5
je 0x201941f9
mov cl, 0xa
nop word [rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x2045c6e5], cl
je 0x201941c1
cmp al, 0xc5
jne 0x20193ed0
jmp 0x201941f9
movzx eax, byte [0x2045c7b2]
cmp al, 0x4a
je 0x20194239
mov cl, 0x74
nop word [rax + rax]
mov al, 0x21
lock cmpxchg byte [0x2045c7b2], cl
je 0x20194201
cmp al, 0x4a
jne 0x20193f00
jmp 0x20194239
test r9d, r9d
je 0x201940a1
movzx eax, byte [0x2045c7a6]
cmp al, 0xbd
je 0x20194279
mov cl, 0x8b
nop word cs:[rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x2045c7a6], cl
je 0x20194241
cmp al, 0xbd
jne 0x20193f40
jmp 0x20194279
movzx eax, byte [0x2045c663]
cmp al, 0x25
je 0x201942b9
mov cl, 0x27
nop word [rax + rax]
mov al, 0x80
lock cmpxchg byte [0x2045c663], cl
je 0x20194281
cmp al, 0x25
jne 0x20193f70
jmp 0x201942b9
movzx eax, byte [0x2045c70c]
cmp al, 0x66
je 0x201942f9
mov cl, 4
nop word [rax + rax]
mov al, 0xb8
lock cmpxchg byte [0x2045c70c], cl
je 0x201942c1
cmp al, 0x66
jne 0x20193fa0
jmp 0x201942f9
movzx eax, byte [0x2045c715]
cmp al, 0x84
je 0x20194339
mov cl, 0x3a
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2045c715], cl
je 0x20194301
cmp al, 0x84
jne 0x20193fd0
jmp 0x20194339
xor eax, eax
lea rcx, [0x2045c760]
lea rdx, [0x20376d90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20194000
mov al, 0x86
xchg byte [0x2045c76b], al
lea rax, [0x2045c760]
ret
xor eax, eax
lea rcx, [0x2045c730]
lea rdx, [0x20376d60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20194040
mov al, 0x6b
xchg byte [0x2045c753], al
lea rax, [0x2045c730]
ret
xor eax, eax
lea rcx, [0x2045c7c0]
lea rdx, [0x20376df0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20194080
mov al, 0xdb
xchg byte [0x2045c7c2], al
lea rax, [0x2045c7c0]
ret
movzx eax, byte [0x2045c6c0]
cmp al, 0xf3
je 0x2019436a
mov cl, 0x36
mov al, 0x34
lock cmpxchg byte [0x2045c6c0], cl
je 0x20194341
cmp al, 0xf3
jne 0x201940b2
jmp 0x2019436a
xor eax, eax
lea rcx, [0x2045c690]
lea rdx, [0x20376cd0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x201940e0
mov al, 0x7e
xchg byte [0x2045c6aa], al
lea rax, [0x2045c690]
ret
xor eax, eax
lea rcx, [0x2045c720]
lea rdx, [0x20376d50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20194120
mov al, 0xde
xchg byte [0x2045c723], al
lea rax, [0x2045c720]
ret
xor eax, eax
lea rcx, [0x2045c770]
lea rdx, [0x20376da0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20194160
mov al, 0x33
xchg byte [0x2045c77f], al
lea rax, [0x2045c770]
ret
xor eax, eax
lea rcx, [0x2045c7d0]
lea rdx, [0x20376e00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201941a0
mov al, 0x9f
xchg byte [0x2045c7db], al
lea rax, [0x2045c7d0]
ret
xor eax, eax
lea rcx, [0x2045c6d0]
lea rdx, [0x20376d00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201941e0
mov al, 0xc5
xchg byte [0x2045c6e5], al
lea rax, [0x2045c6d0]
ret
xor eax, eax
lea rcx, [0x2045c7b0]
lea rdx, [0x20376de0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20194220
mov al, 0x4a
xchg byte [0x2045c7b2], al
lea rax, [0x2045c7b0]
ret
xor eax, eax
lea rcx, [0x2045c780]
lea rdx, [0x20376db0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20194260
mov al, 0xbd
xchg byte [0x2045c7a6], al
lea rax, [0x2045c780]
ret
xor eax, eax
lea rcx, [0x2045c640]
lea rdx, [0x20376c80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201942a0
mov al, 0x25
xchg byte [0x2045c663], al
lea rax, [0x2045c640]
ret
xor eax, eax
lea rcx, [0x2045c6f0]
lea rdx, [0x20376d20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201942e0
mov al, 0x66
xchg byte [0x2045c70c], al
lea rax, [0x2045c6f0]
ret
xor eax, eax
lea rcx, [0x2045c710]
lea rdx, [0x20376d40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20194320
mov al, 0x84
xchg byte [0x2045c715], al
lea rax, [0x2045c710]
ret
xor eax, eax
lea rcx, [0x2045c6b0]
lea rdx, [0x20376cf0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20194351
mov al, 0xf3
xchg byte [0x2045c6c0], al
lea rax, [0x2045c6b0]
ret