Function at 0x140250aa0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, dword [rsp + 0x60]
test ecx, ecx
je 0x140250af9
test edx, edx
je 0x140250b49
test r8d, r8d
je 0x140250b89
test r9d, r9d
je 0x140250c09
movzx eax, byte [0x1404b6263]
cmp al, 0xbc
je 0x140250da9
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x1404b6263], cl
je 0x140250d79
cmp al, 0xbc
jne 0x140250ae0
jmp 0x140250da9
test edx, edx
je 0x140250bc9
test r8d, r8d
je 0x140250c39
test r9d, r9d
je 0x140250cb9
movzx eax, byte [0x1404b61f5]
cmp al, 0xe
je 0x140250e49
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x1404b61f5], cl
je 0x140250e19
cmp al, 0xe
jne 0x140250b30
jmp 0x140250e49
test r8d, r8d
je 0x140250c79
test r9d, r9d
je 0x140250ce9
movzx eax, byte [0x1404b6230]
cmp al, 0x71
je 0x140250e89
mov cl, 0x5a
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x1404b6230], cl
je 0x140250e55
cmp al, 0x71
jne 0x140250b70
jmp 0x140250e89
test r9d, r9d
je 0x140250d19
movzx eax, byte [0x1404b6299]
cmp al, 0xf4
je 0x140250f19
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404b6299], cl
je 0x140250e95
cmp al, 0xf4
jne 0x140250bb0
jmp 0x140250f19
test r8d, r8d
je 0x140250d49
movzx eax, byte [0x1404b649d]
cmp al, 0x84
je 0x140250f99
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404b649d], cl
je 0x140250f65
cmp al, 0x84
jne 0x140250bf0
jmp 0x140250f99
movzx eax, byte [0x1404b650c]
cmp al, 0x91
je 0x140250f59
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x1404b650c], cl
je 0x140250f25
cmp al, 0x91
jne 0x140250c20
jmp 0x140250f59
test r9d, r9d
je 0x140250db5
movzx eax, byte [0x1404b629a]
cmp al, 0xe2
je 0x140251029
mov cl, 0xa
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x1404b629a], cl
je 0x140250fa5
cmp al, 0xe2
jne 0x140250c60
jmp 0x140251029
test r9d, r9d
je 0x140250de9
movzx eax, byte [0x1404b61c4]
cmp al, 0xfa
je 0x140251069
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xff
lock cmpxchg byte [0x1404b61c4], cl
je 0x140251035
cmp al, 0xfa
jne 0x140250ca0
jmp 0x140251069
movzx eax, byte [0x1404b62c5]
cmp al, 0xc1
je 0x1402510a9
mov cl, 0xd4
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x1404b62c5], cl
je 0x140251075
cmp al, 0xc1
jne 0x140250cd0
jmp 0x1402510a9
movzx eax, byte [0x1404b6343]
cmp al, 0x28
je 0x1402510e9
mov cl, 0xed
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x1404b6343], cl
je 0x1402510b5
cmp al, 0x28
jne 0x140250d00
jmp 0x1402510e9
movzx eax, byte [0x1404b60e2]
cmp al, 0x9b
je 0x140251129
mov cl, 0x34
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x1404b60e2], cl
je 0x1402510f5
cmp al, 0x9b
jne 0x140250d30
jmp 0x140251129
movzx eax, byte [0x1404b61d2]
cmp al, 0xba
je 0x140251169
mov cl, 0xce
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x1404b61d2], cl
je 0x140251135
cmp al, 0xba
jne 0x140250d60
jmp 0x140251169
xor eax, eax
lea rcx, [0x1404b6260]
lea rdx, [0x1403c9930]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140250d90
mov al, 0xbc
xchg byte [0x1404b6263], al
lea rax, [0x1404b6260]
jmp 0x1402511f0
movzx eax, byte [0x1404b6383]
cmp al, 0x26
je 0x1402511a9
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x1404b6383], cl
je 0x140251172
cmp al, 0x26
jne 0x140250dd0
jmp 0x1402511a9
movzx eax, byte [0x1404b6422]
cmp al, 0xe9
je 0x1402511e9
mov cl, 0x79
nop word [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x1404b6422], cl
je 0x1402511b2
cmp al, 0xe9
jne 0x140250e00
jmp 0x1402511e9
xor eax, eax
lea rcx, [0x1404b61e0]
lea rdx, [0x1403c98d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140250e30
mov al, 0xe
xchg byte [0x1404b61f5], al
lea rax, [0x1404b61e0]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6220]
lea rdx, [0x1403c9910]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140250e70
mov al, 0x71
xchg byte [0x1404b6230], al
lea rax, [0x1404b6220]
jmp 0x1402511f0
cmp qword [0x1404efb28], 0
jne 0x140250eef
mov r9d, esi
xor r9d, 0xd0cfae47
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.140250a60
mov rdi, rax
mov qword [0x1404efb28], rax
xor esi, 0x5823a6b
lea rcx, [0x1402505b0]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403c9970]
nop
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x140250ee0
mov rax, qword [0x1404efb28]
xor ecx, ecx
lea rdx, [0x1403c9980]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140250f00
mov al, 0xf4
xchg byte [0x1404b6299], al
mov rax, qword [0x1404efb28]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6500]
lea rdx, [0x1403c9c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140250f40
mov al, 0x91
xchg byte [0x1404b650c], al
lea rax, [0x1404b6500]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6490]
lea rdx, [0x1403c9ba0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140250f80
mov al, 0x84
xchg byte [0x1404b649d], al
lea rax, [0x1404b6490]
jmp 0x1402511f0
cmp qword [0x1404efb30], 0
jne 0x140250ffe
mov r9d, esi
xor r9d, 0x5bc0423
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.140250a60
mov rdi, rax
mov qword [0x1404efb30], rax
xor esi, 0xd0f1900f
lea rcx, [0x1402505d0]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403c9990]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x140250fef
mov rax, qword [0x1404efb30]
xor ecx, ecx
lea rdx, [0x1403c99a0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140251010
mov al, 0xe2
xchg byte [0x1404b629a], al
mov rax, qword [0x1404efb30]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b61c0]
lea rdx, [0x1403c98b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140251050
mov al, 0xfa
xchg byte [0x1404b61c4], al
lea rax, [0x1404b61c0]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b62b0]
lea rdx, [0x1403c99c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140251090
mov al, 0xc1
xchg byte [0x1404b62c5], al
lea rax, [0x1404b62b0]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6340]
lea rdx, [0x1403c9a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402510d0
mov al, 0x28
xchg byte [0x1404b6343], al
lea rax, [0x1404b6340]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b60e0]
lea rdx, [0x1403c9800]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140251110
mov al, 0x9b
xchg byte [0x1404b60e2], al
lea rax, [0x1404b60e0]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b61d0]
lea rdx, [0x1403c98c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140251150
mov al, 0xba
xchg byte [0x1404b61d2], al
lea rax, [0x1404b61d0]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6380]
lea rdx, [0x1403c9a90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140251190
mov al, 0x26
xchg byte [0x1404b6383], al
lea rax, [0x1404b6380]
jmp 0x1402511f0
xor eax, eax
lea rcx, [0x1404b6420]
lea rdx, [0x1403c9b30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402511d0
mov al, 0xe9
xchg byte [0x1404b6422], al
lea rax, [0x1404b6420]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret