Function at 0x20158c30
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20158c7c
test edx, edx
je 0x20158ccc
test r8d, r8d
je 0x20158d0c
movzx eax, byte [0x204556d2]
cmp al, 0x38
je 0x20158c74
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0xb
lock cmpxchg byte [0x204556d2], cl
je 0x20158df9
cmp al, 0x38
jne 0x20158c60
lea rax, [0x204556d0]
ret
test edx, edx
je 0x20158d3c
test r8d, r8d
je 0x20158d79
test r9d, r9d
je 0x20158e31
movzx eax, byte [0x204558eb]
cmp al, 0xd6
je 0x20158cc4
mov cl, 0x14
nop word cs:[rax + rax]
mov al, 0x57
lock cmpxchg byte [0x204558eb], cl
je 0x20158fa9
cmp al, 0xd6
jne 0x20158cb0
lea rax, [0x204558e0]
ret
test r8d, r8d
je 0x20158db9
test r9d, r9d
je 0x20158e69
movzx eax, byte [0x2045588b]
cmp al, 0xc4
je 0x20158d04
mov cl, 0xac
nop dword [rax + rax]
mov al, 0x88
lock cmpxchg byte [0x2045588b], cl
je 0x20158fe1
cmp al, 0xc4
jne 0x20158cf0
lea rax, [0x20455880]
ret
movzx eax, byte [0x204558bd]
cmp al, 0xa1
je 0x20158d34
mov cl, 0xd0
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x204558bd], cl
je 0x20158ed9
cmp al, 0xa1
jne 0x20158d20
lea rax, [0x204558b0]
ret
test r8d, r8d
je 0x20158e99
test r9d, r9d
je 0x20158f11
movzx eax, byte [0x204557bc]
cmp al, 0x73
je 0x20159079
mov cl, 0xf4
nop
mov al, 0x79
lock cmpxchg byte [0x204557bc], cl
je 0x2015904b
cmp al, 0x73
jne 0x20158d60
jmp 0x20159079
test r9d, r9d
je 0x20158f49
movzx eax, byte [0x20455681]
cmp al, 0x2e
je 0x201590b9
mov cl, 0xc7
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x20455681], cl
je 0x20159081
cmp al, 0x2e
jne 0x20158da0
jmp 0x201590b9
test r9d, r9d
je 0x20158f79
movzx eax, byte [0x204557d3]
cmp al, 0xd9
je 0x201590f9
mov cl, 0x86
nop word cs:[rax + rax]
mov al, 0x74
lock cmpxchg byte [0x204557d3], cl
je 0x201590c1
cmp al, 0xd9
jne 0x20158de0
jmp 0x201590f9
xor eax, eax
lea rcx, [0x204556d0]
lea rdx, [0x20374a30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20158e10
mov al, 0x38
xchg byte [0x204556d2], al
lea rax, [0x204556d0]
ret
movzx eax, byte [0x20455601]
cmp al, 0xee
je 0x20159139
mov cl, 0xf6
nop word cs:[rax + rax]
mov al, 0x9e
lock cmpxchg byte [0x20455601], cl
je 0x20159101
cmp al, 0xee
jne 0x20158e50
jmp 0x20159139
movzx eax, byte [0x204558ad]
cmp al, 4
je 0x20159179
mov cl, 0xac
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x204558ad], cl
je 0x20159141
cmp al, 4
jne 0x20158e80
jmp 0x20159179
test r9d, r9d
je 0x20159021
movzx eax, byte [0x2045581b]
cmp al, 0x67
je 0x201591b9
mov cl, 0xdc
nop word cs:[rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x2045581b], cl
je 0x20159181
cmp al, 0x67
jne 0x20158ec0
jmp 0x201591b9
xor eax, eax
lea rcx, [0x204558b0]
lea rdx, [0x20374c00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20158ef0
mov al, 0xa1
xchg byte [0x204558bd], al
lea rax, [0x204558b0]
ret
movzx eax, byte [0x20455715]
cmp al, 0x37
je 0x201591f9
mov cl, 0x3a
nop word cs:[rax + rax]
mov al, 0x89
lock cmpxchg byte [0x20455715], cl
je 0x201591c1
cmp al, 0x37
jne 0x20158f30
jmp 0x201591f9
movzx eax, byte [0x204558d2]
cmp al, 9
je 0x20159239
mov cl, 0x97
nop word [rax + rax]
mov al, 0x9c
lock cmpxchg byte [0x204558d2], cl
je 0x20159201
cmp al, 9
jne 0x20158f60
jmp 0x20159239
movzx eax, byte [0x204555cd]
cmp al, 0x2a
je 0x20159279
mov cl, 0xff
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x204555cd], cl
je 0x20159241
cmp al, 0x2a
jne 0x20158f90
jmp 0x20159279
xor eax, eax
lea rcx, [0x204558e0]
lea rdx, [0x20374c30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20158fc0
mov al, 0xd6
xchg byte [0x204558eb], al
lea rax, [0x204558e0]
ret
xor eax, eax
lea rcx, [0x20455880]
lea rdx, [0x20374bd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20159000
mov al, 0xc4
xchg byte [0x2045588b], al
lea rax, [0x20455880]
ret
movzx eax, byte [0x2045551d]
cmp al, 0x2a
je 0x201592aa
mov cl, 0x55
mov al, 0xf0
lock cmpxchg byte [0x2045551d], cl
je 0x20159281
cmp al, 0x2a
jne 0x20159032
jmp 0x201592aa
xor eax, eax
lea rcx, [0x204557a0]
lea rdx, [0x20374af0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20159060
mov al, 0x73
xchg byte [0x204557bc], al
lea rax, [0x204557a0]
ret
xor eax, eax
lea rcx, [0x20455670]
lea rdx, [0x203749d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201590a0
mov al, 0x2e
xchg byte [0x20455681], al
lea rax, [0x20455670]
ret
xor eax, eax
lea rcx, [0x204557d0]
lea rdx, [0x20374b20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201590e0
mov al, 0xd9
xchg byte [0x204557d3], al
lea rax, [0x204557d0]
ret
xor eax, eax
lea rcx, [0x204555d0]
lea rdx, [0x20374930]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x31
jl 0x20159120
mov al, 0xee
xchg byte [0x20455601], al
lea rax, [0x204555d0]
ret
xor eax, eax
lea rcx, [0x204558a0]
lea rdx, [0x20374bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20159160
mov al, 4
xchg byte [0x204558ad], al
lea rax, [0x204558a0]
ret
xor eax, eax
lea rcx, [0x20455810]
lea rdx, [0x20374b60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201591a0
mov al, 0x67
xchg byte [0x2045581b], al
lea rax, [0x20455810]
ret
xor eax, eax
lea rcx, [0x20455700]
lea rdx, [0x20374a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201591e0
mov al, 0x37
xchg byte [0x20455715], al
lea rax, [0x20455700]
ret
xor eax, eax
lea rcx, [0x204558c0]
lea rdx, [0x20374c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20159220
mov al, 9
xchg byte [0x204558d2], al
lea rax, [0x204558c0]
ret
xor eax, eax
lea rcx, [0x20455590]
lea rdx, [0x203748f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x3d
jl 0x20159260
mov al, 0x2a
xchg byte [0x204555cd], al
lea rax, [0x20455590]
ret
xor eax, eax
lea rcx, [0x204554e0]
lea rdx, [0x20374850]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x3d
jl 0x20159291
mov al, 0x2a
xchg byte [0x2045551d], al
lea rax, [0x204554e0]
ret