Function at 0x1800411cf
Capabilities:
Hash data using sha256 via x86 extensions

Disassembly:
add qword [rcx + 0x20], r8
jmp 0x18003f32a
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov r13, r8
mov rsi, rdx
mov qword [rsp + 0x138], rcx
mov al, byte [0x180051058]
cmp al, 1
je 0x180040faa
movzx eax, al
cmp eax, 0xff
je 0x180040ef9
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rsp + 0x138]
mov r15d, dword [rax]
mov r14d, dword [rax + 4]
mov ebx, dword [rax + 8]
mov r11d, dword [rax + 0xc]
mov r10d, dword [rax + 0x10]
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x18]
mov edx, dword [rax + 0x1c]
shl r13, 6
add r13, rsi
mov qword [rsp + 0x198], r13
cmp rsi, qword [rsp + 0x198]
je 0x180040ec0
lea rax, [rsi + 0x40]
mov qword [rsp + 0x1a0], rax
xor eax, eax
cmp rax, 0x10
je 0x18003f3f1
mov ecx, dword [rsi + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0x150], ecx
inc rax
jmp 0x18003f3da
mov esi, dword [rsp + 0x15c]
mov qword [rsp + 0xb8], rsi
mov edi, dword [rsp + 0x158]
mov qword [rsp + 0xc8], rdi
mov ecx, dword [rsp + 0x150]
mov qword [rsp + 0xf8], rcx
mov r12d, dword [rsp + 0x154]
mov qword [rsp + 0xf0], r12
mov eax, dword [rsp + 0x16c]
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x168]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x164]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x160]
mov qword [rsp + 0xd8], rax
mov eax, dword [rsp + 0x17c]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0x178]
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x174]
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x170]
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x18c]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x188]
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x184]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], r10d
mov dword [rsp + 0x60], r9d
mov eax, dword [rsp + 0x180]
mov qword [rsp + 0xe8], rax
lea esi, [rsi - 0x164a245b]
mov dword [rsp + 0x12c], ebx
lea ebx, [rdi - 0x4a3f0431]
mov dword [rsp + 0x134], r9d
lea r9d, [r12 + 0x71374491]
lea eax, [rcx + 0x428a2f98]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov dword [rsp + 0x14c], edx
lea rdx, [rsp + 0x44]
mov dword [rsp + 0x148], r8d
lea rbp, [rsp + 0x54]
mov r8, rbp
mov dword [rsp + 0x130], r10d
mov dword [rsp + 0x144], r11d
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x3c]
mov dword [rsp + 0x128], r15d
mov r15d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], r14d
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
mov r8, rbp
mov r9d, esi
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x3c]
mov dword [rsp + 0x140], r14d
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x44], edi
mov rax, qword [rsp + 0x110]
add eax, 0xab1c5ed5
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x48], r13d
mov rax, qword [rsp + 0xa0]
lea eax, [rax - 0x6dc07d5c]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x4c], r12d
mov rax, qword [rsp + 0xd0]
lea r9d, [rax + 0x59f111f1]
mov dword [rsp + 0x50], r15d
mov rax, qword [rsp + 0xd8]
add eax, 0x3956c25b
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x3c]
mov r15d, dword [rsp + 0x40]
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x60], r15d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rsi, r8
mov r9d, dword [rsp + 0x90]
call fcn.180040fd0
mov ecx, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x44], edi
mov rax, qword [rsp + 0xe0]
add eax, 0x550c7dc3
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x48], r13d
mov rax, qword [rsp + 0xa8]
lea eax, [rax + 0x243185be]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x4c], r12d
mov rax, qword [rsp + 0x100]
lea r9d, [rax + 0x12835b01]
mov dword [rsp + 0x50], r15d
mov rax, qword [rsp + 0xb0]
lea eax, [rax - 0x27f85568]
mov dword [rsp + 0x54], ecx
mov r15d, ecx
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
mov r8, rsi
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x40]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], r12d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0x90]
call fcn.180040fd0
mov ebx, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x3c]
mov ebp, dword [rsp + 0x40]
mov dword [rsp + 0x44], esi
mov rsi, qword [rsp + 0x120]
lea eax, [rsi - 0x3e640e8c]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x48], edi
mov rdi, qword [rsp + 0xc0]
lea eax, [rdi - 0x6423f959]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x4c], r13d
mov r13, qword [rsp + 0x118]
lea r9d, [r13 - 0x7f214e02]
mov dword [rsp + 0x50], r12d
mov r12, qword [rsp + 0xe8]
lea eax, [r12 + 0x72be5d74]
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x4c], r15d
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], r8d
mov r14d, r8d
mov dword [rsp + 0x58], edx
mov r15d, edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov rbp, rcx
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rbx, r8
mov r9d, dword [rsp + 0x98]
call fcn.180040fd0
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], r12d
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x74]
mov rdx, rbp
mov rsi, rbp
mov r8, qword [rsp + 0xd8]
lea r9, [rsp + 0x44]
mov r12, r9
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xf8], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xf0], rcx
mov ebx, dword [rsp + 0x7c]
mov r13d, dword [rsp + 0x80]
mov dword [rsp + 0x44], r14d
add eax, 0x240ca1cc
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x48], r15d
lea eax, [rcx + 0xfc19dc6]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x4c], eax
lea r9d, [rbx - 0x1041b87a]
mov qword [rsp + 0xc8], rbx
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
lea eax, [r13 - 0x1b64963f]
mov qword [rsp + 0xb8], r13
mov r14d, dword [rsp + 0x64]
mov dword [rsp + 0x54], r14d
mov r15d, dword [rsp + 0x6c]
mov dword [rsp + 0x58], r15d
mov ebp, dword [rsp + 0x68]
mov dword [rsp + 0x5c], ebp
mov edi, dword [rsp + 0x70]
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov rdx, r12
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x98], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], r12d
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rbp, r8
mov r9d, dword [rsp + 0x84]
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0xf8]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0xf0]
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xb0]
lea r9, [rsp + 0x44]
mov rbx, r9
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x110], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xa0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0x90], rdx
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x44], esi
add eax, 0x76f988da
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x48], r12d
lea eax, [rcx + 0x5cb0a9dc]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx + 0x4a7484aa]
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x50], eax
lea eax, [r8 + 0x2de92c6f]
mov rsi, r8
mov qword [rsp + 0xd8], r8
mov dword [rsp + 0x54], edi
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x58], r13d
mov ebp, dword [rsp + 0x70]
mov dword [rsp + 0x5c], ebp
mov r12d, dword [rsp + 0x84]
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov rdx, rbx
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov ebx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x6c], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x64], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rdi, r8
mov r9d, dword [rsp + 0xd0]
call fcn.180040fd0
mov ebp, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x110]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0xa0]
mov dword [rsp + 0x58], r15d
mov r13, qword [rsp + 0x90]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xe8]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x100], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xd0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0x88], rdx
mov edi, dword [rsp + 0x80]
mov dword [rsp + 0x44], ebx
add eax, 0xbf597fc7
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x48], eax
lea eax, [rcx - 0x4ffcd838]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx - 0x57ce3993]
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x50], eax
lea eax, [rdi - 0x67c1aeae]
mov qword [rsp + 0xb0], rdi
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x58], r12d
mov ebx, dword [rsp + 0x68]
mov dword [rsp + 0x5c], ebx
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov dword [rsp + 0x6c], r8d
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x64], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0xa8], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rbp, r8
mov r9d, dword [rsp + 0x84]
call fcn.180040fd0
mov ebx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r13d
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x100]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0xd0]
mov dword [rsp + 0x58], r15d
mov r13, qword [rsp + 0x88]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xb8]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x120], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x118], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0x98], rdx
mov edi, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x6c]
mov dword [rsp + 0x44], r9d
add eax, 0x14292967
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], eax
lea eax, [rcx + 0x6ca6351]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx - 0x2a586eb9]
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x50], eax
lea eax, [rdi - 0x391ff40d]
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], r12d
mov ebp, dword [rsp + 0x70]
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov dword [rsp + 0x68], r8d
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x6c], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x64], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rsi, r8
mov r9d, dword [rsp + 0xc0]
call fcn.180040fd0
mov ebp, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r13d
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x120]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0x118]
mov dword [rsp + 0x58], r15d
mov r13, qword [rsp + 0x98]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xd8]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xc0], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xb8], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xc8], rdx
mov edi, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x68]
mov dword [rsp + 0x44], r9d
add eax, 0x53380d13
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x48], eax
lea eax, [rcx + 0x4d2c6dfc]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx + 0x2e1b2138]
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x50], eax
lea eax, [rdi + 0x27b70a85]
mov qword [rsp + 0xe0], rdi
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], r12d
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x6c], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x64], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], r8d
mov ebx, r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov rbp, r8
mov r9d, dword [rsp + 0xf8]
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r13d
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0xc0]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0xb8]
mov dword [rsp + 0x58], r15d
mov r13, qword [rsp + 0xc8]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xb0]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xd8], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x110], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xf8], rdx
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x44], ebx
add eax, 0x92722c85
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x48], eax
lea eax, [rcx - 0x7e3d36d2]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx + 0x766a0abb]
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x50], eax
lea eax, [r8 + 0x650a7354]
mov rbx, r8
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], r12d
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x5c], edi
mov ebp, dword [rsp + 0x70]
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov dword [rsp + 0x6c], r8d
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x64], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x90], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], edi
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0xa0]
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r13d
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0xd8]
mov dword [rsp + 0x54], r14d
mov r15, qword [rsp + 0x110]
mov dword [rsp + 0x58], r15d
mov rdi, qword [rsp + 0xf8]
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x60], ebx
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xe8]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x100], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xa0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xd0], rdx
mov ebx, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x6c]
mov dword [rsp + 0x44], r9d
add eax, 0xc76c51a3
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], eax
lea eax, [rcx - 0x3db47490]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx - 0x57e599b5]
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x50], eax
lea eax, [rbx - 0x5d40175f]
mov qword [rsp + 0xb0], rbx
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], r12d
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x64], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x54], r8d
mov r12d, r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0x6c]
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], edi
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x100]
mov dword [rsp + 0x54], r14d
mov rbp, qword [rsp + 0xa0]
mov dword [rsp + 0x58], ebp
mov r15, qword [rsp + 0xd0]
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x60], ebx
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xe0]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x120], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x118], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xf0], rdx
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x44], r12d
add eax, 0x106aa070
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], eax
lea eax, [rcx - 0xbf1ca7b]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx - 0x2966f9dc]
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
lea eax, [r8 - 0x2e6d17e7]
mov r12, r8
mov qword [rsp + 0xe8], r8
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], r13d
mov ebx, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], ebx
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x98], edx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], r8d
mov esi, r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0x70]
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r15d
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x120]
mov dword [rsp + 0x54], r14d
mov r13, qword [rsp + 0x118]
mov dword [rsp + 0x58], r13d
mov rbx, qword [rsp + 0xf0]
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x60], r12d
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xa8]
lea r9, [rsp + 0x44]
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xc0], rax
mov edx, dword [rsp + 0x78]
mov qword [rsp + 0xb8], rdx
mov r8d, dword [rsp + 0x7c]
mov qword [rsp + 0xc8], r8
mov r12d, dword [rsp + 0x80]
mov dword [rsp + 0x44], esi
add eax, 0x34b0bcb5
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x48], eax
lea eax, [rdx + 0x2748774c]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x4c], eax
lea r9d, [r8 + 0x1e376c08]
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
lea eax, [r12 + 0x19a4c116]
mov qword [rsp + 0xe0], r12
mov dword [rsp + 0x54], edi
mov ebp, dword [rsp + 0x64]
mov dword [rsp + 0x58], ebp
mov r15d, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], r15d
mov esi, dword [rsp + 0x68]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r15d
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], r8d
mov r15d, r8d
mov dword [rsp + 0x58], edx
mov esi, edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0x70]
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebx
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x60], r12d
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xb0]
lea r9, [rsp + 0x44]
mov r13, r9
call fcn.1800410c8
mov r12d, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xa8], rcx
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x44], r15d
lea r9d, [r12 + 0x682e6ff3]
mov dword [rsp + 0x6c], r9d
mov qword [rsp + 0xd8], r12
mov dword [rsp + 0x48], esi
lea eax, [rcx + 0x5b9cca4f]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx + 0x4ed8aa4a]
mov r15, rdx
mov qword [rsp + 0x110], rdx
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
lea eax, [r8 + 0x391c0cb3]
mov rsi, r8
mov qword [rsp + 0xf8], r8
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x58], ebp
mov r14d, dword [rsp + 0x98]
mov dword [rsp + 0x5c], r14d
mov ebx, dword [rsp + 0x64]
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov rdx, r13
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov r13d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], r13d
mov dword [rsp + 0x58], edx
mov ebx, edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, dword [rsp + 0x6c]
call fcn.180040fd0
mov edi, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], r12d
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x60], esi
lea r15, [rsp + 0x54]
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x34]
mov r8, qword [rsp + 0xe8]
lea r9, [rsp + 0x44]
mov rsi, r9
call fcn.1800410c8
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x100], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xc0], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xb8], r8
mov dword [rsp + 0x44], r13d
add eax, 0x8cc70208
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x48], ebx
lea ebx, [rcx - 0x7b3787ec]
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x4c], eax
lea r9d, [rdx + 0x78a5636f]
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
lea eax, [r8 + 0x748f82ee]
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], r14d
mov r12d, dword [rsp + 0x98]
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov rdx, rsi
mov r8, r15
call fcn.180040fd0
mov esi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x60], eax
mov edi, eax
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x34]
mov r14, rcx
lea rdx, [rsp + 0x44]
mov r12, rdx
lea r8, [rsp + 0x54]
mov rbx, r8
mov r9d, dword [rsp + 0xa0]
call fcn.180040fd0
mov ebp, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x74]
mov rdx, r14
mov r8, qword [rsp + 0xe0]
mov r9, r12
mov rbx, r12
call fcn.1800410c8
mov dword [rsp + 0x44], esi
mov esi, dword [rsp + 0x74]
mov eax, 0xc67178f2
add esi, eax
mov dword [rsp + 0x48], r13d
mov r12d, dword [rsp + 0x78]
mov eax, 0xbef9a3f7
add r12d, eax
mov dword [rsp + 0x4c], r15d
mov r9d, dword [rsp + 0x7c]
mov eax, 0xa4506ceb
add r9d, eax
mov dword [rsp + 0x50], edi
mov eax, dword [rsp + 0x80]
mov ecx, 0x90befffa
add eax, ecx
mov r14d, ebp
mov dword [rsp + 0x54], ebp
mov r15d, dword [rsp + 0xa0]
mov dword [rsp + 0x58], r15d
mov edi, dword [rsp + 0xd0]
mov dword [rsp + 0x5c], edi
mov ebp, dword [rsp + 0xc8]
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x34]
mov rdx, rbx
lea r8, [rsp + 0x54]
call fcn.180040fd0
mov ebx, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x48], r15d
mov r14d, dword [rsp + 0x140]
mov dword [rsp + 0x4c], edi
mov r15d, dword [rsp + 0x128]
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], ecx
mov ebp, ecx
mov dword [rsp + 0x60], eax
mov edi, eax
mov dword [rsp + 0x20], r12d
lea rcx, [rsp + 0x34]
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x54]
mov r9d, esi
call fcn.180040fd0
mov r11d, dword [rsp + 0x144]
mov r10d, dword [rsp + 0x130]
mov r9d, dword [rsp + 0x134]
mov r8d, dword [rsp + 0x148]
mov edx, dword [rsp + 0x14c]
add r15d, dword [rsp + 0x34]
add r14d, dword [rsp + 0x38]
add r10d, dword [rsp + 0x3c]
add r9d, dword [rsp + 0x40]
add dword [rsp + 0x12c], ebx
mov ebx, dword [rsp + 0x12c]
add r11d, r13d
add r8d, ebp
add edx, edi
mov rsi, qword [rsp + 0x1a0]
jmp 0x18003f3be
mov rax, qword [rsp + 0x138]
mov dword [rax], r15d
mov dword [rax + 4], r14d
mov dword [rax + 8], ebx
mov dword [rax + 0xc], r11d
mov dword [rax + 0x10], r10d
mov dword [rax + 0x14], r9d
mov dword [rax + 0x18], r8d
mov dword [rax + 0x1c], edx
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x54]
mov rcx, rdi
call fcn.18002fc8d
lea rcx, [rsp + 0x150]
call fcn.18002fcaf
mov ebp, dword [rdi + 8]
mov eax, ebp
not eax
test eax, 0xc000000
jne 0x180040f63
call fcn.18002fcd1
mov rdi, rax
and edi, 2
shr edi, 1
mov r12d, dword [rsp + 0x154]
call fcn.18002fcd1
mov r14, rax
and r14d, 2
shr r14d, 1
mov r15d, dword [rsp + 0x60]
call fcn.18002fcd1
mov rbx, rax
and ebx, 2
shr ebx, 1
call fcn.18002fcd1
and eax, 2
shr eax, 1
jmp 0x180040f79
mov r12d, dword [rsp + 0x154]
mov r15d, dword [rsp + 0x60]
xor ebx, ebx
xor edi, edi
xor r14d, r14d
xor eax, eax
shr r12d, 0x1d
and r12b, dil
shr r15d, 0x1a
and r15b, r14b
and r15b, r12b
mov ecx, ebp
shr ecx, 9
and cl, bl
shr ebp, 0x13
and bpl, al
and bpl, cl
and bpl, r15b
mov byte [0x180051058], bpl
je 0x18003f367
mov rcx, qword [rsp + 0x138]
mov rdx, rsi
mov r8, r13
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1800411cf
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3f8
movdqa xmmword [rsp + 0x3e0], xmm15
movdqa xmmword [rsp + 0x3d0], xmm14
movdqa xmmword [rsp + 0x3c0], xmm13
movaps xmmword [rsp + 0x3b0], xmm12
movaps xmmword [rsp + 0x3a0], xmm11
movaps xmmword [rsp + 0x390], xmm10
movdqa xmmword [rsp + 0x380], xmm9
movaps xmmword [rsp + 0x370], xmm8
movdqa xmmword [rsp + 0x360], xmm7
movdqa xmmword [rsp + 0x350], xmm6
mov rdi, r8
movdqu xmm0, xmmword [rcx]
mov qword [rsp + 0x48], rcx
movdqu xmm1, xmmword [rcx + 0x10]
pshufd xmm0, xmm0, 0xb1
pshufd xmm11, xmm1, 0x1b
movdqa xmm12, xmm0
palignr xmm12, xmm11, 8
pblendw xmm11, xmm0, 0xf0
shl rdi, 6
movdqa xmm8, xmmword [0x180043130]
lea rbx, [rsp + 0x30]
lea r15, [rsp + 0x2e0]
lea r12, [rsp + 0x2f0]
lea r13, [rsp + 0x310]
lea rbp, [rsp + 0x320]
lea rsi, [rsp + 0x330]
movdqa xmm10, xmmword [0x180043230]
test rdi, rdi
je 0x1800418bd
lea r14, [rdx + 0x40]
movdqu xmm0, xmmword [rdx]
movdqu xmm15, xmmword [rdx + 0x10]
movdqu xmm14, xmmword [rdx + 0x20]
movdqu xmm13, xmmword [rdx + 0x30]
pshufb xmm0, xmm8
pshufb xmm15, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
movdqa xmmword [rsp + 0x50], xmm0
paddd xmm0, xmmword [0x180043140]
movdqa xmm6, xmm11
sha256rnds2 xmm6, xmm12, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm12
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x180043150]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x180043160]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x180043170]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x60], xmm15
movdqa xmmword [rsp + 0x70], xmm14
movdqa xmmword [rsp + 0x80], xmm13
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x70]
call fcn.180041953
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x180043180]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x90], xmm15
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0xb0], xmm13
movdqa xmmword [rsp + 0xc0], xmm9
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0xb0]
call fcn.180041953
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x180043190]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0xd0], xmm14
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xf0], xmm9
movdqa xmmword [rsp + 0x100], xmm15
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0xe0]
lea r9, [rsp + 0xf0]
call fcn.180041953
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x1800431a0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x110], xmm13
movdqa xmmword [rsp + 0x120], xmm9
movdqa xmmword [rsp + 0x130], xmm15
movdqa xmmword [rsp + 0x140], xmm14
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x110]
lea r8, [rsp + 0x120]
lea r9, [rsp + 0x130]
call fcn.180041953
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x1800431b0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x150], xmm9
movdqa xmmword [rsp + 0x160], xmm15
movdqa xmmword [rsp + 0x170], xmm14
movdqa xmmword [rsp + 0x180], xmm13
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x160]
lea r9, [rsp + 0x170]
call fcn.180041953
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x1800431c0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x190], xmm15
movdqa xmmword [rsp + 0x1a0], xmm14
movdqa xmmword [rsp + 0x1b0], xmm13
movdqa xmmword [rsp + 0x1c0], xmm9
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x1a0]
lea r9, [rsp + 0x1b0]
call fcn.180041953
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x1800431d0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x1d0], xmm14
movdqa xmmword [rsp + 0x1e0], xmm13
movdqa xmmword [rsp + 0x1f0], xmm9
movdqa xmmword [rsp + 0x200], xmm15
lea rax, [rsp + 0x200]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x1d0]
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x1f0]
call fcn.180041953
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x1800431e0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x210], xmm13
movdqa xmmword [rsp + 0x220], xmm9
movdqa xmmword [rsp + 0x230], xmm15
movdqa xmmword [rsp + 0x240], xmm14
lea rax, [rsp + 0x240]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x220]
lea r9, [rsp + 0x230]
call fcn.180041953
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x1800431f0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x250], xmm9
movdqa xmmword [rsp + 0x260], xmm15
movdqa xmmword [rsp + 0x270], xmm14
movdqa xmmword [rsp + 0x280], xmm13
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x250]
lea r8, [rsp + 0x260]
lea r9, [rsp + 0x270]
call fcn.180041953
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x180043200]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x290], xmm15
movdqa xmmword [rsp + 0x2a0], xmm14
movdqa xmmword [rsp + 0x2b0], xmm13
movdqa xmmword [rsp + 0x2c0], xmm9
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x290]
lea r8, [rsp + 0x2a0]
lea r9, [rsp + 0x2b0]
call fcn.180041953
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x180043210]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x2d0], xmm14
movdqa xmmword [rsp + 0x2e0], xmm13
movdqa xmmword [rsp + 0x2f0], xmm9
movdqa xmmword [rsp + 0x300], xmm15
lea rax, [rsp + 0x300]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x2d0]
mov r8, r15
mov r9, r12
call fcn.180041953
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x340], xmm0
paddd xmm0, xmmword [0x180043220]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x310], xmm13
movdqa xmmword [rsp + 0x320], xmm9
movdqa xmmword [rsp + 0x330], xmm15
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r13
mov r8, rbp
mov r9, rsi
call fcn.180041953
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm10
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
paddd xmm12, xmm7
paddd xmm11, xmm6
add rdi, 0xffffffffffffffc0
mov rdx, r14
jmp 0x1800412b2
pshufd xmm0, xmm12, 0x1b
pshufd xmm1, xmm11, 0xb1
movdqa xmm2, xmm0
pblendw xmm2, xmm1, 0xf0
palignr xmm1, xmm0, 8
mov rax, qword [rsp + 0x48]
movdqu xmmword [rax], xmm2
movdqu xmmword [rax + 0x10], xmm1
movaps xmm6, xmmword [rsp + 0x350]
movaps xmm7, xmmword [rsp + 0x360]
movaps xmm8, xmmword [rsp + 0x370]
movaps xmm9, xmmword [rsp + 0x380]
movaps xmm10, xmmword [rsp + 0x390]
movaps xmm11, xmmword [rsp + 0x3a0]
movaps xmm12, xmmword [rsp + 0x3b0]
movaps xmm13, xmmword [rsp + 0x3c0]
movaps xmm14, xmmword [rsp + 0x3d0]
movaps xmm15, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret