Function at 0x201adc10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x201adc69
test edx, edx
je 0x201adcb9
test r8d, r8d
je 0x201adcf9
test r9d, r9d
je 0x201add79
movzx eax, byte [0x2045f7ad]
cmp al, 0x8b
je 0x201adf29
mov cl, 0x3d
nop word cs:[rax + rax]
mov al, 0x18
lock cmpxchg byte [0x2045f7ad], cl
je 0x201adef9
cmp al, 0x8b
jne 0x201adc50
jmp 0x201adf29
test edx, edx
je 0x201add39
test r8d, r8d
je 0x201adda9
test r9d, r9d
je 0x201ade29
movzx eax, byte [0x2045f5bd]
cmp al, 0xad
je 0x201adff9
mov cl, 0xfe
nop word cs:[rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x2045f5bd], cl
je 0x201adfc9
cmp al, 0xad
jne 0x201adca0
jmp 0x201adff9
test r8d, r8d
je 0x201adde9
test r9d, r9d
je 0x201ade59
movzx eax, byte [0x204a2630]
cmp al, 0xf
je 0x201ae039
mov cl, 0x3f
nop dword [rax]
xor eax, eax
lock cmpxchg byte [0x204a2630], cl
je 0x201ae005
cmp al, 0xf
jne 0x201adce0
jmp 0x201ae039
test r9d, r9d
je 0x201ade89
movzx eax, byte [0x2045ed36]
cmp al, 0x9e
je 0x201ae079
mov cl, 0x80
nop word cs:[rax + rax]
mov al, 0xe0
lock cmpxchg byte [0x2045ed36], cl
je 0x201ae045
cmp al, 0x9e
jne 0x201add20
jmp 0x201ae079
test r8d, r8d
je 0x201adeb9
test r9d, r9d
je 0x201adf35
movzx eax, byte [0x2045ef94]
cmp al, 0xee
je 0x201ae189
mov esi, dword [rsp + 0x70]
mov cl, 0xcb
mov al, 0xb5
lock cmpxchg byte [0x2045ef94], cl
je 0x201ae0ef
cmp al, 0xee
jne 0x201add60
jmp 0x201ae189
movzx eax, byte [0x2045f5ea]
cmp al, 0x91
je 0x201ae0b9
mov cl, 0x90
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x2045f5ea], cl
je 0x201ae085
cmp al, 0x91
jne 0x201add90
jmp 0x201ae0b9
test r9d, r9d
je 0x201adf69
movzx eax, byte [0x2045f6cd]
cmp al, 0xd0
je 0x201ae1c9
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x2045f6cd], cl
je 0x201ae195
cmp al, 0xd0
jne 0x201addd0
jmp 0x201ae1c9
test r9d, r9d
je 0x201adf99
movzx eax, byte [0x2045f6be]
cmp al, 0xd1
je 0x201ae209
mov cl, 0xd7
nop word cs:[rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x2045f6be], cl
je 0x201ae1d5
cmp al, 0xd1
jne 0x201ade10
jmp 0x201ae209
movzx eax, byte [0x2045ef75]
cmp al, 0x32
je 0x201ae249
mov cl, 0xc2
nop word [rax + rax]
mov al, 0x25
lock cmpxchg byte [0x2045ef75], cl
je 0x201ae215
cmp al, 0x32
jne 0x201ade40
jmp 0x201ae249
movzx eax, byte [0x2045f184]
cmp al, 0xa5
je 0x201ae289
mov cl, 0x76
nop word [rax + rax]
mov al, 0x13
lock cmpxchg byte [0x2045f184], cl
je 0x201ae255
cmp al, 0xa5
jne 0x201ade70
jmp 0x201ae289
movzx eax, byte [0x2045f651]
cmp al, 0x7b
je 0x201ae2c9
mov cl, 0xc0
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x2045f651], cl
je 0x201ae295
cmp al, 0x7b
jne 0x201adea0
jmp 0x201ae2c9
test r9d, r9d
je 0x201ae0c5
movzx eax, byte [0x2045f68d]
cmp al, 0xa6
je 0x201ae309
mov cl, 0x16
nop word cs:[rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x2045f68d], cl
je 0x201ae2d5
cmp al, 0xa6
jne 0x201adee0
jmp 0x201ae309
xor eax, eax
lea rcx, [0x2045f7a0]
lea rdx, [0x20379700]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201adf10
mov al, 0x8b
xchg byte [0x2045f7ad], al
lea rax, [0x2045f7a0]
jmp 0x201ae402
movzx eax, byte [0x2045f70d]
cmp al, 0x4b
je 0x201ae349
mov cl, 0xc2
nop word cs:[rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x2045f70d], cl
je 0x201ae315
cmp al, 0x4b
jne 0x201adf50
jmp 0x201ae349
movzx eax, byte [0x2045f60c]
cmp al, 0xe
je 0x201ae389
mov cl, 0xee
nop word [rax + rax]
mov al, 0x83
lock cmpxchg byte [0x2045f60c], cl
je 0x201ae355
cmp al, 0xe
jne 0x201adf80
jmp 0x201ae389
movzx eax, byte [0x2045f2c1]
cmp al, 0x42
je 0x201ae3c9
mov cl, 0x87
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x2045f2c1], cl
je 0x201ae392
cmp al, 0x42
jne 0x201adfb0
jmp 0x201ae3c9
xor eax, eax
lea rcx, [0x2045f5b0]
lea rdx, [0x20379520]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201adfe0
mov al, 0xad
xchg byte [0x2045f5bd], al
lea rax, [0x2045f5b0]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f470]
lea rdx, [0x203793e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ae020
mov al, 0xf
xchg byte [0x204a2630], al
lea rax, [0x2045f470]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045ed20]
lea rdx, [0x20378af0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x201ae060
mov al, 0x9e
xchg byte [0x2045ed36], al
lea rax, [0x2045ed20]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f5e0]
lea rdx, [0x20379550]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x201ae0a0
mov al, 0x91
xchg byte [0x2045f5ea], al
lea rax, [0x2045f5e0]
jmp 0x201ae402
movzx eax, byte [0x2045f15d]
cmp al, 0xe1
je 0x201ae3fb
mov cl, 0x12
mov al, 0xb2
lock cmpxchg byte [0x2045f15d], cl
je 0x201ae3d2
cmp al, 0xe1
jne 0x201ae0d6
jmp 0x201ae3fb
cmp qword [0x204a25e8], 0
jne 0x201ae155
mov eax, esi
xor eax, 0xae05e404
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x16
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a25e8], rax
xor esi, 0x32253559
lea rcx, [0x201ad690]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378d90]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x14
jle 0x201ae146
mov rax, qword [0x204a25e8]
xor ecx, ecx
lea rdx, [0x20378db0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x15
jl 0x201ae170
mov al, 0xee
xchg byte [0x2045ef94], al
mov rax, qword [0x204a25e8]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f6c0]
lea rdx, [0x20379630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ae1b0
mov al, 0xd0
xchg byte [0x2045f6cd], al
lea rax, [0x2045f6c0]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f6b0]
lea rdx, [0x20379620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201ae1f0
mov al, 0xd1
xchg byte [0x2045f6be], al
lea rax, [0x2045f6b0]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045ef60]
lea rdx, [0x20378d50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201ae230
mov al, 0x32
xchg byte [0x2045ef75], al
lea rax, [0x2045ef60]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f160]
lea rdx, [0x203790e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x201ae270
mov al, 0xa5
xchg byte [0x2045f184], al
lea rax, [0x2045f160]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f640]
lea rdx, [0x203795b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201ae2b0
mov al, 0x7b
xchg byte [0x2045f651], al
lea rax, [0x2045f640]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f680]
lea rdx, [0x203795f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ae2f0
mov al, 0xa6
xchg byte [0x2045f68d], al
lea rax, [0x2045f680]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f700]
lea rdx, [0x20379670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ae330
mov al, 0x4b
xchg byte [0x2045f70d], al
lea rax, [0x2045f700]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f600]
lea rdx, [0x20379570]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201ae370
mov al, 0xe
xchg byte [0x2045f60c], al
lea rax, [0x2045f600]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f2b0]
lea rdx, [0x20379230]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201ae3b0
mov al, 0x42
xchg byte [0x2045f2c1], al
lea rax, [0x2045f2b0]
jmp 0x201ae402
xor eax, eax
lea rcx, [0x2045f130]
lea rdx, [0x203790b0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2d
jl 0x201ae3e2
mov al, 0xe1
xchg byte [0x2045f15d], al
lea rax, [0x2045f130]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret