Function at 0x140350d00
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov eax, dword [0x1404f34c4]
cmp eax, 0x33
jg 0x140350d60
mov eax, dword [0x1404df1c0]
mov r8d, eax
xor r8d, 0x27f7a550
and eax, 0x27f7a550
add eax, eax
mov r9d, r8d
xor r9d, eax
and eax, r8d
lea eax, [r9 + rax*2]
lea r8, [fcn.140350d00]
add r8d, r8d
add r8d, 0x340
mov r9d, r8d
not r9d
mov r10d, r9d
and r10d, eax
not eax
and r8d, eax
or r8d, r10d
and eax, r9d
or eax, r8d
cmp eax, 0xffffffff
je 0x140350d76
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x140350d70
jmp 0x140350d0c
test ecx, ecx
je 0x140350da9
test edx, edx
je 0x140350dd9
movzx eax, byte [0x1404de027]
cmp al, 0x29
je 0x140351008
mov cl, 0x59
nop
mov al, 0x97
lock cmpxchg byte [0x1404de027], cl
je 0x140350e54
cmp al, 0x29
jne 0x140350d90
jmp 0x140351008
test edx, edx
je 0x140350e09
movzx eax, byte [0x1404de4d1]
cmp al, 0x92
je 0x140350eec
mov cl, 0xab
nop
mov al, 0x5e
lock cmpxchg byte [0x1404de4d1], cl
je 0x140350e9e
cmp al, 0x92
jne 0x140350dc0
jmp 0x140350eec
movzx eax, byte [0x1404ddf17]
cmp al, 0xe
je 0x140350f30
mov cl, 0x35
nop word [rax + rax]
mov al, 0x21
lock cmpxchg byte [0x1404ddf17], cl
je 0x140350ef5
cmp al, 0xe
jne 0x140350df0
jmp 0x140350f30
movzx eax, byte [0x1404dde4d]
movzx ecx, byte [0x1404df1c4]
add cl, 0xec
cmp al, cl
je 0x140350fff
nop word cs:[rax + rax]
movzx ecx, byte [0x1404df1c4]
lea eax, [rcx - 0x5f]
add cl, 9
lock cmpxchg byte [0x1404dde4d], cl
je 0x140350f39
cmp al, 0xc1
jne 0x140350e30
jmp 0x140350fff
xor edx, edx
lea rax, [0x1404ddff0]
lea rcx, [0x1403ed360]
nop word cs:[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, 0x37
jl 0x140350e70
mov al, 1
test al, al
je 0x140351039
jmp 0x140351011
xor edx, edx
lea rax, [0x1404de4c0]
lea rcx, [0x1403ed830]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1404df1c0]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 0x11
jl 0x140350eb0
mov eax, dword [0x1404f34c0]
xor eax, eax
nop dword [rax]
test al, al
jne 0x140350ee0
mov al, 0x92
xchg byte [0x1404de4d1], al
lea rax, [0x1404de4c0]
pop rsi
ret
xor eax, eax
lea rcx, [0x1404ddf10]
lea rdx, [0x1403ed280]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x140350f28
inc rax
jmp 0x140350f10
mov al, 0xe
xchg byte [0x1404ddf17], al
lea rax, [0x1404ddf10]
pop rsi
ret
xor r8d, r8d
lea r9, [0x1404dde30]
lea r10, [0x1403ed1b0]
mov r11d, 0x27f7a56c
jmp 0x140350f77
mov ecx, r8d
xor ecx, 1
and r8d, 1
lea r8d, [rcx + r8*2]
cmp r8d, eax
jge 0x140350ff7
mov eax, dword [0x1404f34c0]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x140350fb0
nop dword [rax + rax]
movzx eax, byte [rsi + r10]
add byte [rsi + r9], al
mov eax, dword [0x1404df1c0]
add eax, r11d
mov ecx, dword [0x1404f34c4]
cmp ecx, 0x31
jl 0x140350f60
nop dword [rax]
movzx eax, byte [rsi + r9]
movzx edx, byte [rsi + r10]
sub al, dl
mul dl
sub al, dl
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov ecx, edx
shl al, cl
add al, dl
mov byte [rsi + r9], al
mov eax, dword [0x1404df1c0]
mov ecx, eax
xor ecx, 0x58085ab0
and ecx, eax
xor eax, 0x27f7a54f
add ecx, ecx
add ecx, eax
jne 0x140350fb0
jmp 0x140350f90
mov al, 0xc1
xchg byte [0x1404dde4d], al
lea rax, [0x1404dde30]
pop rsi
ret
lea rax, [0x1404ddff0]
pop rsi
ret
mov ecx, dword [0x1404f34c0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404df1c0]
lea r8d, [rcx + 0x27f7a551]
xor edx, edx
div r8d
add ecx, 0x27f7a54f
cmp edx, ecx
je 0x140351073
lea rax, [fcn.140350d00]
add eax, eax
add eax, 0x1460
nop word [rax + rax]
mov ecx, dword [0x1404df1c0]
mov edx, ecx
xor edx, 0xdf0730ab
and ecx, 0x5f0730ab
lea ecx, [rdx + rcx*2]
add ecx, 0x48f074a5
test eax, ecx
jne 0x140351050
jmp 0x140351011
mov eax, dword [0x1404f34c4]
mov ecx, 0x27f7a587
add ecx, dword [0x1404df1c0]
cmp eax, ecx
jge 0x1403510b7
mov al, 0x29
xchg byte [0x1404de027], al
mov eax, dword [0x1404f34c4]
mov ecx, dword [0x1404df1c0]
mov edx, ecx
xor edx, 0x58085aa2
and edx, ecx
xor ecx, 0x27f7a55d
lea ecx, [rcx + rdx*2]
cmp eax, ecx
jl 0x140351008
mov eax, 0x27f7a54f
nop dword [rax]
mov cl, 0x29
xchg byte [0x1404de027], cl
mov ecx, dword [0x1404f34c0]
lea edx, [rcx + 0x240ff380]
not edx
add edx, 0x240ff380
imul edx, ecx
and edx, 1
mov ecx, dword [0x1404df1c0]
add ecx, eax
cmp edx, ecx
jne 0x1403510c0
jmp 0x140351088