Function at 0x14036d4f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x14036d569
mov eax, dword [0x14064d940]
mov ecx, eax
xor ecx, 0x91304907
and eax, 0x11304907
lea eax, [rcx + rax*2]
lea rcx, [fcn.14036d4f0]
add ecx, ecx
add ecx, 0xf60
test ecx, eax
nop dword [rax]
cmp dword [0x14064d940], 0x6ecfb6fa
jne 0x14036d520
test edx, edx
je 0x14036d636
movzx eax, byte [0x14064d7b5]
cmp al, 0xaa
je 0x14036d770
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0x96
lock cmpxchg byte [0x14064d7b5], cl
je 0x14036d73e
cmp al, 0xaa
jne 0x14036d550
jmp 0x14036d770
test edx, edx
je 0x14036d6d2
movzx eax, byte [0x14064d80b]
movzx ecx, byte [0x14064d950]
add cl, 0x55
cmp al, cl
je 0x14036d89e
mov r8d, 0x91304959
mov r9d, 0x91304908
mov r10b, 0xf
mov r11d, 0x91304906
nop
mov eax, dword [0x140695fbc]
mov ecx, dword [0x14064d940]
add ecx, r8d
cmp eax, ecx
jge 0x14036d5ea
movzx ecx, byte [0x14064d950]
lea eax, [rcx - 8]
add cl, 0x13
lock cmpxchg byte [0x14064d80b], cl
mov ecx, eax
sete bl
mov edx, dword [0x140695fb8]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x14064d940]
add esi, r9d
xor edx, edx
div esi
test edx, edx
je 0x14036d620
mov al, 0xf4
lock cmpxchg byte [0x14064d80b], r10b
mov eax, dword [0x140695fb8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x14064d940]
add eax, r11d
cmp ecx, eax
jne 0x14036d5a0
jmp 0x14036d5b3
test bl, bl
jne 0x14036d77c
cmp cl, 0x51
jne 0x14036d5a0
jmp 0x14036d89e
movzx eax, byte [0x14064d7c3]
cmp al, 0xac
je 0x14036d927
lea rax, [fcn.14036d4f0]
lea ecx, [rax + rax]
add ecx, 0x2ca0
mov edx, ecx
not edx
mov r8b, 0x8d
nop dword [rax]
test edx, ecx
jne 0x14036d6a4
nop word cs:[rax + rax]
movzx r9d, byte [0x14064d950]
lea eax, [r9 - 0x31]
add r9b, 0x91
lock cmpxchg byte [0x14064d7c3], r9b
sete r9b
mov r10d, dword [0x140695fb8]
mov r11d, r10d
not r11d
imul r11d, r10d
test r11b, 1
je 0x14036d6c0
mov al, 0xcb
lock cmpxchg byte [0x14064d7c3], r8b
jmp 0x14036d670
test r9b, r9b
jne 0x14036d7d0
cmp al, 0xac
jne 0x14036d660
jmp 0x14036d927
movzx eax, byte [0x14064d787]
cmp al, 0xf7
je 0x14036d887
mov cl, 0xed
jmp 0x14036d6f8
cmp al, 0xf7
je 0x14036d887
mov al, 0x43
lock cmpxchg byte [0x14064d787], cl
je 0x14036d84f
nop dword [rax + rax]
mov edx, dword [0x140695fbc]
cmp edx, 0xd
jg 0x14036d731
mov edx, dword [0x140695fb8]
mov r8d, edx
not r8d
imul r8d, edx
test r8b, 1
je 0x14036d6f0
mov edx, dword [0x140695fbc]
cmp edx, 0x12
jge 0x14036d710
jmp 0x14036d71b
xor eax, eax
lea rcx, [0x14064d7b0]
lea rdx, [0x1405485c0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 4
jg 0x14036d768
inc rax
jmp 0x14036d750
mov al, 0xaa
xchg byte [0x14064d7b5], al
lea rax, [0x14064d7b0]
jmp 0x14036d89b
xor edx, edx
lea rax, [0x14064d800]
lea rcx, [0x140548610]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14064d940]
add edx, r8d
add edx, 0x91304907
cmp edx, 0xb
jl 0x14036d790
lea rax, [fcn.14036d4f0]
add eax, eax
add eax, 0xde0
mov ecx, eax
not ecx
test ecx, eax
jne 0x14036d900
jmp 0x14036d8e0
xor eax, eax
lea rcx, [0x14064d7c0]
lea rdx, [0x1405485d0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x14036d7f8
inc rax
jmp 0x14036d7e0
mov eax, 0x91304906
mov cl, 1
nop
mov edx, dword [0x140695fb8]
mov r8d, 0xbfeccd2d
sub r8d, edx
imul r8d, edx
and r8d, 1
mov edx, dword [0x14064d940]
add edx, eax
cmp r8d, edx
jne 0x14036d82f
mov edx, dword [0x140695fbc]
cmp edx, 0x15
jle 0x14036d835
test cl, cl
je 0x14036d800
jmp 0x14036d824
mov eax, dword [0x140695fb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14036d946
jmp 0x14036d933
xor eax, eax
lea rcx, [0x14064d780]
lea rdx, [0x140548590]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x14036d878
inc rax
jmp 0x14036d860
movzx eax, byte [0x14064d950]
add al, 0xfb
xchg byte [0x14064d787], al
mov eax, dword [0x140695fbc]
xor eax, eax
nop
test al, al
jne 0x14036d890
lea rax, [0x14064d780]
pop rbx
pop rsi
ret
mov eax, dword [0x140695fbc]
mov ecx, 0x91304953
add ecx, dword [0x14064d940]
cmp eax, ecx
jge 0x14036d8c0
mov eax, dword [0x140695fbc]
cmp eax, 0x56
jl 0x14036d8d7
nop
mov eax, dword [0x140695fb8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x14036d8c0
jmp 0x14036d8b3
lea rax, [0x14064d800]
jmp 0x14036d89b
mov eax, dword [0x140695fb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14036d91a
nop word cs:[rax + rax]
mov eax, dword [0x140695fb8]
mov ecx, dword [0x14064d940]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x14036d900
jmp 0x14036d8e0
mov al, 0x51
xchg byte [0x14064d80b], al
jmp 0x14036d89e
lea rax, [0x14064d7c0]
jmp 0x14036d89b
mov al, 0xac
xchg byte [0x14064d7c3], al
mov eax, dword [0x140695fbc]
cmp eax, 0x11
jl 0x14036d927
mov al, 1
nop dword [rax + rax]
mov cl, 0xac
xchg byte [0x14064d7c3], cl
test al, al
je 0x14036d950
jmp 0x14036d933