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

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.140033949
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x20], rcx
movabs rcx, 0x470f2e457b816844
movabs rdx, 0x470f2e457b816840
xor rcx, rdx
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x38], rcx
mov ecx, 4
cqo
idiv rcx
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x30], rdx
movabs rcx, 0x8b2cb817b4428d46
movabs rdx, 0x8b2cb817b4428d44
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x38]
mov qword [rbp + 0x40], rax
cvtsi2sd xmm1, rcx
movsd xmm0, qword [0x1401d45e0]
mulsd xmm1, xmm0
movsd qword [rbp + 0x48], xmm1
cvtsi2sd xmm0, rax
ucomisd xmm1, xmm0
sete al
setnp cl
and al, cl
mov byte [rbp + 0x57], al
subsd xmm0, xmm1
movsd qword [rbp + 0x58], xmm0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor eax, eax
mov qword [rbp + 0x60], rdx
mov dword [rbp + 0x6c], ecx
mov qword [rbp + 0x70], rax
mov al, byte [rbp + 0x57]
mov rcx, qword [rbp + 0x60]
mov edx, dword [rbp + 0x6c]
mov r8, qword [rbp + 0x70]
mov qword [rbp - 8], r8
mov dword [rbp + 4], edx
mov qword [rbp + 8], rcx
test al, 1
jne 0x140033055
movsd xmm0, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.1401c7730
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x48]
movsd qword [rbp - 0x10], xmm1
sub rsp, 0x20
call fcn.1401c7730
movsd xmm1, qword [rbp - 0x10]
add rsp, 0x20
movsd xmm2, qword [0x1401d45e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140033055
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400331d8
mov eax, dword [0x1401c9850]
mov ecx, 0x7a7d66ad
xor ecx, 0x905c7b1f
xor eax, ecx
add eax, dword [0x1401c9854]
sub eax, 0xa1f14b9f
mov ecx, 0xf9e31faf
xor ecx, 0xea16c9c6
add eax, ecx
add eax, 0x8eb63a58
mov ecx, 0x384e8e81
xor ecx, 0x845103cd
sub eax, ecx
mov ecx, 0xb8f86e98
xor ecx, 0x364e54c0
sub eax, ecx
cmp eax, 0x13473997
je 0x140033925
mov rdx, qword [rbp - 8]
mov r8, qword [rbp + 0x40]
mov eax, dword [0x1401c9858]
mov ecx, dword [0x1401c985c]
mov r9d, 0x69230491
xor r9d, 0xc6f55cc1
xor ecx, r9d
imul eax, ecx
mov ecx, 0x83f4c4a8
xor ecx, 0x91f9be3d
or eax, ecx
and eax, 0xe1f56af9
mov ecx, eax
xor ecx, 0x8454821b
mov r9d, 0x17d27575
xor r9d, 0xe82d8a8a
xor ecx, r9d
and ecx, 0x8454821b
shl ecx, 1
sub ecx, 0x8454821b
sub eax, ecx
mov ecx, 0x47802e71
xor ecx, 0x4eeb4b11
cmp rdx, r8
setl dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jbe 0x1400330aa
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140033138
jmp 0x140033335
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x18]
mov dword [rdx], 0
cmp rax, rcx
jl 0x140033185
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x28]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x1400331d8
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x10]
add rax, rcx
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x30], rax
cmp rax, 4
je 0x1400331cb
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x28]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rbp - 0x20], rax
jmp 0x14003319a
mov rax, qword [rbp + 0x20]
cmp byte [rax], 0
je 0x1400331dd
jmp 0x140033918
mov rdx, qword [rbp + 8]
mov r9d, dword [rbp + 4]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
mov edi, dword [rcx]
imul ebx, edi, 0xcc9e2d51
shr ebx, 0x11
mov r10d, 0xffffffff
xor r10d, 0x16a88000
mov r8d, edi
and r8d, r10d
mov ecx, edi
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, edi
and r8d, 0x16a88000
mov r10d, 0x5c56783b
xor r10d, 0x4afef83b
or edi, r10d
imul edi, r8d
add edi, ecx
mov r8d, ebx
xor r8d, 0xffffffff
mov r11d, edi
xor r11d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0x90d78291
mov ecx, r8d
and ecx, 0x90d78291
and ebx, r10d
mov esi, r11d
and esi, 0x90d78291
and edi, r10d
or ecx, ebx
or esi, edi
xor ecx, esi
or r8d, r11d
xor r8d, 0xffffffff
or r10d, 0x90d78291
and r8d, r10d
or ecx, r8d
movabs r8, 0x3d5721ca59449bc2
movabs r10, 0x8e3429b5f59480f3
xor r8, r10
add rax, r8
add rax, 4
movabs r8, 0xb363087facd01b31
sub rax, r8
imul r8d, ecx, 0x1b873593
mov ecx, r8d
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
or ecx, r10d
and r9d, r9d
xor r9d, 0xffffffff
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
rol ecx, 0xd
mov r8d, 0xc2a73c57
xor r8d, 0xc2a73c52
imul ecx, r8d
mov r8d, 0xc20b3ad4
xor r8d, 0x245f51b0
add ecx, r8d
movabs r8, 0xc6a292a3ef983121
movabs r9, 0xc6a292a3ef983125
xor r8, r9
add rdx, r8
mov qword [rbp + 0x60], rdx
mov dword [rbp + 0x6c], ecx
mov qword [rbp + 0x70], rax
jmp 0x140032fdb
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov r9, qword [rbp + 8]
mov rcx, rax
and rcx, r9
mov r8, rax
or r8, r9
add rcx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x3d], cl
xor ecx, ecx
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x38], rax
mov eax, dword [rbp - 0x3c]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x44], eax
mov eax, dword [0x1401c9860]
xor eax, 0x806970
imul eax, dword [0x1401c9864]
add eax, 0x75faab51
mov ecx, eax
and ecx, 0xb9b0b917
shl ecx, 1
add eax, 0xb9b0b917
sub eax, ecx
or eax, 0x2340d0b3
cmp eax, 0x47c9335b
jae 0x14003392e
mov eax, dword [0x1401c9868]
sub eax, dword [0x1401c986c]
mov ecx, 0x54dad01a
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x50]
xor ecx, ecx
sub ecx, 0x5fe6a966
sub eax, ecx
mov ecx, 0x8966cb21
xor ecx, 0x87b32a85
add eax, ecx
add eax, 0xbd2fceb5
sub eax, 0xed5e1a4
mov ecx, 0xfed05ec5
xor ecx, 0x31780f73
cmp rdx, 0
setg dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
ja 0x14003392e
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140033410
jmp 0x1400336e6
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 8]
xor eax, eax
mov ecx, eax
sub rcx, r8
xor eax, eax
sub rax, 0xffffffffffffffff
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp - 0x68], rax
mov rcx, rax
and rcx, rdx
movabs r9, 0x1fe03194bbbb6b34
movabs r10, 0x1fe03194bbbb6b36
xor r9, r10
imul rcx, r9
xor rax, rdx
add rax, rcx
mov qword [rbp - 0x60], rax
mov rdx, r8
xor rdx, 0
xor r8, 0xffffffffffffffff
and r8, 0
movabs rcx, 0xa4b2e6a95edc3611
movabs r9, 0xa4b2e6a95edc3613
xor rcx, r9
imul rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400334a8
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140033918
mov dl, byte [rbp - 0x3d]
mov rax, qword [rbp - 0x60]
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14003369b
mov ecx, dword [0x1401c9870]
mov r8d, dword [0x1401c9874]
mov eax, 0x168adab5
xor eax, 0xb174c0ca
xor r8d, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0xbd90eb25
sub ecx, 0x3949c9ff
add ecx, 0xbd90eb25
mov eax, ecx
and eax, 0x688a09f0
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x688a09f0
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x45773145
xor edx, 0xba88ceba
xor ecx, edx
or eax, ecx
mov edx, 0xb7080651
xor edx, 0x48f7f9ae
mov ecx, eax
xor ecx, edx
mov edx, 0xc3c24a70
xor edx, 0xdddbddb
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xce1ff7ab
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x96da53fa
xor r8d, 0x58c5a451
mov edx, eax
and edx, r8d
or eax, 0xce1ff7ab
imul eax, edx
add eax, ecx
cmp eax, 0x93d738ca
ja 0x140033937
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x28]
mov edx, dword [0x1401c9878]
mov r8d, dword [0x1401c987c]
xor r8d, 0xf703ba6d
add edx, 0xbaa70515
sub edx, r8d
sub edx, 0xbaa70515
xor edx, 0x5b173c17
mov r9d, 0x35f5612f
xor r9d, 0x35f5612e
mov r8d, edx
add r8d, r9d
mov r9d, 0x94266808
xor r9d, 0x6bd997f7
xor edx, r9d
or edx, 0x6c1c4b1b
add edx, r8d
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0x1d06fc58
mov r10d, 0xffffffff
xor r10d, 0x1d06fc58
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x1d06fc58
mov r10d, 0x48be4cb5
xor r10d, 0x55b8b0ed
or edx, r10d
imul edx, r9d
add edx, r8d
mov dword [rbp - 0x6c], edx
movabs r8, 0x4bfd1f98871e6fdc
movabs rdx, 0xb402e06778e19023
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0x99c7a89144419851
movabs r9, 0x6638576ebbbe67ae
xor r8, r9
or rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400122ad
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, 0x91519844
jbe 0x14003359b
jmp 0x140033918
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x44]
shl r8d, 8
movzx edx, byte [rcx + rdx]
mov ecx, r8d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
and edx, edx
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x795573c4
xor r8d, 0x86aa8c3b
xor edx, r8d
or ecx, edx
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x38], rax
jmp 0x140033362
mov rax, qword [rbp + 0x20]
cmp byte [rax], 0
jne 0x140033918
mov ecx, dword [0x1401c9880]
mov r8d, dword [0x1401c9884]
xor r8d, 0x488f652d
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, 0x52625857
xor eax, 0xffffffff
mov edx, 0x49be4489
xor edx, 0xb641bb76
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x52625857
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0xa4fcf767
mov ecx, 0xbd5ba5ac
xor ecx, 0xba757082
or eax, ecx
cmp eax, 0x31991754
jb 0x140033940
mov edx, dword [rbp + 4]
mov r8, qword [rbp + 0x28]
mov ecx, dword [rbp - 0x44]
mov eax, dword [0x1401c9888]
imul eax, dword [0x1401c988c]
mov r9d, 0x3ab77e0
xor r9d, 0xe4e0604a
or eax, r9d
xor eax, 0x35999159
and eax, 0xc0f15d7a
imul r10d, ecx, 0xcc9e2d51
shr r10d, 0x11
imul r9d, ecx, 0x16a88000
mov r11d, 0xe3f9d551
xor r11d, 0x1c062aae
mov ecx, r10d
xor ecx, r11d
xor r10d, 0xffffffff
or ecx, r10d
and r9d, r9d
xor r9d, 0xffffffff
xor ecx, 0xffffffff
xor r9d, 0xffffffff
or ecx, r9d
imul ecx, ecx, 0x1b873593
xor ecx, r8d
xor ecx, edx
mov edx, ecx
shr edx, 0x10
xor edx, ecx
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x85ebca6b
mov r9d, 0xffffffff
xor r9d, 0x85ebca6b
mov ecx, edx
and ecx, r9d
imul ecx, r8d
mov r9d, 0xe9e6cc27
xor r9d, 0x6c0d064c
mov r8d, edx
and r8d, r9d
mov r9d, 0xca2f1131
xor r9d, 0x4fc4db5a
or edx, r9d
imul edx, r8d
add edx, ecx
mov ecx, edx
shr ecx, 0xd
mov r9d, ecx
or r9d, r9d
xor r9d, 0xffffffff
mov r10d, 0x6e6237c7
xor r10d, 0x919dc838
mov r8d, edx
xor r8d, r10d
mov r11d, 0x62ffd777
xor r11d, 0x9d002888
mov r10d, edx
xor r10d, r11d
and r8d, r10d
or r9d, r8d
mov r8d, 0x966db323
xor r8d, 0x69924cdc
xor r9d, r8d
xor ecx, 0xffffffff
mov r8d, 0x4a3534f7
xor r8d, 0xb5cacb08
xor edx, r8d
and ecx, edx
or r9d, ecx
mov ecx, 0xcbc9d2c7
xor ecx, 0x34362d38
xor r9d, ecx
mov ecx, 0x446e968b
xor ecx, 0x86dc38be
imul r9d, ecx
mov edx, r9d
shr edx, 0x10
mov ecx, edx
and ecx, ecx
xor ecx, 0xffffffff
and ecx, r9d
xor ecx, 0xffffffff
mov r8d, r9d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
xor edx, 0xffffffff
mov r9d, 0x45e40e8e
xor r9d, 0xba1bf171
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov ecx, ecx
mov qword [rbp - 0x78], rcx
cmp eax, 0x48238e5c
jb 0x140033940
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140033918
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop rbp
ret
push rsi
sbb byte [rcx - 0x34], bh
jmp 0x1400330aa
sub esi, dword [rdi]
test eax, 0xfa72e967
invalid
mov ecx, 0xe9a77d3d
pop rbx
cld
invalid
adc dword gs:[rsi], 0xfe28e983
invalid