Function at 0x140146440
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x140146489
test edx, edx
je 0x1401464c9
test r8d, r8d
je 0x140146509
movzx eax, byte [0x14044407e]
cmp al, 0xf9
je 0x140146609
mov cl, 0x41
nop dword [rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x14044407e], cl
je 0x1401465d9
cmp al, 0xf9
jne 0x140146470
jmp 0x140146609
test edx, edx
je 0x140146539
test r8d, r8d
je 0x140146579
movzx eax, byte [0x140443fa6]
cmp al, 8
je 0x140146679
mov cl, 0x94
nop dword [rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x140443fa6], cl
je 0x140146649
cmp al, 8
jne 0x1401464b0
jmp 0x140146679
test r8d, r8d
je 0x1401465a9
movzx eax, byte [0x140444041]
cmp al, 0x9a
je 0x1401466b9
mov cl, 0xb5
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x140444041], cl
je 0x140146685
cmp al, 0x9a
jne 0x1401464f0
jmp 0x1401466b9
movzx eax, byte [0x140443d70]
cmp al, 0xeb
je 0x140146749
mov esi, r9d
mov cl, 0x11
nop dword [rax]
mov al, 0x9f
lock cmpxchg byte [0x140443d70], cl
je 0x1401466c5
cmp al, 0xeb
jne 0x140146520
jmp 0x140146749
test r8d, r8d
je 0x140146615
movzx eax, byte [0x140443e6f]
cmp al, 0xca
je 0x140146789
mov cl, 0x43
nop word cs:[rax + rax]
mov al, 0x91
lock cmpxchg byte [0x140443e6f], cl
je 0x140146755
cmp al, 0xca
jne 0x140146560
jmp 0x140146789
movzx eax, byte [0x140443f99]
cmp al, 0x31
je 0x1401467c9
mov cl, 0x73
nop word [rax + rax]
mov al, 0x19
lock cmpxchg byte [0x140443f99], cl
je 0x140146795
cmp al, 0x31
jne 0x140146590
jmp 0x1401467c9
movzx eax, byte [0x140443f7d]
cmp al, 0xb7
je 0x140146809
mov cl, 6
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x140443f7d], cl
je 0x1401467d2
cmp al, 0xb7
jne 0x1401465c0
jmp 0x140146809
xor eax, eax
lea rcx, [0x140444070]
lea rdx, [0x140362ac0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401465f0
mov al, 0xf9
xchg byte [0x14044407e], al
lea rax, [0x140444070]
jmp 0x140146850
movzx eax, byte [0x1404441df]
cmp al, 0x78
je 0x140146849
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x1404441df], cl
je 0x140146812
cmp al, 0x78
jne 0x140146630
jmp 0x140146849
xor eax, eax
lea rcx, [0x140443fa0]
lea rdx, [0x140362a00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140146660
mov al, 8
xchg byte [0x140443fa6], al
lea rax, [0x140443fa0]
jmp 0x140146850
xor eax, eax
lea rcx, [0x140444030]
lea rdx, [0x140362a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401466a0
mov al, 0x9a
xchg byte [0x140444041], al
lea rax, [0x140444030]
jmp 0x140146850
cmp qword [0x140490878], 0
jne 0x14014671f
mov edx, esi
xor edx, 0xfb328f0d
mov ecx, 0x21
call fcn.1400e2480
mov rdi, rax
mov qword [0x140490878], rax
xor esi, 0x181d739e
lea rcx, [0x140145d20]
mov edx, esi
call fcn.1400db710
xor eax, eax
lea rcx, [0x1403627b0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 0x1f
jle 0x140146710
mov rax, qword [0x140490878]
xor ecx, ecx
lea rdx, [0x1403627d0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x20
jl 0x140146730
mov al, 0xeb
xchg byte [0x140443d70], al
mov rax, qword [0x140490878]
jmp 0x140146850
xor eax, eax
lea rcx, [0x140443e40]
lea rdx, [0x1403628a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2f
jl 0x140146770
mov al, 0xca
xchg byte [0x140443e6f], al
lea rax, [0x140443e40]
jmp 0x140146850
xor eax, eax
lea rcx, [0x140443f90]
lea rdx, [0x1403629f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401467b0
mov al, 0x31
xchg byte [0x140443f99], al
lea rax, [0x140443f90]
jmp 0x140146850
xor eax, eax
lea rcx, [0x140443f70]
lea rdx, [0x1403629d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401467f0
mov al, 0xb7
xchg byte [0x140443f7d], al
lea rax, [0x140443f70]
jmp 0x140146850
xor eax, eax
lea rcx, [0x1404441d0]
lea rdx, [0x140362c20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140146830
mov al, 0x78
xchg byte [0x1404441df], al
lea rax, [0x1404441d0]
add rsp, 0x28
pop rdi
pop rsi
ret