Function at 0x140196400
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
test ecx, ecx
je 0x140196429
mov eax, 0x65e365cc
add eax, dword [0x14056d0b8]
cmp edx, eax
jne 0x14019645f
mov eax, dword [0x1405d0cd4]
cmp eax, 0x55
jle 0x1401965fa
jmp 0x140196607
test edx, edx
je 0x140196490
movzx eax, byte [0x14056bba4]
cmp al, 0x42
je 0x140196561
mov cl, 0xc
nop
mov al, 0xcb
lock cmpxchg byte [0x14056bba4], cl
je 0x1401964aa
movzx edx, byte [0x14056d0c8]
add dl, 0xc1
cmp al, dl
jne 0x140196440
jmp 0x140196561
mov ecx, dword [0x1405d0cd0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14056d0b8]
lea r8d, [rcx + 0x65e365ce]
xor edx, edx
div r8d
add ecx, 0x65e365cc
cmp edx, ecx
je 0x140196731
jmp 0x14019673e
mov eax, dword [0x1405d0cd0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140196580
jmp 0x14019656d
xor edx, edx
lea rax, [0x14056bba0]
lea rcx, [0x14048ed90]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, edx
xor r8d, 1
lea r9d, [rdx + rdx]
and r9d, 2
xor edx, r8d
not edx
and edx, r9d
xor edx, r8d
and r9d, r8d
add r9d, r9d
mov r8d, edx
xor r8d, r9d
and r9d, edx
lea edx, [r8 + r9*2]
cmp edx, 4
jl 0x1401964c0
nop
mov eax, dword [0x1405d0cd4]
cmp eax, 0x51
jg 0x140196510
xor eax, eax
mov cl, 1
nop
test al, al
je 0x140196528
test cl, cl
je 0x140196520
mov edx, dword [0x1405d0cd4]
cmp edx, 0x26
jg 0x140196524
movzx eax, byte [0x14056d0c8]
mov ecx, eax
not cl
mov edx, eax
and dl, 0x3e
mov r8d, ecx
and r8b, 0xc1
or r8b, dl
xor al, 0x41
and cl, 0x3e
or cl, al
not cl
add cl, cl
add cl, r8b
xchg byte [0x14056bba4], cl
lea rax, [0x14056bba0]
jmp 0x1401965f7
movzx eax, byte [0x14056bc46]
mov ecx, dword [0x1405d0cd4]
cmp ecx, 0x40
jl 0x140196594
nop
movzx eax, byte [0x14056bc46]
mov eax, dword [0x1405d0cd4]
cmp eax, 0x53
jge 0x140196580
jmp 0x14019656d
cmp al, 0x5a
je 0x1401965f0
mov cl, 0xd9
nop word [rax + rax]
mov al, 0x72
lock cmpxchg byte [0x14056bc46], cl
je 0x1401965b2
cmp al, 0x5a
jne 0x1401965a0
jmp 0x1401965f0
xor eax, eax
lea rcx, [0x14056bc40]
lea rdx, [0x14048ee30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x1401965e8
inc rax
jmp 0x1401965d0
mov al, 0x5a
xchg byte [0x14056bc46], al
lea rax, [0x14056bc40]
pop rdi
pop rsi
ret
movzx eax, byte [0x14056bb0f]
xor ecx, ecx
test cl, cl
je 0x140196610
movzx eax, byte [0x14056bb0f]
jmp 0x1401965fa
cmp al, 0x77
je 0x140196725
mov cl, 0x75
lea rdx, [fcn.140196400]
lea eax, [rdx + rdx]
add eax, 0x820
mov r9d, eax
not r9d
lea r8d, [rdx + rdx]
add r8d, 0x821
and eax, r9d
or r8d, r9d
or r8d, eax
not r8d
mov r9d, 0x65e365cc
mov r10d, 0x65e365cd
nop word cs:[rax + rax]
mov al, 0x4b
lock cmpxchg byte [0x14056bb0f], cl
je 0x1401966ad
mov r11d, dword [0x14056d0b8]
add r11d, r9d
cmp r8d, r11d
mov r11d, dword [0x14056d0b8]
add r11d, r10d
lea esi, [rdx + rdx]
add esi, 0x4c80
xor esi, r11d
mov edi, r11d
not edi
xor r11d, edi
and r11d, esi
xor r11d, edi
and edi, esi
or edi, r11d
cmp edi, 0xffffffff
jne 0x140196679
cmp al, 0x77
jne 0x140196660
jmp 0x140196725
xor edx, edx
lea rax, [0x14056bae0]
lea rcx, [0x14048ecd0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, dword [0x14056d0b8]
add edx, r8d
add edx, 0x65e365cd
cmp edx, 0x2f
jl 0x1401966c0
mov al, 1
test al, al
je 0x14019671b
movzx eax, byte [0x14056d0c8]
add al, 0xf6
xchg byte [0x14056bb0f], al
mov eax, dword [0x1405d0cd0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x140196725
mov al, 0x77
xchg byte [0x14056bb0f], al
jmp 0x1401966fb
lea rax, [0x14056bae0]
jmp 0x1401965f7
movzx eax, byte [0x14056bd43]
xor ecx, ecx
test cl, cl
je 0x140196747
movzx eax, byte [0x14056bd43]
jmp 0x140196731
cmp al, 0x7c
je 0x140196803
xor ecx, ecx
nop word cs:[rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x14056bd43], cl
je 0x140196780
cmp al, 0x7c
jne 0x140196760
jmp 0x140196803
mov eax, dword [0x1405d0cd0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14019679c
mov eax, dword [0x1405d0cd4]
cmp eax, 0x3e
jge 0x140196780
cmp dword [0x14056d0b8], 0x9a1c9a34
jne 0x140196791
xor edx, edx
lea rax, [0x14056bd20]
lea rcx, [0x14048ef10]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
add edx, 0x1b7dcb36
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
add edx, 0xe48234ca
cmp edx, 0x23
jl 0x1401967c0
mov al, 0x7c
xchg byte [0x14056bd43], al
lea rax, [0x14056bd20]
jmp 0x1401965f7