Function at 0x201de180
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201de1cc
test edx, edx
je 0x201de21c
test r8d, r8d
je 0x201de25c
test r9d, r9d
je 0x201de2d9
movzx eax, byte [0x2058f85f]
cmp al, 0xf
je 0x201de1c4
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xc4
lock cmpxchg byte [0x2058f85f], cl
je 0x201de459
cmp al, 0xf
jne 0x201de1b0
lea rax, [0x2058f840]
ret
test edx, edx
je 0x201de29c
test r8d, r8d
je 0x201de30c
test r9d, r9d
je 0x201de389
movzx eax, byte [0x2058f556]
cmp al, 0x70
je 0x201de214
mov cl, 0x48
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x2058f556], cl
je 0x201de529
cmp al, 0x70
jne 0x201de200
lea rax, [0x2058f530]
ret
test r8d, r8d
je 0x201de349
test r9d, r9d
je 0x201de3b9
movzx eax, byte [0x2058fcdc]
cmp al, 0x61
je 0x201de254
mov cl, 0xb6
nop dword [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x2058fcdc], cl
je 0x201de561
cmp al, 0x61
jne 0x201de240
lea rax, [0x2058fcd0]
ret
test r9d, r9d
je 0x201de3e9
movzx eax, byte [0x2059003d]
cmp al, 0xda
je 0x201de294
mov cl, 0xb9
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x2059003d], cl
je 0x201de5a1
cmp al, 0xda
jne 0x201de280
lea rax, [0x20590030]
ret
test r8d, r8d
je 0x201de419
test r9d, r9d
je 0x201de491
movzx eax, byte [0x2058ffdc]
cmp al, 0xb9
je 0x201de679
xor ecx, ecx
nop
mov al, 0xcc
lock cmpxchg byte [0x2058ffdc], cl
je 0x201de64b
cmp al, 0xb9
jne 0x201de2c0
jmp 0x201de679
movzx eax, byte [0x2058f614]
cmp al, 0x93
je 0x201de304
mov cl, 0xf5
nop word cs:[rax + rax]
mov al, 0x25
lock cmpxchg byte [0x2058f614], cl
je 0x201de5e1
cmp al, 0x93
jne 0x201de2f0
lea rax, [0x2058f5f0]
ret
test r9d, r9d
je 0x201de4c9
movzx eax, byte [0x2058fa8e]
cmp al, 0x79
je 0x201de6b9
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x15
lock cmpxchg byte [0x2058fa8e], cl
je 0x201de681
cmp al, 0x79
jne 0x201de330
jmp 0x201de6b9
test r9d, r9d
je 0x201de4f9
movzx eax, byte [0x2058face]
cmp al, 0x6d
je 0x201de6f9
mov cl, 0x67
nop word cs:[rax + rax]
mov al, 0x83
lock cmpxchg byte [0x2058face], cl
je 0x201de6c1
cmp al, 0x6d
jne 0x201de370
jmp 0x201de6f9
movzx eax, byte [0x2058f5b2]
cmp al, 0x27
je 0x201de739
mov cl, 0x30
nop word [rax + rax]
mov al, 0x13
lock cmpxchg byte [0x2058f5b2], cl
je 0x201de701
cmp al, 0x27
jne 0x201de3a0
jmp 0x201de739
movzx eax, byte [0x2058fdcb]
cmp al, 0x37
je 0x201de779
mov cl, 0x4a
nop word [rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x2058fdcb], cl
je 0x201de741
cmp al, 0x37
jne 0x201de3d0
jmp 0x201de779
movzx eax, byte [0x2058fe0d]
cmp al, 0x61
je 0x201de7b9
mov cl, 0xe2
nop word [rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x2058fe0d], cl
je 0x201de781
cmp al, 0x61
jne 0x201de400
jmp 0x201de7b9
test r9d, r9d
je 0x201de621
movzx eax, byte [0x2058ff21]
cmp al, 8
je 0x201de839
mov cl, 0x3d
nop word cs:[rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x2058ff21], cl
je 0x201de801
cmp al, 8
jne 0x201de440
jmp 0x201de839
xor eax, eax
lea rcx, [0x2058f840]
lea rdx, [0x20477830]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1f
jl 0x201de470
mov al, 0xf
xchg byte [0x2058f85f], al
lea rax, [0x2058f840]
ret
movzx eax, byte [0x2058f99d]
cmp al, 0xc1
je 0x201de879
mov cl, 0x36
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x2058f99d], cl
je 0x201de841
cmp al, 0xc1
jne 0x201de4b0
jmp 0x201de879
movzx eax, byte [0x205900cd]
cmp al, 0xff
je 0x201de7f9
mov cl, 0xd2
nop word [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x205900cd], cl
je 0x201de7c1
cmp al, 0xff
jne 0x201de4e0
jmp 0x201de7f9
movzx eax, byte [0x2058f584]
cmp al, 0xfd
je 0x201de8b9
mov cl, 0x9e
nop word [rax + rax]
mov al, 0x40
lock cmpxchg byte [0x2058f584], cl
je 0x201de881
cmp al, 0xfd
jne 0x201de510
jmp 0x201de8b9
xor eax, eax
lea rcx, [0x2058f530]
lea rdx, [0x20477540]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x201de540
mov al, 0x70
xchg byte [0x2058f556], al
lea rax, [0x2058f530]
ret
xor eax, eax
lea rcx, [0x2058fcd0]
lea rdx, [0x20477c90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201de580
mov al, 0x61
xchg byte [0x2058fcdc], al
lea rax, [0x2058fcd0]
ret
xor eax, eax
lea rcx, [0x20590030]
lea rdx, [0x20477ff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de5c0
mov al, 0xda
xchg byte [0x2059003d], al
lea rax, [0x20590030]
ret
xor eax, eax
lea rcx, [0x2058f5f0]
lea rdx, [0x20477600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x201de600
mov al, 0x93
xchg byte [0x2058f614], al
lea rax, [0x2058f5f0]
ret
movzx eax, byte [0x2058ff4f]
cmp al, 0x3a
je 0x201de8ea
mov cl, 0xce
mov al, 0xa3
lock cmpxchg byte [0x2058ff4f], cl
je 0x201de8c1
cmp al, 0x3a
jne 0x201de632
jmp 0x201de8ea
xor eax, eax
lea rcx, [0x2058ffd0]
lea rdx, [0x20477f90]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201de660
mov al, 0xb9
xchg byte [0x2058ffdc], al
lea rax, [0x2058ffd0]
ret
xor eax, eax
lea rcx, [0x2058fa80]
lea rdx, [0x20477a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201de6a0
mov al, 0x79
xchg byte [0x2058fa8e], al
lea rax, [0x2058fa80]
ret
xor eax, eax
lea rcx, [0x2058fab0]
lea rdx, [0x20477a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1e
jl 0x201de6e0
mov al, 0x6d
xchg byte [0x2058face], al
lea rax, [0x2058fab0]
ret
xor eax, eax
lea rcx, [0x2058f590]
lea rdx, [0x204775a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x201de720
mov al, 0x27
xchg byte [0x2058f5b2], al
lea rax, [0x2058f590]
ret
xor eax, eax
lea rcx, [0x2058fdb0]
lea rdx, [0x20477d70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x201de760
mov al, 0x37
xchg byte [0x2058fdcb], al
lea rax, [0x2058fdb0]
ret
xor eax, eax
lea rcx, [0x2058fe00]
lea rdx, [0x20477dc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de7a0
mov al, 0x61
xchg byte [0x2058fe0d], al
lea rax, [0x2058fe00]
ret
xor eax, eax
lea rcx, [0x205900c0]
lea rdx, [0x20478080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de7e0
mov al, 0xff
xchg byte [0x205900cd], al
lea rax, [0x205900c0]
ret
xor eax, eax
lea rcx, [0x2058ff10]
lea rdx, [0x20477ed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201de820
mov al, 8
xchg byte [0x2058ff21], al
lea rax, [0x2058ff10]
ret
xor eax, eax
lea rcx, [0x2058f990]
lea rdx, [0x20477970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de860
mov al, 0xc1
xchg byte [0x2058f99d], al
lea rax, [0x2058f990]
ret
xor eax, eax
lea rcx, [0x2058f560]
lea rdx, [0x20477570]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x201de8a0
mov al, 0xfd
xchg byte [0x2058f584], al
lea rax, [0x2058f560]
ret
xor eax, eax
lea rcx, [0x2058ff40]
lea rdx, [0x20477f00]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201de8d1
mov al, 0x3a
xchg byte [0x2058ff4f], al
lea rax, [0x2058ff40]
ret