Function at 0x200828f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x48
test ecx, ecx
je 0x20082939
test edx, edx
je 0x20082989
test r8d, r8d
je 0x200829c9
movzx eax, byte [0x2043935b]
cmp al, 0x19
je 0x20082ae9
mov cl, 0x9b
nop dword [rax]
mov al, 0xb7
lock cmpxchg byte [0x2043935b], cl
je 0x20082ab9
cmp al, 0x19
jne 0x20082920
jmp 0x20082ae9
test edx, edx
je 0x200829f9
test r8d, r8d
je 0x20082a39
test r9d, r9d
je 0x20082af5
movzx eax, byte [0x20439204]
cmp al, 0x5e
je 0x20082d09
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x20439204], cl
je 0x20082c69
cmp al, 0x5e
jne 0x20082970
jmp 0x20082d09
test r8d, r8d
je 0x20082a79
test r9d, r9d
je 0x20082b29
movzx eax, byte [0x2043940f]
cmp al, 0x70
je 0x20082d49
mov cl, 0x41
nop dword [rax]
mov al, 0x6f
lock cmpxchg byte [0x2043940f], cl
je 0x20082d15
cmp al, 0x70
jne 0x200829b0
jmp 0x20082d49
movzx eax, byte [0x20439185]
cmp al, 0x1b
je 0x20082bc9
mov cl, 0xed
nop word [rax + rax]
mov al, 0x24
lock cmpxchg byte [0x20439185], cl
je 0x20082b99
cmp al, 0x1b
jne 0x200829e0
jmp 0x20082bc9
test r8d, r8d
je 0x20082b59
test r9d, r9d
je 0x20082bd5
movzx eax, byte [0x20439203]
cmp al, 0x35
je 0x20082da9
mov cl, 0x19
nop dword [rax]
mov al, 0x6c
lock cmpxchg byte [0x20439203], cl
je 0x20082d7f
cmp al, 0x35
jne 0x20082a20
jmp 0x20082da9
test r9d, r9d
je 0x20082c09
movzx eax, byte [0x20439205]
cmp al, 0xcf
je 0x20082e59
mov cl, 0xa4
nop word cs:[rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x20439205], cl
je 0x20082db5
cmp al, 0xcf
jne 0x20082a60
jmp 0x20082e59
test r9d, r9d
je 0x20082c39
movzx eax, byte [0x204391b6]
cmp al, 0x78
je 0x20082e99
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x57
lock cmpxchg byte [0x204391b6], cl
je 0x20082e65
cmp al, 0x78
jne 0x20082aa0
jmp 0x20082e99
xor eax, eax
lea rcx, [0x20439350]
lea rdx, [0x2036e330]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20082ad0
mov al, 0x19
xchg byte [0x2043935b], al
lea rax, [0x20439350]
jmp 0x20083052
movzx eax, byte [0x20439312]
cmp al, 0xad
je 0x20082ed9
mov cl, 0xbf
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x20439312], cl
je 0x20082ea5
cmp al, 0xad
jne 0x20082b10
jmp 0x20082ed9
movzx eax, byte [0x20439096]
cmp al, 0xa3
je 0x20082f19
mov cl, 0xc4
nop word [rax + rax]
mov al, 0xc0
lock cmpxchg byte [0x20439096], cl
je 0x20082ee5
cmp al, 0xa3
jne 0x20082b40
jmp 0x20082f19
test r9d, r9d
je 0x20082d55
movzx eax, byte [0x20439120]
cmp al, 0x58
je 0x20082f59
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x20439120], cl
je 0x20082f25
cmp al, 0x58
jne 0x20082b80
jmp 0x20082f59
xor eax, eax
lea rcx, [0x20439170]
lea rdx, [0x2036e100]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20082bb0
mov al, 0x1b
xchg byte [0x20439185], al
lea rax, [0x20439170]
jmp 0x20083052
movzx eax, byte [0x20439273]
cmp al, 0x3c
je 0x20082f99
mov cl, 0xc
nop word cs:[rax + rax]
mov al, 0x29
lock cmpxchg byte [0x20439273], cl
je 0x20082f65
cmp al, 0x3c
jne 0x20082bf0
jmp 0x20082f99
movzx eax, byte [0x20439302]
cmp al, 0x6f
je 0x20082fd9
mov cl, 0x4e
nop word [rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x20439302], cl
je 0x20082fa5
cmp al, 0x6f
jne 0x20082c20
jmp 0x20082fd9
movzx eax, byte [0x204392cf]
cmp al, 0xbe
je 0x20083019
mov cl, 0x6a
nop word [rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x204392cf], cl
je 0x20082fe2
cmp al, 0xbe
jne 0x20082c50
jmp 0x20083019
cmp qword [0x204a1908], 0
jne 0x20082cdf
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, 7
xor r9d, r9d
call fcn.20080910
mov rsi, rax
mov qword [0x204a1908], rax
lea rdx, [0x20080760]
xor ecx, ecx
mov r8d, 0x680c48f9
call fcn.20080880
lea rax, [0x2036e190]
nop dword [rax + rax]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 5
jle 0x20082cd0
mov rax, qword [0x204a1908]
xor ecx, ecx
lea rdx, [0x2036e1a0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 6
jl 0x20082cf0
mov al, 0x5e
xchg byte [0x20439204], al
mov rax, qword [0x204a1908]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439400]
lea rdx, [0x2036e3e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20082d30
mov al, 0x70
xchg byte [0x2043940f], al
lea rax, [0x20439400]
jmp 0x20083052
movzx eax, byte [0x20439393]
cmp al, 0x15
je 0x2008304b
mov cl, 0x93
mov al, 0x4f
lock cmpxchg byte [0x20439393], cl
je 0x20083022
cmp al, 0x15
jne 0x20082d66
jmp 0x2008304b
xor eax, eax
lea rcx, [0x20439200]
lea rdx, [0x2036e180]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20082d90
mov al, 0x35
xchg byte [0x20439203], al
lea rax, [0x20439200]
jmp 0x20083052
cmp qword [0x204a1910], 0
jne 0x20082e23
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 [0x204a1910], rax
lea rdx, [0x20080780]
xor ecx, ecx
mov r8d, 0x680c48f9
call fcn.20080880
lea rax, [0x2036e1b0]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x20082e14
mov rax, qword [0x204a1910]
xor ecx, ecx
lea rdx, [0x2036e1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x20082e40
mov al, 0xcf
xchg byte [0x20439205], al
mov rax, qword [0x204a1910]
jmp 0x20083052
xor eax, eax
lea rcx, [0x204391a0]
lea rdx, [0x2036e130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x20082e80
mov al, 0x78
xchg byte [0x204391b6], al
lea rax, [0x204391a0]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439310]
lea rdx, [0x2036e2f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20082ec0
mov al, 0xad
xchg byte [0x20439312], al
lea rax, [0x20439310]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439090]
lea rdx, [0x2036e030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x20082f00
mov al, 0xa3
xchg byte [0x20439096], al
lea rax, [0x20439090]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439110]
lea rdx, [0x2036e0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20082f40
mov al, 0x58
xchg byte [0x20439120], al
lea rax, [0x20439110]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439270]
lea rdx, [0x2036e250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20082f80
mov al, 0x3c
xchg byte [0x20439273], al
lea rax, [0x20439270]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439300]
lea rdx, [0x2036e2e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20082fc0
mov al, 0x6f
xchg byte [0x20439302], al
lea rax, [0x20439300]
jmp 0x20083052
xor eax, eax
lea rcx, [0x204392c0]
lea rdx, [0x2036e2a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20083000
mov al, 0xbe
xchg byte [0x204392cf], al
lea rax, [0x204392c0]
jmp 0x20083052
xor eax, eax
lea rcx, [0x20439380]
lea rdx, [0x2036e360]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x20083032
mov al, 0x15
xchg byte [0x20439393], al
lea rax, [0x20439380]
add rsp, 0x48
pop rdi
pop rsi
ret