Function at 0x140210230
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x1402102cb
test edx, edx
je 0x140210372
movzx eax, byte [0x140577cbd]
cmp al, 0x50
je 0x140210447
mov cl, 0x53
mov edx, 0xb8153165
lea rax, [fcn.140210230]
lea r8d, [rax + rax]
add r8d, 0x2400
mov r9d, r8d
not r9d
mov r10d, 0xb81531a4
nop word cs:[rax + rax]
mov al, pe_nt_image_headers64
lock cmpxchg byte [0x140577cbd], cl
je 0x1402103b9
mov r11d, dword [0x140578320]
add r11d, edx
mov esi, r8d
xor esi, r11d
not r11d
and r11d, r9d
or r11d, esi
cmp r11d, 0xffffffff
mov r11d, dword [0x1405d11ac]
mov esi, dword [0x140578320]
add esi, r10d
cmp r11d, esi
jge 0x1402102ad
cmp al, 0x50
jne 0x140210280
jmp 0x140210447
xor eax, eax
test al, al
nop
cmp dword [0x140578320], 0x47eace9c
jne 0x1402102d0
test edx, edx
je 0x140210381
movzx eax, byte [0x140577fad]
cmp al, 0xb1
je 0x1402104bf
mov cl, 0xff
mov edx, 0xb8153165
lea rax, [fcn.140210230]
lea r8d, [rax + rax]
add r8d, 0x46a0
nop dword [rax]
mov eax, dword [0x1405d11a8]
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
jne 0x14021034d
nop word cs:[rax + rax]
mov al, 0x68
lock cmpxchg byte [0x140577fad], cl
sete r9b
mov r10d, dword [0x140578320]
add r10d, edx
test r8d, r10d
je 0x140210360
mov al, 0x68
lock cmpxchg byte [0x140577fad], cl
jmp 0x140210330
test r9b, r9b
jne 0x140210453
cmp al, 0xb1
jne 0x140210310
jmp 0x1402104bf
xor eax, eax
test al, al
jne 0x14021057b
jmp 0x14021056e
movzx eax, byte [0x140577cdd]
movzx ecx, byte [0x140578324]
add cl, 0x45
cmp al, cl
je 0x140210564
mov cl, 0xa5
nop dword [rax]
mov al, 0x8f
lock cmpxchg byte [0x140577cdd], cl
je 0x1402104cb
cmp al, 0x27
jne 0x1402103a0
jmp 0x140210564
mov eax, dword [0x1405d11ac]
nop
cmp byte [0x1405d1206], 0
jne 0x1402103c0
xor eax, eax
lea rcx, [0x140577cb0]
lea rdx, [0x1404924f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x140210410
inc rax
jmp 0x1402103e0
mov eax, dword [0x1405d11ac]
cmp eax, 0x13
jle 0x140210426
mov eax, dword [0x1405d11ac]
cmp eax, 0x30
jge 0x140210410
mov eax, dword [0x140578320]
mov ecx, eax
xor ecx, 0xb8153164
and eax, 0x38153164
add eax, eax
add eax, ecx
jne 0x14021041b
mov al, 0x50
xchg byte [0x140577cbd], al
lea rax, [0x140577cb0]
jmp 0x14021056b
xor eax, eax
lea rcx, [0x140577fa0]
lea rdx, [0x1404927e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
not r10b
mov r11d, r8d
and r11b, r10b
xor r10b, r8b
not r8b
mov ebx, r8d
xor bl, r9b
or r11b, bl
not r11b
and r8b, r9b
or r8b, r10b
not r8b
or r8b, r11b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1402104b7
inc rax
jmp 0x140210470
mov al, 0xb1
xchg byte [0x140577fad], al
lea rax, [0x140577fa0]
jmp 0x14021056b
xor edx, edx
lea rax, [0x140577cd0]
lea rcx, [0x140492510]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0xd
jl 0x1402104e0
xor eax, eax
lea rcx, [fcn.140210230]
add ecx, ecx
add ecx, 0x34e0
mov edx, ecx
not edx
nop word cs:[rax + rax]
test al, al
je 0x140210558
nop word cs:[rax + rax]
mov r8d, dword [0x1405d11ac]
mov r9d, dword [0x140578320]
mov r10d, r9d
xor r10d, 0xb8153191
and r9d, 0x38153191
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x140210520
test edx, ecx
jne 0x140210530
mov al, 0x27
xchg byte [0x140577cdd], al
lea rax, [0x140577cd0]
pop rbx
pop rsi
ret
movzx eax, byte [0x140577bec]
xor ecx, ecx
test cl, cl
je 0x140210584
movzx eax, byte [0x140577bec]
jmp 0x14021056e
cmp al, 0x6a
je 0x1402106fc
mov r8b, 0xab
mov r9b, 1
nop word cs:[rax + rax]
mov eax, dword [0x1405d11a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140210640
mov al, 0x36
lock cmpxchg byte [0x140577bec], r8b
mov ecx, eax
sete al
mov edx, dword [0x1405d11ac]
mov r10d, dword [0x140578320]
mov r11d, r10d
xor r11d, 0xb815317d
and r10d, 0x3815317d
add r10d, r10d
mov esi, r11d
xor esi, r10d
and r10d, r11d
lea r10d, [rsi + r10*2]
cmp edx, r10d
jge 0x140210640
test al, al
jne 0x140210659
mov eax, dword [0x1405d11ac]
cmp eax, 0xb
mov edx, dword [0x1405d11a8]
mov r10d, dword [0x140578320]
mov eax, edx
sub eax, r10d
add eax, 0x47eace9b
imul eax, edx
add r10d, 0xb8153166
xor edx, edx
div r10d
test edx, edx
jne 0x140210605
cmp cl, 0x6a
jne 0x1402105a0
jmp 0x1402106fc
mov al, 0x36
lock cmpxchg byte [0x140577bec], r8b
test r9b, r9b
je 0x1402105a0
jmp 0x1402105b5
xor eax, eax
lea rcx, [0x140577be0]
lea rdx, [0x140492430]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x140210688
inc rax
jmp 0x140210670
lea rax, [fcn.140210230]
add eax, eax
add eax, 0x32c0
mov ecx, eax
not ecx
nop word [rax + rax]
test ecx, eax
jne 0x1402106d5
mov edx, dword [0x1405d11a8]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x140578320]
mov r9d, edx
xor r9d, 0xb8153164
and edx, 0x38153164
lea edx, [r9 + rdx*2]
cmp r8d, edx
je 0x1402106f4
mov edx, dword [0x1405d11a8]
mov r8d, dword [0x140578320]
not r8d
add r8d, edx
imul r8d, edx
test r8b, 1
jne 0x1402106a0
jmp 0x1402106a4
mov al, 0x6a
xchg byte [0x140577bec], al
lea rax, [0x140577be0]
jmp 0x14021056b