Function at 0x20258f30
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20258fce
test edx, edx
je 0x20259045
movzx eax, byte [0x2056679d]
nop word [rax + rax]
cmp al, 0x15
je 0x20258fc6
movzx ecx, byte [0x20567e34]
lea eax, [rcx - 0xb]
add cl, 0x3f
lock cmpxchg byte [0x2056679d], cl
jne 0x20258f50
xor edx, edx
lea rax, [0x20566790]
lea rcx, [0x20479480]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
not r9b
mov r11d, r10d
xor r11b, r9b
and r11b, r10b
and r9b, r8b
or r9b, r11b
mov byte [rdx + rax], r9b
mov r8d, dword [0x20567e30]
add edx, r8d
add edx, 0xd62cbe66
cmp edx, 0xd
jl 0x20258f80
mov al, 0x15
xchg byte [0x2056679d], al
lea rax, [0x20566790]
ret
test edx, edx
je 0x202590cd
movzx eax, byte [0x20566755]
cmp al, 0x3e
je 0x2025903d
mov cl, 0xe9
lea rax, [fcn.20258f30]
lea edx, [rax + rax]
add edx, 0x25a0
mov r8d, edx
not r8d
nop dword [rax]
cmp dword [0x20567e30], 0x29d3419b
jne 0x20259023
nop dword [rax]
mov al, 0x6b
lock cmpxchg byte [0x20566755], cl
sete r9b
test r8d, edx
je 0x20259030
mov al, 0x6b
lock cmpxchg byte [0x20566755], cl
jmp 0x20259010
test r9b, r9b
jne 0x20259127
cmp al, 0x3e
jne 0x20259000
lea rax, [0x20566740]
ret
movzx eax, byte [0x2056681d]
movzx ecx, byte [0x20567e34]
mov edx, ecx
xor dl, 0xd
and cl, 0xd
add cl, cl
add cl, dl
cmp al, cl
je 0x202591de
mov cl, 0x30
jmp 0x20259078
cmp al, 0x9c
je 0x202591de
mov al, 0xb1
lock cmpxchg byte [0x2056681d], cl
je 0x20259171
mov edx, dword [0x205b4af8]
mov r8d, edx
not r8d
imul r8d, edx
test r8b, 1
jne 0x202590c0
nop
mov edx, dword [0x205b4af8]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x20259070
nop word cs:[rax + rax]
mov edx, dword [0x205b4afc]
cmp edx, 0x57
jge 0x202590c0
jmp 0x202590a0
movzx eax, byte [0x20566783]
cmp al, 0xb2
je 0x20259289
mov cl, 0x45
xor edx, edx
jmp 0x202590f8
cmp al, 0xb2
je 0x20259289
mov al, 0xb6
lock cmpxchg byte [0x20566783], cl
je 0x202591f2
nop dword [rax + rax]
test dl, dl
jne 0x20259118
test dl, dl
je 0x202590f0
mov r8d, dword [0x205b4afc]
cmp r8d, 0x34
jge 0x20259110
jmp 0x20259114
xor edx, edx
lea rax, [0x20566740]
lea rcx, [0x20479430]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x20567e30]
add edx, r8d
add edx, 0xd62cbe66
cmp edx, 0x15
jl 0x20259140
mov al, 0x3e
xchg byte [0x20566755], al
lea rax, [0x20566740]
ret
mov eax, dword [0x205b4af8]
nop word [rax + rax]
cmp byte [0x205b49d4], 0
jne 0x20259180
xor edx, edx
lea rax, [0x20566810]
lea rcx, [0x20479500]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0xd
jl 0x202591a0
mov al, 0x9c
xchg byte [0x2056681d], al
mov eax, dword [0x205b4afc]
cmp eax, 0x42
jg 0x202592c0
jmp 0x202592aa
xor edx, edx
lea rax, [0x20566770]
lea rcx, [0x20479460]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
mov r8d, dword [0x20567e30]
mov r9d, r8d
xor r9d, 0x18a20846
and r8d, 0x18a20846
lea r8d, [r9 + r8*2]
add r8d, 0xbd8ab632
cmp edx, r8d
jl 0x20259210
mov eax, dword [0x205b4af8]
nop dword [rax + rax]
mov eax, dword [0x205b4af8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x20259270
mov al, 0xb2
xchg byte [0x20566783], al
mov eax, 0xd62cbe84
nop
mov ecx, dword [0x205b4afc]
mov edx, dword [0x20567e30]
add edx, eax
cmp ecx, edx
jge 0x20259290
lea rax, [0x20566770]
ret
mov eax, dword [0x205b4afc]
cmp eax, 0x44
jl 0x202592cd
nop word cs:[rax + rax]
mov eax, dword [0x205b4afc]
cmp eax, 0x42
jge 0x202592c0
jmp 0x202592aa
lea rax, [0x20566810]
ret