Function at 0x1402eea20
Capabilities:
Encode data using xor

Disassembly:
push rsi
test ecx, ecx
je 0x1402eeabf
xor eax, eax
mov ecx, 0x27f7a54f
test al, al
jne 0x1402eea53
mov r8d, dword [0x140480e90]
add r8d, ecx
mov r9d, dword [0x140495180]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1402eea77
mov r8d, dword [0x140495180]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140480e90]
add r8d, ecx
cmp r9d, r8d
jne 0x1402eea30
jmp 0x1402eea34
cmp edx, r8d
jne 0x1402eeae1
cmp byte [0x1404800dd], 0
je 0x1402eedb4
mov cl, 0xc5
nop dword [rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x1404800dd], cl
je 0x1402eeba9
movzx edx, byte [0x140480e94]
mov r8d, edx
xor r8b, 0x2b
and dl, 0x2b
add dl, dl
add dl, r8b
cmp al, dl
jne 0x1402eea90
jmp 0x1402eedb4
test edx, edx
je 0x1402eeb19
mov eax, dword [0x140495184]
mov ecx, 0x27f7a5a7
add ecx, dword [0x140480e90]
cmp eax, ecx
jl 0x1402eecd9
jmp 0x1402eecf1
movzx eax, byte [0x14048037f]
cmp al, 0x28
je 0x1402eec90
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0x86
lock cmpxchg byte [0x14048037f], cl
je 0x1402eec5a
cmp al, 0x28
jne 0x1402eeb00
jmp 0x1402eec90
movzx eax, byte [0x14048010f]
cmp al, 0xb6
je 0x1402eecd0
mov cl, 0xa5
lea rdx, [fcn.1402eea20]
lea r8d, [rdx + rdx]
add r8d, 0xf60
mov r9d, r8d
not r9d
mov r10d, 0x27f7a550
jmp 0x1402eeb58
cmp al, 0xb6
je 0x1402eecd0
mov al, 0xf0
lock cmpxchg byte [0x14048010f], cl
je 0x1402eec99
nop dword [rax + rax]
test r9d, r8d
jne 0x1402eeb92
mov r11d, dword [0x140480e90]
add r11d, r10d
lea esi, [rdx + rdx]
add esi, 0x360
xor esi, r11d
not esi
test esi, r11d
je 0x1402eeb50
mov r11d, dword [0x140495180]
lea esi, [r11 - 1]
imul esi, r11d
test sil, 1
jne 0x1402eeb70
jmp 0x1402eeb75
xor edx, edx
lea rax, [0x1404800d0]
lea rcx, [0x140390780]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x140480e90]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 0xd
jl 0x1402eebc0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402eec12
mov ecx, dword [0x140495180]
mov edx, dword [0x140480e90]
neg edx
add edx, ecx
add edx, 0xd8085ab0
imul edx, ecx
test dl, 1
je 0x1402eec30
mov ecx, dword [0x140495180]
mov edx, dword [0x140480e90]
add edx, ecx
add edx, 0xd8085ab0
imul edx, ecx
test dl, 1
jne 0x1402eebf0
jmp 0x1402eebf4
mov eax, dword [0x140495184]
mov ecx, dword [0x140480e90]
mov edx, ecx
xor edx, 0x27f7a563
and ecx, 0x27f7a563
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1402eed7d
jmp 0x1402eeda3
xor eax, eax
lea rcx, [0x140480370]
lea rdx, [0x140390a20]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xe
jg 0x1402eec88
inc rax
jmp 0x1402eec70
mov al, 0x28
xchg byte [0x14048037f], al
lea rax, [0x140480370]
pop rsi
ret
xor eax, eax
lea rcx, [0x140480100]
lea rdx, [0x1403907b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xe
jg 0x1402eecc8
inc rax
jmp 0x1402eecb0
mov al, 0xb6
xchg byte [0x14048010f], al
lea rax, [0x140480100]
pop rsi
ret
movzx eax, byte [0x14048015a]
mov ecx, dword [0x140495180]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402eecfa
movzx eax, byte [0x14048015a]
jmp 0x1402eecd9
cmp al, 0x1e
je 0x1402eed50
mov cl, 0xe7
mov al, 0x70
lock cmpxchg byte [0x14048015a], cl
je 0x1402eed12
cmp al, 0x1e
jne 0x1402eed00
jmp 0x1402eed50
xor eax, eax
lea rcx, [0x140480150]
lea rdx, [0x140390800]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 9
jg 0x1402eed48
inc rax
jmp 0x1402eed30
mov al, 0x1e
xchg byte [0x14048015a], al
lea rax, [fcn.1402eea20]
add eax, eax
add eax, 0x3980
mov ecx, eax
not ecx
nop word cs:[rax + rax]
test ecx, eax
jne 0x1402eed70
lea rax, [0x140480150]
pop rsi
ret
xor eax, eax
xchg byte [0x1404800dd], al
mov eax, dword [0x140495180]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, 0x27f7a54f
add eax, dword [0x140480e90]
cmp ecx, eax
je 0x1402eedb4
movzx eax, byte [0x140480e94]
add al, 0x2b
xchg byte [0x1404800dd], al
jmp 0x1402eed7d
lea rax, [0x1404800d0]
pop rsi
ret