Function at 0x1401f3c60
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, dword [rsp + 0x60]
test ecx, ecx
je 0x1401f3cb9
test edx, edx
je 0x1401f3d09
test r8d, r8d
je 0x1401f3d49
test r9d, r9d
je 0x1401f3dc9
movzx eax, byte [0x140457f23]
cmp al, 0xbc
je 0x1401f3f69
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x140457f23], cl
je 0x1401f3f39
cmp al, 0xbc
jne 0x1401f3ca0
jmp 0x1401f3f69
test edx, edx
je 0x1401f3d89
test r8d, r8d
je 0x1401f3df9
test r9d, r9d
je 0x1401f3e79
movzx eax, byte [0x140457eb5]
cmp al, 0xe
je 0x1401f4009
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x140457eb5], cl
je 0x1401f3fd9
cmp al, 0xe
jne 0x1401f3cf0
jmp 0x1401f4009
test r8d, r8d
je 0x1401f3e39
test r9d, r9d
je 0x1401f3ea9
movzx eax, byte [0x140457ef0]
cmp al, 0x71
je 0x1401f4049
mov cl, 0x5a
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x140457ef0], cl
je 0x1401f4015
cmp al, 0x71
jne 0x1401f3d30
jmp 0x1401f4049
test r9d, r9d
je 0x1401f3ed9
movzx eax, byte [0x140457f59]
cmp al, 0xf4
je 0x1401f40d9
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x140457f59], cl
je 0x1401f4055
cmp al, 0xf4
jne 0x1401f3d70
jmp 0x1401f40d9
test r8d, r8d
je 0x1401f3f09
movzx eax, byte [0x14045815d]
cmp al, 0x84
je 0x1401f4159
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x14045815d], cl
je 0x1401f4125
cmp al, 0x84
jne 0x1401f3db0
jmp 0x1401f4159
movzx eax, byte [0x1404581cc]
cmp al, 0x91
je 0x1401f4119
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x1404581cc], cl
je 0x1401f40e5
cmp al, 0x91
jne 0x1401f3de0
jmp 0x1401f4119
test r9d, r9d
je 0x1401f3f75
movzx eax, byte [0x140457f5a]
cmp al, 0xe2
je 0x1401f41e9
mov cl, 0xa
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x140457f5a], cl
je 0x1401f4165
cmp al, 0xe2
jne 0x1401f3e20
jmp 0x1401f41e9
test r9d, r9d
je 0x1401f3fa9
movzx eax, byte [0x140457e84]
cmp al, 0xfa
je 0x1401f4229
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xff
lock cmpxchg byte [0x140457e84], cl
je 0x1401f41f5
cmp al, 0xfa
jne 0x1401f3e60
jmp 0x1401f4229
movzx eax, byte [0x140457f85]
cmp al, 0xc1
je 0x1401f4269
mov cl, 0xd4
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x140457f85], cl
je 0x1401f4235
cmp al, 0xc1
jne 0x1401f3e90
jmp 0x1401f4269
movzx eax, byte [0x140458003]
cmp al, 0x28
je 0x1401f42a9
mov cl, 0xed
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x140458003], cl
je 0x1401f4275
cmp al, 0x28
jne 0x1401f3ec0
jmp 0x1401f42a9
movzx eax, byte [0x140457da2]
cmp al, 0x9b
je 0x1401f42e9
mov cl, 0x34
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x140457da2], cl
je 0x1401f42b5
cmp al, 0x9b
jne 0x1401f3ef0
jmp 0x1401f42e9
movzx eax, byte [0x140457e92]
cmp al, 0xba
je 0x1401f4329
mov cl, 0xce
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x140457e92], cl
je 0x1401f42f5
cmp al, 0xba
jne 0x1401f3f20
jmp 0x1401f4329
xor eax, eax
lea rcx, [0x140457f20]
lea rdx, [0x14036c920]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f3f50
mov al, 0xbc
xchg byte [0x140457f23], al
lea rax, [0x140457f20]
jmp 0x1401f43b0
movzx eax, byte [0x140458043]
cmp al, 0x26
je 0x1401f4369
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x140458043], cl
je 0x1401f4332
cmp al, 0x26
jne 0x1401f3f90
jmp 0x1401f4369
movzx eax, byte [0x1404580e2]
cmp al, 0xe9
je 0x1401f43a9
mov cl, 0x79
nop word [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x1404580e2], cl
je 0x1401f4372
cmp al, 0xe9
jne 0x1401f3fc0
jmp 0x1401f43a9
xor eax, eax
lea rcx, [0x140457ea0]
lea rdx, [0x14036c8c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f3ff0
mov al, 0xe
xchg byte [0x140457eb5], al
lea rax, [0x140457ea0]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140457ee0]
lea rdx, [0x14036c900]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401f4030
mov al, 0x71
xchg byte [0x140457ef0], al
lea rax, [0x140457ee0]
jmp 0x1401f43b0
cmp qword [0x140491810], 0
jne 0x1401f40af
mov r9d, esi
xor r9d, 0xd0cfae47
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.1401f3c20
mov rdi, rax
mov qword [0x140491810], rax
xor esi, 0x5823a6b
lea rcx, [0x1401f3770]
mov edx, esi
call fcn.1400db710
lea rax, [0x14036c960]
nop
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401f40a0
mov rax, qword [0x140491810]
xor ecx, ecx
lea rdx, [0x14036c970]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f40c0
mov al, 0xf4
xchg byte [0x140457f59], al
mov rax, qword [0x140491810]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x1404581c0]
lea rdx, [0x14036cc00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1401f4100
mov al, 0x91
xchg byte [0x1404581cc], al
lea rax, [0x1404581c0]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140458150]
lea rdx, [0x14036cb90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f4140
mov al, 0x84
xchg byte [0x14045815d], al
lea rax, [0x140458150]
jmp 0x1401f43b0
cmp qword [0x140491818], 0
jne 0x1401f41be
mov r9d, esi
xor r9d, 0x5bc0423
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.1401f3c20
mov rdi, rax
mov qword [0x140491818], rax
xor esi, 0xd0f1900f
lea rcx, [0x1401f3790]
mov edx, esi
call fcn.1400db710
lea rax, [0x14036c980]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401f41af
mov rax, qword [0x140491818]
xor ecx, ecx
lea rdx, [0x14036c990]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f41d0
mov al, 0xe2
xchg byte [0x140457f5a], al
mov rax, qword [0x140491818]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140457e80]
lea rdx, [0x14036c8a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1401f4210
mov al, 0xfa
xchg byte [0x140457e84], al
lea rax, [0x140457e80]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140457f70]
lea rdx, [0x14036c9b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f4250
mov al, 0xc1
xchg byte [0x140457f85], al
lea rax, [0x140457f70]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140458000]
lea rdx, [0x14036ca40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f4290
mov al, 0x28
xchg byte [0x140458003], al
lea rax, [0x140458000]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140457da0]
lea rdx, [0x14036c7f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f42d0
mov al, 0x9b
xchg byte [0x140457da2], al
lea rax, [0x140457da0]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140457e90]
lea rdx, [0x14036c8b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f4310
mov al, 0xba
xchg byte [0x140457e92], al
lea rax, [0x140457e90]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x140458040]
lea rdx, [0x14036ca80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f4350
mov al, 0x26
xchg byte [0x140458043], al
lea rax, [0x140458040]
jmp 0x1401f43b0
xor eax, eax
lea rcx, [0x1404580e0]
lea rdx, [0x14036cb20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f4390
mov al, 0xe9
xchg byte [0x1404580e2], al
lea rax, [0x1404580e0]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret