Function at 0x1401bad00
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x1401bad59
test edx, edx
je 0x1401bada9
test r8d, r8d
je 0x1401bade9
movzx eax, byte [0x140439d78]
cmp al, 7
je 0x1401baf19
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x140439d78], cl
je 0x1401baee9
cmp al, 7
jne 0x1401bad40
jmp 0x1401baf19
test edx, edx
je 0x1401bae29
test r8d, r8d
je 0x1401bae69
test r9d, r9d
je 0x1401baf25
movzx eax, byte [0x140439cb3]
cmp al, 0xd2
je 0x1401bb0b9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x19
lock cmpxchg byte [0x140439cb3], cl
je 0x1401bb089
cmp al, 0xd2
jne 0x1401bad90
jmp 0x1401bb0b9
test r8d, r8d
je 0x1401baea9
test r9d, r9d
je 0x1401baf59
movzx eax, byte [0x140439d5d]
cmp al, 0x51
je 0x1401bb0f9
mov cl, 0xfe
nop dword [rax]
mov al, 0x6a
lock cmpxchg byte [0x140439d5d], cl
je 0x1401bb0c5
cmp al, 0x51
jne 0x1401badd0
jmp 0x1401bb0f9
test r9d, r9d
je 0x1401baf89
movzx eax, byte [0x140439bbd]
cmp al, 0x1f
je 0x1401bb139
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x140439bbd], cl
je 0x1401bb105
cmp al, 0x1f
jne 0x1401bae10
jmp 0x1401bb139
test r8d, r8d
je 0x1401bafb9
test r9d, r9d
je 0x1401baff9
movzx eax, byte [0x140439a4d]
cmp al, 0xff
je 0x1401bb199
mov cl, 0xe9
nop dword [rax]
mov al, 0xaf
lock cmpxchg byte [0x140439a4d], cl
je 0x1401bb16f
cmp al, 0xff
jne 0x1401bae50
jmp 0x1401bb199
test r9d, r9d
je 0x1401bb029
movzx eax, byte [0x1404394e9]
cmp al, 0x45
je 0x1401bb239
mov cl, 0x57
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x1404394e9], cl
je 0x1401bb1a5
cmp al, 0x45
jne 0x1401bae90
jmp 0x1401bb239
test r9d, r9d
je 0x1401bb059
movzx eax, byte [0x1404399fd]
cmp al, 0xba
je 0x1401bb279
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x1404399fd], cl
je 0x1401bb245
cmp al, 0xba
jne 0x1401baed0
jmp 0x1401bb279
xor eax, eax
lea rcx, [0x140439d60]
lea rdx, [0x14035b120]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401baf00
mov al, 7
xchg byte [0x140439d78], al
lea rax, [0x140439d60]
jmp 0x1401bb4d2
movzx eax, byte [0x140439bcf]
cmp al, 0xc9
je 0x1401bb2b9
mov cl, 0x51
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x140439bcf], cl
je 0x1401bb285
cmp al, 0xc9
jne 0x1401baf40
jmp 0x1401bb2b9
movzx eax, byte [0x140439369]
cmp al, 0x3d
je 0x1401bb359
mov cl, 0xb0
nop word [rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x140439369], cl
je 0x1401bb2c5
cmp al, 0x3d
jne 0x1401baf70
jmp 0x1401bb359
movzx eax, byte [0x140439afd]
cmp al, 0xc9
je 0x1401bb399
mov cl, 3
nop word [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x140439afd], cl
je 0x1401bb365
cmp al, 0xc9
jne 0x1401bafa0
jmp 0x1401bb399
test r9d, r9d
je 0x1401bb145
movzx eax, byte [0x140439991]
cmp al, 0x5c
je 0x1401bb3d9
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x140439991], cl
je 0x1401bb3a5
cmp al, 0x5c
jne 0x1401bafe0
jmp 0x1401bb3d9
movzx eax, byte [0x140439ccd]
cmp al, 0x8b
je 0x1401bb419
mov cl, 0xef
nop word [rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x140439ccd], cl
je 0x1401bb3e5
cmp al, 0x8b
jne 0x1401bb010
jmp 0x1401bb419
movzx eax, byte [0x140439dfe]
cmp al, 0xe2
je 0x1401bb459
mov cl, 0x94
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x140439dfe], cl
je 0x1401bb425
cmp al, 0xe2
jne 0x1401bb040
jmp 0x1401bb459
movzx eax, byte [0x140439bea]
cmp al, 0x73
je 0x1401bb499
mov cl, 0x5e
nop word [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x140439bea], cl
je 0x1401bb462
cmp al, 0x73
jne 0x1401bb070
jmp 0x1401bb499
xor eax, eax
lea rcx, [0x140439ca0]
lea rdx, [0x14035b090]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x1401bb0a0
mov al, 0xd2
xchg byte [0x140439cb3], al
lea rax, [0x140439ca0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439d50]
lea rdx, [0x14035b110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb0e0
mov al, 0x51
xchg byte [0x140439d5d], al
lea rax, [0x140439d50]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439bb0]
lea rdx, [0x14035afa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb120
mov al, 0x1f
xchg byte [0x140439bbd], al
lea rax, [0x140439bb0]
jmp 0x1401bb4d2
movzx eax, byte [0x14043984d]
cmp al, 0x38
je 0x1401bb4cb
mov cl, 0xe8
mov al, 0xaa
lock cmpxchg byte [0x14043984d], cl
je 0x1401bb4a2
cmp al, 0x38
jne 0x1401bb156
jmp 0x1401bb4cb
xor eax, eax
lea rcx, [0x140439a40]
lea rdx, [0x14035ae30]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb180
mov al, 0xff
xchg byte [0x140439a4d], al
lea rax, [0x140439a40]
jmp 0x1401bb4d2
cmp qword [0x140477fe0], 0
jne 0x1401bb20b
mov eax, esi
xor eax, 0x4c4f5b26
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xc
xor r9d, r9d
call fcn.1401b80f0
mov rdi, rax
mov qword [0x140477fe0], rax
xor esi, 0xd06f8a7b
lea rcx, [0x1401b8070]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x14035a860]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xa
jle 0x1401bb1fc
mov rax, qword [0x140477fe0]
xor ecx, ecx
lea rdx, [0x14035a870]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xb
jl 0x1401bb220
mov al, 0x45
xchg byte [0x1404394e9], al
mov rax, qword [0x140477fe0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x1404399f0]
lea rdx, [0x14035ade0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb260
mov al, 0xba
xchg byte [0x1404399fd], al
lea rax, [0x1404399f0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439bc0]
lea rdx, [0x14035afb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401bb2a0
mov al, 0xc9
xchg byte [0x140439bcf], al
lea rax, [0x140439bc0]
jmp 0x1401bb4d2
cmp qword [0x140477fa8], 0
jne 0x1401bb32b
mov eax, esi
xor eax, 0xd7f045e
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.1401b80f0
mov rdi, rax
mov qword [0x140477fa8], rax
xor esi, 0x915fd503
lea rcx, [0x1401b7f90]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x14035a5a0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401bb31c
mov rax, qword [0x140477fa8]
xor ecx, ecx
lea rdx, [0x14035a5b0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401bb340
mov al, 0x3d
xchg byte [0x140439369], al
mov rax, qword [0x140477fa8]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439af0]
lea rdx, [0x14035aee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb380
mov al, 0xc9
xchg byte [0x140439afd], al
lea rax, [0x140439af0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439980]
lea rdx, [0x14035ad70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401bb3c0
mov al, 0x5c
xchg byte [0x140439991], al
lea rax, [0x140439980]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439cc0]
lea rdx, [0x14035b0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb400
mov al, 0x8b
xchg byte [0x140439ccd], al
lea rax, [0x140439cc0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439df0]
lea rdx, [0x14035b1b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401bb440
mov al, 0xe2
xchg byte [0x140439dfe], al
lea rax, [0x140439df0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439be0]
lea rdx, [0x14035afd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401bb480
mov al, 0x73
xchg byte [0x140439bea], al
lea rax, [0x140439be0]
jmp 0x1401bb4d2
xor eax, eax
lea rcx, [0x140439840]
lea rdx, [0x14035ac40]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401bb4b2
mov al, 0x38
xchg byte [0x14043984d], al
lea rax, [0x140439840]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret