Function at 0x1800eec59
Capabilities:
Hash data using murmur3

Disassembly:
test r8, r8
je 0x1800efd24
push rbp
lea rbp, [rsp - 0x57]
mov eax, 0xf0
call fcn.18011bdc0
sub rsp, rax
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r10d, dword [rcx + 8]
mov r11d, dword [rcx + 0xc]
mov qword [rsp + 0x110], rbx
mov ebx, dword [rcx]
mov qword [rsp + 0xe8], rsi
mov esi, dword [rcx + 0x14]
mov qword [rsp + 0xe0], rdi
mov edi, dword [rcx + 4]
mov qword [rsp + 0xd8], r12
mov r12d, dword [rcx + 0x1c]
mov qword [rsp + 0xd0], r13
mov r13d, dword [rcx + 0x10]
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xc0], r15
mov r15d, dword [rcx + 0x18]
mov rax, r8
mov qword [rbp - 0x41], rcx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x4d], r15d
mov dword [rbp - 0x61], edi
mov dword [rbp - 0x49], r10d
mov dword [rbp - 0x5d], r11d
mov dword [rbp - 0x59], r13d
mov dword [rbp - 0x55], esi
mov dword [rbp - 0x51], r12d
nop word [rax + rax]
movzx r8d, byte [rdx]
dec rax
add rdx, 4
mov qword [rbp - 0x39], rax
movzx eax, byte [rdx - 3]
shl r8d, 0x18
shl eax, 0x10
mov qword [rbp - 0x79], rdx
mov ecx, r13d
or r8d, eax
movzx eax, byte [rdx - 2]
not ecx
shl eax, 8
and ecx, r15d
mov r14d, ebx
or r8d, eax
movzx eax, byte [rdx - 1]
xor r14d, edi
or r8d, eax
mov edx, r13d
mov eax, r13d
rol edx, 0x1a
rol eax, 0x15
mov dword [rbp - 0x29], r8d
xor edx, eax
mov eax, r13d
mov r9d, ebx
rol eax, 7
and r9d, edi
mov edi, r10d
xor edx, eax
and edi, r14d
mov eax, esi
and eax, r13d
xor edi, r9d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, ebx
lea edx, [rcx + r12 + 0x428a2f98]
mov ecx, ebx
add r11d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
mov rcx, qword [rbp - 0x79]
mov edx, r11d
movzx r8d, byte [rcx]
add edi, eax
movzx eax, byte [rcx + 1]
shl eax, 0x10
add rcx, 4
shl r8d, 0x18
or r8d, eax
movzx eax, byte [rcx - 2]
mov qword [rbp - 0x79], rcx
shl eax, 8
or r8d, eax
movzx eax, byte [rcx - 1]
mov ecx, r11d
or r8d, eax
rol edx, 0x1a
not ecx
and ecx, esi
mov eax, r11d
mov dword [rbp - 0x25], r8d
rol eax, 0x15
xor edx, eax
mov eax, r11d
rol eax, 7
xor edx, eax
mov eax, r13d
and eax, r11d
xor ecx, eax
lea eax, [r15 + rdx]
add ecx, eax
lea edx, [rcx + r8 + 0x71374491]
mov r15, qword [rbp - 0x79]
add r10d, edx
and r14d, edi
movzx r8d, byte [r15]
xor r14d, r9d
mov r9d, dword [rbp - 0x61]
shl r8d, 0x18
mov ecx, edi
mov eax, edi
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, edi
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r10d
mov ecx, r10d
add r14d, eax
movzx eax, byte [r15 + 1]
not ecx
shl eax, 0x10
and ecx, r13d
or r8d, eax
movzx eax, byte [r15 + 2]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 3]
or r8d, eax
rol edx, 0x1a
mov eax, r10d
rol eax, 0x15
mov dword [rbp - 0x21], r8d
xor edx, eax
mov eax, r10d
rol eax, 7
xor edx, eax
mov eax, r11d
and eax, r10d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 4]
add ecx, eax
shl r8d, 0x18
mov eax, r14d
lea edx, [rcx + rsi - 0x4a3f0431]
mov ecx, r14d
mov esi, ebx
add r9d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor esi, r14d
mov eax, r14d
rol eax, 0xa
and esi, edi
xor ecx, eax
mov eax, ebx
and eax, r14d
xor esi, eax
lea eax, [rdx + rcx]
mov edx, r9d
add esi, eax
movzx eax, byte [r15 + 5]
mov ecx, r9d
shl eax, 0x10
not ecx
or r8d, eax
movzx eax, byte [r15 + 6]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 7]
or r8d, eax
rol edx, 0x1a
mov eax, r9d
rol eax, 0x15
mov dword [rbp - 0x1d], r8d
xor edx, eax
mov eax, r9d
rol eax, 7
xor edx, eax
and ecx, r11d
mov eax, r10d
mov r12d, r14d
and eax, r9d
xor r12d, esi
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 8]
add ecx, eax
shl r8d, 0x18
and r12d, edi
lea edx, [rcx + r13 - 0x164a245b]
mov ecx, esi
mov eax, esi
add ebx, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, r14d
and eax, esi
xor r12d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r12d, eax
movzx eax, byte [r15 + 9]
mov ecx, ebx
shl eax, 0x10
not ecx
or r8d, eax
movzx eax, byte [r15 + 0xa]
and ecx, r10d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0xb]
or r8d, eax
rol edx, 0x1a
mov eax, ebx
rol eax, 0x15
mov dword [rbp - 0x19], r8d
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, r9d
and eax, ebx
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0xc]
add ecx, eax
shl r8d, 0x18
mov eax, r12d
lea edx, [rcx + r11 + 0x3956c25b]
mov ecx, r12d
mov r11d, esi
add edi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r11d, r12d
mov eax, r12d
rol eax, 0xa
and r11d, r14d
xor ecx, eax
mov eax, esi
and eax, r12d
xor r11d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r11d, eax
movzx eax, byte [r15 + 0xd]
shl eax, 0x10
or r8d, eax
movzx eax, byte [r15 + 0xe]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0xf]
or r8d, eax
mov dword [rbp - 0x15], r8d
rol edx, 0x1a
mov eax, edi
mov ecx, edi
rol eax, 0x15
not ecx
mov r13d, r11d
xor edx, eax
and ecx, r9d
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, edi
and eax, ebx
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x10]
add ecx, eax
shl r8d, 0x18
mov eax, r11d
lea edx, [rcx + r10 + 0x59f111f1]
mov ecx, r11d
mov r10d, r12d
add r14d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r10d, r11d
mov eax, r11d
rol eax, 0xa
and r10d, esi
xor ecx, eax
mov eax, r12d
and eax, r11d
xor r10d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r10d, eax
movzx eax, byte [r15 + 0x11]
mov ecx, r14d
shl eax, 0x10
not ecx
xor r13d, r10d
or r8d, eax
movzx eax, byte [r15 + 0x12]
and ecx, ebx
shl eax, 8
and r13d, r12d
or r8d, eax
movzx eax, byte [r15 + 0x13]
or r8d, eax
rol edx, 0x1a
mov eax, r14d
rol eax, 0x15
mov dword [rbp - 0x11], r8d
xor edx, eax
mov eax, r14d
rol eax, 7
xor edx, eax
mov eax, edi
and eax, r14d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x14]
add ecx, eax
mov eax, r10d
lea edx, [rcx + r9 - 0x6dc07d5c]
mov ecx, r10d
add esi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r10d
rol eax, 0xa
xor ecx, eax
mov eax, r11d
and eax, r10d
xor r13d, eax
lea eax, [rdx + rcx]
add r13d, eax
movzx eax, byte [r15 + 0x15]
shl r8d, 0x18
shl eax, 0x10
mov edx, esi
mov ecx, esi
or r8d, eax
movzx eax, byte [r15 + 0x16]
not ecx
shl eax, 8
and ecx, edi
mov r9d, r13d
or r8d, eax
movzx eax, byte [r15 + 0x17]
or r8d, eax
rol edx, 0x1a
mov eax, esi
rol eax, 0x15
mov dword [rbp - 0xd], r8d
xor edx, eax
mov eax, esi
rol eax, 7
xor edx, eax
mov eax, r14d
and eax, esi
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x18]
add ecx, eax
shl r8d, 0x18
mov eax, r13d
lea edx, [rcx + rbx - 0x54e3a12b]
mov ecx, r13d
mov ebx, r10d
add r12d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor ebx, r13d
mov eax, r13d
rol eax, 0xa
and ebx, r11d
xor ecx, eax
mov eax, r10d
and eax, r13d
xor ebx, eax
lea eax, [rdx + rcx]
mov edx, r12d
add ebx, eax
movzx eax, byte [r15 + 0x19]
mov ecx, r12d
shl eax, 0x10
not ecx
and r9d, ebx
or r8d, eax
movzx eax, byte [r15 + 0x1a]
and ecx, r14d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x1b]
or r8d, eax
rol edx, 0x1a
mov eax, r12d
rol eax, 0x15
mov dword [rbp - 9], r8d
xor edx, eax
mov eax, r12d
rol eax, 7
xor edx, eax
mov eax, esi
and eax, r12d
xor ecx, eax
lea eax, [r8 + rdx]
mov r8d, r13d
add ecx, eax
xor r8d, ebx
mov eax, ebx
lea edx, [rcx + rdi - 0x27f85568]
mov ecx, ebx
mov dword [rsp + 4], r8d
add r11d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov edi, r8d
movzx r8d, byte [r15 + 0x1c]
mov eax, ebx
rol eax, 0xa
shl r8d, 0x18
and edi, r10d
xor ecx, eax
xor edi, r9d
add r15, 0x24
lea eax, [rdx + rcx]
mov edx, r11d
mov ecx, r11d
add edi, eax
movzx eax, byte [r15 - 7]
not ecx
shl eax, 0x10
and ecx, esi
mov dword [rsp], edi
or r8d, eax
movzx eax, byte [r15 - 6]
mov qword [rbp - 0x79], r15
shl eax, 8
or r8d, eax
movzx eax, byte [r15 - 5]
or r8d, eax
rol edx, 0x1a
mov eax, r11d
rol eax, 0x15
mov dword [rbp - 5], r8d
xor edx, eax
mov eax, r11d
rol eax, 7
xor edx, eax
mov eax, r12d
and eax, r11d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 - 4]
add ecx, eax
shl r8d, 0x18
mov eax, edi
lea edx, [rcx + r14 + 0x12835b01]
mov r14d, dword [rsp + 4]
mov ecx, edi
add r10d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
and r14d, edi
mov eax, edi
rol eax, 0xa
xor r14d, r9d
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r10d
mov ecx, r10d
add r14d, eax
movzx eax, byte [r15 - 3]
not ecx
shl eax, 0x10
and ecx, r12d
or r8d, eax
movzx eax, byte [r15 - 2]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 - 1]
or r8d, eax
rol edx, 0x1a
mov eax, r10d
rol eax, 0x15
mov dword [rbp - 1], r8d
xor edx, eax
mov eax, r10d
rol eax, 7
xor edx, eax
mov eax, r11d
and eax, r10d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
lea edx, [rcx + rsi + 0x243185be]
mov r9, qword [rbp - 0x79]
mov esi, dword [rsp]
add r13d, edx
movzx r8d, byte [r9]
mov ecx, r14d
mov eax, r14d
rol ecx, 0x1e
rol eax, 0x13
shl r8d, 0x18
xor ecx, eax
mov eax, r14d
mov r15d, r14d
rol eax, 0xa
xor r15d, ebx
add r9, 8
xor ecx, eax
and r15d, edi
mov eax, r14d
and eax, ebx
mov edi, r14d
mov qword [rbp - 0x79], r9
xor r15d, eax
lea eax, [rdx + rcx]
mov edx, r13d
add r15d, eax
movzx eax, byte [r9 - 7]
mov ecx, r13d
shl eax, 0x10
not ecx
xor edi, r15d
or r8d, eax
movzx eax, byte [r9 - 6]
and ecx, r11d
shl eax, 8
and edi, esi
or r8d, eax
movzx eax, byte [r9 - 5]
or r8d, eax
rol edx, 0x1a
mov eax, r13d
rol eax, 0x15
mov dword [rbp + 3], r8d
xor edx, eax
mov eax, r13d
rol eax, 7
xor edx, eax
mov eax, r10d
and eax, r13d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r9 - 4]
add ecx, eax
shl r8d, 0x18
mov eax, r15d
lea edx, [rcx + r12 + 0x550c7dc3]
mov ecx, r15d
add ebx, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r15d
rol eax, 0xa
xor ecx, eax
mov eax, r14d
and eax, r15d
xor edi, eax
lea eax, [rdx + rcx]
mov edx, ebx
add edi, eax
movzx eax, byte [r9 - 3]
shl eax, 0x10
or r8d, eax
movzx eax, byte [r9 - 2]
shl eax, 8
or r8d, eax
movzx eax, byte [r9 - 1]
or r8d, eax
mov eax, ebx
rol edx, 0x1a
rol eax, 0x15
mov dword [rbp + 7], r8d
xor edx, eax
mov eax, ebx
mov ecx, ebx
rol eax, 7
not ecx
mov r9d, r15d
xor edx, eax
and ecx, r10d
xor r9d, edi
and r9d, r14d
mov eax, r13d
mov r12d, edi
and eax, ebx
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, edi
lea edx, [rcx + r11 + 0x72be5d74]
mov r11, qword [rbp - 0x79]
mov ecx, edi
movzx r8d, byte [r11]
add esi, edx
rol ecx, 0x1e
rol eax, 0x13
shl r8d, 0x18
xor ecx, eax
mov eax, edi
rol eax, 0xa
xor ecx, eax
mov eax, r15d
and eax, edi
xor r9d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r9d, eax
movzx eax, byte [r11 + 1]
mov ecx, esi
shl eax, 0x10
not ecx
xor r12d, r9d
or r8d, eax
movzx eax, byte [r11 + 2]
and ecx, r13d
shl eax, 8
and r12d, r15d
or r8d, eax
movzx eax, byte [r11 + 3]
or r8d, eax
rol edx, 0x1a
mov eax, esi
rol eax, 0x15
mov dword [rbp + 0xb], r8d
xor edx, eax
mov eax, esi
rol eax, 7
xor edx, eax
mov eax, esi
and eax, ebx
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r11 + 4]
add ecx, eax
mov eax, r9d
lea edx, [rcx + r10 - 0x7f214e02]
mov ecx, r9d
add r14d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r9d
mov dword [rsp + 4], r14d
rol eax, 0xa
xor ecx, eax
mov eax, edi
and eax, r9d
xor r12d, eax
lea eax, [rdx + rcx]
add r12d, eax
movzx eax, byte [r11 + 5]
shl r8d, 0x18
mov dword [rsp + 0xc], r12d
shl eax, 0x10
add r11, 0xc
mov edx, r14d
or r8d, eax
movzx eax, byte [r11 - 6]
mov ecx, r14d
shl eax, 8
not ecx
mov r10d, r9d
or r8d, eax
movzx eax, byte [r11 - 5]
and ecx, ebx
or r8d, eax
rol edx, 0x1a
xor r10d, r12d
and r10d, edi
mov dword [rbp + 0xf], r8d
mov eax, r14d
rol eax, 0x15
mov qword [rbp - 0x79], r11
xor edx, eax
mov eax, r14d
rol eax, 7
xor edx, eax
mov eax, esi
and eax, r14d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r11 - 4]
add ecx, eax
shl r8d, 0x18
mov eax, r12d
lea edx, [rcx + r13 - 0x6423f959]
mov ecx, r12d
add r15d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r12d
rol eax, 0xa
xor ecx, eax
mov eax, r9d
and eax, r12d
xor r10d, eax
lea eax, [rdx + rcx]
mov edx, r15d
add r10d, eax
movzx eax, byte [r11 - 3]
mov ecx, r15d
shl eax, 0x10
not ecx
mov dword [rsp + 0x10], r10d
or r8d, eax
movzx eax, byte [r11 - 2]
and ecx, esi
shl eax, 8
or r8d, eax
movzx eax, byte [r11 - 1]
or r8d, eax
rol edx, 0x1a
mov eax, r15d
rol eax, 0x15
mov dword [rbp + 0x13], r8d
xor edx, eax
mov eax, r15d
rol eax, 7
xor edx, eax
mov eax, r14d
and eax, r15d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, r10d
lea edx, [rcx + rbx - 0x3e640e8c]
mov ecx, r10d
add edi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r10d
mov dword [rbp - 0x65], edi
rol eax, 0xa
mov ebx, r9d
mov r8d, r12d
xor ecx, eax
xor r8d, r10d
mov eax, r12d
and eax, r10d
and r8d, ebx
mov r14d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
xor r8d, eax
lea eax, [rdx + rcx]
mov qword [rsp + 0x18], r14
add r8d, eax
lea rax, [0x180158d24]
mov r9d, esi
mov qword [rbp - 0x71], rax
mov dword [rsp + 8], r8d
jmp 0x1800ef625
mov edi, esi
mov r12d, r13d
lea r13d, [r14 - 3]
mov rsi, r14
lea r11d, [r14 - 7]
and r13d, 0xf
and esi, 0xf
dec r14d
mov ecx, dword [rbp + r13*4 - 0x29]
mov edx, dword [rbp + rsi*4 - 0x29]
and r14d, 0xf
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
lea eax, [r11 - 1]
xor ecx, edx
and eax, 0xf
mov edx, edi
add r8d, ecx
mov ecx, edi
add r8d, dword [rbp + rax*4 - 0x29]
not ecx
mov eax, edi
add r8d, dword [rbp + r14*4 - 0x29]
and ecx, dword [rsp + 4]
rol edx, 0x1a
rol eax, 0x15
mov dword [rbp + r14*4 - 0x29], r8d
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, r15d
and eax, edi
xor ecx, eax
mov rax, qword [rbp - 0x71]
add edx, ecx
add edx, dword [rax - 4]
add edx, r8d
mov r8d, dword [rsp + 8]
add edx, r9d
mov eax, r8d
mov ecx, r8d
add ebx, edx
mov r9d, r10d
and r10d, r8d
xor r9d, r8d
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r8d
mov dword [rsp + 0x14], ebx
rol eax, 0xa
mov r8d, r9d
and r8d, r12d
xor ecx, eax
xor r8d, r10d
lea eax, [rdx + rcx]
add r8d, eax
mov rax, qword [rsp + 0x18]
lea r12d, [rax - 2]
lea ebx, [rax + 1]
mov dword [rsp], r8d
and r12d, 0xf
and ebx, 0xf
mov ecx, dword [rbp + r12*4 - 0x29]
mov edx, dword [rbp + rbx*4 - 0x29]
mov r8d, ecx
mov eax, ecx
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
shr ecx, 0xa
xor r8d, ecx
mov eax, edx
mov ecx, edx
rol ecx, 0x19
rol eax, 0xe
shr edx, 3
xor ecx, eax
mov eax, r11d
xor ecx, edx
mov edx, dword [rsp + 0x14]
and eax, 0xf
add r8d, ecx
mov ecx, edx
add r8d, dword [rbp + rax*4 - 0x29]
mov eax, edx
add r8d, dword [rbp + rsi*4 - 0x29]
rol ecx, 0x1a
rol eax, 0x15
xor ecx, eax
mov dword [rbp + rsi*4 - 0x29], r8d
mov eax, edx
rol eax, 7
not edx
xor ecx, eax
and edx, r15d
mov eax, edi
and eax, dword [rsp + 0x14]
xor edx, eax
lea eax, [r8 + rcx]
mov r8d, dword [rsp]
add edx, eax
mov rax, qword [rbp - 0x71]
mov ecx, r8d
add edx, dword [rsp + 4]
add edx, dword [rax]
mov eax, r8d
add dword [rsp + 0xc], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r8d
mov r8d, r9d
and r8d, dword [rsp]
mov r9, qword [rsp + 0x18]
rol eax, 0xa
xor ecx, eax
xor r8d, r10d
add r9d, 2
lea eax, [rdx + rcx]
mov ecx, dword [rbp + r14*4 - 0x29]
and r9d, 0xf
mov edx, dword [rbp + r9*4 - 0x29]
add r8d, eax
mov eax, ecx
mov dword [rsp + 4], r8d
mov r8d, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
lea eax, [r11 + 1]
mov r11d, dword [rsp + 0xc]
and eax, 0xf
xor ecx, edx
mov edx, r11d
add r8d, ecx
add r8d, dword [rbp + rax*4 - 0x29]
mov eax, r11d
add r8d, dword [rbp + rbx*4 - 0x29]
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [rbp + rbx*4 - 0x29], r8d
mov eax, r11d
mov r10d, dword [rsp + 0x14]
rol eax, 7
mov ecx, r11d
xor edx, eax
not ecx
mov eax, r10d
and ecx, edi
mov edi, dword [rsp + 4]
and eax, r11d
xor ecx, eax
mov rax, qword [rbp - 0x71]
add edx, ecx
mov ecx, edi
add edx, dword [rax + 4]
mov eax, edi
add edx, r8d
mov r8d, dword [rsp + 8]
add edx, r15d
mov r15d, edi
add dword [rsp + 0x10], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r15d, r8d
mov eax, edi
and r15d, dword [rsp]
rol eax, 0xa
xor ecx, eax
mov eax, edi
mov rdi, qword [rsp + 0x18]
and eax, r8d
add edi, 3
xor r15d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rbp + rsi*4 - 0x29]
mov esi, dword [rsp + 0x10]
add r15d, eax
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
and edi, 0xf
mov edx, dword [rbp + rdi*4 - 0x29]
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
mov rax, qword [rsp + 0x18]
xor ecx, edx
add eax, 0xfffffffb
mov edx, esi
add r8d, ecx
and eax, 0xf
mov ecx, esi
add r8d, dword [rbp + rax*4 - 0x29]
not ecx
mov eax, esi
add r8d, dword [rbp + r9*4 - 0x29]
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
and ecx, r10d
mov eax, esi
rol eax, 7
mov dword [rbp + r9*4 - 0x29], r8d
xor edx, eax
mov eax, r11d
and eax, esi
xor ecx, eax
mov rax, qword [rbp - 0x71]
add edx, ecx
mov ecx, r15d
add edx, dword [rax + 8]
add edx, r8d
add edx, dword [rbp - 0x65]
add dword [rsp + 8], edx
mov r11, qword [rsp + 0x18]
rol ecx, 0x1e
mov eax, r15d
rol eax, 0x13
add r11d, 4
xor ecx, eax
and r11d, 0xf
mov eax, r15d
rol eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 4]
mov esi, eax
and eax, r15d
xor esi, r15d
and esi, dword [rsp]
xor esi, eax
lea eax, [rdx + rcx]
mov ecx, dword [rbp + rbx*4 - 0x29]
mov ebx, dword [rsp + 8]
mov edx, dword [rbp + r11*4 - 0x29]
add esi, eax
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
mov rax, qword [rsp + 0x18]
xor ecx, edx
add eax, 0xfffffffc
mov edx, ebx
and eax, 0xf
add r8d, ecx
mov ecx, ebx
add r8d, dword [rbp + rax*4 - 0x29]
mov eax, ebx
not ecx
add r8d, dword [rbp + rdi*4 - 0x29]
and ecx, dword [rsp + 0xc]
rol edx, 0x1a
rol eax, 0x15
mov dword [rbp + rdi*4 - 0x29], r8d
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, dword [rsp + 0x10]
and eax, ebx
mov ebx, r15d
xor ecx, eax
mov rax, qword [rbp - 0x71]
xor ebx, esi
and ebx, dword [rsp + 4]
add edx, ecx
mov ecx, esi
add edx, dword [rax + 0xc]
mov eax, esi
add edx, r8d
add edx, r10d
mov r10, qword [rsp + 0x18]
add dword [rsp], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, esi
add r10d, 5
rol eax, 0xa
xor ecx, eax
mov eax, r15d
and eax, esi
xor ebx, eax
lea eax, [rdx + rcx]
add ebx, eax
and r10d, 0xf
mov ecx, dword [rbp + r9*4 - 0x29]
mov r9d, dword [rsp]
mov edx, dword [rbp + r10*4 - 0x29]
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
mov eax, r9d
xor ecx, edx
mov edx, r9d
add r8d, ecx
mov ecx, r9d
add r8d, dword [rbp + r13*4 - 0x29]
not ecx
mov r13d, esi
add r8d, dword [rbp + r11*4 - 0x29]
and ecx, dword [rsp + 0x10]
rol edx, 0x1a
rol eax, 0x15
mov dword [rbp + r11*4 - 0x29], r8d
xor r13d, ebx
xor edx, eax
and r13d, r15d
mov eax, r9d
rol eax, 7
xor edx, eax
mov eax, r9d
mov r9, qword [rsp + 0x18]
and eax, dword [rsp + 8]
add r9d, 6
xor ecx, eax
mov rax, qword [rbp - 0x71]
and r9d, 0xf
add edx, ecx
mov ecx, ebx
add edx, dword [rax + 0x10]
mov eax, ebx
add edx, r8d
add edx, dword [rsp + 0xc]
add dword [rsp + 4], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
and eax, ebx
xor r13d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rbp + rdi*4 - 0x29]
mov edx, dword [rbp + r9*4 - 0x29]
add r13d, eax
mov r8d, ecx
rol r8d, 0xf
mov eax, ecx
shr ecx, 0xa
rol eax, 0xd
mov dword [rsp + 0xc], r13d
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
xor ecx, edx
add r8d, ecx
add r8d, dword [rbp + r12*4 - 0x29]
add r8d, dword [rbp + r10*4 - 0x29]
mov dword [rbp + r10*4 - 0x29], r8d
mov r12d, dword [rsp + 4]
mov edi, dword [rsp + 8]
mov r10d, ebx
xor r10d, r13d
mov eax, r12d
mov edx, r12d
rol edx, 0x1a
rol eax, 0x15
and r10d, esi
xor edx, eax
mov eax, r12d
mov ecx, r12d
rol eax, 7
not ecx
xor edx, eax
mov eax, dword [rsp]
and ecx, edi
and eax, r12d
xor ecx, eax
mov rax, qword [rbp - 0x71]
add edx, ecx
mov ecx, r13d
add edx, dword [rax + 0x14]
mov eax, r13d
add edx, r8d
add edx, dword [rsp + 0x10]
add r15d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r13d
rol eax, 0xa
xor ecx, eax
mov eax, ebx
and eax, r13d
xor r10d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rbp + r11*4 - 0x29]
mov r11, qword [rbp - 0x71]
add r10d, eax
mov rax, qword [rsp + 0x18]
add eax, 7
mov r8d, ecx
mov dword [rsp + 0x10], r10d
and eax, 0xf
rol r8d, 0xf
mov edx, dword [rbp + rax*4 - 0x29]
mov eax, ecx
shr ecx, 0xa
rol eax, 0xd
xor r8d, eax
mov eax, edx
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
mov eax, r15d
xor ecx, edx
mov edx, r15d
add r8d, ecx
mov ecx, r15d
add r8d, dword [rbp + r9*4 - 0x29]
not ecx
add r8d, dword [rbp + r14*4 - 0x29]
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov eax, r15d
mov dword [rbp + r9*4 - 0x29], r8d
mov r9d, dword [rsp]
rol eax, 7
xor edx, eax
and ecx, r9d
mov eax, r12d
and eax, r15d
xor ecx, eax
add edx, ecx
add edx, dword [r11 + 0x18]
add edx, r8d
mov r14, qword [rsp + 0x18]
add edx, edi
add r11, 0x20
add esi, edx
add r14d, 8
mov ecx, r10d
rol ecx, 0x1e
mov eax, r10d
mov r8d, r13d
rol eax, 0x13
xor r8d, r10d
mov dword [rbp - 0x65], esi
xor ecx, eax
and r8d, ebx
mov eax, r10d
rol eax, 0xa
mov qword [rsp + 0x18], r14
mov qword [rbp - 0x71], r11
xor ecx, eax
mov eax, r13d
and eax, r10d
xor r8d, eax
lea eax, [rdx + rcx]
add r8d, eax
lea eax, [r14 - 1]
mov dword [rsp + 8], r8d
cmp eax, 0x40
jl 0x1800ef620
mov rax, qword [rbp - 0x41]
mov edi, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x69]
mov r11d, dword [rbp - 0x5d]
mov rdx, qword [rbp - 0x79]
add edi, r10d
mov r10d, dword [rbp - 0x49]
add ecx, r8d
add r11d, ebx
add r10d, r13d
mov r13d, dword [rbp - 0x59]
mov dword [rax + 4], edi
add r13d, esi
mov esi, dword [rbp - 0x55]
mov dword [rax], ecx
add esi, r15d
mov r15d, dword [rbp - 0x4d]
mov dword [rax + 8], r10d
add r15d, r12d
mov r12d, dword [rbp - 0x51]
mov dword [rax + 0xc], r11d
add r12d, r9d
mov dword [rax + 0x10], r13d
mov dword [rax + 0x14], esi
mov dword [rax + 0x18], r15d
mov dword [rax + 0x1c], r12d
mov rax, qword [rbp - 0x39]
mov dword [rbp - 0x69], ecx
mov dword [rbp - 0x61], edi
mov dword [rbp - 0x49], r10d
mov dword [rbp - 0x5d], r11d
mov dword [rbp - 0x59], r13d
mov dword [rbp - 0x55], esi
mov dword [rbp - 0x4d], r15d
mov dword [rbp - 0x51], r12d
mov ebx, ecx
test rax, rax
jne 0x1800eed00
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0xf0
pop rbp
repz ret