Function at 0x201592c0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2015930c
test edx, edx
je 0x2015935c
test r8d, r8d
je 0x2015939c
test r9d, r9d
je 0x20159419
cmp byte [0x20455862], 0
je 0x20159304
mov cl, 0x8f
nop dword [rax]
mov al, 0xce
lock cmpxchg byte [0x20455862], cl
je 0x20159599
test al, al
jne 0x201592f0
lea rax, [0x20455860]
ret
test edx, edx
je 0x201593dc
test r8d, r8d
je 0x2015944c
test r9d, r9d
je 0x201594c9
movzx eax, byte [0x20455856]
cmp al, 0x81
je 0x20159354
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x20455856], cl
je 0x20159669
cmp al, 0x81
jne 0x20159340
lea rax, [0x20455830]
ret
test r8d, r8d
je 0x20159489
test r9d, r9d
je 0x201594f9
movzx eax, byte [0x20455550]
cmp al, 0xc7
je 0x20159394
mov cl, 0xb5
nop dword [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x20455550], cl
je 0x201596a1
cmp al, 0xc7
jne 0x20159380
lea rax, [0x20455520]
ret
test r9d, r9d
je 0x20159529
movzx eax, byte [0x20455644]
cmp al, 0x64
je 0x201593d4
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0x76
lock cmpxchg byte [0x20455644], cl
je 0x201596e1
cmp al, 0x64
jne 0x201593c0
lea rax, [0x20455640]
ret
test r8d, r8d
je 0x20159559
test r9d, r9d
je 0x201595d1
movzx eax, byte [0x2045574e]
cmp al, 0x36
je 0x201597b9
mov cl, 0x46
nop
mov al, 0xdb
lock cmpxchg byte [0x2045574e], cl
je 0x2015978b
cmp al, 0x36
jne 0x20159400
jmp 0x201597b9
movzx eax, byte [0x20455732]
cmp al, 0xb5
je 0x20159444
mov cl, 0xd8
nop word cs:[rax + rax]
mov al, 0x5f
lock cmpxchg byte [0x20455732], cl
je 0x20159721
cmp al, 0xb5
jne 0x20159430
lea rax, [0x20455720]
ret
test r9d, r9d
je 0x20159609
movzx eax, byte [0x20455614]
cmp al, 0x43
je 0x201597f9
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x20455614], cl
je 0x201597c1
cmp al, 0x43
jne 0x20159470
jmp 0x201597f9
test r9d, r9d
je 0x20159639
movzx eax, byte [0x20455654]
cmp al, 0xab
je 0x20159839
mov cl, 0x93
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x20455654], cl
je 0x20159801
cmp al, 0xab
jne 0x201594b0
jmp 0x20159839
movzx eax, byte [0x20455634]
cmp al, 0x22
je 0x20159879
mov cl, 0x3c
nop word [rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x20455634], cl
je 0x20159841
cmp al, 0x22
jne 0x201594e0
jmp 0x20159879
movzx eax, byte [0x20455803]
cmp al, 0xdf
je 0x201598b9
mov cl, 0x55
nop word [rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x20455803], cl
je 0x20159881
cmp al, 0xdf
jne 0x20159510
jmp 0x201598b9
movzx eax, byte [0x2045589d]
cmp al, 6
je 0x201598f9
mov cl, 0x74
nop word [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x2045589d], cl
je 0x201598c1
cmp al, 6
jne 0x20159540
jmp 0x201598f9
test r9d, r9d
je 0x20159761
movzx eax, byte [0x2045582f]
cmp al, 0x89
je 0x20159939
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0x55
lock cmpxchg byte [0x2045582f], cl
je 0x20159901
cmp al, 0x89
jne 0x20159580
jmp 0x20159939
xor eax, eax
lea rcx, [0x20455860]
lea rdx, [0x20374bb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201595b0
xor eax, eax
xchg byte [0x20455862], al
lea rax, [0x20455860]
ret
movzx eax, byte [0x20455872]
cmp al, 9
je 0x20159979
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x20455872], cl
je 0x20159941
cmp al, 9
jne 0x201595f0
jmp 0x20159979
movzx eax, byte [0x20455788]
cmp al, 0x38
je 0x201599b9
mov cl, 0x31
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x20455788], cl
je 0x20159981
cmp al, 0x38
jne 0x20159620
jmp 0x201599b9
movzx eax, byte [0x204556a9]
cmp al, 0xed
je 0x201599f9
mov cl, 0x2d
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x204556a9], cl
je 0x201599c1
cmp al, 0xed
jne 0x20159650
jmp 0x201599f9
xor eax, eax
lea rcx, [0x20455830]
lea rdx, [0x20374b80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20159680
mov al, 0x81
xchg byte [0x20455856], al
lea rax, [0x20455830]
ret
xor eax, eax
lea rcx, [0x20455520]
lea rdx, [0x20374890]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x30
jl 0x201596c0
mov al, 0xc7
xchg byte [0x20455550], al
lea rax, [0x20455520]
ret
xor eax, eax
lea rcx, [0x20455640]
lea rdx, [0x203749a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20159700
mov al, 0x64
xchg byte [0x20455644], al
lea rax, [0x20455640]
ret
xor eax, eax
lea rcx, [0x20455720]
lea rdx, [0x20374a70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20159740
mov al, 0xb5
xchg byte [0x20455732], al
lea rax, [0x20455720]
ret
movzx eax, byte [0x20455624]
cmp al, 0xe0
je 0x20159a2a
mov cl, 0x7b
mov al, 0xbc
lock cmpxchg byte [0x20455624], cl
je 0x20159a01
cmp al, 0xe0
jne 0x20159772
jmp 0x20159a2a
xor eax, eax
lea rcx, [0x20455740]
lea rdx, [0x20374a90]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201597a0
mov al, 0x36
xchg byte [0x2045574e], al
lea rax, [0x20455740]
ret
xor eax, eax
lea rcx, [0x20455610]
lea rdx, [0x20374970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x201597e0
mov al, 0x43
xchg byte [0x20455614], al
lea rax, [0x20455610]
ret
xor eax, eax
lea rcx, [0x20455650]
lea rdx, [0x203749b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20159820
mov al, 0xab
xchg byte [0x20455654], al
lea rax, [0x20455650]
ret
xor eax, eax
lea rcx, [0x20455630]
lea rdx, [0x20374990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20159860
mov al, 0x22
xchg byte [0x20455634], al
lea rax, [0x20455630]
ret
xor eax, eax
lea rcx, [0x204557e0]
lea rdx, [0x20374b30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201598a0
mov al, 0xdf
xchg byte [0x20455803], al
lea rax, [0x204557e0]
ret
xor eax, eax
lea rcx, [0x20455890]
lea rdx, [0x20374be0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201598e0
mov al, 6
xchg byte [0x2045589d], al
lea rax, [0x20455890]
ret
xor eax, eax
lea rcx, [0x20455820]
lea rdx, [0x20374b70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20159920
mov al, 0x89
xchg byte [0x2045582f], al
lea rax, [0x20455820]
ret
xor eax, eax
lea rcx, [0x20455870]
lea rdx, [0x20374bc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20159960
mov al, 9
xchg byte [0x20455872], al
lea rax, [0x20455870]
ret
xor eax, eax
lea rcx, [0x20455770]
lea rdx, [0x20374ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x201599a0
mov al, 0x38
xchg byte [0x20455788], al
lea rax, [0x20455770]
ret
xor eax, eax
lea rcx, [0x204556a0]
lea rdx, [0x20374a00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x201599e0
mov al, 0xed
xchg byte [0x204556a9], al
lea rax, [0x204556a0]
ret
xor eax, eax
lea rcx, [0x20455620]
lea rdx, [0x20374980]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20159a11
mov al, 0xe0
xchg byte [0x20455624], al
lea rax, [0x20455620]
ret