Function at 0x140094890
Capabilities:
Encrypt data using speck
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov rax, qword [0x1400cd008]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp qword [0x1400cdec8], 0
je 0x1400948ed
mov rsi, qword [0x1400cdec8]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1400a9b00
mov rax, rsi
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x1400d1034]
mov qword [0x1400cdec8], rax
lea rax, [rsp + 0x11c]
movabs rcx, 0x177fd60f65083424
mov qword [rsp + 0x110], rcx
mov dword [rsp + 0x118], 0x4fc4c3fc
movaps xmm0, xmmword [0x1400ca470]
movups xmmword [rsp + 0x11c], xmm0
movaps xmm0, xmmword [0x1400ca480]
movups xmmword [rsp + 0x12c], xmm0
mov dword [rsp + 0x10c], 0x4b
mov rcx, 0xffffffffffffffff
movd xmm0, ecx
add rax, 7
mov ecx, 4
nop dword [rax]
mov byte [rsp + 0x23], 0
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 7]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 6]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 5]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 4]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 3]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 2]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax - 1]
mov byte [rsp + 0x23], dl
movzx edx, byte [rsp + 0x23]
add dl, dl
or dl, byte [rax]
mov byte [rsp + 0x23], dl
mov edx, dword [rsp + 0x110]
mov ebp, dword [rsp + 0x114]
movd xmm1, edx
movdqa xmmword [rsp + 0x80], xmm1
movd xmm1, ebp
movdqa xmmword [rsp + 0x70], xmm1
mov edx, dword [rsp + 0x118]
movd xmm1, edx
movdqa xmmword [rsp + 0x60], xmm1
movzx edx, byte [rsp + 0x23]
movzx edx, dl
movd xmm1, edx
movdqa xmmword [rsp + 0xf0], xmm1
pxor xmm1, xmm0
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmm2, xmmword [rsp + 0x60]
pxor xmm1, xmm2
movdqa xmmword [rsp + 0xd0], xmm1
pxor xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0xc0], xmm1
pxor xmm1, xmm0
movdqa xmmword [rsp + 0xb0], xmm1
pxor xmm1, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0xa0], xmm1
pxor xmm1, xmm2
movdqa xmmword [rsp + 0x90], xmm1
movd edx, xmm1
mov byte [rsp + rcx + 0x10b], dl
add rax, 8
add rcx, 0xffffffffffffffff
jne 0x140094960
mov eax, dword [rsp + 0x10c]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
add rax, 0x10
jmp 0x140094ab5
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov r9, qword [rax + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r8d, dword [r9 + rax + 0x88]
test r8, r8
je 0x140094ab0
mov esi, dword [r9 + r8 + 0x18]
lea r10, [r9 - 1]
lea rax, [r9 + 0xf]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x48], r10
jmp 0x140094b2f
mov eax, r12d
shr eax, 0xf
xor eax, r12d
imul eax, eax, 0x85ebca76
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae3c
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
cmp ecx, 0xc34ddb45
je 0x140094f95
sub esi, 1
jb 0x140094ab0
mov eax, dword [r9 + r8 + 0x20]
add rax, r9
mov r11d, esi
mov ecx, dword [rax + r11*4]
lea r13, [r9 + rcx]
lea rdx, [r10 + rcx]
nop
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x140094b50
sub rdx, r13
mov r12d, 0x67162d33
cmp rdx, 0x10
jb 0x140094e0a
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x24], esi
add rcx, qword [rsp + 0x40]
mov r13d, 0x74e309a9
mov r14d, 0xd6ab8ff9
mov r15d, 0x50bfc583
mov r12d, 0xb2884bd3
mov r11, rdx
nop dword [rax + rax]
add r11, 0xfffffffffffffff0
movzx ebp, byte [rcx - 3]
lea eax, [rbp - 0x41]
lea ebx, [rbp + 0x20]
cmp al, 0x1a
movzx eax, byte [rcx - 2]
movzx ebx, bl
lea esi, [rax - 0x41]
lea edi, [rax + 0x20]
cmovae ebx, ebp
cmp sil, 0x1a
movzx ebp, dil
cmovae ebp, eax
movsx eax, bl
movsx ebp, bpl
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx - 1]
lea ebx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, eax
movsx eax, bl
movzx ebx, byte [rcx]
lea edi, [rbx - 0x41]
lea esi, [rbx + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebx
shl edi, 0x18
or edi, eax
or edi, ebp
imul r8d, edi, 0x85ebca76
add r8d, r12d
rol r8d, 0xd
movzx eax, byte [rcx - 7]
lea ebp, [rax - 0x41]
imul r12d, r8d, 0x9e3779b0
lea ebx, [rax + 0x20]
movzx ebx, bl
movzx edi, byte [rcx - 6]
cmp bpl, 0x1a
lea ebp, [rdi - 0x41]
lea esi, [rdi + 0x20]
cmovae ebx, eax
cmp bpl, 0x1a
movzx eax, sil
cmovae eax, edi
movsx ebx, bl
movsx ebp, al
shl ebp, 8
or ebp, ebx
movzx eax, byte [rcx - 5]
lea ebx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, eax
movsx eax, bl
movzx ebx, byte [rcx - 4]
lea edi, [rbx - 0x41]
lea esi, [rbx + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebx
shl edi, 0x18
or edi, eax
or edi, ebp
imul r9d, edi, 0x85ebca76
add r9d, r15d
rol r9d, 0xd
movzx eax, byte [rcx - 0xb]
lea ebp, [rax - 0x41]
imul r15d, r9d, 0x9e3779b0
lea ebx, [rax + 0x20]
movzx ebx, bl
movzx edi, byte [rcx - 0xa]
cmp bpl, 0x1a
lea ebp, [rdi - 0x41]
lea esi, [rdi + 0x20]
cmovae ebx, eax
cmp bpl, 0x1a
movzx eax, sil
cmovae eax, edi
movsx ebx, bl
movsx ebp, al
shl ebp, 8
or ebp, ebx
movzx eax, byte [rcx - 9]
lea ebx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, eax
movsx eax, bl
movzx ebx, byte [rcx - 8]
lea edi, [rbx - 0x41]
lea esi, [rbx + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebx
shl edi, 0x18
or edi, eax
or edi, ebp
imul r10d, edi, 0x85ebca76
add r10d, r14d
rol r10d, 0xd
movzx eax, byte [rcx - 0xf]
lea esi, [rax - 0x41]
imul r14d, r10d, 0x9e3779b0
lea edi, [rax + 0x20]
movzx edi, dil
movzx ebx, byte [rcx - 0xe]
cmp sil, 0x1a
lea esi, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmovae edi, eax
cmp sil, 0x1a
movzx eax, bpl
cmovae eax, ebx
movsx esi, dil
movsx ebp, al
shl ebp, 8
or ebp, esi
movzx eax, byte [rcx - 0xd]
lea esi, [rax - 0x41]
lea edi, [rax + 0x20]
cmp sil, 0x1a
movzx esi, dil
cmovae esi, eax
movsx eax, sil
movzx esi, byte [rcx - 0xc]
lea edi, [rsi - 0x41]
lea ebx, [rsi + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, bl
cmovae edi, esi
shl edi, 0x18
or edi, eax
or edi, ebp
imul ebp, edi, 0x85ebca76
add ebp, r13d
rol ebp, 0xd
imul r13d, ebp, 0x9e3779b0
add rcx, 0x10
cmp r11, 0xf
ja 0x140094ba0
imul eax, ebp, 0x3c6ef360
shr r13d, 0x1f
or r13d, eax
imul eax, r10d, 0x1bbcd800
shr r14d, 0x19
or r14d, eax
imul eax, r9d, 0x779b0000
shr r15d, 0x14
or r15d, eax
imul eax, r8d, 0xe6c00000
shr r12d, 0xe
or r12d, eax
add r12d, r15d
add r12d, r14d
add r12d, r13d
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov esi, dword [rsp + 0x24]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
mov r13, qword [rsp + 0x58]
add r12d, edx
mov rax, rdx
and rax, 0xfffffffffffffff0
add r13, rax
and edx, 0xf
cmp rdx, 4
jb 0x140094ec5
nop word cs:[rax + rax]
nop
add rdx, 0xfffffffffffffffc
movzx eax, byte [r13]
movzx ecx, byte [r13 + 1]
movzx ebp, byte [r13 + 2]
movzx ebx, byte [r13 + 3]
add r13, 4
lea edi, [rax - 0x41]
cmp dil, 0x1a
lea edi, [rax + 0x20]
movzx edi, dil
cmovae edi, eax
movsx eax, dil
lea edi, [rcx - 0x41]
cmp dil, 0x1a
lea edi, [rcx + 0x20]
movzx edi, dil
cmovae edi, ecx
movsx ecx, dil
shl ecx, 8
or ecx, eax
lea eax, [rbp - 0x41]
lea edi, [rbp + 0x20]
cmp al, 0x1a
movzx eax, dil
cmovae eax, ebp
movsx eax, al
shl eax, 0x10
lea ebp, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmp bpl, 0x1a
movzx ebp, dil
cmovae ebp, ebx
shl ebp, 0x18
or ebp, eax
or ebp, ecx
imul eax, ebp, 0xc2b2ae3c
add eax, r12d
rol eax, 0x11
imul r12d, eax, 0x27d4eb2e
cmp rdx, 4
jae 0x140094e30
test rdx, rdx
je 0x140094b00
test dl, 1
jne 0x140094ef0
mov rax, rdx
cmp rdx, 1
je 0x140094b00
jmp 0x140094f2e
lea rax, [rdx - 1]
movzx ecx, byte [r13]
add r13, 1
lea ebp, [rcx - 0x41]
lea ebx, [rcx + 0x20]
cmp bpl, 0x1a
movzx ebp, bl
cmovae ebp, ecx
movsx ecx, bpl
imul ecx, ecx, 0x165667b0
add ecx, r12d
rol ecx, 0xb
imul r12d, ecx, 0x9e3779b0
cmp rdx, 1
je 0x140094b00
xor ecx, ecx
movzx edx, byte [r13 + rcx]
lea ebp, [rdx - 0x41]
lea ebx, [rdx + 0x20]
cmp bpl, 0x1a
movzx ebp, bl
cmovae ebp, edx
movsx edx, bpl
imul edx, edx, 0x165667b0
add edx, r12d
rol edx, 0xb
imul edx, edx, 0x9e3779b0
movzx ebp, byte [r13 + rcx + 1]
lea ebx, [rbp - 0x41]
lea edi, [rbp + 0x20]
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, ebp
movsx ebp, bl
imul ebp, ebp, 0x165667b0
add ebp, edx
rol ebp, 0xb
imul r12d, ebp, 0x9e3779b0
add rcx, 2
cmp rax, rcx
jne 0x140094f30
jmp 0x140094b00
mov eax, dword [r9 + r8 + 0x1c]
mov ecx, dword [r9 + r8 + 0x24]
add rax, r9
add rcx, r9
movzx ecx, word [rcx + r11*2]
mov eax, dword [rax + rcx*4]
add rax, r9
xor ecx, ecx
call rax
movsxd rdx, dword [rax + 0x3c]
mov qword [rsp + 0x28], rax
cmp word [rdx + rax + 6], 0
je 0x1400948bf
mov rcx, rdx
mov rax, qword [rsp + 0x28]
add rdx, rax
add rdx, 0x108
mov qword [rsp + 0x30], rdx
add rcx, rax
lea rsi, [rcx + 0x107]
mov qword [rsp + 0x40], rcx
lea r12, [rcx + 0x117]
xor ecx, ecx
lea r9, str..stub
nop
mov qword [rsp + 0x50], rcx
lea rcx, [rcx + rcx*4]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rcx
lea r13, [rax + rcx*8]
mov qword [rsp + 0x58], rsi
nop dword [rax]
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x140095020
sub rsi, r13
mov r11d, 0x67162d33
cmp rsi, 0x10
mov qword [rsp + 0x38], r12
jb 0x1400952cf
mov edx, 0x74e309a9
mov r10d, 0xd6ab8ff9
mov r14d, 0x50bfc583
mov r11d, 0xb2884bd3
mov r15, rsi
nop dword [rax]
mov dword [rsp + 0x24], edx
add r15, 0xfffffffffffffff0
movzx ecx, byte [r12 - 3]
lea ebp, [rcx - 0x41]
lea edx, [rcx + 0x20]
cmp bpl, 0x1a
movzx ebp, byte [r12 - 2]
movzx edx, dl
lea edi, [rbp - 0x41]
lea ebx, [rbp + 0x20]
cmovae edx, ecx
cmp dil, 0x1a
movzx ecx, bl
cmovae ecx, ebp
movsx edx, dl
movsx ecx, cl
shl ecx, 8
or ecx, edx
movzx edx, byte [r12 - 1]
lea ebp, [rdx - 0x41]
lea ebx, [rdx + 0x20]
cmp bpl, 0x1a
movzx ebp, bl
cmovae ebp, edx
movsx edx, bpl
movzx ebp, byte [r12]
lea ebx, [rbp - 0x41]
lea edi, [rbp + 0x20]
shl edx, 0x10
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, ebp
shl ebx, 0x18
or ebx, edx
or ebx, ecx
imul ecx, ebx, 0x85ebca76
add ecx, r11d
rol ecx, 0xd
movzx edx, byte [r12 - 7]
lea ebp, [rdx - 0x41]
imul r11d, ecx, 0x9e3779b0
lea ebx, [rdx + 0x20]
movzx ebx, bl
movzx edi, byte [r12 - 6]
cmp bpl, 0x1a
lea ebp, [rdi - 0x41]
lea eax, [rdi + 0x20]
cmovae ebx, edx
cmp bpl, 0x1a
movzx eax, al
cmovae eax, edi
movsx edx, bl
movsx ebp, al
shl ebp, 8
or ebp, edx
movzx eax, byte [r12 - 5]
lea edx, [rax - 0x41]
lea ebx, [rax + 0x20]
cmp dl, 0x1a
movzx edx, bl
cmovae edx, eax
movsx eax, dl
movzx edx, byte [r12 - 4]
lea ebx, [rdx - 0x41]
lea edi, [rdx + 0x20]
shl eax, 0x10
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, edx
shl ebx, 0x18
or ebx, eax
or ebx, ebp
imul r8d, ebx, 0x85ebca76
add r8d, r14d
rol r8d, 0xd
movzx eax, byte [r12 - 0xb]
lea edx, [rax - 0x41]
imul r14d, r8d, 0x9e3779b0
lea ebp, [rax + 0x20]
movzx ebp, bpl
movzx ebx, byte [r12 - 0xa]
cmp dl, 0x1a
lea edx, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmovae ebp, eax
cmp dl, 0x1a
movzx eax, dil
cmovae eax, ebx
movsx edx, bpl
movsx ebp, al
shl ebp, 8
or ebp, edx
movzx eax, byte [r12 - 9]
lea edx, [rax - 0x41]
lea ebx, [rax + 0x20]
cmp dl, 0x1a
movzx edx, bl
cmovae edx, eax
movsx eax, dl
movzx edx, byte [r12 - 8]
lea ebx, [rdx - 0x41]
lea edi, [rdx + 0x20]
shl eax, 0x10
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, edx
shl ebx, 0x18
or ebx, eax
or ebx, ebp
imul r9d, ebx, 0x85ebca76
add r9d, r10d
rol r9d, 0xd
movzx eax, byte [r12 - 0xf]
lea edx, [rax - 0x41]
imul r10d, r9d, 0x9e3779b0
lea edi, [rax + 0x20]
movzx edi, dil
movzx ebx, byte [r12 - 0xe]
cmp dl, 0x1a
lea edx, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmovae edi, eax
cmp dl, 0x1a
movzx eax, bpl
cmovae eax, ebx
movsx edx, dil
movsx ebp, al
shl ebp, 8
or ebp, edx
movzx eax, byte [r12 - 0xd]
lea edx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp dl, 0x1a
movzx edx, dil
cmovae edx, eax
movsx eax, dl
movzx edx, byte [r12 - 0xc]
lea edi, [rdx - 0x41]
lea ebx, [rdx + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, bl
cmovae edi, edx
shl edi, 0x18
or edi, eax
or edi, ebp
imul ebp, edi, 0x85ebca76
add ebp, dword [rsp + 0x24]
rol ebp, 0xd
imul edx, ebp, 0x9e3779b0
add r12, 0x10
cmp r15, 0xf
ja 0x140095060
imul eax, ebp, 0x3c6ef360
shr edx, 0x1f
or edx, eax
imul eax, r9d, 0x1bbcd800
shr r10d, 0x19
or r10d, eax
imul eax, r8d, 0x779b0000
shr r14d, 0x14
or r14d, eax
imul eax, ecx, 0xe6c00000
shr r11d, 0xe
or r11d, eax
add r11d, r14d
add r11d, r10d
add r11d, edx
mov r12, qword [rsp + 0x38]
lea r9, str..stub
add r11d, esi
mov rax, rsi
and rax, 0xfffffffffffffff0
add r13, rax
and esi, 0xf
cmp rsi, 4
jb 0x14009537c
nop dword [rax]
add rsi, 0xfffffffffffffffc
movzx eax, byte [r13]
movzx ecx, byte [r13 + 1]
movzx edx, byte [r13 + 2]
movzx ebp, byte [r13 + 3]
add r13, 4
lea ebx, [rax - 0x41]
cmp bl, 0x1a
lea ebx, [rax + 0x20]
movzx ebx, bl
cmovae ebx, eax
movsx eax, bl
lea ebx, [rcx - 0x41]
cmp bl, 0x1a
lea ebx, [rcx + 0x20]
movzx ebx, bl
cmovae ebx, ecx
movsx ecx, bl
shl ecx, 8
or ecx, eax
lea eax, [rdx - 0x41]
lea ebx, [rdx + 0x20]
cmp al, 0x1a
movzx eax, bl
cmovae eax, edx
movsx eax, al
shl eax, 0x10
lea edx, [rbp - 0x41]
lea ebx, [rbp + 0x20]
cmp dl, 0x1a
movzx edx, bl
cmovae edx, ebp
shl edx, 0x18
or edx, eax
or edx, ecx
imul eax, edx, 0xc2b2ae3c
add eax, r11d
rol eax, 0x11
imul r11d, eax, 0x27d4eb2e
cmp rsi, 4
jae 0x1400952f0
test rsi, rsi
je 0x140095440
test sil, 1
jne 0x1400953a0
mov rax, rsi
cmp rsi, 1
jne 0x1400953d9
jmp 0x140095440
lea rax, [rsi - 1]
movzx ecx, byte [r13]
add r13, 1
lea edx, [rcx - 0x41]
lea ebp, [rcx + 0x20]
cmp dl, 0x1a
movzx edx, bpl
cmovae edx, ecx
movsx ecx, dl
imul ecx, ecx, 0x165667b0
add ecx, r11d
rol ecx, 0xb
imul r11d, ecx, 0x9e3779b0
cmp rsi, 1
je 0x140095440
xor ecx, ecx
nop dword [rax + rax]
movzx edx, byte [r13 + rcx]
lea ebp, [rdx - 0x41]
lea ebx, [rdx + 0x20]
cmp bpl, 0x1a
movzx ebp, bl
cmovae ebp, edx
movsx edx, bpl
imul edx, edx, 0x165667b0
add edx, r11d
rol edx, 0xb
imul edx, edx, 0x9e3779b0
movzx ebp, byte [r13 + rcx + 1]
lea ebx, [rbp - 0x41]
lea edi, [rbp + 0x20]
cmp bl, 0x1a
movzx ebx, dil
cmovae ebx, ebp
movsx ebp, bl
imul ebp, ebp, 0x165667b0
add ebp, edx
rol ebp, 0xb
imul r11d, ebp, 0x9e3779b0
add rcx, 2
cmp rax, rcx
jne 0x1400953e0
mov eax, r11d
shr eax, 0xf
xor eax, r11d
imul eax, eax, 0x85ebca76
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul r10d, ecx, 0xc2b2ae3c
lea rbx, [0x1400cd7d9]
nop word cs:[rax + rax]
nop
cmp byte [rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x140095470
sub rbx, r9
mov r15d, 0x67162d33
cmp rbx, 0x10
jb 0x14009572f
mov dword [rsp + 0x24], r10d
mov r12d, 0x74e309a9
mov r8d, 0xd6ab8ff9
mov r9d, 0x50bfc583
mov r15d, 0xb2884bd3
lea r13, [0x1400cd7e9]
mov r10, rbx
nop word cs:[rax + rax]
nop
add r10, 0xfffffffffffffff0
movzx edx, byte [r13 - 3]
lea ebp, [rdx - 0x41]
lea edi, [rdx + 0x20]
cmp bpl, 0x1a
movzx ebp, byte [r13 - 2]
movzx edi, dil
lea esi, [rbp - 0x41]
lea ecx, [rbp + 0x20]
cmovae edi, edx
cmp sil, 0x1a
movzx ecx, cl
cmovae ecx, ebp
movsx ebp, dil
movsx edx, cl
shl edx, 8
or edx, ebp
movzx ecx, byte [r13 - 1]
lea ebp, [rcx - 0x41]
lea edi, [rcx + 0x20]
cmp bpl, 0x1a
movzx ebp, dil
cmovae ebp, ecx
movsx ecx, bpl
movzx ebp, byte [r13]
lea edi, [rbp - 0x41]
lea esi, [rbp + 0x20]
shl ecx, 0x10
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebp
shl edi, 0x18
or edi, ecx
or edi, edx
imul r11d, edi, 0x85ebca76
add r11d, r15d
rol r11d, 0xd
movzx ecx, byte [r13 - 7]
lea edx, [rcx - 0x41]
imul r15d, r11d, 0x9e3779b0
lea edi, [rcx + 0x20]
movzx edi, dil
movzx esi, byte [r13 - 6]
cmp dl, 0x1a
lea edx, [rsi - 0x41]
lea ebp, [rsi + 0x20]
cmovae edi, ecx
cmp dl, 0x1a
movzx ecx, bpl
cmovae ecx, esi
movsx esi, dil
movsx edx, cl
shl edx, 8
or edx, esi
movzx ecx, byte [r13 - 5]
lea esi, [rcx - 0x41]
lea edi, [rcx + 0x20]
cmp sil, 0x1a
movzx esi, dil
cmovae esi, ecx
movsx ecx, sil
movzx esi, byte [r13 - 4]
lea edi, [rsi - 0x41]
lea ebp, [rsi + 0x20]
shl ecx, 0x10
cmp dil, 0x1a
movzx edi, bpl
cmovae edi, esi
shl edi, 0x18
or edi, ecx
or edi, edx
imul edx, edi, 0x85ebca76
add edx, r9d
rol edx, 0xd
movzx ecx, byte [r13 - 0xb]
lea esi, [rcx - 0x41]
imul r9d, edx, 0x9e3779b0
lea edi, [rcx + 0x20]
movzx edi, dil
movzx ebp, byte [r13 - 0xa]
cmp sil, 0x1a
lea esi, [rbp - 0x41]
lea eax, [rbp + 0x20]
cmovae edi, ecx
cmp sil, 0x1a
movzx eax, al
cmovae eax, ebp
movsx ecx, dil
movsx esi, al
shl esi, 8
or esi, ecx
movzx eax, byte [r13 - 9]
lea ecx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp cl, 0x1a
movzx ecx, dil
cmovae ecx, eax
movsx eax, cl
movzx ecx, byte [r13 - 8]
lea edi, [rcx - 0x41]
lea ebp, [rcx + 0x20]
shl eax, 0x10
cmp dil, 0x1a
movzx edi, bpl
cmovae edi, ecx
shl edi, 0x18
or edi, eax
or edi, esi
imul esi, edi, 0x85ebca76
add esi, r8d
rol esi, 0xd
movzx eax, byte [r13 - 0xf]
lea ecx, [rax - 0x41]
imul r8d, esi, 0x9e3779b0
lea edi, [rax + 0x20]
movzx edi, dil
movzx ebp, byte [r13 - 0xe]
cmp cl, 0x1a
lea ecx, [rbp - 0x41]
lea r14d, [rbp + 0x20]
cmovae edi, eax
cmp cl, 0x1a
movzx eax, r14b
cmovae eax, ebp
movsx ecx, dil
movsx edi, al
shl edi, 8
or edi, ecx
movzx eax, byte [r13 - 0xd]
lea ecx, [rax - 0x41]
lea ebp, [rax + 0x20]
cmp cl, 0x1a
movzx ecx, bpl
cmovae ecx, eax
movsx eax, cl
movzx ecx, byte [r13 - 0xc]
lea r14d, [rcx - 0x41]
lea ebp, [rcx + 0x20]
shl eax, 0x10
cmp r14b, 0x1a
movzx ebp, bpl
cmovae ebp, ecx
shl ebp, 0x18
or ebp, eax
or ebp, edi
imul edi, ebp, 0x85ebca76
add edi, r12d
rol edi, 0xd
imul r12d, edi, 0x9e3779b0
add r13, 0x10
cmp r10, 0xf
ja 0x1400954c0
imul eax, edi, 0x3c6ef360
shr r12d, 0x1f
or r12d, eax
imul eax, esi, 0x1bbcd800
shr r8d, 0x19
or r8d, eax
imul eax, edx, 0x779b0000
shr r9d, 0x14
or r9d, eax
imul eax, r11d, 0xe6c00000
shr r15d, 0xe
or r15d, eax
add r15d, r9d
add r15d, r8d
add r15d, r12d
mov r12, qword [rsp + 0x38]
lea r9, str..stub
mov r10d, dword [rsp + 0x24]
mov r8d, r10d
shr r8d, 0x10
add r15d, ebx
mov rcx, rbx
and rcx, 0xfffffffffffffff0
add rcx, r9
and ebx, 0xf
cmp rbx, 4
jb 0x1400957e0
add rbx, 0xfffffffffffffffc
movzx edx, byte [rcx]
movzx ebp, byte [rcx + 1]
movzx eax, byte [rcx + 2]
movzx edi, byte [rcx + 3]
add rcx, 4
lea esi, [rdx - 0x41]
cmp sil, 0x1a
lea esi, [rdx + 0x20]
movzx esi, sil
cmovae esi, edx
movsx edx, sil
lea esi, [rbp - 0x41]
cmp sil, 0x1a
lea esi, [rbp + 0x20]
movzx esi, sil
cmovae esi, ebp
movsx ebp, sil
shl ebp, 8
or ebp, edx
lea edx, [rax - 0x41]
lea esi, [rax + 0x20]
cmp dl, 0x1a
movzx edx, sil
cmovae edx, eax
movsx eax, dl
shl eax, 0x10
lea edx, [rdi - 0x41]
lea esi, [rdi + 0x20]
cmp dl, 0x1a
movzx edx, sil
cmovae edx, edi
shl edx, 0x18
or edx, eax
or edx, ebp
imul eax, edx, 0xc2b2ae3c
add eax, r15d
rol eax, 0x11
imul r15d, eax, 0x27d4eb2e
cmp rbx, 4
jae 0x140095750
xor r8d, r10d
test rbx, rbx
je 0x14009589e
test bl, 1
jne 0x140095800
mov rdx, rbx
cmp rbx, 1
jne 0x140095839
jmp 0x14009589e
lea rdx, [rbx - 1]
movzx ebp, byte [rcx]
add rcx, 1
lea edi, [rbp - 0x41]
lea esi, [rbp + 0x20]
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebp
movsx ebp, dil
imul ebp, ebp, 0x165667b0
add ebp, r15d
rol ebp, 0xb
imul r15d, ebp, 0x9e3779b0
cmp rbx, 1
je 0x14009589e
xor ebp, ebp
nop dword [rax + rax]
movzx ebx, byte [rcx + rbp]
lea edi, [rbx - 0x41]
lea esi, [rbx + 0x20]
cmp dil, 0x1a
movzx edi, sil
cmovae edi, ebx
movsx ebx, dil
imul ebx, ebx, 0x165667b0
add ebx, r15d
rol ebx, 0xb
imul ebx, ebx, 0x9e3779b0
movzx edi, byte [rcx + rbp + 1]
lea esi, [rdi - 0x41]
lea eax, [rdi + 0x20]
cmp sil, 0x1a
movzx eax, al
cmovae eax, edi
movsx eax, al
imul eax, eax, 0x165667b0
add eax, ebx
rol eax, 0xb
imul r15d, eax, 0x9e3779b0
add rbp, 2
cmp rdx, rbp
jne 0x140095840
mov eax, r15d
shr eax, 0xf
xor eax, r15d
imul eax, eax, 0x85ebca76
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae3c
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
cmp r8d, ecx
je 0x1400958f3
mov rcx, qword [rsp + 0x50]
add rcx, 1
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 6]
mov rsi, qword [rsp + 0x58]
add rsi, 0x28
add r12, 0x28
cmp rcx, rax
jb 0x140095000
jmp 0x1400948bf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rax + rcx*8 + 0xc]
add rax, qword [rsp + 0x28]
mov qword [0x1400cdec8], rax
jmp 0x1400948bf