Function at 0x140244d40
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x140244d83
test edx, edx
je 0x140244e45
movzx eax, byte [0x14052f72d]
cmp al, 0xe
je 0x140244f40
mov cl, 0x4d
nop
mov al, 0x4b
lock cmpxchg byte [0x14052f72d], cl
je 0x140244f09
movzx edx, byte [0x1405312e8]
add dl, 0x1f
cmp al, dl
jne 0x140244d60
jmp 0x140244f40
test edx, edx
je 0x140244e96
movzx eax, byte [0x14052fa2c]
movzx ecx, byte [0x1405312e8]
add cl, 0x79
cmp al, cl
je 0x140244fe0
mov cl, 0x61
mov r8b, 1
nop dword [rax]
mov edx, dword [0x140576858]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1405312d8]
lea r10d, [r9 + 0x4a2b698]
xor edx, edx
div r10d
add r9d, 0x4a2b696
cmp edx, r9d
jne 0x140244e10
nop dword [rax + rax]
mov al, 0xf0
lock cmpxchg byte [0x14052fa2c], cl
sete dl
mov r9d, dword [0x140576858]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x140244e30
nop word cs:[rax + rax]
movzx edx, byte [0x1405312e8]
lea eax, [rdx + 1]
add dl, 0x72
lock cmpxchg byte [0x14052fa2c], dl
test r8b, r8b
je 0x140244e10
jmp 0x140244de0
test dl, dl
jne 0x140244f4c
cmp al, 0x68
jne 0x140244db0
jmp 0x140244fe0
movzx eax, byte [0x14052f084]
cmp al, 0xc
je 0x140244ff4
mov cl, 0xc1
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x14052f084], cl
je 0x140244fa7
mov edx, dword [0x140576858]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
mov edx, dword [0x14057685c]
cmp edx, 0x59
jg 0x140244e82
cmp al, 0xc
jne 0x140244e60
jmp 0x140244ff4
lea rax, [fcn.140244d40]
add eax, eax
add eax, 0x2b20
mov ecx, eax
not ecx
nop dword [rax + rax]
cmp dword [0x1405312d8], 0xfb5d496a
jne 0x140244ec7
movzx edx, byte [0x14052fad8]
test ecx, eax
je 0x140244edb
movzx edx, byte [0x14052fad8]
mov edx, dword [0x14057685c]
cmp edx, 0x57
jge 0x140244eb0
jmp 0x140244ebc
cmp dl, 0x64
je 0x1402450ed
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x14052fad8], cl
je 0x140245000
cmp al, 0x64
jne 0x140244ef0
jmp 0x1402450ed
xor eax, eax
lea rcx, [0x14052f720]
lea rdx, [0x140443530]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x140244f38
inc rax
jmp 0x140244f20
mov al, 0xe
xchg byte [0x14052f72d], al
lea rax, [0x14052f720]
jmp 0x1402450f4
xor eax, eax
lea rcx, [0x14052fa20]
lea rdx, [0x140443830]
nop dword [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, 0xb
jg 0x140244fd8
inc rax
jmp 0x140244f60
xor eax, eax
lea rcx, [0x14052f060]
lea rdx, [0x140442ec0]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x23
jg 0x140244fec
inc rax
jmp 0x140244fc0
mov al, 0x68
xchg byte [0x14052fa2c], al
lea rax, [0x14052fa20]
jmp 0x1402450f4
mov al, 0xc
xchg byte [0x14052f084], al
lea rax, [0x14052f060]
jmp 0x1402450f4
xor r8d, r8d
lea r9, [0x14052fac0]
lea r10, [0x1404438d0]
mov r11d, 0x4a2b698
jmp 0x14024502d
inc r8d
cmp r8d, 0x18
jge 0x1402450e5
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x140245080
nop word cs:[rax + rax]
movzx eax, byte [rsi + r9]
movzx ecx, byte [rsi + r10]
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [rsi + r9], cl
mov eax, dword [0x14057685c]
cmp eax, 0x26
jl 0x140245020
nop word cs:[rax + rax]
movzx ecx, byte [rsi + r10]
mov eax, ecx
sub al, byte [rsi + r9]
shl al, cl
neg al
mul cl
sub cl, al
mov edx, eax
shl dl, cl
movzx ebx, byte [0x1405312e8]
sub bl, al
mov ecx, edx
shl al, cl
add bl, al
add bl, 0x11
mov ecx, eax
shl bl, cl
mov ecx, ebx
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
shl bl, cl
xor bl, cl
mov byte [rsi + r9], bl
mov ecx, dword [0x140576858]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405312d8]
add ecx, r11d
xor edx, edx
div ecx
test edx, edx
jne 0x140245080
jmp 0x140245050
mov al, 0x64
xchg byte [0x14052fad8], al
lea rax, [0x14052fac0]
pop rbx
pop rsi
ret