Function at 0x140355f90
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
mov eax, 0xdfa5325c
add eax, dword [0x14056f0dc]
cmp ecx, eax
jne 0x140355fc0
test edx, edx
je 0x140355ff9
movzx eax, byte [0x14056e9f3]
cmp al, 0xf0
jne 0x140356091
lea rax, [0x14056e9d0]
jmp 0x1403563e2
movzx eax, byte [0x14056e9c3]
cmp al, 0xa
je 0x140356236
mov cl, 2
nop word cs:[rax + rax]
mov al, 0x23
lock cmpxchg byte [0x14056e9c3], cl
je 0x14035613b
cmp al, 0xa
jne 0x140355fe0
jmp 0x140356236
cmp byte [0x14056e88a], 0
je 0x1403563c8
mov r8b, 9
mov r9d, 0xdfa5325e
jmp 0x140356028
test cl, cl
je 0x1403563c8
mov al, 0xf1
lock cmpxchg byte [0x14056e88a], r8b
je 0x140356322
mov ecx, eax
mov eax, dword [0x140591cf0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140356070
nop dword [rax]
mov eax, dword [0x140591cf0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140356020
nop word cs:[rax + rax]
mov edx, dword [0x140591cf0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x14056f0dc]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x140356070
jmp 0x140356050
lea rax, [fcn.140355f90]
lea ecx, [rax + rax]
add ecx, 0x37a0
mov dl, 0x85
nop word cs:[rax + rax]
mov eax, dword [0x14056f0dc]
mov r8d, eax
xor r8d, 0xdfa5325d
and eax, 0x5fa5325d
lea eax, [r8 + rax*2]
test ecx, eax
jne 0x140356120
movzx r8d, byte [0x14056f0d8]
lea eax, [r8 - 0xe]
neg r8b
mov r9d, r8d
xor r9b, 0xb4
and r8b, 0x34
add r8b, r8b
add r8b, r9b
neg r8b
lock cmpxchg byte [0x14056e9f3], r8b
sete r8b
mov r9d, dword [0x140591cf4]
cmp r9d, 0x11
jg 0x140356120
test r8b, r8b
jne 0x140356242
cmp al, 0xf0
jne 0x1403560b0
jmp 0x140355fb4
mov al, 0x2b
lock cmpxchg byte [0x14056e9f3], dl
mov eax, dword [0x140591cf4]
cmp eax, 0x35
jge 0x1403560b0
jmp 0x1403560cd
xor eax, eax
mov edx, 0xdfa5326e
lea r8, [0x14056e9c0]
lea r9, [0x14046dc90]
xor r10d, r10d
xor r11d, r11d
nop word cs:[rax + rax]
mov ecx, dword [0x140591cf4]
mov esi, dword [0x14056f0dc]
add esi, edx
cmp ecx, esi
jge 0x14035619b
nop word cs:[rax + rax]
movzx ecx, byte [r11 + r9]
add byte [r11 + r8], cl
mov ecx, dword [0x140591cf0]
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
je 0x1403561c0
movzx ebx, byte [r11 + r8]
movzx ecx, byte [r11 + r9]
shl bl, cl
mov esi, ebx
shl sil, cl
mov ecx, esi
sub cl, bl
add cl, sil
mov byte [r11 + r8], cl
jmp 0x140356180
lea ecx, [r11 + 1]
cmp ecx, 2
jg 0x1403561d4
inc r11
dec r10d
add eax, 2
jmp 0x140356160
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1403561e0
mov eax, dword [0x140591cf0]
lea rax, [fcn.140355f90]
add eax, eax
add eax, 0x2240
nop dword [rax + rax]
mov ecx, dword [0x14056f0dc]
lea edx, [rcx - 0x205acda3]
mov r8d, eax
xor r8d, edx
not r8d
and r8d, edx
mov edx, ecx
xor edx, 0xdfa5325c
and ecx, 0x5fa5325c
lea ecx, [rdx + rcx*2]
cmp r8d, ecx
jne 0x140356200
mov al, 0xa
xchg byte [0x14056e9c3], al
lea rax, [0x14056e9c0]
jmp 0x1403563e2
xor edx, edx
lea rax, [0x14056e9d0]
lea rcx, [0x14046dca0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
xor r9b, r8b
mov r10d, r9d
not r10b
and r10b, r8b
add r10b, r10b
add r10b, r9b
mov byte [rdx + rax], r10b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0x23
jl 0x140356260
mov eax, dword [0x140591cf4]
nop word [rax + rax]
mov eax, dword [0x140591cf0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403562b0
lea rax, [fcn.140355f90]
add eax, eax
add eax, 0x33c0
nop
mov ecx, dword [0x14056f0dc]
lea edx, [rcx - 0x205acda3]
and edx, eax
mov r8d, ecx
xor r8d, 0xdfa5325c
and ecx, 0x5fa5325c
lea ecx, [r8 + rcx*2]
cmp edx, ecx
jne 0x14035630d
mov cl, 0xf0
xchg byte [0x14056e9f3], cl
mov ecx, dword [0x140591cf4]
cmp ecx, 0x62
jle 0x140355fb4
mov cl, 0xf0
xchg byte [0x14056e9f3], cl
mov ecx, dword [0x140591cf4]
cmp ecx, 0x4c
jge 0x1403562d0
jmp 0x1403562f6
lea rax, [fcn.140355f90]
add eax, eax
add eax, 0x4160
mov ecx, eax
xor ecx, 0xfffffffe
xor edx, edx
nop word [rax + rax]
test eax, ecx
jne 0x140356348
test dl, dl
je 0x140356357
mov r8d, dword [0x140591cf4]
cmp r8d, 0x60
jge 0x140356340
jmp 0x140356344
xor eax, eax
lea rcx, [0x14056e870]
lea rdx, [0x14046db60]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x19
jg 0x140356388
inc rax
jmp 0x140356370
mov eax, 0xdfa5325c
mov cl, 1
nop
mov edx, dword [0x140591cf0]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x14056f0dc]
add edx, eax
cmp r8d, edx
jne 0x1403563ba
mov edx, dword [0x140591cf4]
cmp edx, 0x58
jle 0x1403563c0
test cl, cl
je 0x140356390
jmp 0x1403563af
xor eax, eax
xchg byte [0x14056e88a], al
mov eax, dword [0x140591cf0]
nop
mov eax, dword [0x140591cf4]
cmp eax, 0x41
jg 0x1403563d0
lea rax, [0x14056e870]
pop rbx
pop rsi
ret