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

Disassembly:
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
movdqa 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 [0x004db580]
lea rbx, [rsp + 0x30]
lea r15, [rsp + 0x2e0]
lea r12, [rsp + 0x2f0]
lea r13, [rsp + 0x310]
lea rbp, [rsp + 0x320]
lea rsi, [rsp + 0x330]
test rdi, rdi
je 0x49a7cd
lea r14, [rdx + 0x40]
movdqu xmm0, xmmword [rdx]
movdqu xmm9, xmmword [rdx + 0x10]
movdqu xmm14, xmmword [rdx + 0x20]
movdqu xmm13, xmmword [rdx + 0x30]
pshufb xmm0, xmm8
pshufb xmm9, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
movdqa xmmword [rsp + 0x50], xmm0
paddd xmm0, xmmword [0x004db590]
movdqa xmm6, xmm11
sha256rnds2 xmm6, xmm12, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm12
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x004db5a0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x004db5b0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x004db5c0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x60], xmm9
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.0049a863
movdqa xmm10, xmmword [rsp + 0x30]
movdqa xmm0, xmm10
paddd xmm0, xmmword [0x004db5d0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0xb0], xmm13
movdqa xmmword [rsp + 0xc0], xmm10
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.0049a863
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x004db5e0]
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], xmm10
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.0049a863
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x004db5f0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x110], xmm13
movdqa xmmword [rsp + 0x120], xmm10
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.0049a863
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x004db600]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x150], xmm10
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.0049a863
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x004db610]
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.0049a863
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x004db620]
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.0049a863
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x004db630]
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.0049a863
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x004db640]
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.0049a863
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x004db650]
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.0049a863
movdqa xmm10, xmmword [rsp + 0x30]
movdqa xmm0, xmm10
paddd xmm0, xmmword [0x004db660]
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], xmm10
lea rax, [rsp + 0x300]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x2d0]
mov r8, r15
mov r9, r12
call fcn.0049a863
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x340], xmm0
paddd xmm0, xmmword [0x004db670]
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], xmm10
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r13
mov r8, rbp
mov r9, rsi
call fcn.0049a863
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmmword [0x004db680]
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 0x49a1bf
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
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
movaps xmmword [rsp + 0x1a0], xmm8
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x180], xmm6
mov r13, r8
mov rsi, rdx
mov qword [rsp + 0x128], rcx
mov al, byte [0x004da0a8]
cmp al, 1
je 0x49aa35
movzx eax, al
cmp eax, 0xff
jne 0x49aa74
lea rdi, [rsp + 0x50]
mov rcx, rdi
call fcn.0049a093
lea rbx, [rsp + 0x130]
mov rcx, rbx
call fcn.0049a0b5
mov ebp, dword [rdi + 8]
mov r15d, dword [rdi + 0xc]
mov r12d, dword [rbx + 4]
mov eax, ebp
not eax
test eax, 0xc000000
jne 0x49a9ff
call fcn.0049a0d7
mov rdi, rax
and edi, 2
shr edi, 1
call fcn.0049a0d7
mov r14, rax
and r14d, 2
shr r14d, 1
call fcn.0049a0d7
mov rbx, rax
and ebx, 2
shr ebx, 1
call fcn.0049a0d7
and eax, 2
shr eax, 1
jmp 0x49aa08
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 [0x004da0a8], bpl
je 0x49aa74
mov rcx, qword [rsp + 0x128]
mov rdx, rsi
mov r8, r13
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
movaps xmm8, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x49a0e4
xorps xmm0, xmm0
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x128]
movdqu xmm6, xmmword [rax]
movdqu xmm7, xmmword [rax + 0x10]
shl r13, 6
add r13, rsi
mov qword [rsp + 0x170], r13
cmp rsi, qword [rsp + 0x170]
je 0x49c4f9
lea rax, [rsi + 0x40]
mov qword [rsp + 0x178], rax
xor eax, eax
cmp rax, 0x10
je 0x49aaea
mov ecx, dword [rsi + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0x130], ecx
inc rax
jmp 0x49aad3
mov edx, dword [rsp + 0x13c]
mov qword [rsp + 0x108], rdx
mov r8d, dword [rsp + 0x138]
mov qword [rsp + 0xb0], r8
mov ecx, dword [rsp + 0x130]
mov qword [rsp + 0xb8], rcx
mov r9d, dword [rsp + 0x134]
mov qword [rsp + 0xd0], r9
mov eax, dword [rsp + 0x14c]
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x148]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x144]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0x140]
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x15c]
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x158]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x154]
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x150]
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x16c]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x168]
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0x164]
mov qword [rsp + 0xd8], rax
movdqa xmm0, xmm6
punpckhqdq xmm0, xmm7
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm8, xmm6
punpcklqdq xmm8, xmm7
movdqa xmmword [rsp + 0x50], xmm8
mov eax, dword [rsp + 0x160]
mov qword [rsp + 0x110], rax
lea ebx, [rdx - 0x164a245b]
lea edi, [r8 - 0x4a3f0431]
add r9d, 0x71374491
lea eax, [rcx + 0x428a2f98]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rbp, [rsp + 0x30]
mov rdx, rbp
lea r14, [rsp + 0x50]
mov r8, r14
call fcn.00499e30
mov r15d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x48]
mov esi, dword [rsp + 0x4c]
movdqa xmmword [rsp + 0x30], xmm8
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], esi
mov dword [rsp + 0x20], edi
lea rcx, [rsp + 0x40]
mov rdx, rbp
mov r8, r14
mov r9d, ebx
call fcn.00499e30
mov edi, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x4c]
mov dword [rsp + 0x30], r15d
mov rax, qword [rsp + 0x100]
add eax, 0xab1c5ed5
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x34], r12d
mov rax, qword [rsp + 0xf8]
lea eax, [rax - 0x6dc07d5c]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x38], r13d
mov rax, qword [rsp + 0xe0]
lea r9d, [rax + 0x59f111f1]
mov dword [rsp + 0x3c], esi
mov rax, qword [rsp + 0xe8]
add eax, 0x3956c25b
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov r15d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x48]
mov esi, dword [rsp + 0x4c]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], esi
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, dword [rsp + 0x88]
call fcn.00499e30
mov ebx, dword [rsp + 0x40]
mov ebp, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x4c]
mov dword [rsp + 0x30], r15d
mov rax, qword [rsp + 0xc0]
add eax, 0x550c7dc3
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x34], r12d
mov rax, qword [rsp + 0xa0]
lea eax, [rax + 0x243185be]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x38], r13d
mov rax, qword [rsp + 0x98]
lea r9d, [rax + 0x12835b01]
mov dword [rsp + 0x3c], esi
mov rax, qword [rsp + 0xa8]
add eax, 0xd807aa98
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov esi, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x4c]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], edi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], r15d
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, dword [rsp + 0x88]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov edi, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x4c]
mov dword [rsp + 0x30], esi
mov rsi, qword [rsp + 0x120]
lea eax, [rsi - 0x3e640e8c]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x34], r12d
mov r12, qword [rsp + 0x118]
lea eax, [r12 - 0x6423f959]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x38], r13d
mov r13, qword [rsp + 0xd8]
lea r9d, [r13 - 0x7f214e02]
mov dword [rsp + 0x3c], r15d
mov r15, qword [rsp + 0x110]
lea eax, [r15 + 0x72be5d74]
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x88], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0xc8], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x50], eax
mov ebx, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
lea rdi, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, dword [rsp + 0x64]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x108]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov r14, r13
mov dword [rsp + 0x5c], r15d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x74]
mov rdx, rdi
mov r8, qword [rsp + 0xe8]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xd0], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xb0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0x108], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xb8], r8
mov dword [rsp + 0x30], ebx
add eax, 0x240ca1cc
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x34], eax
lea esi, [rcx + 0xfc19dc6]
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x38], eax
lea r9d, [rdx - 0x1041b87a]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x3c], eax
lea eax, [r8 - 0x1b64963f]
mov dword [rsp + 0x50], ebp
mov r13d, dword [rsp + 0x64]
mov dword [rsp + 0x54], r13d
mov r12d, dword [rsp + 0x70]
mov dword [rsp + 0x58], r12d
mov ebx, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x88], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0xc8], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r13d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov dword [rsp + 0x20], esi
mov rcx, rdi
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0x68]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x68], eax
mov r13d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0xd0]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0xb0]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0x108]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xb8]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xa8]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x100], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xf8], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xe0], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xe8], r8
mov dword [rsp + 0x30], r12d
add eax, 0x76f988da
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x34], eax
lea eax, [rcx + 0x5cb0a9dc]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x38], eax
lea r9d, [rdx + 0x4a7484aa]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x3c], eax
lea eax, [r8 + 0x2de92c6f]
mov dword [rsp + 0x50], ebp
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov esi, r13d
mov r13d, dword [rsp + 0x84]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x64], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x70], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r13d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0xf4]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0x100]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0xf8]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0xe0]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xe8]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0x110]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x88], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x90], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xc8], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0x30], r13d
add eax, 0xbf597fc7
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x34], eax
lea eax, [rcx - 0x4ffcd838]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x38], eax
lea r9d, [rdx - 0x57ce3993]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x3c], eax
lea eax, [r8 - 0x67c1aeae]
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], r12d
mov esi, r12d
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x58], r12d
mov r13d, dword [rsp + 0x84]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xa0], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x98], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0xc0]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x6c], eax
mov r13d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0x88]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0x90]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0xc8]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xa8]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xb8]
lea r9, [rsp + 0x30]
call fcn.00499f28
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 + 0x110], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xc0], r8
mov dword [rsp + 0x30], r12d
add eax, 0x14292967
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x34], eax
lea eax, [rcx + 0x6ca6351]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x38], eax
lea r9d, [rdx - 0x2a586eb9]
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x3c], eax
lea eax, [r8 - 0x391ff40d]
mov dword [rsp + 0x50], ebp
mov r12d, dword [rsp + 0x6c]
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov esi, r13d
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x98], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x64], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0xd8]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x6c], eax
mov r13d, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0x120]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0x118]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0x110]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xc0]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xe8]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xb8], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xd8], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xd0], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xa0], r8
mov dword [rsp + 0x30], r12d
add eax, 0x53380d13
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x34], eax
lea eax, [rcx + 0x4d2c6dfc]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x38], eax
lea r9d, [rdx + 0x2e1b2138]
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x3c], eax
lea eax, [r8 + 0x27b70a85]
mov r12d, dword [rsp + 0x6c]
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], r13d
mov esi, r13d
mov dword [rsp + 0x58], ebp
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xb0], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x108], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0x84]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov r13d, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0xb8]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0xd8]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0xd0]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xa0]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xa8]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xe8], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x100], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xf8], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0x98], r8
mov dword [rsp + 0x30], r12d
add eax, 0x92722c85
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x34], eax
lea eax, [rcx - 0x7e3d36d2]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x108]
mov dword [rsp + 0x38], eax
lea r9d, [rdx + 0x766a0abb]
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x3c], eax
lea eax, [r8 + 0x650a7354]
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], r13d
mov esi, r13d
mov dword [rsp + 0x58], ebp
mov r13d, dword [rsp + 0x84]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x64], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x70], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0xe0]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x68], eax
mov r13d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0xe8]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0x100]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0xf8]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0x98]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xc0]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xe0], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xb0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0x108], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0x30], r12d
add eax, 0xc76c51a3
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x34], eax
lea eax, [rcx - 0x3db47490]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x38], eax
lea r9d, [rdx - 0x57e599b5]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x3c], eax
lea eax, [r8 - 0x5d40175f]
mov dword [rsp + 0x50], ebp
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov esi, r13d
mov r13d, dword [rsp + 0x84]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x88], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0xc8], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0xf4]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x64], eax
mov r13d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0xe0]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0xb0]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0x108]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xa8]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xa0]
lea r9, [rsp + 0x30]
call fcn.00499f28
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 + 0x110], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xc0], r8
mov dword [rsp + 0x30], r12d
add eax, 0x106aa070
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x34], eax
lea eax, [rcx - 0xbf1ca7b]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x38], eax
lea r9d, [rdx - 0x2966f9dc]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x3c], eax
lea eax, [r8 - 0x2e6d17e7]
mov dword [rsp + 0x50], ebp
mov r12d, dword [rsp + 0x64]
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov esi, r13d
mov r13d, dword [rsp + 0x70]
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov ebp, eax
mov dword [rsp + 0x54], ecx
mov r13d, ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r12, r8
mov r9d, dword [rsp + 0x6c]
call fcn.00499e30
mov esi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rdi, qword [rsp + 0x120]
mov dword [rsp + 0x50], edi
mov rbx, qword [rsp + 0x118]
mov dword [rsp + 0x54], ebx
mov r14, qword [rsp + 0x110]
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0xc0]
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0x98]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xd8], rax
mov edx, dword [rsp + 0x78]
mov qword [rsp + 0xd0], rdx
mov r8d, dword [rsp + 0x7c]
mov qword [rsp + 0xb8], r8
mov ecx, dword [rsp + 0x80]
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x30], ebp
add eax, 0x34b0bcb5
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x34], r13d
lea eax, [rdx + 0x2748774c]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x38], eax
lea r9d, [r8 + 0x1e376c08]
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x3c], eax
lea eax, [rcx + 0x19a4c116]
mov dword [rsp + 0x50], esi
mov r12d, dword [rsp + 0x64]
mov dword [rsp + 0x54], r12d
mov r13d, dword [rsp + 0x70]
mov dword [rsp + 0x58], r13d
mov ebp, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xc8], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rsi, r8
mov r9d, dword [rsp + 0x68]
call fcn.00499e30
mov r13d, dword [rsp + 0x40]
mov ebp, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r15d
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x58], eax
mov rdi, qword [rsp + 0xa0]
mov dword [rsp + 0x5c], edi
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xa8]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x98], rax
mov r14d, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x30], r12d
add eax, 0x682e6ff3
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x34], eax
lea eax, [r14 + 0x5b9cca4f]
mov dword [rsp + 0x84], eax
mov qword [rsp + 0xe8], r14
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x38], eax
lea r9d, [r15 + 0x4ed8aa4a]
mov qword [rsp + 0x100], r15
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x3c], eax
lea eax, [r8 + 0x391c0cb3]
mov r12, r8
mov qword [rsp + 0xf8], r8
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x54], ebp
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x58], esi
mov ebx, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x90], ecx
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0xc8], edx
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r8d
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, dword [rsp + 0x68]
call fcn.00499e30
mov esi, dword [rsp + 0x40]
mov ebp, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
mov r13d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], edi
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x5c], r12d
lea r12, [rsp + 0x50]
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r15, rdx
mov r8, qword [rsp + 0xc0]
lea r9, [rsp + 0x30]
mov r14, r9
call fcn.00499f28
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0xb8], rax
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0xe0], rcx
mov edx, dword [rsp + 0x7c]
mov qword [rsp + 0xd8], rdx
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xd0], r8
mov r9d, dword [rsp + 0x88]
mov dword [rsp + 0x30], r9d
lea eax, [rax - 0x7338fdf8]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x34], eax
lea edi, [rcx - 0x7b3787ec]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x38], eax
lea r9d, [rdx + 0x78a5636f]
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x3c], eax
lea eax, [r8 + 0x748f82ee]
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.00499e30
mov eax, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0xa8], ecx
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov ebx, eax
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x20], edi
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov r8, r12
mov rsi, r12
mov r9d, dword [rsp + 0xb0]
call fcn.00499e30
mov ebp, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x74]
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0xa0]
lea r9, [rsp + 0x30]
call fcn.00499f28
mov dword [rsp + 0x30], ebx
mov esi, dword [rsp + 0x74]
mov eax, 0xc67178f2
add esi, eax
mov dword [rsp + 0x34], r14d
mov ebx, dword [rsp + 0x78]
mov eax, 0xbef9a3f7
add ebx, eax
mov dword [rsp + 0x38], r15d
mov r9d, dword [rsp + 0x7c]
mov eax, 0xa4506ceb
add r9d, eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x80]
mov ecx, 0x90befffa
add eax, ecx
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
call fcn.00499e30
movaps xmm8, xmmword [rsp + 0x40]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], edi
movaps xmmword [rsp + 0x50], xmm8
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, esi
call fcn.00499e30
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmm8
movlps xmm1, qword [rsp + 0x48]
movlhps xmm0, xmm8
paddd xmm6, xmm0
paddd xmm7, xmm1
mov rsi, qword [rsp + 0x178]
jmp 0x49aab7
mov rax, qword [rsp + 0x128]
movdqu xmmword [rax], xmm6
movdqu xmmword [rax + 0x10], xmm7
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
movaps xmm8, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret