Function at 0x1402bf220
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4124eb21
add eax, dword [0x140537d98]
cmp ecx, eax
jne 0x1402bf2d7
mov eax, dword [0x140566028]
cmp eax, 9
nop dword [rax]
mov eax, dword [0x140566028]
cmp eax, 0x4a
jg 0x1402bf240
test edx, edx
je 0x1402bf33f
movzx eax, byte [0x140537cb3]
cmp al, 0x11
je 0x1402bf2cf
mov cl, 0xfd
mov edx, 0x4124eb38
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x140537cb3], cl
je 0x1402bf38c
mov r8d, dword [0x140566028]
mov r9d, dword [0x140537d98]
add r9d, edx
cmp r8d, r9d
mov r8d, dword [0x140566024]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
xor r8d, r8d
sub r8d, dword [0x140537d98]
mov r10d, r8d
xor r10d, 0xbedb14df
and r8d, 0x3edb14df
lea r8d, [r10 + r8*2]
add r8d, r9d
jne 0x1402bf294
cmp al, 0x11
jne 0x1402bf270
lea rax, [0x140537c90]
ret
test edx, edx
je 0x1402bf359
movzx eax, byte [0x140537b40]
nop word cs:[rax + rax]
cmp al, 0x52
je 0x1402bf42b
movzx ecx, byte [0x140537d9c]
lea eax, [rcx - 0xb]
add cl, 0xf8
lock cmpxchg byte [0x140537b40], cl
jne 0x1402bf2f0
xor eax, eax
lea rcx, [0x140537a40]
lea rdx, [0x14043bfd0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xff
jg 0x1402bf3e3
inc rax
jmp 0x1402bf320
mov eax, dword [0x140566024]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1402bf4c3
jmp 0x1402bf484
movzx eax, byte [0x140537c70]
cmp al, 0xe0
je 0x1402bf384
mov cl, 0xec
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x140537c70], cl
je 0x1402bf433
cmp al, 0xe0
jne 0x1402bf370
lea rax, [0x140537b70]
ret
xor edx, edx
lea rax, [0x140537c90]
lea rcx, [0x14043c200]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x23
jl 0x1402bf3a0
mov al, 0x11
xchg byte [0x140537cb3], al
lea rax, [0x140537c90]
ret
lea rax, [fcn.1402bf220]
add eax, eax
add eax, 0x2d40
mov ecx, eax
not ecx
nop word cs:[rax + rax]
test ecx, eax
je 0x1402bf418
mov dl, 0x52
xchg byte [0x140537b40], dl
cmp dword [0x140537d98], 0xbedb14df
jne 0x1402bf400
mov dl, 0x52
xchg byte [0x140537b40], dl
mov edx, dword [0x140566028]
cmp edx, 0x24
jg 0x1402bf404
lea rax, [0x140537a40]
ret
xor edx, edx
lea rax, [0x140537b70]
lea rcx, [0x14043c0f0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x140537d98]
add edx, r8d
add edx, 0x4124eb22
cmp edx, 0x100
jl 0x1402bf450
mov al, pe_nt_image_headers64
xchg byte [0x140537c70], al
lea rax, [0x140537b70]
ret
movzx eax, byte [0x140537cd9]
mov ecx, dword [0x140537d98]
mov edx, ecx
xor edx, 0x4124eb22
and ecx, 0x4124eb22
lea ecx, [rdx + rcx*2]
lea rdx, [fcn.1402bf220]
add edx, edx
add edx, 0x1f60
mov r8d, edx
xor r8d, ecx
or ecx, edx
not ecx
or ecx, r8d
cmp ecx, 0xffffffff
je 0x1402bf4cc
movzx eax, byte [0x140537cd9]
jmp 0x1402bf484
cmp al, 0x88
je 0x1402bf4f0
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0xd8
lock cmpxchg byte [0x140537cd9], cl
je 0x1402bf4f8
cmp al, 0x88
jne 0x1402bf4e0
lea rax, [0x140537cd0]
ret
xor edx, edx
lea rax, [0x140537cd0]
lea rcx, [0x14043c240]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
add edx, 0x58a408aa
mov r8d, edx
xor r8d, 0xa75bf757
and edx, 0x275bf757
lea edx, [r8 + rdx*2]
cmp edx, 9
jl 0x1402bf510
nop
mov eax, dword [0x140566024]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402bf550
mov al, 1
test al, al
je 0x1402bf550
movzx eax, byte [0x140537d9c]
add al, 0x8e
xchg byte [0x140537cd9], al
lea rax, [0x140537cd0]
ret