Function at 0x1800586e0
Capabilities:
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
test r8, r8
je 0x180059758
mov qword [rsp + 8], rcx
push r15
mov eax, 0xb0
call fcn.1800c7940
sub rsp, rax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xa8], rbx
mov rax, r8
mov r15, rdx
nop dword [rax + rax]
mov ebp, dword [rcx + 0x10]
mov ebx, dword [rcx + 4]
mov r9d, dword [rcx + 0x1c]
mov esi, dword [rcx + 0x14]
mov r11d, dword [rcx + 8]
mov r10d, dword [rcx + 0xc]
mov r14d, dword [rcx + 0x18]
dec rax
movzx r8d, byte [r15]
mov qword [rsp + 0xd0], rax
mov eax, dword [rcx]
shl r8d, 0x18
mov r12d, eax
mov dword [rsp + 0x64], eax
movzx eax, byte [r15 + 1]
shl eax, 0x10
mov edx, ebp
mov ecx, ebp
or r8d, eax
movzx eax, byte [r15 + 2]
not ecx
shl eax, 8
and ecx, r14d
mov r13d, ebx
or r8d, eax
movzx eax, byte [r15 + 3]
xor r13d, r12d
or r8d, eax
rol edx, 0x1a
mov eax, ebp
rol eax, 0x15
mov dword [rsp + 0x20], r8d
mov edi, r13d
xor edx, eax
and edi, r11d
mov eax, ebp
rol eax, 7
xor edx, eax
mov eax, esi
and eax, ebp
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 4]
add ecx, eax
shl r8d, 0x18
mov eax, r12d
lea edx, [rcx + r9 + 0x428a2f98]
mov r9d, ebx
mov ecx, r12d
add r10d, edx
and r9d, r12d
rol ecx, 0x1e
rol eax, 0x13
xor edi, r9d
xor ecx, eax
mov eax, r12d
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r10d
mov ecx, r10d
add edi, eax
movzx eax, byte [r15 + 5]
not ecx
shl eax, 0x10
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, r10d
rol eax, 0x15
mov dword [rsp + 0x24], r8d
xor edx, eax
mov eax, r10d
rol eax, 7
xor edx, eax
and ecx, esi
mov eax, ebp
and eax, r10d
and r13d, edi
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 8]
add ecx, eax
shl r8d, 0x18
xor r13d, r9d
lea edx, [rcx + r14 + 0x71374491]
mov ecx, edi
mov eax, edi
add r11d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, edi
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r11d
mov ecx, r11d
add r13d, eax
movzx eax, byte [r15 + 9]
not ecx
shl eax, 0x10
and ecx, ebp
or r8d, eax
movzx eax, byte [r15 + 0xa]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0xb]
or r8d, eax
rol edx, 0x1a
mov eax, r11d
rol eax, 0x15
mov dword [rsp + 0x28], r8d
xor edx, eax
mov eax, r11d
rol eax, 7
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0xc]
add ecx, eax
shl r8d, 0x18
mov eax, r13d
lea edx, [rcx + rsi - 0x4a3f0431]
mov ecx, r13d
mov esi, r13d
add ebx, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor esi, r12d
mov eax, r13d
rol eax, 0xa
and esi, edi
xor ecx, eax
mov eax, r13d
and eax, r12d
xor esi, eax
lea eax, [rdx + rcx]
mov edx, ebx
add esi, 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
rol edx, 0x1a
mov eax, ebx
rol eax, 0x15
mov dword [rsp + 0x2c], r8d
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov ecx, ebx
mov eax, r11d
and eax, ebx
not ecx
and ecx, r10d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x10]
add ecx, eax
shl r8d, 0x18
mov eax, esi
lea edx, [rcx + rbp - 0x164a245b]
mov ecx, esi
mov ebp, r13d
add r12d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor ebp, esi
mov eax, esi
rol eax, 0xa
and ebp, edi
xor ecx, eax
mov eax, r13d
and eax, esi
xor ebp, eax
lea eax, [rdx + rcx]
mov edx, r12d
add ebp, eax
movzx eax, byte [r15 + 0x11]
mov ecx, r12d
shl eax, 0x10
not ecx
or r8d, eax
movzx eax, byte [r15 + 0x12]
and ecx, r11d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x13]
or r8d, eax
rol edx, 0x1a
mov eax, r12d
rol eax, 0x15
mov dword [rsp + 0x30], r8d
xor edx, eax
mov eax, r12d
rol eax, 7
xor edx, eax
mov eax, ebx
and eax, r12d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x14]
add ecx, eax
mov eax, ebp
shl r8d, 0x18
lea edx, [rcx + r10 + 0x3956c25b]
mov ecx, ebp
mov r10d, esi
add edi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r10d, ebp
mov eax, ebp
rol eax, 0xa
and r10d, r13d
xor ecx, eax
mov eax, esi
and eax, ebp
xor r10d, eax
lea eax, [rdx + rcx]
add r10d, eax
movzx eax, byte [r15 + 0x15]
shl eax, 0x10
or r8d, eax
movzx eax, byte [r15 + 0x16]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x17]
or r8d, eax
mov edx, edi
mov eax, edi
rol edx, 0x1a
rol eax, 0x15
mov dword [rsp + 0x34], r8d
xor edx, eax
mov eax, edi
mov ecx, edi
rol eax, 7
not ecx
xor edx, eax
and ecx, ebx
mov eax, edi
and eax, r12d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x18]
add ecx, eax
shl r8d, 0x18
mov eax, r10d
lea edx, [rcx + r11 + 0x59f111f1]
mov ecx, r10d
mov r11d, ebp
add r13d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r11d, r10d
mov eax, r10d
rol eax, 0xa
and r11d, esi
xor ecx, eax
mov eax, ebp
and eax, r10d
xor r11d, eax
lea eax, [rdx + rcx]
mov edx, r13d
add r11d, eax
movzx eax, byte [r15 + 0x19]
mov ecx, r13d
shl eax, 0x10
not ecx
or r8d, eax
movzx eax, byte [r15 + 0x1a]
and ecx, r12d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x1b]
or r8d, eax
rol edx, 0x1a
mov eax, r13d
rol eax, 0x15
mov dword [rsp + 0x38], r8d
xor edx, eax
mov eax, r13d
rol eax, 7
xor edx, eax
mov eax, edi
and eax, r13d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, r11d
lea edx, [rcx + rbx - 0x6dc07d5c]
mov ecx, r11d
mov ebx, r10d
add esi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor ebx, r11d
mov eax, r11d
rol eax, 0xa
and ebx, ebp
xor ecx, eax
mov eax, r10d
and eax, r11d
xor ebx, eax
lea eax, [rdx + rcx]
add ebx, eax
movzx r8d, byte [r15 + 0x1c]
movzx eax, byte [r15 + 0x1d]
mov edx, esi
shl eax, 0x10
shl r8d, 0x18
mov ecx, esi
or r8d, eax
movzx eax, byte [r15 + 0x1e]
not ecx
shl eax, 8
and ecx, edi
mov r9d, ebx
or r8d, eax
movzx eax, byte [r15 + 0x1f]
or r8d, eax
rol edx, 0x1a
mov eax, esi
rol eax, 0x15
mov dword [rsp + 0x3c], r8d
xor edx, eax
mov eax, esi
rol eax, 7
xor edx, eax
mov eax, r13d
and eax, esi
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x20]
add ecx, eax
shl r8d, 0x18
mov eax, ebx
lea edx, [rcx + r12 - 0x54e3a12b]
mov ecx, ebx
mov r12d, r11d
add ebp, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r12d, ebx
mov eax, ebx
rol eax, 0xa
and r12d, r10d
xor ecx, eax
mov eax, r11d
and eax, ebx
xor r12d, eax
lea eax, [rdx + rcx]
mov edx, ebp
add r12d, eax
movzx eax, byte [r15 + 0x21]
mov ecx, ebp
shl eax, 0x10
not ecx
and r9d, r12d
or r8d, eax
movzx eax, byte [r15 + 0x22]
and ecx, r13d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x23]
or r8d, eax
rol edx, 0x1a
mov eax, ebp
rol eax, 0x15
mov dword [rsp + 0x40], r8d
xor edx, eax
mov eax, ebp
rol eax, 7
xor edx, eax
mov eax, esi
and eax, ebp
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, r12d
lea edx, [rcx + rdi - 0x27f85568]
mov edi, ebx
mov ecx, r12d
add r10d, edx
xor edi, r12d
rol ecx, 0x1e
rol eax, 0x13
mov r8d, edi
xor ecx, eax
and r8d, r11d
mov eax, r12d
rol eax, 0xa
xor r8d, r9d
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r10d
mov ecx, r10d
add r8d, eax
movzx eax, byte [r15 + 0x25]
not ecx
shl eax, 0x10
and ecx, esi
mov dword [rsp + 0xc8], r8d
movzx r8d, byte [r15 + 0x24]
shl r8d, 0x18
or r8d, eax
movzx eax, byte [r15 + 0x26]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x27]
or r8d, eax
rol edx, 0x1a
mov eax, r10d
rol eax, 0x15
mov dword [rsp + 0x44], r8d
xor edx, eax
mov eax, r10d
rol eax, 7
xor edx, eax
mov eax, ebp
and eax, r10d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [r15 + 0x28]
add ecx, eax
shl r8d, 0x18
lea edx, [rcx + r13 + 0x12835b01]
mov r13d, dword [rsp + 0xc8]
add r11d, edx
and edi, r13d
mov ecx, r13d
rol ecx, 0x1e
xor edi, r9d
mov eax, r13d
rol eax, 0x13
mov r9d, edi
xor ecx, eax
mov eax, r13d
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
mov edx, r11d
mov ecx, r11d
add r9d, eax
movzx eax, byte [r15 + 0x29]
not ecx
shl eax, 0x10
and ecx, ebp
or r8d, eax
movzx eax, byte [r15 + 0x2a]
shl eax, 8
or r8d, eax
movzx eax, byte [r15 + 0x2b]
or r8d, eax
rol edx, 0x1a
mov eax, r11d
rol eax, 0x15
mov dword [rsp + 0x48], r8d
xor edx, eax
mov eax, r11d
rol eax, 7
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
movzx r8d, byte [r15 + 0x2c]
lea edx, [rcx + rsi + 0x243185be]
add r15, 0x30
add ebx, edx
shl r8d, 0x18
mov qword [rsp + 0x68], r15
mov rsi, qword [rsp + 0x68]
mov ecx, r9d
mov eax, r9d
rol ecx, 0x1e
rol eax, 0x13
mov r14d, r9d
xor ecx, eax
xor r14d, r12d
mov eax, r9d
rol eax, 0xa
and r14d, r13d
xor ecx, eax
mov eax, r9d
and eax, r12d
xor r14d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r14d, eax
movzx eax, byte [r15 - 3]
mov ecx, ebx
shl eax, 0x10
not ecx
or r8d, eax
movzx eax, byte [r15 - 2]
and ecx, r10d
shl eax, 8
or r8d, eax
movzx eax, byte [r15 - 1]
mov r15d, r9d
or r8d, eax
rol edx, 0x1a
xor r15d, r14d
mov dword [rsp + 0x4c], r8d
and r15d, r13d
mov eax, ebx
rol eax, 0x15
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [rsi]
add ecx, eax
shl r8d, 0x18
mov eax, r14d
lea edx, [rcx + rbp + 0x550c7dc3]
mov ecx, r14d
add r12d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r14d
rol eax, 0xa
xor ecx, eax
mov eax, r9d
and eax, r14d
xor r15d, eax
lea eax, [rdx + rcx]
mov edx, r12d
add r15d, eax
movzx eax, byte [rsi + 1]
shl eax, 0x10
or r8d, eax
movzx eax, byte [rsi + 2]
shl eax, 8
or r8d, eax
movzx eax, byte [rsi + 3]
or r8d, eax
mov eax, r12d
rol edx, 0x1a
rol eax, 0x15
mov dword [rsp + 0x50], r8d
xor edx, eax
mov eax, r12d
mov ecx, r12d
rol eax, 7
not ecx
mov edi, r14d
xor edx, eax
and ecx, r11d
xor edi, r15d
and edi, r9d
mov eax, ebx
mov ebp, r15d
and eax, r12d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [rsi + 4]
add ecx, eax
shl r8d, 0x18
mov eax, r15d
lea edx, [rcx + r10 + 0x72be5d74]
mov ecx, r15d
add r13d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r15d
mov dword [rsp + 0xc8], r13d
rol eax, 0xa
xor ecx, eax
mov eax, r14d
and eax, r15d
xor edi, eax
lea eax, [rdx + rcx]
mov edx, r13d
add edi, eax
movzx eax, byte [rsi + 5]
mov ecx, r13d
shl eax, 0x10
not ecx
xor ebp, edi
or r8d, eax
movzx eax, byte [rsi + 6]
and ecx, ebx
shl eax, 8
and ebp, r14d
or r8d, eax
movzx eax, byte [rsi + 7]
or r8d, eax
rol edx, 0x1a
mov eax, r13d
rol eax, 0x15
mov dword [rsp + 0x54], r8d
xor edx, eax
mov eax, r13d
rol eax, 7
xor edx, eax
mov eax, r13d
and eax, r12d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [rsi + 8]
add ecx, eax
mov eax, edi
lea edx, [rcx + r11 - 0x7f214e02]
mov ecx, edi
add r9d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, edi
mov dword [rsp + 0xd8], r9d
rol eax, 0xa
xor ecx, eax
mov eax, r15d
and eax, edi
xor ebp, eax
lea eax, [rdx + rcx]
add ebp, eax
movzx eax, byte [rsi + 9]
shl r8d, 0x18
mov dword [rsp + 8], ebp
shl eax, 0x10
add rsi, 0x10
mov edx, r9d
or r8d, eax
movzx eax, byte [rsi - 6]
mov ecx, r9d
shl eax, 8
not ecx
mov r10d, edi
or r8d, eax
movzx eax, byte [rsi - 5]
and ecx, r12d
or r8d, eax
rol edx, 0x1a
xor r10d, ebp
and r10d, r15d
mov dword [rsp + 0x58], r8d
mov eax, r9d
rol eax, 0x15
mov qword [rsp + 0x68], rsi
xor edx, eax
mov eax, r9d
rol eax, 7
xor edx, eax
mov eax, r13d
and eax, r9d
xor ecx, eax
lea eax, [r8 + rdx]
movzx r8d, byte [rsi - 4]
add ecx, eax
shl r8d, 0x18
mov eax, ebp
lea edx, [rcx + rbx - 0x6423f959]
mov ecx, ebp
add r14d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, ebp
rol eax, 0xa
xor ecx, eax
mov eax, edi
and eax, ebp
xor r10d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r10d, eax
movzx eax, byte [rsi - 3]
mov ecx, r14d
shl eax, 0x10
not ecx
mov dword [rsp + 4], r10d
or r8d, eax
movzx eax, byte [rsi - 2]
and ecx, r13d
shl eax, 8
or r8d, eax
movzx eax, byte [rsi - 1]
or r8d, eax
rol edx, 0x1a
mov eax, r14d
rol eax, 0x15
mov dword [rsp + 0x5c], r8d
xor edx, eax
mov eax, r14d
rol eax, 7
xor edx, eax
mov eax, r9d
and eax, r14d
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov eax, r10d
lea edx, [rcx + r12 - 0x3e640e8c]
mov ecx, r10d
add r15d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r10d
rol eax, 0xa
xor ecx, eax
mov eax, ebp
mov ebx, ebp
and eax, r10d
xor ebx, r10d
and ebx, edi
xor ebx, eax
lea eax, [rdx + rcx]
mov edx, 0x11
add ebx, eax
lea rax, [0x1800d6b84]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rax
mov dword [rsp], ebx
jmp 0x18005906a
mov r9d, dword [rsp + 0xd8]
mov ebp, esi
lea r12d, [rdx - 3]
lea r13d, [rdx - 1]
mov rsi, rdx
lea r11d, [rdx - 7]
and r13d, 0xf
and r12d, 0xf
mov ecx, dword [rsp + r12*4 + 0x20]
and esi, 0xf
mov r8d, dword [rsp + rsi*4 + 0x20]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
rol edx, 0xf
rol eax, 0xd
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
rol ecx, 0x19
rol eax, 0xe
xor ecx, eax
lea eax, [r11 - 1]
xor ecx, r8d
and eax, 0xf
add edx, ecx
mov ecx, r15d
add edx, dword [rsp + rax*4 + 0x20]
not ecx
mov eax, r15d
add dword [rsp + r13*4 + 0x20], edx
and ecx, r9d
mov edx, r15d
rol edx, 0x1a
rol eax, 0x15
mov r9d, r10d
xor edx, eax
xor r9d, ebx
and r10d, ebx
mov eax, r15d
mov r8d, r9d
rol eax, 7
and r8d, ebp
xor edx, eax
xor r8d, r10d
mov eax, r14d
and eax, r15d
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, ebx
add edx, dword [rax - 4]
mov eax, ebx
add edx, dword [rsp + r13*4 + 0x20]
add edx, dword [rsp + 0xc8]
add edi, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, ebx
mov dword [rsp + 0x60], edi
rol eax, 0xa
xor ecx, eax
lea eax, [rdx + rcx]
add r8d, eax
mov rax, qword [rsp + 0x10]
lea ebp, [rax - 2]
lea edi, [rax + 1]
mov dword [rsp + 0xc8], r8d
and ebp, 0xf
and edi, 0xf
mov ecx, dword [rsp + rbp*4 + 0x20]
mov edx, dword [rsp + rdi*4 + 0x20]
mov r8d, ecx
mov eax, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
xor r8d, ecx
mov ecx, edx
mov ebx, dword [rsp + 0x60]
rol ecx, 0x19
mov eax, edx
rol eax, 0xe
shr edx, 3
xor ecx, eax
mov rax, r11
xor ecx, edx
and eax, 0xf
mov edx, ebx
add r8d, ecx
mov ecx, ebx
add r8d, dword [rsp + rax*4 + 0x20]
not ecx
mov eax, ebx
add dword [rsp + rsi*4 + 0x20], r8d
mov r8d, dword [rsp + 0xc8]
rol edx, 0x1a
rol eax, 0x15
and ecx, r14d
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, r15d
and eax, ebx
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, r8d
add edx, dword [rax]
mov eax, r8d
add edx, dword [rsp + rsi*4 + 0x20]
add edx, dword [rsp + 0xd8]
add dword [rsp + 8], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
mov eax, r8d
mov r8d, r9d
and r8d, dword [rsp + 0xc8]
mov r9, qword [rsp + 0x10]
rol eax, 0xa
xor ecx, eax
xor r8d, r10d
add r9d, 2
lea eax, [rdx + rcx]
mov ecx, dword [rsp + r13*4 + 0x20]
and r9d, 0xf
mov edx, dword [rsp + r9*4 + 0x20]
add r8d, eax
mov eax, ecx
mov dword [rsp + 0xd8], 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 + 8]
xor ecx, edx
and eax, 0xf
mov edx, r11d
add r8d, ecx
mov ecx, r11d
add r8d, dword [rsp + rax*4 + 0x20]
mov eax, r11d
add dword [rsp + rdi*4 + 0x20], r8d
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov eax, r11d
rol eax, 7
xor edx, eax
mov r8d, dword [rsp]
mov r10d, dword [rsp + 4]
not ecx
and ecx, r15d
mov eax, ebx
mov ebx, dword [rsp + 0xd8]
and eax, r11d
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, ebx
add edx, dword [rax + 4]
mov eax, ebx
add edx, dword [rsp + rdi*4 + 0x20]
add edx, r14d
mov r14d, ebx
add r10d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor r14d, r8d
mov eax, ebx
and r14d, dword [rsp + 0xc8]
rol eax, 0xa
mov dword [rsp + 4], r10d
xor ecx, eax
mov eax, ebx
mov rbx, qword [rsp + 0x10]
and eax, r8d
add ebx, 3
xor r14d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rsp + rsi*4 + 0x20]
mov esi, dword [rsp]
add r14d, eax
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
and ebx, 0xf
mov edx, dword [rsp + rbx*4 + 0x20]
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 + 0x10]
xor ecx, edx
add eax, 0xfffffffb
mov edx, r10d
and eax, 0xf
add r8d, ecx
mov ecx, r10d
add r8d, dword [rsp + rax*4 + 0x20]
not ecx
mov eax, r10d
add dword [rsp + r9*4 + 0x20], r8d
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov eax, r10d
mov r10d, dword [rsp + 0x60]
rol eax, 7
and ecx, r10d
xor edx, eax
mov eax, r11d
and eax, dword [rsp + 4]
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, r14d
add edx, dword [rax + 8]
add edx, dword [rsp + r9*4 + 0x20]
add edx, r15d
add esi, edx
rol ecx, 0x1e
mov dword [rsp], esi
mov r11, qword [rsp + 0x10]
mov eax, r14d
rol eax, 0x13
add r11d, 4
xor ecx, eax
and r11d, 0xf
mov eax, r14d
rol eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0xd8]
mov r15d, eax
and eax, r14d
xor r15d, r14d
and r15d, dword [rsp + 0xc8]
xor r15d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rsp + rdi*4 + 0x20]
mov edx, dword [rsp + r11*4 + 0x20]
add r15d, eax
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
mov edi, r14d
rol r8d, 0xf
rol eax, 0xd
xor edi, r15d
and edi, dword [rsp + 0xd8]
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 + 0x10]
xor ecx, edx
add eax, 0xfffffffc
mov edx, esi
and eax, 0xf
add r8d, ecx
mov ecx, esi
add r8d, dword [rsp + rax*4 + 0x20]
not ecx
mov eax, esi
add dword [rsp + rbx*4 + 0x20], r8d
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov eax, esi
mov esi, dword [rsp + 8]
rol eax, 7
and ecx, esi
xor edx, eax
mov eax, dword [rsp + 4]
and eax, dword [rsp]
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, r15d
add edx, dword [rax + 0xc]
mov eax, r15d
add edx, dword [rsp + rbx*4 + 0x20]
add edx, r10d
mov r10, qword [rsp + 0x10]
add dword [rsp + 0xc8], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
add r10d, 5
mov eax, r15d
rol eax, 0xa
xor ecx, eax
mov eax, r14d
and eax, r15d
xor edi, eax
lea eax, [rdx + rcx]
mov ecx, dword [rsp + r9*4 + 0x20]
add edi, eax
and r10d, 0xf
mov edx, dword [rsp + r10*4 + 0x20]
mov r9, qword [rsp + 0x10]
mov eax, ecx
mov r8d, ecx
shr ecx, 0xa
rol r8d, 0xf
rol eax, 0xd
xor r8d, eax
mov eax, edx
add r9d, 6
xor r8d, ecx
mov ecx, edx
shr edx, 3
rol ecx, 0x19
rol eax, 0xe
and r9d, 0xf
xor ecx, eax
xor ecx, edx
add r8d, ecx
add r8d, dword [rsp + r12*4 + 0x20]
mov r12d, dword [rsp + 4]
add dword [rsp + r11*4 + 0x20], r8d
mov r8d, dword [rsp + 0xc8]
mov eax, r8d
mov edx, r8d
mov ecx, r8d
rol edx, 0x1a
rol eax, 0x15
not ecx
xor edx, eax
and ecx, r12d
mov eax, r8d
rol eax, 7
xor edx, eax
mov eax, r8d
and eax, dword [rsp]
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, edi
add edx, dword [rax + 0x10]
mov eax, edi
add edx, dword [rsp + r11*4 + 0x20]
add edx, esi
mov esi, r15d
add dword [rsp + 0xd8], edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
xor esi, edi
mov eax, edi
rol eax, 0xa
and esi, r14d
xor ecx, eax
mov eax, r15d
and eax, edi
xor esi, eax
lea eax, [rdx + rcx]
mov ecx, dword [rsp + rbx*4 + 0x20]
mov edx, dword [rsp + r9*4 + 0x20]
add esi, eax
mov r8d, ecx
rol r8d, 0xf
mov eax, ecx
shr ecx, 0xa
rol eax, 0xd
mov dword [rsp + 8], esi
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 [rsp + rbp*4 + 0x20]
mov ebp, dword [rsp + 0xd8]
add dword [rsp + r10*4 + 0x20], r8d
mov edx, ebp
rol edx, 0x1a
mov ebx, dword [rsp]
mov eax, ebp
mov ecx, ebp
rol eax, 0x15
not ecx
xor edx, eax
and ecx, ebx
mov eax, ebp
rol eax, 7
xor edx, eax
mov eax, dword [rsp + 0xc8]
and eax, ebp
xor ecx, eax
mov rax, qword [rsp + 0x18]
add edx, ecx
mov ecx, esi
add edx, dword [rax + 0x14]
mov eax, esi
add edx, dword [rsp + r10*4 + 0x20]
mov r10d, edi
add edx, r12d
xor r10d, esi
add r14d, edx
rol ecx, 0x1e
rol eax, 0x13
xor ecx, eax
and r10d, r15d
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, edi
and eax, esi
xor r10d, eax
lea eax, [rdx + rcx]
mov ecx, dword [rsp + r11*4 + 0x20]
mov r11, qword [rsp + 0x18]
add r10d, eax
mov rax, qword [rsp + 0x10]
add eax, 7
mov r8d, ecx
mov dword [rsp + 4], r10d
and eax, 0xf
rol r8d, 0xf
mov edx, dword [rsp + rax*4 + 0x20]
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, r14d
xor ecx, edx
mov edx, r14d
add r8d, ecx
mov ecx, r14d
add r8d, dword [rsp + r13*4 + 0x20]
not ecx
add dword [rsp + r9*4 + 0x20], r8d
mov r8d, dword [rsp + 0xc8]
rol edx, 0x1a
rol eax, 0x15
and ecx, r8d
xor edx, eax
mov eax, r14d
rol eax, 7
xor edx, eax
mov eax, ebp
and eax, r14d
xor ecx, eax
add edx, ecx
mov ecx, r10d
add edx, dword [r11 + 0x18]
add edx, dword [rsp + r9*4 + 0x20]
add edx, ebx
add r15d, edx
rol ecx, 0x1e
mov eax, r10d
add r11, 0x20
mov ebx, esi
rol eax, 0x13
xor ebx, r10d
mov qword [rsp + 0x18], r11
xor ecx, eax
and ebx, edi
mov eax, r10d
rol eax, 0xa
xor ecx, eax
mov eax, esi
and eax, r10d
xor ebx, eax
lea eax, [rdx + rcx]
mov rdx, qword [rsp + 0x10]
add edx, 8
add ebx, eax
lea eax, [rdx - 1]
mov dword [rsp], ebx
mov qword [rsp + 0x10], rdx
cmp eax, 0x40
jl 0x180059060
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x64]
add eax, ebx
mov dword [rcx], eax
mov eax, dword [rcx + 4]
add eax, r10d
mov dword [rcx + 4], eax
mov eax, dword [rcx + 8]
add eax, esi
mov dword [rcx + 8], eax
mov eax, dword [rcx + 0xc]
add eax, edi
mov dword [rcx + 0xc], eax
mov eax, dword [rcx + 0x10]
add eax, r15d
mov r15, qword [rsp + 0x68]
mov dword [rcx + 0x10], eax
mov eax, dword [rcx + 0x14]
add eax, r14d
mov dword [rcx + 0x14], eax
mov eax, dword [rcx + 0x18]
add eax, ebp
mov dword [rcx + 0x18], eax
mov eax, dword [rcx + 0x1c]
add eax, r8d
mov dword [rcx + 0x1c], eax
mov rax, qword [rsp + 0xd0]
test rax, rax
jne 0x180058740
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
add rsp, 0xb0
pop r15
repz ret