Function at 0x1404886d0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov esi, edx
mov edi, ecx
xor eax, eax
test al, al
jne 0x1404886ef
mov eax, dword [0x1406976ac]
cmp eax, 0x27
jl 0x140488730
mov ebx, 0x13bcdcb6
nop word cs:[rax + rax]
mov ecx, dword [0x1406976a8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14067c4b0]
add ecx, ebx
xor edx, edx
div ecx
mov ecx, edx
mov edx, 0x2ebe227f
mov r8d, 0x71568c67
call fcn.140178950
test al, 1
je 0x140488700
jmp 0x1404886e4
test edi, edi
je 0x140488762
mov ecx, 0x6e609cd0
mov edx, 0x8a2e6c8a
call fcn.14008b370
xor ecx, ecx
mov edx, 0x5a48d793
mov r8d, 0xb36c567c
call fcn.140178950
test al, 1
je 0x140488ac0
jmp 0x140488aae
test esi, esi
je 0x140488874
mov edx, dword [0x14067c4b0]
lea ecx, [rdx + 0x46c77ac3]
add edx, 0x931d5b4c
call fcn.14048d100
jmp 0x1404887ad
movzx eax, byte [0x14067ac16]
mov ecx, dword [0x1406976a8]
mov edx, 0x5df9bc9f
mov r8d, 0x602fdd44
call fcn.14048f150
test al, 1
je 0x140488790
movzx ebx, byte [0x14067ac16]
lea rcx, [rsp + 0x30]
mov edx, 0xa7fdfb93
mov r8d, 0x95aaca70
call fcn.14048f4b0
mov eax, dword [rsp + 0x30]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140488790
cmp bl, 0x63
je 0x1404889e0
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x3f]
mov ebx, 0x13bcdcb6
mov bpl, 0x50
nop word [rax + rax]
mov eax, dword [0x1406976ac]
cmp eax, 0x50
jg 0x140488851
nop dword [rax + rax]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0xf4b6d63e
mov r9d, 0x990a0dff
call fcn.14048f1e0
movzx ecx, byte [rsp + 0x3f]
movzx r8d, byte [rsp + 0x31]
mov edx, dword [0x1406976a8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14067c4b0]
add r9d, ebx
xor edx, edx
div r9d
test edx, edx
je 0x140488860
mov al, 0x96
lock cmpxchg byte [0x14067ac16], bpl
jmp 0x140488810
test r8b, 1
jne 0x140488913
cmp cl, 0x63
jne 0x140488800
jmp 0x1404889e0
mov r8d, dword [0x14067c4b0]
lea edx, [r8 - 0x799fa5a1]
add r8d, 0x580c0f86
lea rcx, [rsp + 0x30]
call fcn.14048d460
cmp byte [rsp + 0x30], 0x52
je 0x1404889c4
lea rsi, [rsp + 0x30]
xor edi, edi
mov bl, 1
jmp 0x1404888ba
cmp bpl, 0x52
je 0x1404889c4
mov rcx, rsi
mov edx, 0xf16b019f
mov r8d, 0x2c4d5048
call fcn.14048cc00
test al, 1
jne 0x14048892f
movzx ebp, byte [rsp + 0x30]
test dil, dil
jne 0x140488900
nop dword [rax + rax]
mov edx, dword [0x14067c4b0]
lea ecx, [rdx - 0xb5df263]
add edx, 0x1faad4dc
call fcn.14008b370
test bl, bl
jne 0x1404888b0
nop dword [rax + rax]
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140488900
jmp 0x1404888e0
mov ecx, 0xc60fc4e2
mov edx, 0xa4e505aa
call fcn.14048d140
test al, 1
jne 0x140488a03
jmp 0x140488a14
xor edx, edx
lea rax, [0x14067b000]
lea rcx, [0x14055c4a0]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x14067c4b0]
add edx, r8d
add edx, 0x13bcdcb5
add r8d, 0x13bcdcbc
cmp edx, r8d
jl 0x140488940
mov esi, dword [0x1406976a8]
lea rdx, [rsp + 0x30]
mov ecx, esi
mov r8d, 0x6e00eec4
mov r9d, 0xbdce7a39
call fcn.1401a3c70
mov edx, dword [rsp + 0x30]
mov ecx, esi
mov r8d, 0x309f24d1
mov r9d, 0x6acd7b6e
call fcn.14048eec0
nop dword [rax]
cmp dword [0x14067c4b0], 0xec43234c
jne 0x1404889b0
mov al, 0x52
xchg byte [0x14067b008], al
lea rax, [0x14067b000]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ecx, 0x4a370449
mov edx, 0xe1cbb3c1
call fcn.14008b370
mov eax, dword [0x1406976ac]
cmp eax, 0x2e
jg 0x1404889e0
lea rax, [0x14067ac10]
jmp 0x1404889cb
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140488a26
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x140488a20
jmp 0x140488a03
xor edi, edi
lea rsi, [rsp + 0x30]
lea rbx, [0x14055c0e0]
lea r14, [0x14067ac10]
nop dword [rax + rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0xd6320185
mov r9d, 0x445d30bd
call fcn.1400a9970
mov rcx, qword [rsp + 0x30]
mov r9d, dword [0x14067c4b0]
lea r8d, [r9 + 0x4921702b]
add r9d, 0x384a65e1
mov rdx, rsi
call fcn.14048ecf0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
movsxd rcx, edi
add al, byte [rcx + rbx]
mov byte [rcx + r14], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea edi, [rax + rcx*2]
cmp edi, 6
jl 0x140488a40
mov ecx, 0x10ff0235
mov edx, 0x4d21329a
call fcn.14048f130
jmp 0x1404889e0
mov eax, dword [0x1406976a8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x140488ada
nop
mov eax, dword [0x1406976a8]
mov ecx, dword [0x14067c4b0]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
jne 0x140488ac0
jmp 0x140488aae
test esi, esi
je 0x140488b31
movzx ecx, byte [0x14067ad13]
mov edx, 0x9c25a627
mov r8d, 0x5f3c2c84
call fcn.140320fe0
test al, 1
jne 0x140488be9
mov sil, 2
mov al, 0x9e
lock cmpxchg byte [0x14067ad13], sil
mov ebx, eax
sete dl
mov ecx, eax
mov r8d, 0xa3b96418
mov r9d, 0x483e1e18
call fcn.140237bf0
test al, 1
jne 0x140488b97
cmp bl, 0x2f
jne 0x140488b00
jmp 0x140488be9
mov ecx, 0x89acece0
mov edx, 0x226783b3
call fcn.14008b370
lea rcx, [rsp + 0x30]
mov edx, 0xa028ced4
mov r8d, 0x7d6711ac
call fcn.14048cba0
mov ecx, dword [rsp + 0x30]
lea rdx, [rsp + 0x30]
mov r8d, 0x47e39352
mov r9d, 0x83e5861a
call fcn.1401a4350
mov ecx, dword [rsp + 0x30]
mov r8d, dword [0x14067c4b0]
lea edx, [r8 + 0x565e0c29]
add r8d, 0x9596417e
call fcn.140178950
test al, 1
je 0x140488c30
jmp 0x140488bf5
xor eax, eax
lea rdi, [0x14067ad00]
lea rbx, [0x14055c1d0]
lea rsi, [rsp + 0x30]
nop dword [rax]
movsxd r8, eax
lea rdx, [rdi + r8]
movzx ecx, byte [r8 + rdi]
xor cl, byte [r8 + rbx]
mov dword [rsp + 0x28], 0x822f2f92
mov dword [rsp + 0x20], 0x63b8ede4
mov r9, rsi
call fcn.14030d310
mov eax, dword [rsp + 0x30]
cmp eax, 0x13
jl 0x140488bb0
mov al, 0x2f
xchg byte [0x14067ad13], al
lea rax, [0x14067ad00]
jmp 0x1404889cb
mov r8d, dword [0x14067c4b0]
lea edx, [r8 - 0x2167e8a9]
add r8d, 0xedc18e32
lea rcx, [rsp + 0x30]
call fcn.14048f620
movzx eax, byte [rsp + 0x30]
mov ecx, dword [0x1406976ac]
cmp ecx, 0x54
jl 0x140488c4a
nop word cs:[rax + rax]
movzx eax, byte [0x14067b2ee]
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140488c30
jmp 0x140488bf5
cmp al, 0xfe
je 0x140488ceb
mov bl, 0xad
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x14067b2ee], bl
je 0x140488c84
mov ecx, eax
mov edx, 0xb767996
mov r8d, 0x797b1a6d
call fcn.14048eb80
test al, 1
je 0x140488c60
jmp 0x140488ceb
xor eax, eax
lea rcx, [0x14067b2e0]
lea rdx, [0x14055c770]
mov r8d, 0x13bcdcc2
nop word [rax + rax]
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14067c4b0]
add r10d, r8d
cmp r9d, r10d
jge 0x140488cc1
inc rax
jmp 0x140488ca0
mov al, 1
test al, al
je 0x140488cda
mov al, 0xfe
xchg byte [0x14067b2ee], al
mov eax, dword [0x1406976ac]
cmp eax, 0x20
jle 0x140488ceb
movzx eax, byte [0x14067c4b4]
add al, 0x17
xchg byte [0x14067b2ee], al
jmp 0x140488cc7
lea rax, [0x14067b2e0]
jmp 0x1404889cb