Function at 0x140243e80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, edx
lea rax, [fcn.140243e80]
add eax, eax
add eax, 0x30c0
mov edx, eax
not edx
test edx, eax
jne 0x140243eb2
mov eax, 0x4a2b696
add eax, dword [0x1405312d8]
mov edx, dword [0x14057685c]
cmp edx, 0x45
jl 0x140243ee1
mov r9d, 0x4a2b698
nop dword [rax + rax]
mov edx, dword [0x140576858]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1405312d8]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x140243ec0
jmp 0x140243e9c
cmp ecx, eax
jne 0x140244028
test r8d, r8d
je 0x14024404c
movzx eax, byte [0x14052ef78]
movzx ecx, byte [0x1405312e8]
add cl, 0x10
cmp al, cl
je 0x14024409c
mov r8b, 0x6c
mov r9d, 0x4a2b696
mov r10d, 0x4a2b698
jmp 0x140243f29
cmp cl, 0xff
je 0x14024409c
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140243fb0
mov al, 0x33
lock cmpxchg byte [0x14052ef78], r8b
mov ecx, eax
sete al
mov edx, dword [0x14057685c]
cmp edx, 0x25
jg 0x140243fb0
test al, al
jne 0x140243fd0
nop dword [rax]
mov eax, dword [0x140576858]
mov edx, 3
sub edx, eax
imul edx, eax
and edx, 1
mov eax, dword [0x1405312d8]
add eax, r9d
cmp edx, eax
jne 0x140243f8b
mov eax, dword [0x14057685c]
cmp eax, 0x1e
jle 0x140243f20
mov edx, dword [0x140576858]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x1405312d8]
add r11d, r10d
xor edx, edx
div r11d
test edx, edx
jne 0x140243f60
jmp 0x140243f80
mov al, 0x33
lock cmpxchg byte [0x14052ef78], r8b
mov eax, dword [0x14057685c]
cmp eax, 0x2b
jge 0x140243f29
jmp 0x140243f3a
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140243fec
mov eax, dword [0x14057685c]
cmp eax, 0x3d
jge 0x140243fd0
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140243fe1
xor eax, eax
lea rcx, [0x14052ef60]
lea rdx, [0x140442dc0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x17
jg 0x140244094
inc rax
jmp 0x140244010
lea rax, [fcn.140243e80]
test r8d, r8d
je 0x140244064
add eax, eax
add eax, 0x400
mov ecx, eax
not ecx
test ecx, eax
jne 0x140244403
jmp 0x1402443f1
lea rax, [fcn.140243e80]
add eax, eax
add eax, 0x4700
mov ecx, eax
not ecx
test ecx, eax
jne 0x1402440c0
jmp 0x1402440a8
add eax, eax
add eax, 0x22c0
mov ecx, eax
not ecx
and ecx, eax
mov eax, dword [0x1405312d8]
mov edx, eax
xor edx, 0x4a2b696
and eax, 0x4a2b696
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x140244210
jmp 0x1402441bd
mov al, 0xff
xchg byte [0x14052ef78], al
lea rax, [0x14052ef60]
jmp 0x1402441b9
movzx eax, byte [0x14052ef9d]
mov ecx, dword [0x140576858]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402440c9
movzx eax, byte [0x14052ef9d]
jmp 0x1402440a8
cmp al, 0x3d
je 0x1402441b2
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14052ef9d], cl
je 0x140244112
movzx edx, byte [0x1405312e8]
mov r8d, edx
xor r8b, 0x4e
not dl
and dl, 0x31
or dl, r8b
not dl
add dl, dl
add dl, r8b
cmp al, dl
jne 0x1402440e0
jmp 0x1402441b2
xor ecx, ecx
mov r8d, 0x4a2b698
mov r9d, 0x4a2b6d0
test cl, cl
jne 0x14024415a
mov edx, dword [0x140576858]
mov eax, edx
xor eax, 0xd036fa26
mov r10d, edx
and r10d, 0x5036fa26
lea eax, [rax + r10*2]
add eax, 0x2fc905d9
imul eax, edx
mov r10d, dword [0x1405312d8]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
je 0x14024416f
mov eax, dword [0x14057685c]
mov edx, dword [0x1405312d8]
add edx, r9d
cmp eax, edx
jge 0x140244120
jmp 0x140244124
xor edx, edx
lea rax, [0x14052ef80]
lea rcx, [0x140442de0]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
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, 0x1d
jl 0x140244180
mov al, 0x3d
xchg byte [0x14052ef9d], al
lea rax, [0x14052ef80]
pop rbx
pop rdi
pop rsi
ret
movzx eax, byte [0x14052eff4]
movzx ecx, byte [0x1405312e8]
mov edx, dword [0x140576858]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1405312d8]
mov r9d, edx
xor r9d, 0x4a2b696
not edx
and edx, 0x7b5d4969
or edx, r9d
not edx
lea edx, [r9 + rdx*2]
cmp r8d, edx
je 0x140244233
nop word cs:[rax + rax]
movzx eax, byte [0x14052eff4]
mov eax, dword [0x140576858]
mov ecx, dword [0x1405312d8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140244210
jmp 0x1402441bd
add cl, 0x20
cmp al, cl
je 0x1402443a5
mov cl, 0x79
xor edx, edx
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x14052eff4], cl
je 0x14024426b
test dl, dl
test dl, dl
jne 0x14024425e
cmp al, 0xf
jne 0x140244250
jmp 0x1402443a5
xor r9d, r9d
mov r10d, 0x4a2b696
lea r11, [0x14052efd0]
lea rsi, [0x140442e30]
mov bl, 1
jmp 0x14024429d
inc r9d
cmp r9d, 0x24
jge 0x140244360
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1405312d8]
add eax, r10d
movsxd rdi, r9d
cmp ecx, eax
jne 0x1402442f0
nop dword [rax]
movzx eax, byte [rdi + r11]
movzx ecx, byte [rdi + rsi]
mov edx, ecx
xor dl, cl
not dl
and dl, al
xor dl, cl
and al, cl
add al, al
add al, dl
mov byte [rdi + r11], al
mov eax, dword [0x14057685c]
cmp eax, 0x40
jl 0x140244290
nop dword [rax + rax]
movzx ecx, byte [rdi + rsi]
mov eax, ecx
sub al, byte [rdi + r11]
mul cl
add al, cl
mov edx, eax
shl dl, cl
sub al, dl
mul dl
mov r8d, eax
sub dl, al
mov ecx, edx
shl al, cl
sub al, r8b
mov edx, r8d
mov ecx, eax
shl dl, cl
mov eax, r8d
sub al, dl
mul dl
mov edx, r8d
mov ecx, eax
shl dl, cl
sub r8b, dl
mov eax, r8d
mul dl
mov ecx, eax
sub al, dl
add al, 0x99
mov r8d, eax
xor r8b, 0x67
and al, 0x67
add al, al
add al, r8b
mul dl
sub al, cl
xor al, cl
mov edx, eax
not dl
and dl, cl
add dl, dl
add dl, al
mov byte [rdi + r11], dl
test bl, bl
je 0x1402442f0
jmp 0x1402442c0
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402443d0
jmp 0x1402443b1
movzx eax, byte [0x1405312e8]
add al, 0x20
xchg byte [0x14052eff4], al
mov al, 1
test al, al
jne 0x1402443a5
nop dword [rax + rax]
mov al, 0xf
xchg byte [0x14052eff4], al
mov eax, dword [0x14057685c]
cmp eax, 0xa
jge 0x140244390
jmp 0x140244373
lea rax, [0x14052efd0]
jmp 0x1402441b9
mov eax, dword [0x140576858]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402443de
nop word cs:[rax + rax]
cmp dword [0x1405312d8], 0xfb5d496a
jne 0x1402443d0
jmp 0x1402443b1
mov eax, dword [0x140576858]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140244390
jmp 0x140244373
movzx eax, byte [0x14052f465]
mov ecx, dword [0x14057685c]
cmp ecx, 0x5b
jle 0x14024440c
movzx eax, byte [0x14052f465]
jmp 0x1402443f1
cmp al, 0x11
je 0x140244479
mov cl, 0x95
nop word cs:[rax + rax]
mov al, 0x67
lock cmpxchg byte [0x14052f465], cl
je 0x14024443c
movzx edx, byte [0x1405312e8]
add dl, 0x22
cmp al, dl
jne 0x140244420
jmp 0x140244479
xor edx, edx
lea rax, [0x14052f450]
lea rcx, [0x140443270]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1405312d8]
add edx, r8d
add edx, 0x4a2b697
cmp edx, 0x15
jl 0x140244450
mov al, 0x11
xchg byte [0x14052f465], al
lea rax, [0x14052f450]
jmp 0x1402441b9