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

Disassembly:
push rsi
sub rsp, 0x120
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc0], rcx
call fcn.140035d2e
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rcx
movabs rcx, 0x842c87688beffbdd
movabs rdx, 0x842c87688beffbd9
xor rcx, rdx
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov r8d, 4
cqo
idiv r8
mov qword [rsp + 0xd8], rdx
mov rax, rcx
shl rax, 2
mov qword [rsp + 0xe0], rax
cvtsi2sd xmm1, rcx
movsd xmm0, qword [0x14025b4e8]
mulsd xmm1, xmm0
movsd qword [rsp + 0xe8], xmm1
cvtsi2sd xmm0, rax
ucomisd xmm1, xmm0
sete al
setnp cl
and al, cl
mov byte [rsp + 0xf7], al
subsd xmm0, xmm1
movsd qword [rsp + 0xf8], xmm0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x100], rdx
mov dword [rsp + 0x10c], ecx
mov qword [rsp + 0x110], rax
mov al, byte [rsp + 0xf7]
mov rcx, qword [rsp + 0x100]
mov edx, dword [rsp + 0x10c]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xb4], edx
mov qword [rsp + 0xb8], rcx
test al, 1
jne 0x140035388
movsd xmm0, qword [rsp + 0xf8]
call fcn.14024ac10
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0xe8]
movsd qword [rsp + 0xa0], xmm1
call fcn.14024ac10
movsd xmm1, qword [rsp + 0xa0]
movsd xmm2, qword [0x14025b4f0]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140035388
call fcn.140008c92
jmp 0x140035622
mov ecx, dword [0x14024c7e0]
mov edx, dword [0x14024c7e4]
xor edx, 0x964c17ba
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, 0xd50e359f
xor eax, 0xebbaba8c
and ecx, eax
xor eax, eax
sub eax, 0xd235c3f6
sub ecx, eax
mov eax, ecx
and eax, 0xdca7c159
mov edx, 0x83c90809
xor edx, 0x7c36f7f6
xor eax, edx
and ecx, 0xdca7c159
mov edx, 0x4fa7039a
xor edx, 0xb058fc65
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xec0234e7
xor edx, 0x13fdcb18
xor ecx, edx
or eax, ecx
cmp eax, 0x845cd658
jae 0x140035d0a
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xe0]
mov eax, dword [0x14024c7e8]
xor eax, 0xf41c2613
and eax, dword [str._t_tMO9]
mov ecx, 0x82c037b7
xor ecx, 0x1abfb90e
and eax, ecx
and eax, 0x1d4663b1
mov ecx, 0x2e20e16f
xor ecx, 0x790e61c4
xor eax, ecx
mov ecx, 0xd5796dfe
xor ecx, 0x4e478c18
cmp rdx, r8
setl dl
mov byte [rsp + 0x9f], dl
cmp eax, ecx
jae 0x1400353f9
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14003546d
jmp 0x140035872
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xd0]
mov dword [rsp + 0x11c], 0
cmp rax, rcx
jl 0x1400354c9
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xd0]
movabs rax, 0xff236017d3e391ba
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xff236017d3e391ba
sub rdx, rax
call fcn.14001284c
jmp 0x140035622
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xc0]
add rax, rcx
mov qword [rsp + 0x88], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x80], rax
cmp rax, 4
je 0x14003560b
mov eax, dword [0x14024c7f0]
xor edx, edx
div dword [0x14024c7f4]
mov ecx, 0x445f20c3
xor ecx, 0x2aa0a4a8
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x8ab6035b
mov edx, 0xffffffff
xor edx, 0x8ab6035b
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xf1622cd4
xor ecx, 0xffffffff
or eax, 0xf1622cd4
and eax, ecx
cmp eax, 0xb9901cad
jb 0x140035d13
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x14024c7f8]
mov edx, 0x5b5e9a3a
xor edx, 0x2df98f8f
xor eax, edx
mov r8d, dword [0x14024c7fc]
mov edx, eax
xor edx, 0xffffffff
and edx, r8d
xor r8d, 0xffffffff
and eax, r8d
sub eax, edx
xor eax, 0x712ecf86
sub eax, 0x8f9f697f
add eax, 0x49e4dfe7
add eax, 0x8f9f697f
mov r8d, 0x93c1089c
xor r8d, 0xd1891373
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov cl, byte [rcx + rdx]
mov byte [rsp + rdx + 0x11c], cl
mov rcx, rdx
and rcx, 1
movabs r8, 0x8659e8a97930445f
movabs r9, 0x8659e8a97930445e
xor r8, r9
or rdx, r8
add rcx, rdx
mov qword [rsp + 0x78], rcx
cmp eax, 0x96b16c9d
jae 0x140035d13
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
jmp 0x1400354ee
mov rax, qword [rsp + 0xc8]
mov al, byte [rax]
mov cl, 0xba
xor cl, 0xba
cmp al, cl
je 0x14003562e
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x140035cfc
mov r8d, dword [0x14024c800]
imul r8d, dword [0x14024c804]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xd837c545
xor eax, 0x9bce2a27
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x43f9ef62
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xf7dcc89a
and ecx, 0x43f9ef62
mov edx, 0xa5394e05
xor edx, 0x52e5869f
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x26d45701
xor edx, 0x6c0e24eb
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x4ada73ea
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xae444501
xor r8d, 0xe49e36eb
mov edx, eax
and edx, r8d
or eax, 0x4ada73ea
imul eax, edx
add eax, ecx
xor eax, 0xb06534b7
cmp eax, 0x784eda6c
jbe 0x140035d1c
mov rcx, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0xb4]
mov r9, qword [rsp + 0xa8]
mov eax, dword [0x14024c808]
mov edx, dword [0x14024c80c]
xor edx, 0xea24113d
sub eax, edx
mov edx, 0x895c66ff
xor edx, 0x23710ebc
and eax, edx
mov r11d, 0xffffffff
xor r11d, 0x540c456f
mov r10d, eax
and r10d, r11d
mov edx, eax
or edx, r11d
xor edx, 0xffffffff
imul edx, r10d
mov r10d, eax
and r10d, 0x540c456f
or eax, 0x540c456f
imul eax, r10d
add eax, edx
mov edx, eax
xor edx, 0x2f4e9d3c
mov r10d, 0xa3a66ed7
xor r10d, 0x8ce8f3eb
mov r11d, 0xf92b8ba4
xor r11d, 0x6d4745b
xor r10d, r11d
and eax, r10d
shl eax, 1
sub eax, edx
mov edx, dword [rsp + 0x11c]
mov r11d, 0x659f354c
xor r11d, 0xa901181d
mov r10d, edx
imul r10d, r11d
shr r10d, 0x11
imul r11d, edx, 0x16a88000
mov esi, 0x5d6061cf
xor esi, 0xa29f9e30
mov edx, r10d
xor edx, esi
mov esi, r11d
xor esi, 0xffffffff
and edx, esi
mov esi, 0x5b715425
xor esi, 0xa48eabda
xor r10d, esi
xor r11d, 0xffffffff
and r10d, r11d
or edx, r10d
xor edx, 0xffffffff
movabs r10, 0xe4afb9a1bb1fd32d
add r9, r10
add r9, 4
movabs r10, 0x9de79c9b72317a0f
movabs r11, 0x7948253ac92ea922
xor r10, r11
sub r9, r10
mov qword [rsp + 0x58], r9
imul edx, edx, 0x1b873593
xor edx, r8d
rol edx, 0xd
imul edx, edx, 5
mov r8d, 0x8d640ee6
xor r8d, 0x8e50b775
sub edx, r8d
add edx, 0xe6546b64
mov r8d, 0x73ce39f0
xor r8d, 0x70fa8063
add edx, r8d
mov dword [rsp + 0x64], edx
add rcx, 4
mov qword [rsp + 0x68], rcx
cmp eax, 0xb684a632
jae 0x140035d1c
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x100], rdx
mov dword [rsp + 0x10c], ecx
mov qword [rsp + 0x110], rax
jmp 0x1400352fa
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xb8]
mov rcx, rax
add rcx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x4b], cl
xor ecx, ecx
mov dword [rsp + 0x4c], ecx
mov qword [rsp + 0x50], rax
mov ecx, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x44], ecx
cmp rax, 0
jle 0x140035ae0
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0xa8]
xor eax, eax
mov edx, eax
sub rdx, rcx
movabs rax, 0x749be54e455328e2
movabs r9, 0x749be54e455328e2
xor rax, r9
movabs r9, 0xbc141b5be6c62f9d
movabs r10, 0x43ebe4a41939d062
xor r9, r10
sub rax, r9
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0x28], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
xor rax, r8
add rax, rdx
mov qword [rsp + 0x30], rax
xor rcx, 0xffffffffffffffff
add rcx, 0
movabs rdx, 0x245b747ce54f3fa2
movabs r8, 0x245b747ce54f3fa3
xor rdx, r8
add rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140035968
call fcn.140008c92
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x140035cfc
mov dl, byte [rsp + 0x4b]
mov rax, qword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
setg al
or al, al
xor al, 0xff
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, dl
xor cl, r8b
xor dl, 0xff
and cl, dl
or al, cl
xor al, 0xff
test al, 1
jne 0x140035a75
mov eax, dword [0x14024c810]
mov ecx, 0xe8637936
xor ecx, 0x9b8f4b20
xor eax, ecx
xor edx, edx
div dword [0x14024c814]
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x8fed8d78
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
and ecx, 0x3384a4d9
shl ecx, 1
mov edx, 0xe38b9cd6
xor edx, 0xd00f380f
add eax, edx
sub eax, ecx
mov ecx, 0x1aeb7fb
xor edx, edx
div ecx
cmp eax, 0x2d0b1d07
jae 0x140035d25
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x14024c818]
xor edx, edx
div dword [0x14024c81c]
mov rdx, qword [rsp + 0xd0]
mov r9d, 0x74090593
xor r9d, 0xf0ce75e2
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
and r8d, 0x84c77071
shl r8d, 1
sub r8d, 0x84c77071
sub eax, r8d
xor eax, 0xb37b374e
sub eax, 0xca4b28d2
mov dword [rsp + 0x24], eax
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0x24]
cmp eax, 0x1bdd0ff9
jb 0x1400359f7
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x140035cfc
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x44]
mov ecx, 0x307822e5
xor ecx, 0x307822ed
shl r8d, cl
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rcx + rdx]
mov r9d, 0x5fbaf39c
xor r9d, 0xa0450c63
mov ecx, r8d
xor ecx, r9d
xor r8d, 0xffffffff
or ecx, r8d
and edx, edx
xor edx, 0xffffffff
mov r8d, 0xcf9697cd
xor r8d, 0x30696832
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov dword [rsp + 0x4c], ecx
mov qword [rsp + 0x50], rax
jmp 0x1400358a5
mov rcx, qword [rsp + 0xc8]
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0x70], rax
jne 0x140035cfc
mov ecx, dword [rsp + 0xb4]
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0x44]
mov r10d, 0xffffffff
xor r10d, 0xcc9e2d51
mov edx, r8d
and edx, r10d
mov r9d, r8d
or r9d, r10d
xor r9d, 0xffffffff
imul r9d, edx
mov r10d, r8d
and r10d, 0xcc9e2d51
mov edx, r8d
or edx, 0xcc9e2d51
imul edx, r10d
add edx, r9d
shr edx, 0x11
mov r9d, 0xbc7017ef
xor r9d, 0x438fe810
mov r10d, r8d
xor r10d, r9d
and r10d, 0x16a88000
mov r11d, 0xffffffff
xor r11d, 0x16a88000
mov r9d, r8d
and r9d, r11d
imul r9d, r10d
mov r10d, r8d
and r10d, 0x16a88000
mov r11d, 0x921388b1
xor r11d, 0x84bb08b1
or r8d, r11d
imul r8d, r10d
add r8d, r9d
or edx, r8d
imul edx, edx, 0x1b873593
mov r8d, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
or eax, r9d
xor eax, 0xffffffff
or edx, r8d
mov r8d, 0xbfb00c42
xor r8d, 0x404ff3bd
xor edx, r8d
mov r8d, 0x9c2bb77f
xor r8d, 0x63d44880
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, eax
or edx, edx
xor edx, 0xffffffff
mov r8d, ecx
or r8d, r8d
xor r8d, 0xffffffff
or edx, r8d
mov r8d, 0x44288528
xor r8d, 0xbbd77ad7
xor edx, r8d
or eax, ecx
mov ecx, 0x920b68fb
xor ecx, 0x6df49704
xor eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, edx
shr eax, 0x10
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x85ebca6b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x85ebca6b
or eax, 0x85ebca6b
imul eax, edx
add eax, ecx
mov ecx, 0x58eeb6a4
xor ecx, 0x58eeb6a9
mov r8d, eax
shr r8d, cl
xor r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xc2b2ae35
mov edx, 0xffffffff
xor edx, 0xc2b2ae35
mov eax, r8d
and eax, edx
imul eax, ecx
mov ecx, r8d
and ecx, 0xc2b2ae35
or r8d, 0xc2b2ae35
imul r8d, ecx
add r8d, eax
mov ecx, r8d
shr ecx, 0x10
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xefc58a02
xor edx, 0x103a75fd
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x1f95d55c
xor r9d, 0xe06a2aa3
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov eax, eax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
add rsp, 0x120
pop rsi
ret
ret 0x8d5e
invalid
mov dword [rdi], esp
int1
jmp 0x1400356d8
and ebp, dword [0x109ec96b5]
cld
invalid