Function at 0x1403a9f00
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov eax, 0xeda651b9
add eax, dword [0x140561988]
cmp ecx, eax
jne 0x1403a9ffa
test edx, edx
je 0x1403a9f72
cmp byte [0x14055fb3d], 0
je 0x1403aa11e
mov cl, 0xcc
nop
mov al, 0x16
lock cmpxchg byte [0x14055fb3d], cl
je 0x1403aa0b9
movzx edx, byte [0x140561998]
add dl, 0xee
cmp al, dl
jne 0x1403a9f30
jmp 0x1403aa11e
movzx eax, byte [0x14055faf1]
mov eax, dword [0x140579084]
cmp eax, 0x3f
jl 0x1403a9f95
mov eax, dword [0x140579084]
mov ecx, dword [0x140561988]
mov edx, ecx
xor edx, 0x1259ae3b
and edx, ecx
xor ecx, 0xeda651c4
lea ecx, [rcx + rdx*2]
cmp eax, ecx
jge 0x1403a9f60
movzx eax, byte [0x14055faf1]
mov ecx, dword [0x140579084]
cmp ecx, 0x2d
jg 0x1403a9f60
cmp al, 0x7a
je 0x1403aa375
mov cl, 0x25
mov edx, 0xeda651e4
nop word cs:[rax + rax]
mov al, 0xb7
lock cmpxchg byte [0x14055faf1], cl
je 0x1403aa1b9
mov r8d, dword [0x140579084]
mov r9d, dword [0x140561988]
add r9d, edx
cmp r8d, r9d
mov r8d, dword [0x140579084]
cmp r8d, 0x3b
jg 0x1403a9fe4
cmp al, 0x7a
jne 0x1403a9fc0
jmp 0x1403aa375
test edx, edx
je 0x1403aa086
movzx eax, byte [0x14055f716]
cmp al, 0xe6
je 0x1403aa1ad
mov bl, 0x4b
lea rsi, [0x1403add60]
jmp 0x1403aa043
mov ecx, 0x5b
call fcn.1403d5a14
mov qword [0x140579068], rax
mov rcx, rsi
call fcn.1403f5a50
mov al, 0x50
lock cmpxchg byte [0x14055f716], bl
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403aa020
mov al, 0x50
lock cmpxchg byte [0x14055f716], bl
sete cl
mov edx, dword [0x140579080]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1403aa020
test cl, cl
jne 0x1403aa12a
cmp al, 0xe6
jne 0x1403aa043
jmp 0x1403aa1ad
movzx eax, byte [0x14055fdbd]
cmp al, 0x75
je 0x1403aa386
mov cl, 0x16
nop word [rax + rax]
mov al, 0x4d
lock cmpxchg byte [0x14055fdbd], cl
je 0x1403aa2ce
cmp al, 0x75
jne 0x1403aa0a0
jmp 0x1403aa386
xor edx, edx
lea rax, [0x14055fb30]
lea rcx, [0x1404600e0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x140561988]
mov r9d, r8d
xor r9d, 0xeda651ba
and r8d, 0x6da651ba
lea r8d, [r9 + r8*2]
add edx, 0xef98a9f3
mov r9d, edx
xor r9d, r8d
and edx, r8d
lea edx, [r9 + rdx*2]
add edx, 0x1067560d
cmp edx, 0xd
jl 0x1403aa0d0
xor eax, eax
xchg byte [0x14055fb3d], al
lea rax, [0x14055fb30]
jmp 0x1403aa38d
xor edx, edx
lea rax, [0x14055f710]
lea rcx, [0x14045fcf0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 5
jle 0x1403aa140
nop
mov eax, dword [0x140579080]
mov ecx, eax
not ecx
add ecx, 0xfffffffe
imul ecx, eax
test cl, 1
je 0x1403aa188
mov al, 0xe6
xchg byte [0x14055f716], al
mov eax, dword [0x140579084]
cmp eax, 0x3f
jge 0x1403aa160
movzx eax, byte [0x140561998]
add al, 0xd4
xchg byte [0x14055f716], al
mov eax, dword [0x140579080]
mov ecx, eax
sub ecx, dword [0x140561988]
imul ecx, eax
test cl, 1
jne 0x1403aa175
lea rax, [0x14055f710]
jmp 0x1403aa38d
xor r8d, r8d
lea r9, [0x14055fad0]
lea r10, [0x140460080]
mov r11d, 0xeda651bb
xor esi, esi
jmp 0x1403aa1eb
inc esi
cmp esi, 0x20
jg 0x1403aa30c
movsxd rdi, esi
test r8b, r8b
jne 0x1403aa230
nop word cs:[rax + rax]
movzx eax, byte [rdi + r10]
xor byte [rdi + r9], al
mov ecx, dword [0x140579080]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140561988]
add ecx, r11d
xor edx, edx
div ecx
test edx, edx
je 0x1403aa1e0
nop word cs:[rax + rax]
movzx eax, byte [rdi + r9]
movzx ecx, byte [rdi + r10]
sub al, cl
mul cl
mov edx, eax
movzx ebx, byte [0x140561998]
mov ebp, ebx
sub bpl, al
shl al, cl
neg dl
mov ecx, edx
xor cl, al
and dl, al
add dl, dl
add dl, cl
add bpl, dl
mov al, 7
sub al, bpl
mov ecx, eax
xor cl, 0xb
and al, 0xb
add al, al
add al, cl
mul dl
mov ecx, edx
sub cl, al
mov eax, ecx
mul dl
add al, dl
add bl, 0xee
mov ecx, ebx
xor cl, 0x96
and bl, 0x16
add bl, bl
add bl, cl
sub al, bl
mov cl, 0x6a
sub cl, al
add al, 0x95
xor al, cl
and al, dl
xor al, cl
and cl, dl
add cl, cl
add cl, al
mov eax, ecx
sub al, dl
mul dl
sub al, cl
not al
mov edx, eax
or dl, cl
not dl
and al, cl
or al, dl
mov byte [rdi + r9], al
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403aa230
jmp 0x1403aa200
xor eax, eax
lea rcx, [0x14055fdb0]
lea rdx, [0x140460350]
nop
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1403aa37e
inc rax
jmp 0x1403aa2e0
xor edi, edi
mov ebx, 0xeda6520a
lea rsi, [0x1403add40]
nop word [rax + rax]
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403aa368
mov ecx, dword [0x140561988]
add ecx, ebx
call fcn.1403d5a14
mov qword [0x140579060], rax
mov rcx, rsi
call fcn.1403f5a50
movzx eax, byte [0x140561998]
add al, 0x68
xchg byte [0x14055faf1], al
cmp dword [0x140561988], 0x1259ae47
jne 0x1403aa320
mov al, 0x7a
xchg byte [0x14055faf1], al
test dil, dil
jne 0x1403aa331
lea rax, [0x14055fad0]
jmp 0x1403aa38d
mov al, 0x75
xchg byte [0x14055fdbd], al
lea rax, [0x14055fdb0]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret