Function at 0x1403ac280
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov eax, dword [0x140561988]
mov r8d, eax
xor r8d, 0xeda651b9
and eax, 0x6da651b9
lea eax, [r8 + rax*2]
cmp ecx, eax
jne 0x1403ac2d9
test edx, edx
je 0x1403ac31d
movzx eax, byte [0x14055ffa2]
cmp al, 0xc0
je 0x1403ac49f
mov cl, 0x32
nop word cs:[rax + rax]
mov al, 0xde
lock cmpxchg byte [0x14055ffa2], cl
je 0x1403ac3f9
cmp al, 0xc0
jne 0x1403ac2c0
jmp 0x1403ac49f
mov eax, dword [0x140579084]
mov ecx, 0xeda651fc
add ecx, dword [0x140561988]
cmp eax, ecx
nop dword [rax]
mov eax, dword [0x140579084]
cmp eax, 0x48
jg 0x1403ac2f0
test edx, edx
je 0x1403ac3b7
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403ac5e0
jmp 0x1403ac5c6
movzx eax, byte [0x14055f9c0]
movzx ecx, byte [0x140561998]
add cl, 0x87
cmp al, cl
je 0x1403ac517
mov cl, 0xc0
jmp 0x1403ac348
cmp al, 0x99
je 0x1403ac517
mov al, 0xdf
lock cmpxchg byte [0x14055f9c0], cl
je 0x1403ac4a8
nop dword [rax + rax]
mov edx, dword [0x140579080]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1403ac37f
mov edx, dword [0x140579084]
cmp edx, 0x3f
jle 0x1403ac340
mov edx, dword [0x140579080]
mov r8d, 0x870fcfe3
sub r8d, edx
imul r8d, edx
and r8d, 1
mov edx, dword [0x140561988]
mov r9d, edx
xor r9d, 0xeda651b9
and edx, 0x6da651b9
lea edx, [r9 + rdx*2]
cmp r8d, edx
jne 0x1403ac360
jmp 0x1403ac374
movzx eax, byte [0x140560109]
movzx ecx, byte [0x140561998]
mov edx, ecx
xor dl, 0x29
and cl, 0x29
add cl, cl
add cl, dl
cmp al, cl
je 0x1403ac548
mov cl, 0x5b
nop dword [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x140560109], cl
je 0x1403ac4d8
cmp al, 0x3b
jne 0x1403ac3e0
jmp 0x1403ac548
mov eax, dword [0x140579084]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1403ac410
xor eax, eax
lea rcx, [0x14055ffa0]
lea rdx, [0x140460510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 1
jg 0x1403ac47b
inc rax
jmp 0x1403ac430
movzx eax, byte [0x140561998]
mov ecx, eax
xor cl, 0x5a
and al, 0x5a
add al, al
add al, cl
add al, 0x54
xchg byte [0x14055ffa2], al
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403ac486
mov eax, dword [0x140579084]
cmp eax, 0x31
jg 0x1403ac450
mov al, 0xc0
xchg byte [0x14055ffa2], al
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403ac450
lea rax, [0x14055ffa0]
pop rbx
ret
xor eax, eax
lea rcx, [0x14055f9b0]
lea rdx, [0x14045ff80]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x1403ac508
inc rax
jmp 0x1403ac4c0
xor eax, eax
lea rcx, [0x140560100]
lea rdx, [0x140460650]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1403ac520
inc rax
jmp 0x1403ac4f0
movzx eax, byte [0x140561998]
add al, 0x87
xchg byte [0x14055f9c0], al
lea rax, [0x14055f9b0]
pop rbx
ret
xor eax, eax
test al, al
jne 0x1403ac5a0
jmp 0x1403ac588
mov edx, dword [0x140561988]
add edx, eax
xor edx, ecx
not edx
test edx, ecx
jne 0x1403ac530
mov al, 0x3b
xchg byte [0x140560109], al
mov eax, dword [0x140579084]
mov ecx, 0xeda651bb
nop word cs:[rax + rax]
mov edx, dword [0x140579080]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140561988]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x1403ac560
lea rax, [0x140560100]
pop rbx
ret
mov eax, dword [0x140579084]
mov ecx, 0xeda651dc
add ecx, dword [0x140561988]
cmp eax, ecx
jl 0x1403ac5ad
nop dword [rax]
mov eax, dword [0x140579084]
cmp eax, 0x22
jge 0x1403ac5a0
jmp 0x1403ac588
mov eax, 0xeda651ba
lea rcx, [fcn.1403ac280]
add ecx, ecx
add ecx, 0x1a60
jmp 0x1403ac530
movzx eax, byte [0x14055ff92]
mov ecx, dword [0x140579084]
cmp ecx, 0x18
jl 0x1403ac613
nop dword [rax + rax]
movzx eax, byte [0x14055ff92]
mov ecx, dword [0x140579080]
mov r8d, dword [0x140561988]
mov eax, ecx
sub eax, r8d
add eax, 0x1259ae46
imul eax, ecx
add r8d, 0xeda651bb
xor edx, edx
div r8d
test edx, edx
jne 0x1403ac5e0
jmp 0x1403ac5c6
cmp al, 0x58
je 0x1403ac69f
mov cl, 6
nop dword [rax]
mov al, 0x8e
lock cmpxchg byte [0x14055ff92], cl
je 0x1403ac632
cmp al, 0x58
jne 0x1403ac620
jmp 0x1403ac69f
xor eax, eax
lea rcx, [0x14055ff90]
lea rdx, [0x140460500]
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, 1
jg 0x1403ac697
inc rax
jmp 0x1403ac650
mov al, 0x58
xchg byte [0x14055ff92], al
mov ecx, 0xeda651ba
mov r8b, 1
nop word [rax + rax]
mov eax, dword [0x140579080]
mov edx, dword [0x140561988]
add edx, ecx
not edx
sub edx, eax
inc edx
imul edx, eax
test dl, 1
jne 0x1403ac6f6
mov edx, dword [0x140579080]
mov r9d, dword [0x140561988]
mov eax, edx
sub eax, r9d
add eax, 0x1259ae46
imul eax, edx
add r9d, 0xeda651bb
xor edx, edx
div r9d
test edx, edx
je 0x1403ac6fd
test r8b, r8b
je 0x1403ac6b0
jmp 0x1403ac6cc
lea rax, [0x14055ff90]
pop rbx
ret