Function at 0x140223550
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, dword [rsp + 0x60]
test ecx, ecx
je 0x1402235a9
test edx, edx
je 0x1402235f9
test r8d, r8d
je 0x140223639
test r9d, r9d
je 0x1402236b9
movzx eax, byte [0x140486813]
cmp al, 0xbc
je 0x140223859
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x140486813], cl
je 0x140223829
cmp al, 0xbc
jne 0x140223590
jmp 0x140223859
test edx, edx
je 0x140223679
test r8d, r8d
je 0x1402236e9
test r9d, r9d
je 0x140223769
movzx eax, byte [0x1404867a5]
cmp al, 0xe
je 0x1402238f9
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x1404867a5], cl
je 0x1402238c9
cmp al, 0xe
jne 0x1402235e0
jmp 0x1402238f9
test r8d, r8d
je 0x140223729
test r9d, r9d
je 0x140223799
movzx eax, byte [0x1404867e0]
cmp al, 0x71
je 0x140223939
mov cl, 0x5a
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x1404867e0], cl
je 0x140223905
cmp al, 0x71
jne 0x140223620
jmp 0x140223939
test r9d, r9d
je 0x1402237c9
movzx eax, byte [0x140486849]
cmp al, 0xf4
je 0x1402239c9
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x140486849], cl
je 0x140223945
cmp al, 0xf4
jne 0x140223660
jmp 0x1402239c9
test r8d, r8d
je 0x1402237f9
movzx eax, byte [0x140486a4d]
cmp al, 0x84
je 0x140223a49
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x140486a4d], cl
je 0x140223a15
cmp al, 0x84
jne 0x1402236a0
jmp 0x140223a49
movzx eax, byte [0x140486abc]
cmp al, 0x91
je 0x140223a09
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x140486abc], cl
je 0x1402239d5
cmp al, 0x91
jne 0x1402236d0
jmp 0x140223a09
test r9d, r9d
je 0x140223865
movzx eax, byte [0x14048684a]
cmp al, 0xe2
je 0x140223ad9
mov cl, 0xa
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x14048684a], cl
je 0x140223a55
cmp al, 0xe2
jne 0x140223710
jmp 0x140223ad9
test r9d, r9d
je 0x140223899
movzx eax, byte [0x140486774]
cmp al, 0xfa
je 0x140223b19
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xff
lock cmpxchg byte [0x140486774], cl
je 0x140223ae5
cmp al, 0xfa
jne 0x140223750
jmp 0x140223b19
movzx eax, byte [0x140486875]
cmp al, 0xc1
je 0x140223b59
mov cl, 0xd4
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x140486875], cl
je 0x140223b25
cmp al, 0xc1
jne 0x140223780
jmp 0x140223b59
movzx eax, byte [0x1404868f3]
cmp al, 0x28
je 0x140223b99
mov cl, 0xed
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x1404868f3], cl
je 0x140223b65
cmp al, 0x28
jne 0x1402237b0
jmp 0x140223b99
movzx eax, byte [0x140486692]
cmp al, 0x9b
je 0x140223bd9
mov cl, 0x34
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x140486692], cl
je 0x140223ba5
cmp al, 0x9b
jne 0x1402237e0
jmp 0x140223bd9
movzx eax, byte [0x140486782]
cmp al, 0xba
je 0x140223c19
mov cl, 0xce
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x140486782], cl
je 0x140223be5
cmp al, 0xba
jne 0x140223810
jmp 0x140223c19
xor eax, eax
lea rcx, [0x140486810]
lea rdx, [0x14039b940]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140223840
mov al, 0xbc
xchg byte [0x140486813], al
lea rax, [0x140486810]
jmp 0x140223ca0
movzx eax, byte [0x140486933]
cmp al, 0x26
je 0x140223c59
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x140486933], cl
je 0x140223c22
cmp al, 0x26
jne 0x140223880
jmp 0x140223c59
movzx eax, byte [0x1404869d2]
cmp al, 0xe9
je 0x140223c99
mov cl, 0x79
nop word [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x1404869d2], cl
je 0x140223c62
cmp al, 0xe9
jne 0x1402238b0
jmp 0x140223c99
xor eax, eax
lea rcx, [0x140486790]
lea rdx, [0x14039b8e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1402238e0
mov al, 0xe
xchg byte [0x1404867a5], al
lea rax, [0x140486790]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x1404867d0]
lea rdx, [0x14039b920]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140223920
mov al, 0x71
xchg byte [0x1404867e0], al
lea rax, [0x1404867d0]
jmp 0x140223ca0
cmp qword [0x1404c00e8], 0
jne 0x14022399f
mov r9d, esi
xor r9d, 0xd0cfae47
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.140223510
mov rdi, rax
mov qword [0x1404c00e8], rax
xor esi, 0x5823a6b
lea rcx, [0x140223060]
mov edx, esi
call fcn.1401099f0
lea rax, [0x14039b980]
nop
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x140223990
mov rax, qword [0x1404c00e8]
xor ecx, ecx
lea rdx, [0x14039b990]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1402239b0
mov al, 0xf4
xchg byte [0x140486849], al
mov rax, qword [0x1404c00e8]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486ab0]
lea rdx, [0x14039bc20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1402239f0
mov al, 0x91
xchg byte [0x140486abc], al
lea rax, [0x140486ab0]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486a40]
lea rdx, [0x14039bbb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140223a30
mov al, 0x84
xchg byte [0x140486a4d], al
lea rax, [0x140486a40]
jmp 0x140223ca0
cmp qword [0x1404c00f0], 0
jne 0x140223aae
mov r9d, esi
xor r9d, 0x5bc0423
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.140223510
mov rdi, rax
mov qword [0x1404c00f0], rax
xor esi, 0xd0f1900f
lea rcx, [0x140223080]
mov edx, esi
call fcn.1401099f0
lea rax, [0x14039b9a0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x140223a9f
mov rax, qword [0x1404c00f0]
xor ecx, ecx
lea rdx, [0x14039b9b0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140223ac0
mov al, 0xe2
xchg byte [0x14048684a], al
mov rax, qword [0x1404c00f0]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486770]
lea rdx, [0x14039b8c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140223b00
mov al, 0xfa
xchg byte [0x140486774], al
lea rax, [0x140486770]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486860]
lea rdx, [0x14039b9d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140223b40
mov al, 0xc1
xchg byte [0x140486875], al
lea rax, [0x140486860]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x1404868f0]
lea rdx, [0x14039ba60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140223b80
mov al, 0x28
xchg byte [0x1404868f3], al
lea rax, [0x1404868f0]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486690]
lea rdx, [0x14039b810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140223bc0
mov al, 0x9b
xchg byte [0x140486692], al
lea rax, [0x140486690]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486780]
lea rdx, [0x14039b8d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140223c00
mov al, 0xba
xchg byte [0x140486782], al
lea rax, [0x140486780]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x140486930]
lea rdx, [0x14039baa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140223c40
mov al, 0x26
xchg byte [0x140486933], al
lea rax, [0x140486930]
jmp 0x140223ca0
xor eax, eax
lea rcx, [0x1404869d0]
lea rdx, [0x14039bb40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140223c80
mov al, 0xe9
xchg byte [0x1404869d2], al
lea rax, [0x1404869d0]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret