Function at 0x201afb70
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x201afbc9
mov esi, dword [rsp + 0x70]
test edx, edx
je 0x201afc19
test r8d, r8d
je 0x201afc59
test r9d, r9d
je 0x201afcd9
movzx eax, byte [0x2045ef95]
cmp al, 0xb3
je 0x201afee9
mov cl, 0x81
nop word [rax + rax]
mov al, 0x20
lock cmpxchg byte [0x2045ef95], cl
je 0x201afe59
cmp al, 0xb3
jne 0x201afbb0
jmp 0x201afee9
test edx, edx
je 0x201afc99
test r8d, r8d
je 0x201afd09
test r9d, r9d
je 0x201afd89
movzx eax, byte [0x2045f588]
cmp al, 0x2e
je 0x201affb9
mov cl, 0xb0
nop word cs:[rax + rax]
mov al, 0xbe
lock cmpxchg byte [0x2045f588], cl
je 0x201aff89
cmp al, 0x2e
jne 0x201afc00
jmp 0x201affb9
test r8d, r8d
je 0x201afd49
test r9d, r9d
je 0x201afdb9
movzx eax, byte [0x2045f1f3]
cmp al, 0x8d
je 0x201afff9
mov cl, 0xf8
nop dword [rax]
mov al, 0xd8
lock cmpxchg byte [0x2045f1f3], cl
je 0x201affc5
cmp al, 0x8d
jne 0x201afc40
jmp 0x201afff9
test r9d, r9d
je 0x201afde9
movzx eax, byte [0x2045f53d]
cmp al, 0xae
je 0x201b0039
mov cl, 0x19
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x2045f53d], cl
je 0x201b0005
cmp al, 0xae
jne 0x201afc80
jmp 0x201b0039
test r8d, r8d
je 0x201afe19
test r9d, r9d
je 0x201afef5
movzx eax, byte [0x2045f6ad]
cmp al, 0xd2
je 0x201b00d9
mov cl, 0x91
nop dword [rax]
mov al, 0x7e
lock cmpxchg byte [0x2045f6ad], cl
je 0x201b00af
cmp al, 0xd2
jne 0x201afcc0
jmp 0x201b00d9
movzx eax, byte [0x2045f1ac]
cmp al, 0xc0
je 0x201b0079
mov cl, 0x1d
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x2045f1ac], cl
je 0x201b0045
cmp al, 0xc0
jne 0x201afcf0
jmp 0x201b0079
test r9d, r9d
je 0x201aff29
movzx eax, byte [0x2045f63d]
cmp al, 0xdd
je 0x201b0119
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x2045f63d], cl
je 0x201b00e5
cmp al, 0xdd
jne 0x201afd30
jmp 0x201b0119
test r9d, r9d
je 0x201aff59
movzx eax, byte [0x2045ef96]
cmp al, 0xc2
je 0x201b01b9
mov cl, 0x5e
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2045ef96], cl
je 0x201b0125
cmp al, 0xc2
jne 0x201afd70
jmp 0x201b01b9
movzx eax, byte [0x2045f5dd]
cmp al, 7
je 0x201b01f9
mov cl, 0xdb
nop word [rax + rax]
mov al, 0x7f
lock cmpxchg byte [0x2045f5dd], cl
je 0x201b01c5
cmp al, 7
jne 0x201afda0
jmp 0x201b01f9
movzx eax, byte [0x2045f40d]
cmp al, 0xf4
je 0x201b0239
mov cl, 0x7e
nop word [rax + rax]
mov al, 0x28
lock cmpxchg byte [0x2045f40d], cl
je 0x201b0205
cmp al, 0xf4
jne 0x201afdd0
jmp 0x201b0239
movzx eax, byte [0x2045f73d]
cmp al, 0x8d
je 0x201b0279
mov cl, 0x90
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2045f73d], cl
je 0x201b0245
cmp al, 0x8d
jne 0x201afe00
jmp 0x201b0279
test r9d, r9d
je 0x201b0085
movzx eax, byte [0x2045ed50]
cmp al, 0xa8
je 0x201b02b9
mov cl, 0x4b
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2045ed50], cl
je 0x201b0285
cmp al, 0xa8
jne 0x201afe40
jmp 0x201b02b9
cmp qword [0x204a25f0], 0
jne 0x201afebf
mov eax, esi
xor eax, 0x5e257155
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x1a
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a25f0], rax
xor esi, 0xc205a008
lea rcx, [0x201ad6b0]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378dd0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x18
jle 0x201afeb0
mov rax, qword [0x204a25f0]
xor ecx, ecx
lea rdx, [0x20378df0]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x19
jl 0x201afed0
mov al, 0xb3
xchg byte [0x2045ef95], al
mov rax, qword [0x204a25f0]
jmp 0x201b03b2
movzx eax, byte [0x2045f28d]
cmp al, 0x61
je 0x201b02f9
mov cl, 0xad
nop word cs:[rax + rax]
mov al, 0x13
lock cmpxchg byte [0x2045f28d], cl
je 0x201b02c5
cmp al, 0x61
jne 0x201aff10
jmp 0x201b02f9
movzx eax, byte [0x2045f21f]
cmp al, 0xba
je 0x201b0339
mov cl, 0x6a
nop word [rax + rax]
mov al, 0xef
lock cmpxchg byte [0x2045f21f], cl
je 0x201b0305
cmp al, 0xba
jne 0x201aff40
jmp 0x201b0339
movzx eax, byte [0x2045eee4]
cmp al, 0x86
je 0x201b0379
mov cl, 9
nop word [rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x2045eee4], cl
je 0x201b0342
cmp al, 0x86
jne 0x201aff70
jmp 0x201b0379
xor eax, eax
lea rcx, [0x2045f570]
lea rdx, [0x203794e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x201affa0
mov al, 0x2e
xchg byte [0x2045f588], al
lea rax, [0x2045f570]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f1d0]
lea rdx, [0x20379150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201affe0
mov al, 0x8d
xchg byte [0x2045f1f3], al
lea rax, [0x2045f1d0]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f530]
lea rdx, [0x203794a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0020
mov al, 0xae
xchg byte [0x2045f53d], al
lea rax, [0x2045f530]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f190]
lea rdx, [0x20379110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201b0060
mov al, 0xc0
xchg byte [0x2045f1ac], al
lea rax, [0x2045f190]
jmp 0x201b03b2
movzx eax, byte [0x2045f6dd]
cmp al, 0x2d
je 0x201b03ab
mov cl, 0xf3
mov al, 0x11
lock cmpxchg byte [0x2045f6dd], cl
je 0x201b0382
cmp al, 0x2d
jne 0x201b0096
jmp 0x201b03ab
xor eax, eax
lea rcx, [0x2045f6a0]
lea rdx, [0x20379610]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b00c0
mov al, 0xd2
xchg byte [0x2045f6ad], al
lea rax, [0x2045f6a0]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f630]
lea rdx, [0x203795a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0100
mov al, 0xdd
xchg byte [0x2045f63d], al
lea rax, [0x2045f630]
jmp 0x201b03b2
cmp qword [0x204a25f8], 0
jne 0x201b018b
mov eax, esi
xor eax, 0x4dcf760f
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xf
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a25f8], rax
xor esi, 0xd1efa752
lea rcx, [0x201ad6d0]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378e10]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xd
jle 0x201b017c
mov rax, qword [0x204a25f8]
xor ecx, ecx
lea rdx, [0x20378e20]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xe
jl 0x201b01a0
mov al, 0xc2
xchg byte [0x2045ef96], al
mov rax, qword [0x204a25f8]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f5d0]
lea rdx, [0x20379540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b01e0
mov al, 7
xchg byte [0x2045f5dd], al
lea rax, [0x2045f5d0]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f400]
lea rdx, [0x20379370]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0220
mov al, 0xf4
xchg byte [0x2045f40d], al
lea rax, [0x2045f400]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f730]
lea rdx, [0x203796a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0260
mov al, 0x8d
xchg byte [0x2045f73d], al
lea rax, [0x2045f730]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045ed40]
lea rdx, [0x20378b10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201b02a0
mov al, 0xa8
xchg byte [0x2045ed50], al
lea rax, [0x2045ed40]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f280]
lea rdx, [0x20379200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b02e0
mov al, 0x61
xchg byte [0x2045f28d], al
lea rax, [0x2045f280]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f210]
lea rdx, [0x20379190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201b0320
mov al, 0xba
xchg byte [0x2045f21f], al
lea rax, [0x2045f210]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045eea0]
lea rdx, [0x20378c90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x44
jl 0x201b0360
mov al, 0x86
xchg byte [0x2045eee4], al
lea rax, [0x2045eea0]
jmp 0x201b03b2
xor eax, eax
lea rcx, [0x2045f6d0]
lea rdx, [0x20379640]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0392
mov al, 0x2d
xchg byte [0x2045f6dd], al
lea rax, [0x2045f6d0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret