Function at 0x140035de0
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push rsi
sub rsp, 0x100
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa0], rcx
call fcn.140036870
mov rcx, rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xa8], rcx
mov ecx, 4
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rsp + 0xb0]
mov r8d, 4
cqo
idiv r8
mov qword [rsp + 0xb8], rdx
mov rax, rcx
shl rax, 2
mov qword [rsp + 0xc0], rax
cvtsi2sd xmm1, rcx
movsd xmm0, qword [0x1401e25e0]
mulsd xmm1, xmm0
movsd qword [rsp + 0xc8], xmm1
cvtsi2sd xmm0, rax
ucomisd xmm1, xmm0
sete al
setnp cl
and al, cl
mov byte [rsp + 0xd7], al
subsd xmm0, xmm1
movsd qword [rsp + 0xd8], xmm0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xec], ecx
mov qword [rsp + 0xf0], rax
mov al, byte [rsp + 0xd7]
mov rcx, qword [rsp + 0xe0]
mov edx, dword [rsp + 0xec]
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x88], r8
mov dword [rsp + 0x94], edx
mov qword [rsp + 0x98], rcx
test al, 1
jne 0x140035f36
movsd xmm0, qword [rsp + 0xd8]
call fcn.1401d43f0
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0xc8]
movsd qword [rsp + 0x80], xmm1
call fcn.1401d43f0
movsd xmm1, qword [rsp + 0x80]
movsd xmm2, qword [0x1401e25e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140035f36
call fcn.1400077a3
jmp 0x140036139
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xc0]
cmp rax, rcx
jge 0x1400362da
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0xfc], 0
cmp rax, rcx
jl 0x140035f91
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffff
call fcn.140013580
jmp 0x140036139
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xa0]
add rax, rcx
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov eax, dword [0x1401d6b50]
mov ecx, dword [0x1401d6b54]
add eax, 0xac0e6c9c
add eax, ecx
sub eax, 0xac0e6c9c
or eax, 0xb7fd5794
mov ecx, 0x66fdb4aa
xor ecx, 0x74b426be
imul eax, ecx
or eax, 0xe0cfb64b
cmp eax, 0x4df14df6
jbe 0x14003684c
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401d6b58]
add eax, dword [0x1401d6b5c]
mov edx, 0x4e539f46
xor edx, 0x2ea3f70e
sub eax, edx
sub eax, 0x7b14ab3e
sub eax, 0xd764cfdf
mov edx, 0x31c23f2b
xor edx, 0x4ad69415
add eax, edx
imul eax, eax, 0x33749db4
cmp rcx, 4
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0x6b5b818e
je 0x140035ff5
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140036079
jmp 0x140036057
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov cl, byte [rcx + rax]
mov byte [rsp + rax + 0xfc], cl
add rax, 1
mov qword [rsp + 0x78], rax
jmp 0x140035fb0
mov eax, dword [0x1401d6b60]
xor eax, 0x1c6ea1ed
mov ecx, dword [0x1401d6b64]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x67cd442d
or eax, ecx
mov ecx, 0x215efa69
xor ecx, 0x4693be44
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
sub eax, 0xa548bb28
xor eax, 0x1803b9e3
imul eax, eax, 0xc3102cbd
mov ecx, 0x85611390
xor ecx, 0x43bc8777
cmp eax, ecx
jbe 0x140036855
mov rcx, qword [rsp + 0xa8]
mov eax, dword [0x1401d6b68]
mov r8d, dword [0x1401d6b6c]
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, r8d
add eax, edx
and eax, 0x2c0abe36
mov r8d, 0xcf7f7217
xor edx, edx
div r8d
add eax, 0x100f4cd
add eax, 0xe4e95729
sub eax, 0x100f4cd
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x66], cl
cmp eax, 0x8cface01
je 0x1400360d2
mov al, byte [rsp + 0x66]
test al, 1
jne 0x14003613e
jmp 0x140036139
jmp 0x14003683e
mov rdx, qword [rsp + 0x98]
mov r9d, dword [rsp + 0x94]
mov r8, qword [rsp + 0x88]
mov eax, dword [rsp + 0xfc]
mov ecx, 0xf292601e
xor ecx, 0x3e0c4d4f
mov r10d, eax
imul r10d, ecx
mov ecx, 0xe9c2adc0
xor ecx, 0xe9c2add1
shr r10d, cl
mov ecx, r10d
mov esi, 0xf4e706da
xor esi, 0xe24f86da
mov r10d, 0x4552eedb
xor r10d, 0xbaad1124
xor esi, r10d
mov r11d, eax
and r11d, esi
mov r10d, eax
or r10d, esi
xor r10d, 0xffffffff
imul r10d, r11d
mov r11d, eax
and r11d, 0x16a88000
or eax, 0x16a88000
imul eax, r11d
add eax, r10d
or ecx, eax
movabs r10, 0x21701c62beb15b7
movabs rax, 0x21701c62beb15b3
xor r10, rax
mov rax, r8
and rax, r10
or r8, 4
add rax, r8
mov r10d, ecx
xor r10d, 0xffffffff
and r10d, 0x1b873593
mov r11d, 0x30c8f9ba
xor r11d, 0x2b4fcc29
mov r8d, 0xdd869a9c
xor r8d, 0x22796563
xor r11d, r8d
mov r8d, ecx
and r8d, r11d
imul r8d, r10d
mov r11d, 0x688d0435
xor r11d, 0x730a31a6
mov r10d, ecx
and r10d, r11d
or ecx, 0x1b873593
imul ecx, r10d
add ecx, r8d
mov r10d, ecx
xor r10d, r9d
mov r8d, 0x6e10b508
xor r8d, 0x91ef4af7
xor r10d, r8d
mov r8d, r9d
and r8d, r10d
shl r8d, 1
sub r8d, r9d
sub ecx, r8d
rol ecx, 0xd
mov r10d, 0xffffffff
xor r10d, 5
mov r9d, ecx
and r9d, r10d
mov r8d, ecx
or r8d, r10d
mov r10d, 0x6e11cd04
xor r10d, 0x91ee32fb
xor r8d, r10d
imul r8d, r9d
mov r9d, ecx
and r9d, 5
or ecx, 5
imul ecx, r9d
add ecx, r8d
add ecx, 0xe6546b64
xor r8d, r8d
sub r8, rdx
xor edx, edx
sub rdx, 4
add r8, rdx
xor edx, edx
sub rdx, r8
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xec], ecx
mov qword [rsp + 0xf0], rax
jmp 0x140035ea8
mov eax, dword [0x1401d6b70]
xor eax, 0xc8a4e3a5
imul eax, dword [0x1401d6b74]
mov edx, 0xb313f01
xor edx, 0x7d7d31fb
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x764c0efa
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xb44a3569
add eax, ecx
add eax, 1
add eax, 0x11f8e6e7
cmp eax, 0x6531a542
jb 0x14003685e
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov eax, dword [0x1401d6b78]
mov r10d, dword [str.9T_9o]
xor r10d, 0xd5c4a134
mov r11d, eax
xor r11d, 0xffffffff
mov ecx, r10d
and ecx, r11d
mov r11d, 0xbde7da06
xor r11d, 0x421825f9
xor r10d, r11d
and eax, r10d
or ecx, eax
mov eax, 0xdddc9a83
xor eax, 0x4c68f654
and eax, ecx
xor eax, 0xffffffff
mov r10d, 0xcb3dbfb2
xor r10d, 0x5a89d365
add ecx, r10d
mov r10d, 0x69a7aa80
xor r10d, 0x69a7aa81
add ecx, r10d
add ecx, eax
mov eax, 0xf4374ac0
xor eax, 0x1fe734b0
mov r10d, 0x9bb55061
xor r10d, 0x644aaf9e
xor eax, r10d
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov r10d, 0x31c74f1b
xor r10d, 0x3484b8d5
mov r11d, 0x17fe328d
xor r11d, 0xe801cd72
xor r10d, r11d
or eax, r10d
mov r10d, 0x1eb0fdc
xor r10d, 0x4a8f812
and ecx, r10d
mov r10d, 0x57a60ba5
xor r10d, 0xa859f45a
xor ecx, r10d
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x94d65adc
xor ecx, 0xb889ed16
add rdx, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x65], dl
cmp eax, ecx
jae 0x140036325
mov rax, qword [rsp + 0xb8]
xor ecx, ecx
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rax
jmp 0x140036445
mov ecx, dword [rsp + 0x54]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], ecx
cmp rax, 0
jle 0x1400366cd
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x88]
movabs rax, 0x66dc47a7194a52de
movabs rcx, 0x9923b858e6b5ad21
xor rax, rcx
mov rcx, rdx
and rcx, rax
mov rax, rdx
or rax, 0xffffffffffffffff
add rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
and rax, r8
or rcx, r8
add rax, rcx
mov qword [rsp + 0x40], rax
movabs rcx, 0x6b1fc76d8dc6b834
movabs r8, 0x94e03892723947cb
xor rcx, r8
xor rdx, rcx
add rdx, 0
movabs rcx, 0x437db112a5c71bf7
movabs r8, 0x437db112a5c71bf6
xor rcx, r8
add rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x140036508
call fcn.1400077a3
jmp 0x14003683e
mov dl, byte [rsp + 0x65]
mov rax, qword [rsp + 0x40]
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14003655a
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xb0]
movabs rax, 0x54e133be87aa6fe9
movabs r8, 0xab1ecc4178559016
xor rax, r8
add rdx, rax
call fcn.140013580
jmp 0x14003683e
mov r8d, dword [0x1401d6b80]
mov eax, dword [0x1401d6b84]
xor eax, 0x6deec599
add r8d, 0x2cc43cf9
sub r8d, eax
sub r8d, 0x2cc43cf9
sub r8d, 0x4c86037c
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x3c464490
mov r9d, 0xffffffff
xor r9d, 0x3c464490
and r8d, r9d
mov eax, 0xffffffff
xor eax, 0x88f6a66a
and eax, 0x3c464490
mov edx, 0x9de8bcfe
xor edx, 0x151e1a94
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0x3a9f030a
xor edx, 0x2eaad433
mov eax, 0x6ac23f53
xor eax, 0x953dc0ac
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xcaad90d4
jae 0x140036867
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x50]
mov ecx, dword [0x1401d6b88]
xor ecx, dword [0x1401d6b8c]
sub ecx, 0x4494a7ce
xor ecx, 0xffffffff
mov eax, 0x2d832575
xor eax, 0x7a7d5700
mov r10d, 0x90398bb3
xor r10d, 0x6fc6744c
xor eax, r10d
mov r10d, 0xcc9e6c91
xor r10d, 0xf4801eff
mov r11d, 0x506bf6c6
xor r11d, 0xaf940939
xor r10d, r11d
or ecx, eax
mov eax, 0xa8d8ebca
xor eax, 0x90c699a4
or eax, r10d
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0x9da6a3d3
or eax, r10d
xor ecx, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0x9da6a3d3
or ecx, r10d
and eax, ecx
mov ecx, 0x232a1da0
xor ecx, 0xdcd5e25f
xor eax, ecx
mov ecx, 0xda24e403
xor ecx, 0xe202d1ec
shl edx, 8
movzx r8d, byte [r8 + r9]
or edx, r8d
mov dword [rsp + 0x34], edx
cmp eax, ecx
ja 0x140036867
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rax
jmp 0x140036445
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0
jne 0x14003683e
mov eax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x50]
mov r9d, 0xa7954a40
xor r9d, 0x586ab5bf
mov r8d, edx
xor r8d, r9d
and r8d, 0xcc9e2d51
mov r10d, 0xffffffff
xor r10d, 0xcc9e2d51
mov r9d, edx
and r9d, r10d
imul r9d, r8d
mov r10d, edx
and r10d, 0xcc9e2d51
mov r11d, 0xec38374e
xor r11d, 0x20a61a1f
mov r8d, edx
or r8d, r11d
imul r8d, r10d
add r8d, r9d
shr r8d, 0x11
imul r9d, edx, 0x16a88000
mov edx, r8d
and edx, r9d
xor r8d, r9d
or edx, r8d
imul edx, edx, 0x1b873593
xor edx, ecx
xor edx, eax
mov eax, edx
shr eax, 0x10
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
mov edx, eax
and edx, edx
xor edx, 0xffffffff
xor edx, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or edx, r8d
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x4bb4aaf9
xor r8d, 0xb44b5506
xor ecx, r8d
or eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
mov r8d, 0xffffffff
xor r8d, 0xc2b2ae35
mov ecx, edx
and ecx, r8d
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, 0xc2b2ae35
or edx, 0xc2b2ae35
imul edx, ecx
add edx, eax
mov r8d, edx
shr r8d, 0x10
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x83a5315d
mov r9d, 0xffffffff
xor r9d, 0x83a5315d
and r8d, r9d
mov r10d, 0xb8ffd509
xor r10d, 0x47002af6
mov ecx, edx
xor ecx, r10d
and ecx, 0x83a5315d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
add rsp, 0x100
pop rsi
ret
call qword [rdi - 0x40]
shr cl, 1
movabs al, byte [0xe9da3dfe14fffff7]
je 0x140036854
call qword [rsi + rdi*8]
adc al, 0xfe
cmp eax, 0xf874e9da
invalid
not bl
pop rbp
jmp 0x140036325
jle 0x140036860
invalid