Function at 0x1401f2170
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, dword [rsp + 0x60]
test ecx, ecx
je 0x1401f21c9
test edx, edx
je 0x1401f2219
test r8d, r8d
je 0x1401f2259
test r9d, r9d
je 0x1401f22d9
movzx eax, byte [0x140440293]
cmp al, 0xbc
je 0x1401f2479
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x140440293], cl
je 0x1401f2449
cmp al, 0xbc
jne 0x1401f21b0
jmp 0x1401f2479
test edx, edx
je 0x1401f2299
test r8d, r8d
je 0x1401f2309
test r9d, r9d
je 0x1401f2389
movzx eax, byte [0x140440225]
cmp al, 0xe
je 0x1401f2519
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x140440225], cl
je 0x1401f24e9
cmp al, 0xe
jne 0x1401f2200
jmp 0x1401f2519
test r8d, r8d
je 0x1401f2349
test r9d, r9d
je 0x1401f23b9
movzx eax, byte [0x140440260]
cmp al, 0x71
je 0x1401f2559
mov cl, 0x5a
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x140440260], cl
je 0x1401f2525
cmp al, 0x71
jne 0x1401f2240
jmp 0x1401f2559
test r9d, r9d
je 0x1401f23e9
movzx eax, byte [0x1404402c9]
cmp al, 0xf4
je 0x1401f25e9
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404402c9], cl
je 0x1401f2565
cmp al, 0xf4
jne 0x1401f2280
jmp 0x1401f25e9
test r8d, r8d
je 0x1401f2419
movzx eax, byte [0x1404404cd]
cmp al, 0x84
je 0x1401f2669
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404404cd], cl
je 0x1401f2635
cmp al, 0x84
jne 0x1401f22c0
jmp 0x1401f2669
movzx eax, byte [0x14044053c]
cmp al, 0x91
je 0x1401f2629
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x14044053c], cl
je 0x1401f25f5
cmp al, 0x91
jne 0x1401f22f0
jmp 0x1401f2629
test r9d, r9d
je 0x1401f2485
movzx eax, byte [0x1404402ca]
cmp al, 0xe2
je 0x1401f26f9
mov cl, 0xa
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x1404402ca], cl
je 0x1401f2675
cmp al, 0xe2
jne 0x1401f2330
jmp 0x1401f26f9
test r9d, r9d
je 0x1401f24b9
movzx eax, byte [0x1404401f4]
cmp al, 0xfa
je 0x1401f2739
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xff
lock cmpxchg byte [0x1404401f4], cl
je 0x1401f2705
cmp al, 0xfa
jne 0x1401f2370
jmp 0x1401f2739
movzx eax, byte [0x1404402f5]
cmp al, 0xc1
je 0x1401f2779
mov cl, 0xd4
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x1404402f5], cl
je 0x1401f2745
cmp al, 0xc1
jne 0x1401f23a0
jmp 0x1401f2779
movzx eax, byte [0x140440373]
cmp al, 0x28
je 0x1401f27b9
mov cl, 0xed
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x140440373], cl
je 0x1401f2785
cmp al, 0x28
jne 0x1401f23d0
jmp 0x1401f27b9
movzx eax, byte [0x140440112]
cmp al, 0x9b
je 0x1401f27f9
mov cl, 0x34
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x140440112], cl
je 0x1401f27c5
cmp al, 0x9b
jne 0x1401f2400
jmp 0x1401f27f9
movzx eax, byte [0x140440202]
cmp al, 0xba
je 0x1401f2839
mov cl, 0xce
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x140440202], cl
je 0x1401f2805
cmp al, 0xba
jne 0x1401f2430
jmp 0x1401f2839
xor eax, eax
lea rcx, [0x140440290]
lea rdx, [0x1403606f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f2460
mov al, 0xbc
xchg byte [0x140440293], al
lea rax, [0x140440290]
jmp 0x1401f28c0
movzx eax, byte [0x1404403b3]
cmp al, 0x26
je 0x1401f2879
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x1404403b3], cl
je 0x1401f2842
cmp al, 0x26
jne 0x1401f24a0
jmp 0x1401f2879
movzx eax, byte [0x140440452]
cmp al, 0xe9
je 0x1401f28b9
mov cl, 0x79
nop word [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x140440452], cl
je 0x1401f2882
cmp al, 0xe9
jne 0x1401f24d0
jmp 0x1401f28b9
xor eax, eax
lea rcx, [0x140440210]
lea rdx, [0x140360690]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f2500
mov al, 0xe
xchg byte [0x140440225], al
lea rax, [0x140440210]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440250]
lea rdx, [0x1403606d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401f2540
mov al, 0x71
xchg byte [0x140440260], al
lea rax, [0x140440250]
jmp 0x1401f28c0
cmp qword [0x140478958], 0
jne 0x1401f25bf
mov r9d, esi
xor r9d, 0xd0cfae47
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.1401f2130
mov rdi, rax
mov qword [0x140478958], rax
xor esi, 0x5823a6b
lea rcx, [0x1401f1c80]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x140360730]
nop
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401f25b0
mov rax, qword [0x140478958]
xor ecx, ecx
lea rdx, [0x140360740]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f25d0
mov al, 0xf4
xchg byte [0x1404402c9], al
mov rax, qword [0x140478958]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440530]
lea rdx, [0x1403609d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1401f2610
mov al, 0x91
xchg byte [0x14044053c], al
lea rax, [0x140440530]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x1404404c0]
lea rdx, [0x140360960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f2650
mov al, 0x84
xchg byte [0x1404404cd], al
lea rax, [0x1404404c0]
jmp 0x1401f28c0
cmp qword [0x140478960], 0
jne 0x1401f26ce
mov r9d, esi
xor r9d, 0x5bc0423
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.1401f2130
mov rdi, rax
mov qword [0x140478960], rax
xor esi, 0xd0f1900f
lea rcx, [0x1401f1ca0]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x140360750]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401f26bf
mov rax, qword [0x140478960]
xor ecx, ecx
lea rdx, [0x140360760]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f26e0
mov al, 0xe2
xchg byte [0x1404402ca], al
mov rax, qword [0x140478960]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x1404401f0]
lea rdx, [0x140360670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1401f2720
mov al, 0xfa
xchg byte [0x1404401f4], al
lea rax, [0x1404401f0]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x1404402e0]
lea rdx, [0x140360780]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f2760
mov al, 0xc1
xchg byte [0x1404402f5], al
lea rax, [0x1404402e0]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440370]
lea rdx, [0x140360810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f27a0
mov al, 0x28
xchg byte [0x140440373], al
lea rax, [0x140440370]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440110]
lea rdx, [0x1403605c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f27e0
mov al, 0x9b
xchg byte [0x140440112], al
lea rax, [0x140440110]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440200]
lea rdx, [0x140360680]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f2820
mov al, 0xba
xchg byte [0x140440202], al
lea rax, [0x140440200]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x1404403b0]
lea rdx, [0x140360850]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f2860
mov al, 0x26
xchg byte [0x1404403b3], al
lea rax, [0x1404403b0]
jmp 0x1401f28c0
xor eax, eax
lea rcx, [0x140440450]
lea rdx, [0x1403608f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f28a0
mov al, 0xe9
xchg byte [0x140440452], al
lea rax, [0x140440450]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret