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

Disassembly:
push 0x33428f7d
mov qword [rsp], rbp
push rbx
mov dword [rsp - 0x30], ebx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
lea rbp, [rsp - 0x1d8]
mov dword [rsp - 0x38], edx
neg rsp
sub rsp, 0xfffffffffffffd28
neg rsp
xor ebx, ebx
lea rdi, [0x140000000]
xchg r15, r15
mov edx, ebx
xchg r9, rcx
mov rsi, r9
xchg r9, rcx
nop dword [rax]
nop word [rax + rax]
mov ecx, edx
mov rcx, rcx
mov eax, 0x1e5561c2
sub eax, 0xdf94381
sub eax, 0x518d660
add eax, 0x68e3bdd6
rol eax, cl
xor al, byte [rdx + rdi + 0xc390]
mov dword [rsp - 0x3c], ebx
mov byte [rsp + rdx + 0x60], al
inc rdx
cmp rdx, 0x10
mov r9, r9
jb 0x14046ac40
xchg rdi, rdx
mov rdi, rbx
xchg rdi, rdx
mov ecx, edx
mov eax, 0x1d2796a1
add eax, 0x52eb66e3
add eax, 0x18c5b1e
xor eax, 0x5b85d15
rol eax, cl
mov dword [rsp - 0x18], esp
xor al, byte [rdx + rdi + 0xc3a0]
mov byte [rsp + rdx + 0x50], al
inc rdx
xchg rbp, rbp
cmp rdx, 0x10
jb 0x14046ac83
lea rcx, [0x14049f890]
xchg rsp, rsp
call fcn.1400577e0
xorps xmm0, xmm0
test al, al
jne 0x14046ad05
mov dword [rsp - 0x38], ecx
lea rax, [rsi + 8]
mov qword [rsi], rax
xchg rsp, rax
movups xmmword [rsp], xmm0
xchg rsp, rax
xchg r15, rax
movups xmmword [r15 + 0x10], xmm0
xchg r15, rax
movups xmmword [rax + 0x20], xmm0
mov dword [rsp - 0x18], 0x3d45a82f
mov qword [rsi + 0x38], rbx
jmp 0x14046b831
lea rax, [rbp - 0x48]
mov rsi, rsi
xchg r14, r8
mov qword [rsp + 0x300], r8
xchg r14, r8
xchg rdx, rax
mov qword [rbp - 0x50], rdx
xchg rdx, rax
movabs rcx, 0x1073ead405e2a9ea
add rcx, 0x3ee63c97
xor rcx, 0x7b149586
xor rcx, 0x2032f533
add rcx, 0x7fffffff
add rcx, 0x3db0e585
mov rax, qword [str.gem_]
xor rax, rcx
xchg rdi, rbx
mov qword [rbp - 0x18], rdi
xchg rdi, rbx
ror rax, 0x1b
ror rax, 6
ror rax, 0x10
ror rax, 1
ror rax, 1
movabs rcx, 0x64ad6cea54f81a1a
sub rcx, 0x2acd9086
add rcx, 0x458f0837
sub rcx, 0x69808949
add rcx, 0x7fffffff
add rcx, 0x3bbca764
add rax, rcx
movabs rcx, 0x6f0bcba9386ebd55
add rcx, 0x22ef7ca8
xor rcx, 0x243d1cd2
xor rcx, 0x2f9881c0
xor rcx, 0x532a01ff
xor rax, rcx
xor ecx, ecx
xchg rbp, r9
movups xmmword [r9 - 0x48], xmm0
xchg rbp, r9
xchg rbp, r12
movups xmmword [r12 - 0x38], xmm0
xchg r12, rbp
movups xmmword [rbp - 0x28], xmm0
xchg rbp, rbp
call rax
test eax, eax
js 0x14046b6d5
mov rax, qword [0x14049f0f0]
mov rdi, rdi
lea r9, [rsp + 0x50]
movabs rcx, 0x80e1dd1a50e724bc
xor rcx, 0x7859a9cb
sub rcx, 0x9d3df44
xor rcx, 0x75e6729c
xor rcx, 0x2575f72a
xor edx, edx
xchg r10, r10
add rax, rcx
movabs rcx, 0x4bc00e9c4dd7e2da
add rcx, 0x54ba13d
xor rcx, 0x13e5b066
xor rcx, 0x41206aca
rol rax, 1
rol rax, 1
not rax
mov dword [rsp - 0xc], 0x796210ca
add rax, rcx
lea r8d, [rdx + 0x17]
movabs rcx, 0x3f6ddb2a3cff3977
add rcx, 0x265dc983
add rcx, 0x167cf3e7
xor rcx, 0x5edb4bd7
add rcx, 0x7fffffff
xor rcx, 0x6121946c
xor rax, rcx
lea rcx, [rsp + 0x40]
mov rcx, rcx
xchg r9, rcx
mov qword [rsp + 0x20], r9
xchg r9, rcx
lea rcx, [rsp + 0x60]
mov dword [rsp - 0x1c], 0x4c817634
ror rax, 0x1f
ror rax, 5
ror rax, 4
ror rax, 1
call rax
mov dword [rsp - 0x1c], esp
test eax, eax
js 0x14046b6d5
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x218]
mov r12, r12
mov qword [rbp + 0x218], rbx
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x28]
mov dword [rsp - 0x24], 0x320aa309
test eax, eax
js 0x14046b6c7
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x210]
mov dword [rsp - 0x18], esp
mov rdx, qword [rbp + 0x218]
xchg rdx, rbx
mov qword [rbp + 0x210], rdx
xchg rbx, rdx
mov qword [rsp + 0x2d0], r15
xchg r14, r14
xchg r9, rax
mov r9, qword [rcx]
xchg r9, rax
call qword [rax + 0x20]
mov rbx, rbx
movabs r15, 0x407e22242433c778
sub r15, 0x14d0757d
xor r15, 0x2986be93
add r15, 0x16c26cca
sub r15, 0x17b64f73
test eax, eax
js 0x14046b65d
mov rax, qword [0x14049f878]
mov dword [rsp - 0xc], 0xca856d5
movabs rcx, 0x7ceb98b168d1565d
xor rcx, 0x1bf02078
sub rcx, 0x2e8b8daa
add rcx, 0x52776f73
ror rax, 0xe
ror rax, 0x24
ror rax, 2
ror rax, 1
ror rax, 2
ror rax, 1
xor rax, rcx
movabs rcx, 0x33841db87fc6cfae
xor rcx, 0x2c5962fd
sub rcx, 0x50d21dea
add rcx, 0x42f52a6f
ror rax, 0x14
ror rax, 0x12
ror rax, 1
add rax, rcx
xchg r15, r15
movabs rcx, 0x566e17833a039a5c
sub rcx, 0xb519611
add rcx, 0x470e6da0
sub rcx, 0x71c424b8
add rcx, 0x7fffffff
add rcx, 0x4022054c
rol rax, 0xf
rol rax, 1
rol rax, 0xa
rol rax, 1
rol rax, 1
add rax, rcx
lea rcx, [rbp + 0x50]
mov dword [rsp - 0x38], ebx
call rax
lea rcx, [rbp - 0x10]
call fcn.140081de0
mov r14, qword [rbp + 0x210]
xchg rsp, rsp
lea rax, [rbp + 0xc8]
xor edx, edx
mov qword [rbp + 0xc0], rax
mov r8d, 0x59eee85
add r8d, 0x4acb4ba3
xor r8d, 0x454d421
sub r8d, 0x543eed09
lea rcx, [rbp + 0xc8]
call fcn.140096790
mov dword [rsp - 0x3c], 0x72b8c31c
nop
movabs rdi, 0xffffffff2cec5d99
xor rdi, 0x64d8282a
sub rdi, 0x142c91bd
xor rdi, 0x40ca3283
add rdi, 0x7fffffff
add rdi, 0xb322e8b
xchg rdx, r11
mov r11, rdi
xchg r11, rdx
nop
inc rdx
mov dword [rsp - 0x20], 0x2592dd3f
cmp word [r14 + rdx*2], bx
jne 0x14046b0bd
xchg rdx, r9
mov qword [rbp + 0x1c8], r9
xchg rdx, r9
lea rcx, [rbp + 0xc0]
mov dword [rsp - 0x28], esp
inc rdx
call fcn.14003e680
test rax, rax
je 0x14046b127
mov dword [rsp - 0x18], 0x6073f3ce
mov r9, qword [rbp + 0x1c8]
xchg r14, r8
mov r14, r8
xchg r14, r8
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
lea rdx, [r9 + 1]
call fcn.140097150
mov r11, r11
mov r14, qword [rbp + 0xc0]
lea rax, [rsp + 0x78]
xorps xmm0, xmm0
mov r12, r12
mov qword [rsp + 0x70], rax
xchg rbx, rsp
movups xmmword [rbx + 0x78], xmm0
xchg rsp, rbx
xchg rsp, rbp
movups xmmword [rsp - 0x78], xmm0
xchg rsp, rbp
xchg rsi, rbp
movups xmmword [rsi - 0x68], xmm0
xchg rbp, rsi
nop dword [rax]
mov rbx, rbx
inc rdi
cmp word [r14 + rdi*2], bx
jne 0x14046b164
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
mov qword [rbp - 0x58], rdi
mov dword [rsp - 0x18], edx
lea rcx, [rsp + 0x70]
call fcn.14000ed30
mov edx, 0x55fdaaa
xor edx, 0x37a7be70
xor edx, 0x7aa09bd8
add edx, 0x199057d0
xor edx, 0x651a3e53
mov rdi, rbx
mov dword [rsp - 0x38], 0x619f55ff
cmp qword [rbp - 0x58], rbx
jbe 0x14046b21d
sub r14, rax
mov r8d, 0x577a8357
xor r8d, 0x5907decf
add r8d, 0x53167c26
add r8d, 0x1afa34b0
sub r8d, 0x7c8e0d6f
movzx ecx, dx
mov r14, r14
lea rax, [rax + 2]
and cx, r8w
ror edx, 1
ror edx, 1
ror edx, 3
ror edx, 1
ror edx, 2
xor cx, word [r14 + rax - 2]
mov dword [rsp - 0x2c], edi
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x58]
jb 0x14046b1e4
mov dword [rsp - 0x14], esi
mov byte [rsp + 0x38], bl
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x30], 0x3441eef9
add dword [rsp + 0x30], 0xe1ef832
sub dword [rsp + 0x30], 0x11f6b34d
add dword [rsp + 0x30], 0x2c647bb6
xor dword [rsp + 0x30], 0x5cceaff4
lea rcx, [rbp - 0x10]
xchg rdx, rdx
mov dword [rsp + 0x28], 0x4bf9cfdf
xor dword [rsp + 0x28], 0x5d61fee8
add dword [rsp + 0x28], 0x67b3b629
sub dword [rsp + 0x28], 0x6d99f42d
sub dword [rsp + 0x28], 0x10b1f332
mov r9d, 0x27f5da4a
sub r9d, 0x23d4b3c3
add r9d, 0xe7fe7cb
sub r9d, 0x50f3145
sub r9d, 0xd91dc8d
mov r8d, 0x27da0c48
add r8d, 0x45d269b1
sub r8d, 0x180306fb
sub r8d, 0x55976e75
mov dword [rsp + 0x20], 0x10a538c7
add dword [rsp + 0x20], 0x2665a521
sub dword [rsp + 0x20], 0xee9e3b9
sub dword [rsp + 0x20], 0x2820fa2e
call fcn.140082b90
mov rcx, qword [rsp + 0x70]
mov dword [rsp - 0x2c], esp
movzx r14d, al
lea rax, [rsp + 0x78]
cmp rcx, rax
mov dword [rsp - 0x2c], 0x30b96b48
jne 0x14046b338
lea rdi, [rsp + 0x78]
xor eax, eax
mov dword [rsp - 0x44], 0x4c280f59
mov ecx, 0x30943e8f
xor ecx, 0x14f1fc63
add ecx, 0xacc95d
xor ecx, 0x5f7ee917
xor ecx, 0x7a6c656e
rep stosb byte [rdi], al
mov rdx, rdx
jmp 0x14046b33d
call fcn.140096230
mov rcx, qword [rbp + 0xc0]
mov dword [rsp - 0x30], ecx
lea rax, [rbp + 0xc8]
cmp rcx, rax
jne 0x14046b38a
mov dword [rsp - 0x1c], 0x29af4063
lea rdi, [rbp + 0xc8]
xor eax, eax
mov ecx, 0x10756414
add ecx, 0x16d9aa12
add ecx, 0x35680ea4
sub ecx, 0x5cb71bca
rep stosb byte [rdi], al
xchg r13, r13
jmp 0x14046b397
call fcn.140096230
mov dword [rsp - 0x38], 0x4f15e39d
test r14b, r14b
je 0x14046b4d4
lea r8, [rbp + 0x208]
lea rdx, [rsp + 0x48]
mov dword [rsp - 0x28], esi
lea rcx, [rbp - 0x10]
call fcn.140083490
test al, al
mov r10, r10
je 0x14046b4d4
mov rax, qword [0x14049f880]
movabs rcx, 0x83475a3c48b58c6e
add rcx, 0x20abcd4e
sub rcx, 0x5a460a1a
add rcx, 0x7fffffff
add rcx, 0x8b7f1d2
mov r8d, dword [rbp + 0x208]
add rax, rcx
xchg rdx, r12
mov r12, qword [rsp + 0x48]
xchg rdx, r12
movabs rcx, 0x18c8c6686aabb792
xor rcx, 0x60d98c0c
xor rcx, 0x6d8baf0b
sub rcx, 0x4262f3a0
add rcx, 0x5a33e1cf
ror rax, 4
ror rax, 9
ror rax, 6
ror rax, 1
ror rax, 1
ror rax, 2
add rax, rcx
xchg r14, r14
movabs rcx, 0x2419e81538b6478c
xor rcx, 0x4c5bef17
sub rcx, 0x347d47d6
sub rcx, 0x1a923013
add rcx, 0x7fffffff
add rcx, 0x4646d5b7
ror rax, 4
ror rax, 6
ror rax, 2
ror rax, 1
ror rax, 1
xor rax, rcx
movabs rcx, 0x6e59ea1a41b88c08
sub rcx, 0x364d4a2a
add rcx, 0x72b6ee4b
sub rcx, 0x83115a7
add rcx, 0x6045be93
add rax, rcx
lea rcx, [rbp + 0x50]
xchg r11, r11
ror rax, 6
ror rax, 0x16
ror rax, 1
call rax
mov rcx, qword [rsp + 0x48]
call fcn.140096060
mov r11, r11
lea rcx, [rbp - 0x10]
call fcn.140081e00
mov rdx, qword [0x14049f888]
mov dword [rsp - 0x40], 0x8dbb759
movabs rcx, 0xfd3f080c245b39dc
add rcx, 0x10a232e7
sub rcx, 0x1f8e5a27
add rcx, 0x7fffffff
sub rcx, 0x147cb666
add rdx, rcx
mov dword [rsp - 0x2c], esp
movabs rax, 0x19a296483d9c1fc4
add rax, 0xd284780
add rax, 0xb15eb38
sub rax, 0x38d15f78
add rax, 0x7fffffff
add rax, 0x13440d6
not rdx
lea rcx, [rbp + 0x50]
xchg rbp, rbp
sub rdx, rax
movabs rax, 0x35e4713d701bf47c
xor rax, 0x55f2ff86
xor rax, 0x12948d95
add rax, 0x49f5ecd6
xor rdx, rax
mov r8, r8
call rdx
mov rax, qword [0x14049f700]
mov rcx, qword [rbp + 0x210]
mov dword [rsp - 0x1c], 0x471f006f
not rax
ror rax, 9
ror rax, 8
not rax
mov rbx, rbx
rol rax, 5
rol rax, 6
rol rax, 7
rol rax, 2
rol rax, 3
rol rax, 1
rol rax, 1
sub rax, r15
rol rax, 0xc
rol rax, 0xb
rol rax, 2
rol rax, 1
rol rax, 1
rol rax, 1
call rax
mov r8d, 0x22a9a3a5
add r8d, 0x3ed42f1f
sub r8d, 0x35cb74d9
add r8d, 0x52bfcff6
sub r8d, 0x7e722dd1
lea rdx, [rbp + 0xa8]
mov dword [rsp - 0x10], ebp
lea rcx, [rbp + 8]
call fcn.1400530c0
xchg rdx, rsp
mov rsp, rax
xchg rdx, rsp
lea rcx, [rbp - 0x50]
call fcn.140051ef0
xchg r12, r12
mov rcx, qword [rbp + 8]
lea rax, [rbp + 0x10]
cmp rcx, rax
xchg r12, r12
jne 0x14046b658
lea rdi, [rbp + 0x10]
xor eax, eax
mov ecx, 0x3ec1a947
sub ecx, 0x3791337
add ecx, 0x1e84b7c1
sub ecx, 0x59cd4da1
rep stosb byte [rdi], al
mov dword [rsp - 0x34], 0x107dae0a
jmp 0x14046b65d
call fcn.140096230
mov rax, qword [0x14049f700]
mov rcx, qword [rbp + 0x218]
mov dword [rsp - 0x34], esi
not rax
ror rax, 0xb
ror rax, 4
ror rax, 1
ror rax, 1
not rax
mov dword [rsp - 0x34], esi
rol rax, 0xb
rol rax, 0xc
rol rax, 1
rol rax, 1
sub rax, r15
rol rax, 0xd
rol rax, 3
rol rax, 2
rol rax, 7
rol rax, 2
rol rax, 1
call rax
mov dword [rsp - 0x10], 0x1f69c52
xchg rdi, r15
mov rdi, qword [rsp + 0x2d0]
xchg r15, rdi
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
xchg r10, r10
mov r14, qword [rbp - 0x18]
lea rdi, [rsi + 8]
xchg r11, rdi
mov qword [rsi], r11
xchg rdi, r11
xorps xmm0, xmm0
xchg rdi, rbx
movups xmmword [rbx], xmm0
xchg rdi, rbx
xchg r11, rdi
movups xmmword [r11 + 0x10], xmm0
xchg rdi, r11
xchg rbp, rdi
movups xmmword [rbp + 0x20], xmm0
xchg rbp, rdi
mov qword [rsi + 0x38], r14
mov rcx, qword [rsi]
mov dword [rsp - 0x14], ecx
cmp rcx, rdi
je 0x14046b720
call fcn.140096230
cmp r14, 0x18
mov dword [rsp - 0xc], esp
jbe 0x14046b766
lea rcx, [r14 + r14]
call fcn.1400964f0
xchg rbx, rax
mov qword [rsi], rbx
xchg rbx, rax
test rax, rax
mov dword [rsp - 0x28], 0x271d68e5
jne 0x14046b776
xchg rdi, r15
mov qword [rsi], r15
xchg rdi, r15
xchg rdi, rbx
mov rcx, rdi
xchg rbx, rdi
jmp 0x14046b79b
xchg rdi, r10
mov qword [rsi], r10
xchg rdi, r10
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
xorps xmm0, xmm0
mov r10, r10
xchg rcx, rax
movups xmmword [rcx], xmm0
xchg rcx, rax
movups xmmword [rax + 0x10], xmm0
xchg rbx, rbx
xchg rbp, rax
movups xmmword [rbp + 0x20], xmm0
xchg rbp, rax
xchg r14, rcx
mov r14, qword [rsi]
xchg rcx, r14
xchg r14, rbx
mov rbx, qword [rsp + 0x300]
xchg rbx, r14
cmp qword [rsi + 0x38], rbx
jbe 0x14046b7e4
mov r13, r13
nop word [rax + rax]
xchg rsp, rax
mov rsp, qword [rbp - 0x50]
xchg rsp, rax
movzx edx, word [rax + rbx*2]
mov dword [rsp - 0x24], 0x68fcdac7
mov word [rcx + rbx*2], dx
inc rbx
cmp rbx, qword [rsi + 0x38]
xchg rbx, rbx
jb 0x14046b7bc
mov rcx, qword [rbp - 0x50]
lea rax, [rbp - 0x48]
xchg r10, r10
cmp rcx, rax
jne 0x14046b828
lea rdi, [rbp - 0x48]
mov dword [rsp - 0xc], ebp
xor eax, eax
mov ecx, 0x1c90a2ba
add ecx, 0x37295575
add ecx, 0x217d8e79
xor ecx, 0x75378698
rep stosb byte [rdi], al
mov dword [rsp - 0x2c], 0x6409a8cb
jmp 0x14046b831
call fcn.140096230
mov dword [rsp - 0x30], ebp
xor eax, eax
lea rdi, [rsp + 0x50]
mov ecx, 0x16fbfbdd
xor ecx, 0x2477d622
sub ecx, 0x1df665f4
xor ecx, 0x1495c81b
rep stosb byte [rdi], al
mov dword [rsp - 0xc], 0x760ea5bd
mov ecx, 0x154858ba
add ecx, 0x18effc19
xor ecx, 0xd0fda65
sub ecx, 0x23378ea6
lea rdi, [rsp + 0x60]
xchg r12, r12
rep stosb byte [rdi], al
xchg rsp, rax
mov rsp, rsi
xchg rsp, rax
sub rsp, 0xfffffffffffffd28
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
pop rbp
ret