Function at 0x14034f2b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test ecx, ecx
je 0x14034f3dd
test edx, edx
je 0x14034f4ee
mov eax, 0x2899cc02
nop word cs:[rax + rax]
mov ecx, dword [0x1404f34c0]
mov edx, dword [0x1404df1c0]
add edx, eax
not edx
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x14034f319
movzx ecx, byte [0x1404de30d]
mov edx, dword [0x1404f34c0]
mov r8d, edx
not r8d
imul r8d, edx
test r8b, 1
je 0x14034f32d
movzx ecx, byte [0x1404de30d]
mov ecx, dword [0x1404f34c4]
cmp ecx, 0x2a
jge 0x14034f2e0
jmp 0x14034f2fc
cmp cl, 0xdf
je 0x14034f945
xor r8d, r8d
mov r9b, 0xcd
mov r10d, 0x27f7a585
mov r11d, 0x27f7a551
jmp 0x14034f359
cmp cl, 0xdf
je 0x14034f945
test r8b, r8b
jne 0x14034f3a0
nop
mov al, 0x30
lock cmpxchg byte [0x1404de30d], r9b
mov ecx, eax
sete al
mov edx, dword [0x1404f34c4]
mov esi, dword [0x1404df1c0]
add esi, r10d
cmp edx, esi
jge 0x14034f3a0
test al, al
jne 0x14034f549
test r8b, r8b
jne 0x14034f3d0
jmp 0x14034f3b0
mov al, 0x30
lock cmpxchg byte [0x1404de30d], r9b
jmp 0x14034f360
mov edx, dword [0x1404f34c0]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x1404df1c0]
add esi, r11d
xor edx, edx
div esi
test edx, edx
je 0x14034f350
nop dword [rax]
mov eax, dword [0x1404f34c4]
cmp eax, 0xd
jge 0x14034f3d0
jmp 0x14034f3b0
test edx, edx
je 0x14034f515
movzx eax, byte [0x1404f3470]
cmp al, 0x6b
je 0x14034f4e2
mov cl, 0xd3
nop word cs:[rax + rax]
mov eax, dword [0x1404f34c4]
cmp eax, 0x25
jg 0x14034f440
nop dword [rax + rax]
xor eax, eax
lock cmpxchg byte [0x1404f3470], cl
sete dl
mov r8d, dword [0x1404f34c0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x14034f460
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x1404f3470], cl
mov eax, dword [0x1404f34c0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14034f440
jmp 0x14034f410
test dl, dl
jne 0x14034f470
cmp al, 0x6b
jne 0x14034f400
jmp 0x14034f4e2
mov eax, dword [0x1404f34c4]
cmp eax, 0x31
jle 0x14034f486
mov eax, dword [0x1404f34c4]
cmp eax, 0x21
jge 0x14034f470
mov eax, dword [0x1404f34c4]
cmp eax, 0x34
jg 0x14034f47b
xor edx, edx
lea rax, [0x1404de280]
lea rcx, [0x1403ed5f0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0xd
jl 0x14034f4b0
mov al, 0x6b
xchg byte [0x1404f3470], al
lea rax, [0x1404de280]
jmp 0x14034f628
mov eax, 0x27f7a550
add eax, dword [0x1404df1c0]
lea rcx, [fcn.14034f2b0]
add ecx, ecx
add ecx, 0x640
test ecx, eax
jne 0x14034f77d
jmp 0x14034f770
movzx eax, byte [0x1404dde58]
cmp al, 4
je 0x14034f621
mov cl, 0xd6
nop word cs:[rax + rax]
mov al, 0x30
lock cmpxchg byte [0x1404dde58], cl
je 0x14034f60a
cmp al, 4
jne 0x14034f530
jmp 0x14034f621
xor edi, edi
lea rbx, [0x1404de300]
lea r14, [0x1403ed670]
lea rsi, [0x1403515a0]
jmp 0x14034f580
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [rax + rdi*2]
cmp edi, 0xd
jge 0x14034f5f0
mov eax, dword [0x1404f34c4]
movsxd r15, edi
cmp eax, 0x44
jg 0x14034f5b6
nop
movzx eax, byte [r15 + rbx]
movzx ecx, byte [r15 + r14]
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [r15 + rbx], cl
cmp dword [0x1404df1c0], 0xd8085ab1
je 0x14034f570
mov ecx, 0x28
call fcn.14035b68c
mov qword [0x1404f3488], rax
mov rcx, rsi
call fcn.1403769c0
movzx ecx, byte [r15 + r14]
mov eax, ecx
sub al, byte [r15 + rbx]
mul cl
mul cl
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [r15 + rbx], cl
jmp 0x14034f590
mov eax, dword [0x1404f34c0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14034f930
jmp 0x14034f922
mov eax, dword [0x1404f34c4]
mov ecx, 0x27f7a584
add ecx, dword [0x1404df1c0]
cmp eax, ecx
jl 0x14034f635
jmp 0x14034f63b
lea rax, [0x1404dde50]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov al, 1
test al, al
jne 0x14034f65d
mov eax, 0x27f7a54f
mov ecx, dword [0x1404f34c0]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1404df1c0]
add ecx, eax
cmp edx, ecx
jne 0x14034f640
jmp 0x14034f635
xor edi, edi
lea r14, [0x1404dde50]
lea r15, [0x1403ed1d0]
lea rax, [fcn.14034f2b0]
lea ebp, [rax + rax]
add ebp, 0x660
not ebp
lea rsi, [0x140351580]
nop word cs:[rax + rax]
mov eax, dword [0x1404f34c0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14034f700
nop word cs:[rax + rax]
movzx eax, byte [rdi + r15]
add byte [rdi + r14], al
mov eax, dword [0x1404df1c0]
lea ecx, [rax + 0x27f7a550]
not ecx
mov edx, ebp
xor edx, ecx
and edx, ebp
or edx, ecx
not edx
mov ecx, eax
xor ecx, 0x27f7a54f
and eax, 0x27f7a54f
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x14034f700
lea eax, [rdi + 1]
cmp eax, 7
jg 0x14034f763
inc rdi
jmp 0x14034f690
movzx ebx, byte [rdi + r14]
mov ecx, 0x3f
call fcn.14035b68c
mov qword [0x1404f3480], rax
mov rcx, rsi
call fcn.1403769c0
movzx ecx, byte [rdi + r15]
sub bl, cl
mov eax, ebx
mul cl
sub al, cl
mul cl
mov r8d, eax
sub al, cl
mul cl
mov edx, eax
mov eax, r8d
sub al, dl
mul dl
mov ecx, r8d
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
sub r8b, cl
mov eax, r8d
mul cl
sub al, cl
shl al, cl
sub cl, al
mov byte [rdi + r14], cl
jmp 0x14034f6b0
mov al, 4
xchg byte [0x1404dde58], al
jmp 0x14034f621
movzx eax, byte [0x1404de37d]
xor ecx, ecx
test cl, cl
je 0x14034f786
movzx eax, byte [0x1404de37d]
jmp 0x14034f770
cmp al, 0x8e
je 0x14034f8ca
mov cl, 0xa9
mov al, 0x32
lock cmpxchg byte [0x1404de37d], cl
je 0x14034f7a5
cmp al, 0x8e
jne 0x14034f790
jmp 0x14034f8ca
mov eax, dword [0x1404f34c0]
nop dword [rax + rax]
mov eax, dword [0x1404f34c0]
mov ecx, eax
sub ecx, dword [0x1404df1c0]
imul ecx, eax
test cl, 1
jne 0x14034f7b0
xor r8d, r8d
lea r9, [0x1404de370]
lea r10, [0x1403ed6e0]
jmp 0x14034f806
add r8d, 0x51a11f8f
mov eax, r8d
xor eax, 1
and r8d, 1
lea r8d, [rax + r8*2]
add r8d, 0xae5ee071
cmp r8d, 0xd
jge 0x14034f8c2
mov eax, dword [0x1404f34c4]
movsxd r11, r8d
cmp eax, 0x41
jg 0x14034f860
nop word cs:[rax + rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
mov edx, ecx
not dl
mov ebx, eax
and bl, dl
xor dl, al
not al
mov esi, eax
xor sil, cl
or bl, sil
not bl
and al, cl
or al, dl
not al
or al, bl
mov byte [r11 + r9], al
mov eax, dword [0x1404f34c0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14034f7e0
nop dword [rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
shl al, cl
mul cl
mov edx, eax
xor dl, cl
mov ebx, edx
not bl
and bl, al
add bl, bl
add bl, dl
movzx edx, byte [0x1404df1c4]
sub dl, bl
add dl, cl
add dl, 0x2b
mov eax, edx
shl al, cl
mov ebx, edx
mov ecx, eax
shl bl, cl
mov eax, edx
sub al, bl
mul bl
mov ecx, eax
sub dl, al
mov eax, edx
mul cl
xor al, cl
mov byte [r11 + r9], al
mov eax, dword [0x1404f34c0]
mov ecx, 0xd2212249
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x14034f860
jmp 0x14034f820
mov al, 0x8e
xchg byte [0x1404de37d], al
mov eax, 0x27f7a550
add eax, dword [0x1404df1c0]
lea rcx, [fcn.14034f2b0]
add ecx, ecx
add ecx, 0xac0
mov edx, ecx
not edx
xor ecx, eax
not eax
and eax, edx
or eax, ecx
cmp eax, 0xffffffff
jne 0x14034f900
mov eax, dword [0x1404f34c4]
cmp eax, 0x35
jl 0x14034f916
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x14034f910
jmp 0x14034f8f5
lea rax, [0x1404de370]
jmp 0x14034f628
mov eax, dword [0x1404f34c4]
cmp eax, 0x29
jl 0x14034f93d
nop dword [rax]
mov eax, dword [0x1404f34c4]
cmp eax, 0x26
jge 0x14034f930
jmp 0x14034f922
mov al, 0xdf
xchg byte [0x1404de30d], al
lea rax, [0x1404de300]
jmp 0x14034f628