Function at 0x140175810
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x140175859
test edx, edx
je 0x140175899
test r8d, r8d
je 0x1401758d9
movzx eax, byte [0x14047279e]
cmp al, 0xf9
je 0x1401759d9
mov cl, 0x41
nop dword [rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x14047279e], cl
je 0x1401759a9
cmp al, 0xf9
jne 0x140175840
jmp 0x1401759d9
test edx, edx
je 0x140175909
test r8d, r8d
je 0x140175949
movzx eax, byte [0x1404726c6]
cmp al, 8
je 0x140175a49
mov cl, 0x94
nop dword [rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x1404726c6], cl
je 0x140175a19
cmp al, 8
jne 0x140175880
jmp 0x140175a49
test r8d, r8d
je 0x140175979
movzx eax, byte [0x140472761]
cmp al, 0x9a
je 0x140175a89
mov cl, 0xb5
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x140472761], cl
je 0x140175a55
cmp al, 0x9a
jne 0x1401758c0
jmp 0x140175a89
movzx eax, byte [0x140472490]
cmp al, 0xeb
je 0x140175b19
mov esi, r9d
mov cl, 0x11
nop dword [rax]
mov al, 0x9f
lock cmpxchg byte [0x140472490], cl
je 0x140175a95
cmp al, 0xeb
jne 0x1401758f0
jmp 0x140175b19
test r8d, r8d
je 0x1401759e5
movzx eax, byte [0x14047258f]
cmp al, 0xca
je 0x140175b59
mov cl, 0x43
nop word cs:[rax + rax]
mov al, 0x91
lock cmpxchg byte [0x14047258f], cl
je 0x140175b25
cmp al, 0xca
jne 0x140175930
jmp 0x140175b59
movzx eax, byte [0x1404726b9]
cmp al, 0x31
je 0x140175b99
mov cl, 0x73
nop word [rax + rax]
mov al, 0x19
lock cmpxchg byte [0x1404726b9], cl
je 0x140175b65
cmp al, 0x31
jne 0x140175960
jmp 0x140175b99
movzx eax, byte [0x14047269d]
cmp al, 0xb7
je 0x140175bd9
mov cl, 6
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x14047269d], cl
je 0x140175ba2
cmp al, 0xb7
jne 0x140175990
jmp 0x140175bd9
xor eax, eax
lea rcx, [0x140472790]
lea rdx, [0x140391ae0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401759c0
mov al, 0xf9
xchg byte [0x14047279e], al
lea rax, [0x140472790]
jmp 0x140175c20
movzx eax, byte [0x1404728ff]
cmp al, 0x78
je 0x140175c19
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x1404728ff], cl
je 0x140175be2
cmp al, 0x78
jne 0x140175a00
jmp 0x140175c19
xor eax, eax
lea rcx, [0x1404726c0]
lea rdx, [0x140391a20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140175a30
mov al, 8
xchg byte [0x1404726c6], al
lea rax, [0x1404726c0]
jmp 0x140175c20
xor eax, eax
lea rcx, [0x140472750]
lea rdx, [0x140391aa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140175a70
mov al, 0x9a
xchg byte [0x140472761], al
lea rax, [0x140472750]
jmp 0x140175c20
cmp qword [0x1404bf168], 0
jne 0x140175aef
mov edx, esi
xor edx, 0xfb328f0d
mov ecx, 0x21
call fcn.140110900
mov rdi, rax
mov qword [0x1404bf168], rax
xor esi, 0x181d739e
lea rcx, [0x1401750f0]
mov edx, esi
call fcn.1401099f0
xor eax, eax
lea rcx, [0x1403917d0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 0x1f
jle 0x140175ae0
mov rax, qword [0x1404bf168]
xor ecx, ecx
lea rdx, [0x1403917f0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x20
jl 0x140175b00
mov al, 0xeb
xchg byte [0x140472490], al
mov rax, qword [0x1404bf168]
jmp 0x140175c20
xor eax, eax
lea rcx, [0x140472560]
lea rdx, [0x1403918c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2f
jl 0x140175b40
mov al, 0xca
xchg byte [0x14047258f], al
lea rax, [0x140472560]
jmp 0x140175c20
xor eax, eax
lea rcx, [0x1404726b0]
lea rdx, [0x140391a10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140175b80
mov al, 0x31
xchg byte [0x1404726b9], al
lea rax, [0x1404726b0]
jmp 0x140175c20
xor eax, eax
lea rcx, [0x140472690]
lea rdx, [0x1403919f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140175bc0
mov al, 0xb7
xchg byte [0x14047269d], al
lea rax, [0x140472690]
jmp 0x140175c20
xor eax, eax
lea rcx, [0x1404728f0]
lea rdx, [0x140391c40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140175c00
mov al, 0x78
xchg byte [0x1404728ff], al
lea rax, [0x1404728f0]
add rsp, 0x28
pop rdi
pop rsi
ret