Function at 0x201df080
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201df0cc
test edx, edx
je 0x201df11c
test r8d, r8d
je 0x201df15c
test r9d, r9d
je 0x201df1d9
movzx eax, byte [0x2058f81c]
cmp al, 0x74
je 0x201df0c4
mov cl, 0x18
nop dword [rax + rax]
mov al, 0x90
lock cmpxchg byte [0x2058f81c], cl
je 0x201df359
cmp al, 0x74
jne 0x201df0b0
lea rax, [0x2058f800]
ret
test edx, edx
je 0x201df19c
test r8d, r8d
je 0x201df20c
test r9d, r9d
je 0x201df289
movzx eax, byte [0x2058f7f6]
cmp al, 0x1b
je 0x201df114
mov cl, 0xa5
nop word cs:[rax + rax]
mov al, 0x37
lock cmpxchg byte [0x2058f7f6], cl
je 0x201df429
cmp al, 0x1b
jne 0x201df100
lea rax, [0x2058f7c0]
ret
test r8d, r8d
je 0x201df249
test r9d, r9d
je 0x201df2b9
movzx eax, byte [0x2058f879]
cmp al, 0xef
je 0x201df154
mov cl, 0x60
nop dword [rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x2058f879], cl
je 0x201df461
cmp al, 0xef
jne 0x201df140
lea rax, [0x2058f860]
ret
test r9d, r9d
je 0x201df2e9
movzx eax, byte [0x2058fdf5]
cmp al, 0x32
je 0x201df194
mov cl, 7
nop word cs:[rax + rax]
mov al, 0x16
lock cmpxchg byte [0x2058fdf5], cl
je 0x201df4a1
cmp al, 0x32
jne 0x201df180
lea rax, [0x2058fde0]
ret
test r8d, r8d
je 0x201df319
test r9d, r9d
je 0x201df391
movzx eax, byte [0x2058fa12]
cmp al, 0xba
je 0x201df579
mov cl, 0x46
nop
mov al, 0xb7
lock cmpxchg byte [0x2058fa12], cl
je 0x201df54b
cmp al, 0xba
jne 0x201df1c0
jmp 0x201df579
movzx eax, byte [0x2058fe9c]
cmp al, 0x6e
je 0x201df204
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x2058fe9c], cl
je 0x201df4e1
cmp al, 0x6e
jne 0x201df1f0
lea rax, [0x2058fe90]
ret
test r9d, r9d
je 0x201df3c9
movzx eax, byte [0x2058fe8d]
cmp al, 0x76
je 0x201df5b9
mov cl, 0x13
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x2058fe8d], cl
je 0x201df581
cmp al, 0x76
jne 0x201df230
jmp 0x201df5b9
test r9d, r9d
je 0x201df3f9
movzx eax, byte [0x20590071]
cmp al, 0xef
je 0x201df5f9
mov cl, 0x3a
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x20590071], cl
je 0x201df5c1
cmp al, 0xef
jne 0x201df270
jmp 0x201df5f9
movzx eax, byte [0x2058ff3d]
cmp al, 0x87
je 0x201df639
mov cl, 0xe5
nop word [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x2058ff3d], cl
je 0x201df601
cmp al, 0x87
jne 0x201df2a0
jmp 0x201df639
movzx eax, byte [0x2058fa47]
cmp al, 0xac
je 0x201df679
mov cl, 0xb2
nop word [rax + rax]
mov al, 0xc0
lock cmpxchg byte [0x2058fa47], cl
je 0x201df641
cmp al, 0xac
jne 0x201df2d0
jmp 0x201df679
movzx eax, byte [0x2058ffad]
cmp al, 0x8f
je 0x201df6b9
mov cl, 0xed
nop word [rax + rax]
mov al, 0x5f
lock cmpxchg byte [0x2058ffad], cl
je 0x201df681
cmp al, 0x8f
jne 0x201df300
jmp 0x201df6b9
test r9d, r9d
je 0x201df521
movzx eax, byte [0x2058fc22]
cmp al, 0xa3
je 0x201df6f9
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x2058fc22], cl
je 0x201df6c1
cmp al, 0xa3
jne 0x201df340
jmp 0x201df6f9
xor eax, eax
lea rcx, [0x2058f800]
lea rdx, [0x204777f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201df370
mov al, 0x74
xchg byte [0x2058f81c], al
lea rax, [0x2058f800]
ret
movzx eax, byte [0x2058fbef]
cmp al, 0x2b
je 0x201df739
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x2058fbef], cl
je 0x201df701
cmp al, 0x2b
jne 0x201df3b0
jmp 0x201df739
movzx eax, byte [0x2058fffc]
cmp al, 0xd0
je 0x201df779
mov cl, 0x4a
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x2058fffc], cl
je 0x201df741
cmp al, 0xd0
jne 0x201df3e0
jmp 0x201df779
movzx eax, byte [0x2058f78f]
cmp al, 0xd6
je 0x201df7b9
mov cl, 0xc6
nop word [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x2058f78f], cl
je 0x201df781
cmp al, 0xd6
jne 0x201df410
jmp 0x201df7b9
xor eax, eax
lea rcx, [0x2058f7c0]
lea rdx, [0x204777b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x36
jl 0x201df440
mov al, 0x1b
xchg byte [0x2058f7f6], al
lea rax, [0x2058f7c0]
ret
xor eax, eax
lea rcx, [0x2058f860]
lea rdx, [0x20477850]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x201df480
mov al, 0xef
xchg byte [0x2058f879], al
lea rax, [0x2058f860]
ret
xor eax, eax
lea rcx, [0x2058fde0]
lea rdx, [0x20477da0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201df4c0
mov al, 0x32
xchg byte [0x2058fdf5], al
lea rax, [0x2058fde0]
ret
xor eax, eax
lea rcx, [0x2058fe90]
lea rdx, [0x20477e50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201df500
mov al, 0x6e
xchg byte [0x2058fe9c], al
lea rax, [0x2058fe90]
ret
movzx eax, byte [0x2058fe43]
cmp al, 0x3e
je 0x201df7ea
mov cl, 0xcd
mov al, 0x79
lock cmpxchg byte [0x2058fe43], cl
je 0x201df7c1
cmp al, 0x3e
jne 0x201df532
jmp 0x201df7ea
xor eax, eax
lea rcx, [0x2058fa00]
lea rdx, [0x204779d0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x201df560
mov al, 0xba
xchg byte [0x2058fa12], al
lea rax, [0x2058fa00]
ret
xor eax, eax
lea rcx, [0x2058fe80]
lea rdx, [0x20477e40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201df5a0
mov al, 0x76
xchg byte [0x2058fe8d], al
lea rax, [0x2058fe80]
ret
xor eax, eax
lea rcx, [0x20590060]
lea rdx, [0x20478020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201df5e0
mov al, 0xef
xchg byte [0x20590071], al
lea rax, [0x20590060]
ret
xor eax, eax
lea rcx, [0x2058ff30]
lea rdx, [0x20477ef0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201df620
mov al, 0x87
xchg byte [0x2058ff3d], al
lea rax, [0x2058ff30]
ret
xor eax, eax
lea rcx, [0x2058fa40]
lea rdx, [0x20477a10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x201df660
mov al, 0xac
xchg byte [0x2058fa47], al
lea rax, [0x2058fa40]
ret
xor eax, eax
lea rcx, [0x2058ffa0]
lea rdx, [0x20477f60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201df6a0
mov al, 0x8f
xchg byte [0x2058ffad], al
lea rax, [0x2058ffa0]
ret
xor eax, eax
lea rcx, [0x2058fc20]
lea rdx, [0x20477bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201df6e0
mov al, 0xa3
xchg byte [0x2058fc22], al
lea rax, [0x2058fc20]
ret
xor eax, eax
lea rcx, [0x2058fbe0]
lea rdx, [0x20477bb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201df720
mov al, 0x2b
xchg byte [0x2058fbef], al
lea rax, [0x2058fbe0]
ret
xor eax, eax
lea rcx, [0x2058fff0]
lea rdx, [0x20477fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201df760
mov al, 0xd0
xchg byte [0x2058fffc], al
lea rax, [0x2058fff0]
ret
xor eax, eax
lea rcx, [0x2058f770]
lea rdx, [0x20477770]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1f
jl 0x201df7a0
mov al, 0xd6
xchg byte [0x2058f78f], al
lea rax, [0x2058f770]
ret
xor eax, eax
lea rcx, [0x2058fe30]
lea rdx, [0x20477df0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201df7d1
mov al, 0x3e
xchg byte [0x2058fe43], al
lea rax, [0x2058fe30]
ret