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

Disassembly:
push rsi
sub rsp, 0x140
mov r9, rdx
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xf8], rcx
movabs rcx, 0x315c8385c33022e3
movabs rax, 0x315c8385c33022e7
xor rcx, rax
mov rax, r9
cqo
idiv rcx
mov qword [rsp + 0x100], rax
mov ecx, 4
mov rax, r9
cqo
idiv rcx
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x108], rdx
shl rax, 2
mov qword [rsp + 0x110], rax
mov ecx, 0x525c777b
xor eax, eax
xor r8d, r8d
mov edx, 0x4788d928
cmp r9, 3
mov r9d, ecx
mov dword [rsp + 0x11c], r9d
mov r9, rax
mov qword [rsp + 0x120], r9
mov dword [rsp + 0x12c], r8d
mov dword [rsp + 0x130], edx
mov dword [rsp + 0x134], ecx
mov qword [rsp + 0x138], rax
jg 0x140099625
jmp 0x140099a7c
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xcc]
mov r9, qword [rsp + 0x110]
xor r8d, r8d
mov edx, 0x4788d928
cmp rax, r9
mov r9d, ecx
mov dword [rsp + 0xdc], r9d
mov r9, rax
mov qword [rsp + 0xe0], r9
mov dword [rsp + 0xe8], r8d
mov dword [rsp + 0xec], edx
mov dword [rsp + 0x134], ecx
mov qword [rsp + 0x138], rax
jge 0x140099a7c
mov r8d, dword [rsp + 0xdc]
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x11c], r8d
mov qword [rsp + 0x120], rdx
mov dword [rsp + 0x12c], ecx
mov dword [rsp + 0x130], eax
mov ecx, dword [rsp + 0x11c]
mov rdx, qword [rsp + 0x120]
mov r8d, dword [rsp + 0x12c]
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], r8d
mov qword [rsp + 0xd0], rdx
mov dword [rsp + 0xcc], ecx
mov ecx, 4
mov qword [rsp + 0xc0], rcx
mov cl, 1
mov byte [rsp + 0xcb], cl
sub eax, 0x9ae212a7
je 0x140099886
jmp 0x140099687
mov eax, dword [rsp + 0xb8]
sub eax, 0xfa0555d6
je 0x140099926
jmp 0x14009969e
mov eax, dword [rsp + 0xb8]
sub eax, 0x1b0933d8
je 0x14009958d
jmp 0x1400996b5
mov eax, dword [rsp + 0xb8]
sub eax, 0x1e15625f
je 0x1400997e8
jmp 0x1400996cc
mov eax, dword [rsp + 0xb8]
sub eax, 0x2f8e4125
je 0x1400998c9
jmp 0x1400996e3
mov eax, dword [rsp + 0xb8]
sub eax, 0x33eb8e7e
je 0x14009976f
jmp 0x1400996fa
mov eax, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0xc0]
mov edx, dword [rsp + 0xb8]
sub edx, 0x4788d928
mov qword [rsp + 0xa8], rcx
mov dword [rsp + 0xb4], eax
je 0x140099968
jmp 0x140099730
mov al, byte [rsp + 0xcb]
mov ecx, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
mov r8d, ecx
sub r8d, 0x514c4505
mov dword [rsp + 0x9c], edx
mov dword [rsp + 0xa0], ecx
mov byte [rsp + 0xa7], al
je 0x14009982d
jmp 0x1400999df
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0xbc]
mov r9d, ecx
xor r9d, 0xffffffff
and r9d, 0x1b873593
mov r10d, 0xffffffff
xor r10d, 0x1b873593
mov eax, ecx
and eax, r10d
imul eax, r9d
mov r9d, ecx
and r9d, 0x1b873593
or ecx, 0x1b873593
imul ecx, r9d
add ecx, eax
mov eax, 0xab185599
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xcc]
mov eax, dword [rsp + 0xbc]
imul ecx, eax, 0xcc9e2d51
mov eax, 0xfa0555d6
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov ecx, dword [rsp + 0xbc]
mov r8d, dword [rsp + 0xcc]
mov rdx, qword [rsp + 0xd0]
movabs rax, 0xea6597abdcafa0ad
movabs r9, 0xea6597abdcafa0a9
xor rax, r9
add rdx, rax
mov eax, 0x1e15625f
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov ecx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xcc]
rol r8d, 0xd
mov eax, 0x2f8e4125
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov ecx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0xd0]
mov eax, dword [rsp + 0xcc]
imul r8d, eax, 5
mov eax, 0xc5c12ebf
xor eax, 0x90c519e6
add r8d, eax
add r8d, 0xe6546b64
sub r8d, 0x55043759
mov eax, 0x1b0933d8
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0xbc]
rol ecx, 0xf
mov eax, 0x33eb8e7e
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov edx, dword [rsp + 0xb4]
mov r9, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xf8]
mov r11, qword [rsp + 0xd0]
mov r8, r9
add r8, 0xffffffffffffffff
shl edx, 8
mov rcx, r8
and rcx, r11
mov r10, r8
or r10, r11
add rcx, r10
movzx eax, byte [rax + rcx]
or edx, eax
mov ecx, 0x514c4505
xor eax, eax
cmp r9, 1
mov qword [rsp + 0xa8], r8
mov r8d, edx
mov dword [rsp + 0xb4], r8d
mov dword [rsp + 0x9c], edx
mov dword [rsp + 0xa0], ecx
mov byte [rsp + 0xa7], al
ja 0x140099968
mov rdx, qword [rsp + 0xd0]
mov r11d, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0x9c]
mov eax, dword [rsp + 0xa0]
mov r10b, byte [rsp + 0xa7]
mov r8d, eax
sub r8d, 0xab185599
sete r9b
mov r8b, r10b
xor r8b, 1
or r8b, r9b
add r10b, r8b
inc r10b
xor r8d, r8d
test r10b, 1
cmovne r8d, ecx
mov esi, r8d
and esi, r11d
mov r9d, 0xbb814ca0
xor r9d, 0xbb814ca2
imul r9d, esi
add r8d, r11d
sub r8d, r9d
mov r9d, 0x9ae212a7
test r10b, 1
cmovne eax, r9d
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xec], eax
jmp 0x1400995e9
mov rcx, qword [rsp + 0x108]
mov r8d, dword [rsp + 0x134]
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x80], rax
xor edx, edx
mov eax, 0x6acc3ed6
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x8c], edx
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x98], eax
mov r8d, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], edx
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x7c]
mov qword [rsp + 0x50], rdx
cmp rdx, 0
setg dl
mov byte [rsp + 0x5f], dl
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x64], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
sub eax, 0xa53f60ef
je 0x140099ce2
jmp 0x140099b42
mov eax, dword [rsp + 0x44]
sub eax, 0xb986b361
je 0x140099c96
jmp 0x140099b56
mov eax, dword [rsp + 0x44]
sub eax, 0xd35b85d
je 0x140099d1d
jmp 0x140099b6a
mov eax, dword [rsp + 0x44]
sub eax, 0x1cbad097
je 0x140099cbf
jmp 0x140099b7e
mov eax, dword [rsp + 0x44]
sub eax, 0x4fc949e6
je 0x140099c74
jmp 0x140099b92
mov eax, dword [rsp + 0x44]
sub eax, 0x6acc3ed6
jne 0x140099b2e
jmp 0x140099ba6
mov eax, dword [0x140276638]
imul eax, dword [0x14027663c]
mov ecx, 0x34c064f1
xor edx, edx
div ecx
mov ecx, 0x17ce77e1
xor edx, edx
div ecx
imul eax, eax, 0x426fddb2
mov ecx, 0x3ff1fbf
xor ecx, 0xf09b731e
cmp eax, ecx
jae 0x14009a0a1
mov eax, dword [0x140276640]
xor eax, 0xd830364d
mov ecx, dword [0x140276644]
mov edx, 0xf5601527
xor edx, 0x28360c90
xor ecx, edx
or eax, ecx
mov ecx, 0xf5e69589
xor edx, edx
div ecx
or eax, 0x6a4f5fb4
mov ecx, eax
xor ecx, 0xab792973
xor ecx, 0xffffffff
mov edx, 0xe7a7516
xor edx, 0xa5035c65
and edx, ecx
mov ecx, 0x131c5fcb
xor ecx, 0x131c5fc9
imul ecx, edx
sub ecx, 0xab792973
sub eax, ecx
cmp eax, 0x92f1dde9
jb 0x140099bde
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov r8b, byte [rsp + 0x5f]
mov edx, 0x1cbad097
test r8b, 1
mov dword [rsp + 0x4c], edx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x40], eax
jne 0x140099d39
jmp 0x140099b26
mov ecx, dword [rsp + 0x68]
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x2c], eax
mov eax, 0x33ee4eed
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], eax
jmp 0x140099ea4
mov ecx, dword [rsp + 0x48]
rol ecx, 0xf
mov eax, 0xd35b85d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x64], eax
jmp 0x140099b16
mov ecx, dword [rsp + 0x48]
mov eax, 0xddd3870c
xor eax, 0x114daa5d
imul ecx, eax
mov eax, 0xb986b361
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], eax
jmp 0x140099caa
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x68]
mov r8d, edx
xor r8d, eax
mov eax, 0x4fc949e6
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x8c], edx
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x98], eax
jmp 0x140099ac1
mov eax, dword [rsp + 0x48]
imul ecx, eax, 0x1b873593
mov eax, 0xa53f60ef
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], eax
jmp 0x140099caa
mov eax, dword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x80]
mov rcx, r9
and rcx, 0xffffffffffffffff
mov r8, r9
or r8, 0xffffffffffffffff
add rcx, r8
mov qword [rsp + 0x18], rcx
mov ecx, 0x9aa888b3
xor ecx, 0x9aa888bb
shl eax, cl
mov rcx, qword [rsp + 0x18]
mov r8, rcx
add r8, r10
movzx edx, byte [rdx + r8]
or eax, edx
xor edx, edx
mov r8d, edx
mov edx, 0x1cbad097
cmp r9, 1
mov r9d, eax
mov dword [rsp + 0x6c], r9d
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x7c], edx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x40], eax
ja 0x140099d39
jmp 0x140099af1
mov eax, dword [rsp + 0x14]
sub eax, 0xcd1d3e98
je 0x140099eb9
jmp 0x140099dce
mov eax, dword [rsp + 0x14]
sub eax, 0xe5b03e29
je 0x140099fb3
jmp 0x140099de2
mov eax, dword [rsp + 0x14]
sub eax, 0xe95a563
je 0x140099f5a
jmp 0x140099df6
mov eax, dword [rsp + 0x14]
sub eax, 0x149ca748
je 0x140099e46
jmp 0x140099e0a
mov eax, dword [rsp + 0x14]
sub eax, 0x23ff78f5
je 0x14009a092
jmp 0x140099e1e
mov eax, dword [rsp + 0x14]
sub eax, 0x33ee4eed
je 0x14009a076
jmp 0x140099e32
mov eax, dword [rsp + 0x14]
sub eax, 0x379ccab0
je 0x140099f8d
jmp 0x140099dba
mov ecx, dword [rsp + 8]
mov r8d, 0xffffffff
xor r8d, 0x85ebca6b
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0xc76b386d
xor r8d, 0x3894c792
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x85ebca6b
or ecx, 0x85ebca6b
imul ecx, edx
add ecx, eax
mov eax, 0xcd1d3e98
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0xc]
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x14], ecx
mov dword [rsp + 8], eax
jmp 0x140099dba
mov eax, dword [0x140276648]
or eax, dword [0x14027664c]
mov ecx, eax
and ecx, 0x8563505
shl ecx, 1
xor eax, 0x8563505
add eax, ecx
mov ecx, 0xec31790e
xor edx, edx
div ecx
and eax, 0xfe00c692
cmp eax, 0x8ea268ef
ja 0x14009a0aa
mov eax, dword [0x140276650]
xor edx, edx
div dword [0x140276654]
mov ecx, 0xc21338b6
xor ecx, 0x2707b6a0
xor edx, edx
div ecx
add eax, 0xb32f599f
mov ecx, 0xaf4944eb
xor edx, edx
div ecx
mov edx, dword [rsp + 8]
mov ecx, 0x6c816d40
xor ecx, 0x6c816d4d
mov r8d, edx
shr r8d, cl
mov ecx, r8d
xor ecx, edx
mov dword [rsp + 4], ecx
cmp eax, 0xc92a42a3
je 0x140099ef0
mov ecx, dword [rsp + 4]
mov eax, 0xe5b03e29
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
jmp 0x140099e94
mov edx, dword [rsp + 8]
mov ecx, edx
shr ecx, 0x10
mov r8d, ecx
and r8d, edx
mov eax, 0xb5c83a0b
xor eax, 0xb5c83a09
imul eax, r8d
add ecx, edx
sub ecx, eax
mov eax, 0x149ca748
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
jmp 0x140099e94
mov edx, dword [rsp + 8]
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, 0x23ff78f5
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
jmp 0x140099e94
mov ecx, dword [0x140276658]
xor ecx, 0x99a23f4a
mov r8d, dword [0x14027665c]
mov eax, 0x5184d408
xor eax, 0xae7b2bf7
mov edx, r8d
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov edx, 0x36257250
xor edx, 0x9efcd9ab
mov eax, 0x59830c5
xor eax, 0xfa67cf3a
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0x8e19625c
xor eax, 0x6e4c6a1b
cmp eax, 0xcea8873c
ja 0x14009a0b3
mov ecx, dword [rsp + 8]
mov eax, dword [0x140276660]
and eax, dword [0x140276664]
or eax, 0x9ea6d061
mov r8d, 0x46fb38f
xor edx, edx
div r8d
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x32027716
add edx, eax
mov eax, 0x4097b13b
xor eax, 0x4097b13b
sub eax, edx
imul ecx, ecx, 0xc2b2ae35
mov dword [rsp], ecx
cmp eax, 0xcd85cf84
jae 0x14009a014
mov ecx, dword [rsp]
mov eax, 0x379ccab0
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
jmp 0x140099e94
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, 0xe95a563
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], eax
jmp 0x140099e94
movsd dword [rdi], dword [rsi]
xchg ebp, eax
invalid
mov eax, dword [rsp + 8]
mov eax, eax
add rsp, 0x140
pop rsi
ret
ja 0x14009a082
invalid
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 + 0x3d], al
invalid
fdiv dword [rax + 0x58e9dadd]
invalid