Function at 0x140394550
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov eax, 0x77b42235
add eax, dword [0x14055f650]
cmp ecx, eax
jne 0x1403945ed
test edx, edx
je 0x1403946a7
movzx eax, byte [0x14055e9ed]
cmp al, 0xd3
je 0x1403948a4
lea rax, [fcn.140394550]
lea ecx, [rax + rax]
add ecx, 0x1a0
mov edx, ecx
not edx
mov r8b, 0x12
xor r9d, r9d
nop word [rax + rax]
test edx, ecx
jne 0x1403945e0
nop word cs:[rax + rax]
mov al, 0x11
lock cmpxchg byte [0x14055e9ed], r8b
sete r10b
test r9b, r9b
jne 0x1403945e0
test r10b, r10b
jne 0x140394713
cmp al, 0xd3
jne 0x1403945a0
jmp 0x1403948a4
mov al, 0x11
lock cmpxchg byte [0x14055e9ed], r8b
jmp 0x1403945b0
test edx, edx
je 0x1403946d9
movzx eax, byte [0x14055e8e0]
cmp al, 0x7e
je 0x14039490d
mov bl, 0xdb
lea rsi, [0x140394990]
nop dword [rax]
mov eax, dword [0x140578eac]
cmp eax, 0x15
jg 0x14039465f
nop dword [rax + rax]
mov al, 0xe1
lock cmpxchg byte [0x14055e8e0], bl
mov ecx, eax
sete r8b
mov edx, dword [0x140578ea8]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x14055f650]
mov r9d, edx
xor r9d, 0x77b42237
and edx, 0x77b42237
lea r9d, [r9 + rdx*2]
xor edx, edx
div r9d
test edx, edx
je 0x140394690
mov ecx, 0x12
call fcn.1403d5a14
mov qword [0x140578ea0], rax
mov rcx, rsi
call fcn.1403f5a50
movzx ecx, byte [0x14055f654]
lea eax, [rcx + 0x6a]
add cl, 0x64
lock cmpxchg byte [0x14055e8e0], cl
jmp 0x140394620
test r8b, r8b
jne 0x140394748
cmp cl, 0x7e
jne 0x140394610
jmp 0x14039490d
movzx eax, byte [0x14055e9dd]
cmp al, 0x6b
je 0x140394896
mov cl, 0x33
nop dword [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x14055e9dd], cl
je 0x140394792
cmp al, 0x6b
jne 0x1403946c0
jmp 0x140394896
movzx eax, byte [0x14055e99c]
cmp al, 0x9f
je 0x140394820
mov cl, 0x4d
nop word [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x14055e99c], cl
je 0x1403947e5
movzx edx, byte [0x14055f654]
add dl, 0x28
cmp al, dl
jne 0x1403946f0
jmp 0x140394820
xor eax, eax
lea rcx, [0x14055e9e0]
lea rdx, [0x14045fbb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x14039477e
inc rax
jmp 0x140394730
mov eax, dword [0x14055f650]
mov ecx, eax
xor ecx, 0x77b42236
and eax, 0x77b42236
lea eax, [rcx + rax*2]
lea rcx, [fcn.140394550]
add ecx, ecx
add ecx, 0x6c0
xor eax, ecx
not eax
test eax, ecx
jne 0x140394930
jmp 0x140394916
mov eax, dword [0x140578eac]
cmp eax, 0x16
jl 0x1403948ad
jmp 0x1403948d3
xor edx, edx
lea rax, [0x14055e9d0]
lea rcx, [0x14045fba0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14055f650]
add edx, r8d
add edx, 0x77b42236
add r8d, 0x77b42242
cmp edx, r8d
jl 0x1403947b0
mov eax, dword [0x140578eac]
cmp eax, 0x5e
jge 0x140394830
jmp 0x140394829
xor eax, eax
lea rcx, [0x14055e990]
lea rdx, [0x14045fb60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x140394818
inc rax
jmp 0x140394800
mov al, 0x9f
xchg byte [0x14055e99c], al
lea rax, [0x14055e990]
jmp 0x14039489d
mov al, 1
test al, al
jne 0x14039486c
nop
mov eax, dword [0x140578ea8]
mov ecx, dword [0x14055f650]
lea edx, [rcx + rax]
add edx, 0x884bddca
imul edx, eax
and edx, 1
add ecx, 0x77b42235
cmp edx, ecx
jne 0x140394830
jmp 0x140394829
mov cl, 0x6b
xchg byte [0x14055e9dd], cl
test al, al
jne 0x14039487d
mov ecx, dword [0x140578ea8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140394860
mov cl, 0x6b
xchg byte [0x14055e9dd], cl
mov ecx, dword [0x140578ea8]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x140394860
lea rax, [0x14055e9d0]
add rsp, 0x28
pop rbx
pop rsi
ret
lea rax, [0x14055e9e0]
jmp 0x14039489d
mov al, 0xd3
xchg byte [0x14055e9ed], al
mov eax, 0x77b42236
add eax, dword [0x14055f650]
lea rcx, [fcn.140394550]
add ecx, ecx
add ecx, 0x42a0
test ecx, eax
je 0x1403948a4
mov eax, 0x77b42235
nop dword [rax + rax]
movzx ecx, byte [0x14055f654]
add cl, 0x5c
xchg byte [0x14055e9ed], cl
mov ecx, dword [0x140578ea8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x14055f650]
add ecx, eax
cmp edx, ecx
jne 0x1403948e0
jmp 0x1403948ad
lea rax, [0x14055e8d0]
jmp 0x14039489d
movabs rax, 0x94560660fb01e54e
add rax, qword [0x14055f648]
cmp qword [0x140575e48], rax
jbe 0x14039494b
mov eax, dword [0x14055f650]
mov ecx, eax
xor ecx, 0x77b42235
and eax, 0x77b42235
add eax, eax
add eax, ecx
jne 0x140394930
jmp 0x140394916
xor eax, eax
lea rcx, [0x14055e8d0]
lea rdx, [0x14045fab0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x140394978
inc rax
jmp 0x140394960
mov al, 0x7e
xchg byte [0x14055e8e0], al
jmp 0x14039490d