Function at 0x201e3050
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201e309c
test edx, edx
je 0x201e30ec
test r8d, r8d
je 0x201e312c
movzx eax, byte [0x20590cdd]
cmp al, 0x19
je 0x201e3094
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x92
lock cmpxchg byte [0x20590cdd], cl
je 0x201e320c
cmp al, 0x19
jne 0x201e3080
lea rax, [0x20590cd0]
ret
test edx, edx
je 0x201e315c
test r8d, r8d
je 0x201e3199
test r9d, r9d
je 0x201e3241
movzx eax, byte [0x20590c6d]
cmp al, 0x3f
je 0x201e30e4
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x20590c6d], cl
je 0x201e3399
cmp al, 0x3f
jne 0x201e30d0
lea rax, [0x20590c60]
ret
test r8d, r8d
je 0x201e31d9
movzx eax, byte [0x20590a55]
cmp al, 0x6f
je 0x201e3124
mov cl, 0x69
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x20590a55], cl
je 0x201e32b9
cmp al, 0x6f
jne 0x201e3110
lea rax, [0x20590a50]
ret
movzx eax, byte [0x205909f3]
cmp al, 0x90
je 0x201e3154
mov cl, 0x78
nop dword [rax]
mov al, 0x3e
lock cmpxchg byte [0x205909f3], cl
je 0x201e32f1
cmp al, 0x90
jne 0x201e3140
lea rax, [0x205909f0]
ret
test r8d, r8d
je 0x201e3279
test r9d, r9d
je 0x201e3331
movzx eax, byte [0x20590ba3]
cmp al, 0xe9
je 0x201e3469
mov cl, 0x9c
nop
mov al, 0xfa
lock cmpxchg byte [0x20590ba3], cl
je 0x201e343b
cmp al, 0xe9
jne 0x201e3180
jmp 0x201e3469
test r9d, r9d
je 0x201e3369
movzx eax, byte [0x20590a62]
cmp al, 0x83
je 0x201e34a9
mov cl, 0xda
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x20590a62], cl
je 0x201e3471
cmp al, 0x83
jne 0x201e31c0
jmp 0x201e34a9
movzx eax, byte [0x20590b6a]
cmp al, 0xba
je 0x201e3204
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x20590b6a], cl
je 0x201e33d1
cmp al, 0xba
jne 0x201e31f0
lea rax, [0x20590b40]
ret
xor eax, eax
lea rcx, [0x20590cd0]
lea rdx, [0x204788a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201e3220
mov al, 0x19
xchg byte [0x20590cdd], al
lea rax, [0x20590cd0]
ret
movzx eax, byte [0x20590b05]
cmp al, 0x63
je 0x201e34e9
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x78
lock cmpxchg byte [0x20590b05], cl
je 0x201e34b1
cmp al, 0x63
jne 0x201e3260
jmp 0x201e34e9
test r9d, r9d
je 0x201e3411
movzx eax, byte [0x20590c7f]
cmp al, 0x8c
je 0x201e3529
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x20590c7f], cl
je 0x201e34f1
cmp al, 0x8c
jne 0x201e32a0
jmp 0x201e3529
xor eax, eax
lea rcx, [0x20590a50]
lea rdx, [0x20478620]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x201e32d0
mov al, 0x6f
xchg byte [0x20590a55], al
lea rax, [0x20590a50]
ret
xor eax, eax
lea rcx, [0x205909f0]
lea rdx, [0x204785d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201e3310
mov al, 0x90
xchg byte [0x205909f3], al
lea rax, [0x205909f0]
ret
movzx eax, byte [0x20590ad4]
cmp al, 0x51
je 0x201e3569
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x71
lock cmpxchg byte [0x20590ad4], cl
je 0x201e3531
cmp al, 0x51
jne 0x201e3350
jmp 0x201e3569
movzx eax, byte [0x20590a43]
cmp al, 0xf0
je 0x201e35a9
mov cl, 0x75
nop word [rax + rax]
mov al, 0x74
lock cmpxchg byte [0x20590a43], cl
je 0x201e3571
cmp al, 0xf0
jne 0x201e3380
jmp 0x201e35a9
xor eax, eax
lea rcx, [0x20590c60]
lea rdx, [0x20478830]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201e33b0
mov al, 0x3f
xchg byte [0x20590c6d], al
lea rax, [0x20590c60]
ret
xor eax, eax
lea rcx, [0x20590b40]
lea rdx, [0x20478710]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2a
jl 0x201e33f0
mov al, 0xba
xchg byte [0x20590b6a], al
lea rax, [0x20590b40]
ret
movzx eax, byte [0x20590b95]
cmp al, 0x26
je 0x201e35da
mov cl, 0x1f
mov al, 0x8f
lock cmpxchg byte [0x20590b95], cl
je 0x201e35b1
cmp al, 0x26
jne 0x201e3422
jmp 0x201e35da
xor eax, eax
lea rcx, [0x20590ba0]
lea rdx, [0x20478770]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201e3450
mov al, 0xe9
xchg byte [0x20590ba3], al
lea rax, [0x20590ba0]
ret
xor eax, eax
lea rcx, [0x20590a60]
lea rdx, [0x20478630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201e3490
mov al, 0x83
xchg byte [0x20590a62], al
lea rax, [0x20590a60]
ret
xor eax, eax
lea rcx, [0x20590b00]
lea rdx, [0x204786d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x201e34d0
mov al, 0x63
xchg byte [0x20590b05], al
lea rax, [0x20590b00]
ret
xor eax, eax
lea rcx, [0x20590c70]
lea rdx, [0x20478840]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201e3510
mov al, 0x8c
xchg byte [0x20590c7f], al
lea rax, [0x20590c70]
ret
xor eax, eax
lea rcx, [0x20590ad0]
lea rdx, [0x204786a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x201e3550
mov al, 0x51
xchg byte [0x20590ad4], al
lea rax, [0x20590ad0]
ret
xor eax, eax
lea rcx, [0x20590a40]
lea rdx, [0x20478610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201e3590
mov al, 0xf0
xchg byte [0x20590a43], al
lea rax, [0x20590a40]
ret
xor eax, eax
lea rcx, [0x20590b90]
lea rdx, [0x20478760]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x201e35c1
mov al, 0x26
xchg byte [0x20590b95], al
lea rax, [0x20590b90]
ret