Function at 0x1403177e0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14031782c
test edx, edx
je 0x14031787c
test r8d, r8d
je 0x1403178bc
test r9d, r9d
je 0x140317939
movzx eax, byte [0x1404d6d53]
cmp al, 0xd
je 0x140317824
mov cl, 0x1e
nop dword [rax + rax]
mov al, 0x12
lock cmpxchg byte [0x1404d6d53], cl
je 0x140317aa9
cmp al, 0xd
jne 0x140317810
lea rax, [0x1404d6d50]
ret
test edx, edx
je 0x1403178fc
test r8d, r8d
je 0x14031796c
test r9d, r9d
je 0x1403179d9
movzx eax, byte [0x1404d6e5c]
cmp al, 0x71
je 0x140317874
mov cl, 0x7f
nop word cs:[rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x1404d6e5c], cl
je 0x140317b49
cmp al, 0x71
jne 0x140317860
lea rax, [0x1404d6e50]
ret
test r8d, r8d
je 0x14031799c
test r9d, r9d
je 0x140317a09
movzx eax, byte [0x1404d6e4d]
cmp al, 0x2d
je 0x1403178b4
mov cl, 0x85
nop dword [rax + rax]
mov al, 0x65
lock cmpxchg byte [0x1404d6e4d], cl
je 0x140317b81
cmp al, 0x2d
jne 0x1403178a0
lea rax, [0x1404d6e40]
ret
test r9d, r9d
je 0x140317a39
movzx eax, byte [0x1404d6df2]
cmp al, 0x54
je 0x1403178f4
mov cl, 0x1e
nop word cs:[rax + rax]
mov al, 0xcd
lock cmpxchg byte [0x1404d6df2], cl
je 0x140317bc1
cmp al, 0x54
jne 0x1403178e0
lea rax, [0x1404d6df0]
ret
test r8d, r8d
je 0x140317a69
test r9d, r9d
je 0x140317ae1
movzx eax, byte [0x1404d6ca3]
cmp al, 0x61
je 0x140317d19
mov cl, 0x19
nop
mov al, 0x69
lock cmpxchg byte [0x1404d6ca3], cl
je 0x140317ce1
cmp al, 0x61
jne 0x140317920
jmp 0x140317d19
movzx eax, byte [0x1404d6e8d]
cmp al, 0x4c
je 0x140317964
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x1404d6e8d], cl
je 0x140317c01
cmp al, 0x4c
jne 0x140317950
lea rax, [0x1404d6e80]
ret
movzx eax, byte [0x1404d6d9b]
cmp al, 0xdd
je 0x140317994
mov cl, 0x9f
nop dword [rax]
mov al, 0xf7
lock cmpxchg byte [0x1404d6d9b], cl
je 0x140317c41
cmp al, 0xdd
jne 0x140317980
lea rax, [0x1404d6d90]
ret
test r9d, r9d
je 0x140317b19
movzx eax, byte [0x1404d6d83]
cmp al, 0x16
je 0x140317d59
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xe1
lock cmpxchg byte [0x1404d6d83], cl
je 0x140317d21
cmp al, 0x16
jne 0x1403179c0
jmp 0x140317d59
movzx eax, byte [0x1404d6edd]
cmp al, 0x81
je 0x140317d99
mov cl, 0x60
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x1404d6edd], cl
je 0x140317d61
cmp al, 0x81
jne 0x1403179f0
jmp 0x140317d99
movzx eax, byte [0x1404d6e6d]
cmp al, 0x80
je 0x140317dd9
mov cl, 9
nop word [rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x1404d6e6d], cl
je 0x140317da1
cmp al, 0x80
jne 0x140317a20
jmp 0x140317dd9
cmp byte [0x1404d6d10], 0
je 0x140317cd9
mov cl, 0x84
nop dword [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x1404d6d10], cl
je 0x140317cab
test al, al
jne 0x140317a50
jmp 0x140317cd9
test r9d, r9d
je 0x140317c81
movzx eax, byte [0x1404d6dd6]
cmp al, 0xa6
je 0x140317e19
mov cl, 0xbf
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x1404d6dd6], cl
je 0x140317de1
cmp al, 0xa6
jne 0x140317a90
jmp 0x140317e19
xor eax, eax
lea rcx, [0x1404d6d50]
lea rdx, [0x1403e5950]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140317ac0
mov al, 0xd
xchg byte [0x1404d6d53], al
lea rax, [0x1404d6d50]
ret
movzx eax, byte [0x1404d6de2]
cmp al, 0xba
je 0x140317e59
mov cl, 0xd
nop word cs:[rax + rax]
mov al, 0x73
lock cmpxchg byte [0x1404d6de2], cl
je 0x140317e21
cmp al, 0xba
jne 0x140317b00
jmp 0x140317e59
movzx eax, byte [0x1404d6cbc]
cmp al, 0x40
je 0x140317e99
mov cl, 0x7e
nop word [rax + rax]
mov al, 0x7c
lock cmpxchg byte [0x1404d6cbc], cl
je 0x140317e61
cmp al, 0x40
jne 0x140317b30
jmp 0x140317e99
xor eax, eax
lea rcx, [0x1404d6e50]
lea rdx, [0x1403e5a50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140317b60
mov al, 0x71
xchg byte [0x1404d6e5c], al
lea rax, [0x1404d6e50]
ret
xor eax, eax
lea rcx, [0x1404d6e40]
lea rdx, [0x1403e5a40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140317ba0
mov al, 0x2d
xchg byte [0x1404d6e4d], al
lea rax, [0x1404d6e40]
ret
xor eax, eax
lea rcx, [0x1404d6df0]
lea rdx, [0x1403e59f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140317be0
mov al, 0x54
xchg byte [0x1404d6df2], al
lea rax, [0x1404d6df0]
ret
xor eax, eax
lea rcx, [0x1404d6e80]
lea rdx, [0x1403e5a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140317c20
mov al, 0x4c
xchg byte [0x1404d6e8d], al
lea rax, [0x1404d6e80]
ret
xor eax, eax
lea rcx, [0x1404d6d90]
lea rdx, [0x1403e5990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140317c60
mov al, 0xdd
xchg byte [0x1404d6d9b], al
lea rax, [0x1404d6d90]
ret
movzx eax, byte [0x1404d6e0b]
cmp al, 0x95
je 0x140317eca
mov cl, 0xa3
mov al, 0x94
lock cmpxchg byte [0x1404d6e0b], cl
je 0x140317ea1
cmp al, 0x95
jne 0x140317c92
jmp 0x140317eca
xor eax, eax
lea rcx, [0x1404d6d00]
lea rdx, [0x1403e5910]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140317cc0
xor eax, eax
xchg byte [0x1404d6d10], al
lea rax, [0x1404d6d00]
ret
xor eax, eax
lea rcx, [0x1404d6c90]
lea rdx, [0x1403e58a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x140317d00
mov al, 0x61
xchg byte [0x1404d6ca3], al
lea rax, [0x1404d6c90]
ret
xor eax, eax
lea rcx, [0x1404d6d60]
lea rdx, [0x1403e5960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140317d40
mov al, 0x16
xchg byte [0x1404d6d83], al
lea rax, [0x1404d6d60]
ret
xor eax, eax
lea rcx, [0x1404d6ed0]
lea rdx, [0x1403e5ad0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140317d80
mov al, 0x81
xchg byte [0x1404d6edd], al
lea rax, [0x1404d6ed0]
ret
xor eax, eax
lea rcx, [0x1404d6e60]
lea rdx, [0x1403e5a60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140317dc0
mov al, 0x80
xchg byte [0x1404d6e6d], al
lea rax, [0x1404d6e60]
ret
xor eax, eax
lea rcx, [0x1404d6db0]
lea rdx, [0x1403e59b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140317e00
mov al, 0xa6
xchg byte [0x1404d6dd6], al
lea rax, [0x1404d6db0]
ret
xor eax, eax
lea rcx, [0x1404d6de0]
lea rdx, [0x1403e59e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140317e40
mov al, 0xba
xchg byte [0x1404d6de2], al
lea rax, [0x1404d6de0]
ret
xor eax, eax
lea rcx, [0x1404d6cb0]
lea rdx, [0x1403e58c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140317e80
mov al, 0x40
xchg byte [0x1404d6cbc], al
lea rax, [0x1404d6cb0]
ret
xor eax, eax
lea rcx, [0x1404d6e00]
lea rdx, [0x1403e5a00]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140317eb1
mov al, 0x95
xchg byte [0x1404d6e0b], al
lea rax, [0x1404d6e00]
ret