Function at 0x200822c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x48
test ecx, ecx
je 0x20082319
test edx, edx
je 0x20082359
test r8d, r8d
je 0x20082399
test r9d, r9d
je 0x20082419
movzx eax, byte [0x20439346]
cmp al, 0xd3
je 0x20082579
mov cl, 0xbc
nop word cs:[rax + rax]
mov al, 0xab
lock cmpxchg byte [0x20439346], cl
je 0x20082549
cmp al, 0xd3
jne 0x20082300
jmp 0x20082579
test edx, edx
je 0x200823d9
test r8d, r8d
je 0x20082449
movzx eax, byte [0x204390a6]
cmp al, 0x21
je 0x200825b9
mov cl, 0xc6
nop dword [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x204390a6], cl
je 0x20082585
cmp al, 0x21
jne 0x20082340
jmp 0x200825b9
test r8d, r8d
je 0x20082479
test r9d, r9d
je 0x200824b9
movzx eax, byte [0x204392f6]
cmp al, 0xda
je 0x20082629
mov cl, 0x15
nop dword [rax]
mov al, 0x94
lock cmpxchg byte [0x204392f6], cl
je 0x200825f9
cmp al, 0xda
jne 0x20082380
jmp 0x20082629
test r9d, r9d
je 0x200824e9
movzx eax, byte [0x2043937d]
cmp al, 0xda
je 0x20082669
mov cl, 0x74
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x2043937d], cl
je 0x20082635
cmp al, 0xda
jne 0x200823c0
jmp 0x20082669
test r8d, r8d
je 0x20082519
movzx eax, byte [0x204390c5]
cmp al, 0x88
je 0x200826e9
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x204390c5], cl
je 0x200826b5
cmp al, 0x88
jne 0x20082400
jmp 0x200826e9
movzx eax, byte [0x2043933d]
cmp al, 0x8f
je 0x200826a9
mov cl, 0xb8
nop word [rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x2043933d], cl
je 0x20082675
cmp al, 0x8f
jne 0x20082430
jmp 0x200826a9
movzx eax, byte [0x204391f9]
cmp al, 0xdf
je 0x20082729
mov cl, 0x1f
nop word [rax + rax]
mov al, 0x81
lock cmpxchg byte [0x204391f9], cl
je 0x200826f5
cmp al, 0xdf
jne 0x20082460
jmp 0x20082729
test r9d, r9d
je 0x200825c5
movzx eax, byte [0x20439206]
cmp al, 0x2f
je 0x200827d9
mov cl, 0x8d
nop word cs:[rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x20439206], cl
je 0x20082735
cmp al, 0x2f
jne 0x200824a0
jmp 0x200827d9
movzx eax, byte [0x204393ef]
cmp al, 0x18
je 0x20082819
mov cl, 1
nop word [rax + rax]
mov al, 0x28
lock cmpxchg byte [0x204393ef], cl
je 0x200827e5
cmp al, 0x18
jne 0x200824d0
jmp 0x20082819
movzx eax, byte [0x204393dd]
cmp al, 0x9e
je 0x20082859
mov cl, 0x55
nop word [rax + rax]
mov al, 0x1e
lock cmpxchg byte [0x204393dd], cl
je 0x20082825
cmp al, 0x9e
jne 0x20082500
jmp 0x20082859
movzx eax, byte [0x204391e0]
cmp al, 3
je 0x20082899
mov cl, 0x6b
nop word [rax + rax]
mov al, 0x91
lock cmpxchg byte [0x204391e0], cl
je 0x20082862
cmp al, 3
jne 0x20082530
jmp 0x20082899
xor eax, eax
lea rcx, [0x20439340]
lea rdx, [0x2036e320]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x20082560
mov al, 0xd3
xchg byte [0x20439346], al
lea rax, [0x20439340]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204390a0]
lea rdx, [0x2036e040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x200825a0
mov al, 0x21
xchg byte [0x204390a6], al
lea rax, [0x204390a0]
jmp 0x200828e0
movzx eax, byte [0x204393ad]
cmp al, 0xd4
je 0x200828d9
mov cl, 0x43
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x204393ad], cl
je 0x200828a2
cmp al, 0xd4
jne 0x200825e0
jmp 0x200828d9
xor eax, eax
lea rcx, [0x204392d0]
lea rdx, [0x2036e2b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20082610
mov al, 0xda
xchg byte [0x204392f6], al
lea rax, [0x204392d0]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x20439370]
lea rdx, [0x2036e350]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20082650
mov al, 0xda
xchg byte [0x2043937d], al
lea rax, [0x20439370]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x20439330]
lea rdx, [0x2036e310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20082690
mov al, 0x8f
xchg byte [0x2043933d], al
lea rax, [0x20439330]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204390b0]
lea rdx, [0x2036e050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x200826d0
mov al, 0x88
xchg byte [0x204390c5], al
lea rax, [0x204390b0]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204391f0]
lea rdx, [0x2036e170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x20082710
mov al, 0xdf
xchg byte [0x204391f9], al
lea rax, [0x204391f0]
jmp 0x200828e0
cmp qword [0x204a1918], 0
jne 0x200827a3
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x38], 0xfb30e365
mov qword [rsp + 0x30], 0
xor edi, edi
mov ecx, 1
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.20080910
mov rsi, rax
mov qword [0x204a1918], rax
lea rdx, [0x200807a0]
xor ecx, ecx
mov r8d, 0x680c48f9
call fcn.20080880
lea rax, [0x2036e1d0]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x20082794
mov rax, qword [0x204a1918]
xor ecx, ecx
lea rdx, [0x2036e1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200827c0
mov al, 0x2f
xchg byte [0x20439206], al
mov rax, qword [0x204a1918]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204393e0]
lea rdx, [0x2036e3c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20082800
mov al, 0x18
xchg byte [0x204393ef], al
lea rax, [0x204393e0]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204393d0]
lea rdx, [0x2036e3b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20082840
mov al, 0x9e
xchg byte [0x204393dd], al
lea rax, [0x204393d0]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204391d0]
lea rdx, [0x2036e160]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20082880
mov al, 3
xchg byte [0x204391e0], al
lea rax, [0x204391d0]
jmp 0x200828e0
xor eax, eax
lea rcx, [0x204393a0]
lea rdx, [0x2036e380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200828c0
mov al, 0xd4
xchg byte [0x204393ad], al
lea rax, [0x204393a0]
add rsp, 0x48
pop rdi
pop rsi
ret