Function at 0x140408030
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov qword [rbp - 0x28], r9
mov rbx, r8
mov qword [rbp - 0x38], rdx
mov qword [rbp + 8], rcx
call fcn.1403e4810
mov rax, qword [0x1405bf010]
movsxd rsi, dword [rax]
neg rax
lea rcx, [fcn.140408030]
add ecx, ecx
add ecx, 0x32a0
mov edx, ecx
not edx
test edx, ecx
jne 0x1404080a2
mov edi, dword [0x1404b2030]
mov ecx, dword [0x1405d40f8]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
je 0x1404080aa
mov ecx, dword [0x1404b2030]
jmp 0x14040808b
sub rsi, rax
nop dword [rax]
mov eax, dword [0x1405d40f8]
mov ecx, dword [0x1405bf1a8]
add ecx, eax
add ecx, 0xf2c405a2
imul ecx, eax
test cl, 1
jne 0x1404080b0
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], 0xb
mov dword [rsp + 0x20], 0x876e00cf
xor ecx, ecx
mov edx, 1
mov r8d, 0x6120bd5
mov r9d, 0x7874ee79
call fcn.140409060
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov eax, dword [rax + 7]
mov dword [rbp - 0x19], eax
mov byte [rbp - 0x15], 0
lea rdx, [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
call fcn.1403e5fa0
mov rax, qword [rbp - 8]
mov qword [rbp + 0x10], rax
mov ecx, 0xb45ad5e8
nop word [rax + rax]
mov eax, dword [0x1405d40fc]
cmp eax, 0x22
jg 0x14040816d
mov r13d, dword [0x1405bf000]
mov edx, dword [0x1405d40f8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1405bf1a8]
lea r10d, [r9 - 0x263816e3]
xor edx, edx
div r10d
add r9d, 0xd9c7e91b
cmp edx, r9d
je 0x14040818a
mov eax, dword [0x1405bf1a8]
add eax, ecx
mov edx, eax
xor edx, 0x256d1333
and eax, 0x256d1333
add eax, eax
add eax, edx
jne 0x140408130
jmp 0x14040813b
lea ecx, [r13 + 1]
mov dword [0x1405bf000], ecx
mov edx, r13d
not edx
mov r9d, ecx
not r9d
mov eax, r13d
xor eax, ecx
mov r10d, dword [0x1405d40fc]
cmp r10d, 0x16
jg 0x1404081e0
jmp 0x1404081b3
mov r10d, dword [0x1405d40f8]
mov r11d, dword [0x1405bf1a8]
neg r11d
add r11d, r10d
add r11d, 0x263816e4
imul r11d, r10d
test r11b, 1
je 0x1404081fd
nop dword [rax + rax]
mov r8d, dword [0x1405d40f8]
mov r10d, r8d
not r10d
add r10d, 2
imul r10d, r8d
test r10b, 1
jne 0x1404081e0
jmp 0x1404081b3
and r9d, r13d
and edx, ecx
or edx, r9d
and r13d, ecx
or r13d, edx
mov ecx, r13d
not ecx
xor r13d, ecx
and r13d, eax
and eax, ecx
xor r13d, ecx
or r13d, eax
not r13d
test r13d, r13d
mov qword [rbp - 0x30], r13
mov qword [rbp + 0x18], rbx
je 0x140408233
xor r15d, r15d
jmp 0x140408288
xor eax, eax
mov cl, 1
nop word [rax + rax]
mov edx, dword [0x1405d40f8]
mov r9d, edx
not r9d
imul r9d, edx
test r9b, 1
jne 0x14040825a
test al, al
je 0x140408260
test cl, cl
je 0x140408240
jmp 0x140408256
mov ecx, dword [0x1405d40f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xd9c7e91d
add ecx, dword [0x1405bf1a8]
xor edx, edx
div ecx
test edx, edx
jne 0x140408ae0
jmp 0x140408ac2
mov dword [rbp], r15d
mov eax, dword [0x1405d40f8]
mov ecx, dword [0x1405bf1a8]
neg ecx
add ecx, eax
add ecx, 0xfe15b0ec
imul ecx, eax
test cl, 1
mov rdi, qword [rbp + 0x18]
mov r8, qword [rbp + 0x10]
jne 0x1404082f0
xor eax, eax
test al, al
mov eax, dword [0x1405d40fc]
cmp eax, 0x2e
jg 0x1404082b6
mov eax, dword [0x1405bf1a8]
lea ecx, [rax - 0x263816e4]
lea rdx, [fcn.140408030]
add edx, edx
add edx, 0x3d80
xor ecx, edx
not ecx
and ecx, edx
add eax, 0xd9c7e91b
cmp ecx, eax
je 0x14040832f
nop dword [rax + rax]
mov eax, dword [0x1405d40fc]
mov ecx, dword [0x1405bf1a8]
mov edx, ecx
xor edx, 0xd9c7e966
and ecx, 0x59c7e966
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x1404082f0
jmp 0x1404082b2
mov eax, dword [0x1405d40f8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140408320
movabs rsi, 0x977362b1df7fc71f
cmp r8, 0xf
jbe 0x140408425
mov rcx, qword [rbp - 0x20]
lea rdx, [r8 + 1]
cmp rdx, 0x1000
jb 0x140408420
mov rax, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
mov r9, rcx
xor r9, 7
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, rax
mov rdx, qword [0x1405bf1a0]
movabs r9, 0x977362b1df7fc73f
xor r9, rdx
movabs r10, 0x177362b1df7fc73f
and r10, rdx
lea rdx, [r9 + r10*2]
cmp rcx, rdx
jae 0x1404083d0
mov ecx, dword [0x1405d40f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140408400
jmp 0x1404083e6
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404083d0
call fcn.140424a4c
mov rcx, qword [0x1405bf1a0]
add rcx, rsi
cmp rdi, rcx
jne 0x14040840e
nop word cs:[rax + rax]
cmp dword [0x1405bf1a8], 0x263816e5
jne 0x140408400
jmp 0x1404083e6
mov rcx, r8
xor rcx, 0x28
and r8d, 0x28
lea rdx, [rcx + r8*2]
mov rcx, rax
call fcn.1400a8fb0
mov rax, qword [rdi + 8]
lea rdi, [fcn.140408030]
lea r15d, [rdi + rdi]
add r15d, 0x4b00
mov r12d, 0xd9c7e91b
movabs rbx, 0x688c9d4e208038e1
mov r14d, 0xd9c7e91c
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x18], rax
mov dword [rbp + 4], r15d
nop dword [rax]
mov eax, dword [0x1405bf1a8]
lea ecx, [rax - 0x263816e4]
and ecx, r15d
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x263816e4
mov r9d, edx
and r9d, 0xd9c7e91b
or r9d, r8d
xor eax, 0x59c7e91b
and edx, 0x263816e4
or edx, eax
not edx
lea eax, [r9 + rdx*2]
cmp ecx, eax
jne 0x1404084c5
movzx r8d, byte [0x1404b2024]
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1405bf1a8]
add eax, r12d
cmp ecx, eax
je 0x1404084d9
movzx eax, byte [0x1404b2024]
mov eax, dword [0x1405d40fc]
cmp eax, 0x5a
jge 0x140408460
jmp 0x1404084a1
mov eax, dword [0x1405d40fc]
cmp eax, 0x50
jg 0x1404084f0
mov eax, dword [0x1405d40fc]
cmp eax, 0x4c
jl 0x140408546
nop
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404084f0
jmp 0x1404084e4
mov ecx, dword [0x1405d40f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405bf1a8]
mov edx, ecx
xor edx, 0xd9c7e91d
and ecx, 0x59c7e91d
add ecx, ecx
mov r9d, edx
xor r9d, ecx
and ecx, edx
lea ecx, [r9 + rcx*2]
xor edx, edx
div ecx
test edx, edx
je 0x140408551
mov eax, dword [0x1405d40fc]
cmp eax, 0x25
jg 0x140408570
test r13d, r13d
setne al
mov ecx, dword [0x1405d40fc]
cmp ecx, 0x42
jle 0x1404085bc
nop word cs:[rax + rax]
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404085a0
mov eax, dword [0x1405d40f8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x140408510
nop word [rax + rax]
mov eax, dword [0x1405bf1a8]
add eax, r14d
lea ecx, [rdi + rdi]
add ecx, 0x13c0
xor eax, ecx
not eax
test eax, ecx
jne 0x1404085a0
jmp 0x140408581
mov ecx, eax
not cl
add al, al
add cl, 0x51
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
add cl, 0xaf
sub r8b, byte [rbp]
and r8b, cl
nop dword [rax]
mov eax, dword [0x1405d40fc]
movzx edx, r8b
cmp eax, 0x1f
jg 0x140408629
mov rax, qword [0x1405d0a40]
mov rcx, rdx
not rcx
mov r9, rax
and r9, rcx
xor rcx, rax
and rcx, rax
not eax
and eax, edx
or r9, rax
lea rax, [r9 + rcx*2]
mov qword [0x1405d0a40], rax
mov eax, dword [0x1405d40fc]
cmp eax, 0x26
jle 0x1404087ab
mov r10, qword [0x1405d0a40]
mov r9, qword [0x1405bf1a0]
mov rax, r9
xor rax, rsi
mov r11, r9
not r11
mov rcx, r11
movabs r15, 0x688c9d4e208038e0
and rcx, r15
or rcx, rax
not rcx
lea rcx, [rax + rcx*2]
sub rcx, r10
add rcx, rdx
mov r15, rcx
sub r15, r10
mov rax, r15
shl rax, cl
sub r15, rax
imul r15, rax
mov ecx, r15d
sub ecx, eax
imul ecx, eax
mov rax, r15
shl rax, cl
mov rcx, r15
sub rcx, rax
imul rcx, rax
sub rcx, r15
shl r15, cl
mov rax, r15
sub rax, rcx
imul rax, rcx
mov ecx, eax
shl r15, cl
mov r12, r15
sub r12, rax
imul r12, rax
xor r12, r15
mov rax, r9
movabs rcx, 0x688c9d4e208038de
and rax, rcx
movabs rcx, 0x977362b1df7fc721
and r11, rcx
or r11, rax
mov rax, r9
movabs rcx, 0x177362b1df7fc721
and rax, rcx
lea rax, [r11 + rax*2]
and r10d, edx
sub rax, r10
imul rax, r10
mov ecx, 2
sub rcx, rax
imul rcx, rax
add rcx, 0xfffffffffffffffe
mov rax, rcx
xor rax, 0xfffffffffffffffe
movabs r10, 0x7ffffffffffffffe
and rcx, r10
lea rcx, [rax + rcx*2]
mov eax, 2
sub rax, rcx
imul rcx, rcx
imul rcx, rax
mov rax, rcx
sub rax, r12
sub r9, rax
neg rax
mov r10, rax
movabs r11, 0xc0e5eff08072c96a
xor r10, r11
movabs r11, 0x40e5eff08072c96a
and rax, r11
lea rax, [r10 + rax*2]
movabs r10, 0x3f1a100f7f8d3696
add rcx, r10
add rcx, rax
add r9, rcx
lea rax, [r9 + rsi]
mov r10, rax
shl r10, cl
mov rcx, rax
sub rcx, r10
imul rcx, r10
mov r10, rbx
sub r10, r9
imul r10, rcx
sub rcx, rax
add rcx, r10
mov qword [0x1405d0a40], rcx
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404085e0
jmp 0x1404085ef
mov r9d, 0xd9c7e94b
nop word cs:[rax + rax]
mov eax, dword [0x1405d40fc]
mov ecx, dword [0x1405bf1a8]
add ecx, r9d
cmp eax, ecx
jge 0x1404087ec
mov eax, dword [0x1405bf1a8]
mov ecx, eax
xor ecx, 0xd9c7e91b
and eax, 0x59c7e91b
add eax, eax
add eax, ecx
je 0x140408825
mov ecx, dword [0x1405d40f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405bf1a8]
mov edx, ecx
xor edx, 0xd9c7e91d
mov r8d, ecx
and r8d, 0x59c7e91d
lea r8d, [rdx + r8*2]
xor edx, edx
div r8d
add ecx, 0xd9c7e91b
cmp edx, ecx
jne 0x1404087c0
jmp 0x1404087d3
cmp byte [0x1405d05a8], 0
mov rax, qword [rbp + 0x18]
jne 0x140408aaa
mov rax, qword [rax]
cmp rax, qword [rbp - 0x40]
je 0x140408aaa
mov qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x38]
mov r12, qword [rax + 0x198]
mov r15, qword [rax + 0x1a0]
mov dword [rbp + 0x10], 0
cmp r12, r15
je 0x1404088d0
mov rax, qword [rbp + 0x18]
lea r13, [rax + 0x18]
nop dword [rax]
mov rcx, r12
mov rdx, r13
xor r8d, r8d
call fcn.140282c50
cmp rax, 0xffffffffffffffff
jne 0x1404088c6
mov ecx, dword [0x1405d40f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405bf1a8]
lea r8d, [rcx - 0x263816e3]
xor edx, edx
div r8d
add ecx, 0xd9c7e91b
cmp edx, ecx
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404088aa
add r12, 0x20
cmp r12, r15
jne 0x140408870
jmp 0x1404088d0
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x38]
mov dword [rbp + 0x10], eax
mov eax, dword [0x1405d40fc]
mov ecx, dword [0x1405bf1a8]
mov edx, 0xd9c7e940
add ecx, edx
cmp eax, ecx
mov r15d, dword [rbp + 4]
mov r12d, 0xd9c7e91b
mov r9, qword [rbp + 0x18]
mov r13d, dword [rbp + 0x10]
jge 0x140408985
mov rax, qword [r9 + 0x10]
mov rcx, qword [0x1405d0a40]
mov rdx, rcx
not rdx
mov r8, rax
xor r8, rdx
xor rdx, rcx
and rdx, rax
xor rdx, rcx
and r8, rax
lea rax, [rdx + r8*2]
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], r13d
mov dword [0x1405d40f8], 0
xor eax, eax
test al, al
jne 0x140408985
mov rcx, qword [rbp + 8]
lea rdx, [rbp - 0x50]
lea r8, [rbp - 0x20]
call fcn.1403efb10
mov r13, qword [rbp - 0x30]
mov eax, dword [0x1405d40f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax + 0x10]
mov eax, dword [0x1405d40fc]
cmp eax, 0x62
jg 0x140408960
mov rcx, qword [rbp - 0x28]
mov r8d, dword [rbp + 0x10]
call fcn.1403e6010
jmp 0x140408460
mov r8, qword [r9 + 0x10]
mov rax, qword [0x1405d0a40]
mov r9, r8
sub r9, rax
mov rdx, qword [0x1405bf1a0]
mov rcx, rdx
xor rcx, rsi
mov r10, rdx
movabs r11, 0x177362b1df7fc71f
and r10, r11
lea rcx, [rcx + r10*2]
sub rcx, r9
add rcx, r8
sub r9, rcx
imul r9, rcx
mov r10, r9
not r10
xor r9, rcx
not rcx
and rcx, r10
or rcx, r9
not rcx
mov r9d, 2
sub r9, rcx
imul r9, rcx
mov r10, r9
shl r10, cl
xor rax, r8
add rdx, rsi
mov rcx, rdx
sub rcx, r9
movabs r8, 0x7434c169ffb90323
add rcx, r8
add rcx, r10
mov r8, rcx
movabs r10, 0x8bcb3e960046fcdd
xor r8, r10
movabs r10, 0xbcb3e960046fcdd
and rcx, r10
lea rcx, [r8 + rcx*2]
sub rcx, r9
imul rcx, r9
shl rax, cl
mov r8, rax
neg r8
dec rax
mov r9, rcx
not r9
mov r10, r8
and r10, r9
and r9, rax
and rax, rcx
or r10, rax
xor r8, rcx
or r9, r8
not r9
add r9, r9
mov rax, r10
xor rax, r9
and r9, r10
lea rax, [rax + r9*2]
mov r9, qword [rbp + 0x18]
sub rcx, rax
sub rax, rcx
imul rax, rcx
sub rdx, rax
shl rax, cl
add rdx, rax
neg rdx
imul rdx, rax
sub rdx, rax
imul rdx, rax
mov r8, rax
sub r8, rdx
mov ecx, eax
shl r8, cl
add r8, rax
mov qword [rbp - 0x20], r8
mov dword [rbp - 0x18], r13d
jmp 0x1404088fd
mov rax, qword [rbp + 8]
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1405d40f8]
mov ecx, dword [0x1405bf1a8]
neg ecx
add ecx, eax
add ecx, 0xd579269a
imul ecx, eax
test cl, 1
je 0x140408b04
mov eax, 0xd9c7e930
nop word cs:[rax + rax]
mov ecx, dword [0x1405d40fc]
mov edx, dword [0x1405bf1a8]
add edx, eax
cmp ecx, edx
jge 0x140408af0
jmp 0x140408ac2
xor ecx, ecx
mov r15d, 0
test edi, edi
jle 0x140408288
mov r9d, 0xd9c7e965
mov r10d, 0xd9c7e91d
mov r11d, 0xd9c7e94c
mov ebx, 0xd9c7e91b
lea r14, [fcn.140408030]
xor r12d, r12d
jmp 0x140408b66
mov eax, r12d
not al
not r15b
mov edx, eax
xor dl, r15b
and dl, al
and r15b, r12b
or r15b, dl
inc ecx
mov r12d, r15d
cmp ecx, edi
mov r13, qword [rbp - 0x30]
jge 0x140408288
mov eax, dword [0x1405d40fc]
cmp eax, 0x24
mov eax, dword [0x1405d40f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140408b6f
mov eax, dword [0x1405d40fc]
mov edx, dword [0x1405bf1a8]
add edx, r9d
cmp eax, edx
mov edx, dword [0x1405d40f8]
lea eax, [rdx - 1]
imul eax, edx
mov r13d, dword [0x1405bf1a8]
add r13d, r10d
xor edx, edx
div r13d
test edx, edx
jne 0x140408b91
mov edx, dword [0x1405d40f8]
lea eax, [rdx - 1]
imul eax, edx
mov r13d, dword [0x1405bf1a8]
add r13d, r10d
xor edx, edx
div r13d
test edx, edx
jne 0x140408b80
movsxd rax, ecx
add rax, rsi
nop word cs:[rax + rax]
mov edx, dword [0x1405d40f8]
lea r13d, [rdx - 1]
imul r13d, edx
test r13b, 1
jne 0x140408c0d
movzx r15d, byte [rax]
mov edx, dword [0x1405d40fc]
mov r13d, dword [0x1405bf1a8]
add r13d, r11d
cmp edx, r13d
jl 0x140408c30
movzx edx, byte [rax]
mov edx, dword [0x1405d40f8]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140408be0
jmp 0x140408bf4
mov eax, dword [0x1405d40f8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x140408c90
nop word cs:[rax + rax]
mov eax, dword [0x1405bf1a8]
add eax, ebx
lea edx, [r14 + r14]
add edx, 0x1f61
lea r8d, [r14 + r14]
add r8d, 0x1f60
mov r13d, r8d
not r13d
and edx, r13d
and r13d, r8d
or r13d, edx
xor edx, 0xfffffffe
or edx, r13d
not edx
cmp edx, eax
je 0x140408b40
nop dword [rax]
mov edx, dword [0x1405d40f8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1405bf1a8]
add r8d, r10d
xor edx, edx
div r8d
test edx, edx
jne 0x140408c90
jmp 0x140408c50