Function at 0x140001200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 8]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x1400588b0]
test eax, eax
je 0x14000129f
mov rax, qword [rsp + 0xa8]
and rax, 3
test rax, rax
jne 0x140001278
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
jmp 0x14000129a
mov r8d, 0x40
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x30]
call fcn.140043120
lea r11, [rsp + 0x30]
mov qword [rsp + 0x70], r11
jmp 0x140001341
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x84], 0
jmp 0x1400012eb
mov eax, dword [rsp + 0x84]
add eax, 1
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x84], 0x10
jge 0x140001341
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
shl eax, 8
add ecx, eax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 2]
shl eax, 0x10
add ecx, eax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 3]
shl eax, 0x18
add ecx, eax
movsxd rax, dword [rsp + 0x84]
mov dword [rsp + rax*4 + 0x30], ecx
jmp 0x1400012c6
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
and eax, ecx
mov ecx, dword [rsp + 0x24]
not ecx
and ecx, dword [rsp + 0x78]
or eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
mov eax, 0xd76aa478
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 7
mov ecx, dword [rsp + 0x80]
shr ecx, 0x19
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
and eax, ecx
mov ecx, dword [rsp + 0x20]
not ecx
and ecx, dword [rsp + 0x7c]
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 4]
mov eax, 0xe8c7b756
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xc
mov ecx, dword [rsp + 0x80]
shr ecx, 0x14
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
and eax, ecx
mov ecx, dword [rsp + 0x78]
not ecx
and ecx, dword [rsp + 0x24]
or eax, ecx
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 8]
lea eax, [rcx + rax + 0x242070db]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x11
mov ecx, dword [rsp + 0x80]
shr ecx, 0xf
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
and eax, ecx
mov ecx, dword [rsp + 0x7c]
not ecx
and ecx, dword [rsp + 0x20]
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0xc]
mov eax, 0xc1bdceee
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x16
mov ecx, dword [rsp + 0x80]
shr ecx, 0xa
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
and eax, ecx
mov ecx, dword [rsp + 0x24]
not ecx
and ecx, dword [rsp + 0x78]
or eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x10]
mov eax, 0xf57c0faf
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 7
mov ecx, dword [rsp + 0x80]
shr ecx, 0x19
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
and eax, ecx
mov ecx, dword [rsp + 0x20]
not ecx
and ecx, dword [rsp + 0x7c]
or eax, ecx
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x14]
lea eax, [rcx + rax + 0x4787c62a]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xc
mov ecx, dword [rsp + 0x80]
shr ecx, 0x14
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
and eax, ecx
mov ecx, dword [rsp + 0x78]
not ecx
and ecx, dword [rsp + 0x24]
or eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x18]
mov eax, 0xa8304613
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x11
mov ecx, dword [rsp + 0x80]
shr ecx, 0xf
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
and eax, ecx
mov ecx, dword [rsp + 0x7c]
not ecx
and ecx, dword [rsp + 0x20]
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x1c]
mov eax, 0xfd469501
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x16
mov ecx, dword [rsp + 0x80]
shr ecx, 0xa
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
and eax, ecx
mov ecx, dword [rsp + 0x24]
not ecx
and ecx, dword [rsp + 0x78]
or eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x20]
lea eax, [rcx + rax + 0x698098d8]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 7
mov ecx, dword [rsp + 0x80]
shr ecx, 0x19
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
and eax, ecx
mov ecx, dword [rsp + 0x20]
not ecx
and ecx, dword [rsp + 0x7c]
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x24]
mov eax, 0x8b44f7af
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xc
mov ecx, dword [rsp + 0x80]
shr ecx, 0x14
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
and eax, ecx
mov ecx, dword [rsp + 0x78]
not ecx
and ecx, dword [rsp + 0x24]
or eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x28]
mov eax, 0xffff5bb1
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x11
mov ecx, dword [rsp + 0x80]
shr ecx, 0xf
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
and eax, ecx
mov ecx, dword [rsp + 0x7c]
not ecx
and ecx, dword [rsp + 0x20]
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x2c]
mov eax, 0x895cd7be
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x16
mov ecx, dword [rsp + 0x80]
shr ecx, 0xa
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
and eax, ecx
mov ecx, dword [rsp + 0x24]
not ecx
and ecx, dword [rsp + 0x78]
or eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x30]
lea eax, [rcx + rax + 0x6b901122]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 7
mov ecx, dword [rsp + 0x80]
shr ecx, 0x19
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
and eax, ecx
mov ecx, dword [rsp + 0x20]
not ecx
and ecx, dword [rsp + 0x7c]
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x34]
mov eax, 0xfd987193
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xc
mov ecx, dword [rsp + 0x80]
shr ecx, 0x14
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
and eax, ecx
mov ecx, dword [rsp + 0x78]
not ecx
and ecx, dword [rsp + 0x24]
or eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x38]
mov eax, 0xa679438e
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x11
mov ecx, dword [rsp + 0x80]
shr ecx, 0xf
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
and eax, ecx
mov ecx, dword [rsp + 0x7c]
not ecx
and ecx, dword [rsp + 0x20]
or eax, ecx
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x3c]
lea eax, [rcx + rax + 0x49b40821]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x16
mov ecx, dword [rsp + 0x80]
shr ecx, 0xa
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
and edx, eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x7c]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 4]
mov eax, 0xf61e2562
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 5
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1b
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
and edx, eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x24]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x18]
mov eax, 0xc040b340
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 9
mov ecx, dword [rsp + 0x80]
shr ecx, 0x17
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x78]
and edx, eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, edx
or eax, ecx
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2c]
lea eax, [rcx + rax + 0x265e5a51]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xe
mov ecx, dword [rsp + 0x80]
shr ecx, 0x12
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x7c]
and edx, eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x78]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
mov eax, 0xe9b6c7aa
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x14
mov ecx, dword [rsp + 0x80]
shr ecx, 0xc
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
and edx, eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x7c]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x14]
mov eax, 0xd62f105d
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 5
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1b
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
and edx, eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x24]
and ecx, eax
mov eax, edx
or eax, ecx
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x28]
lea eax, [rcx + rax + 0x2441453]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 9
mov ecx, dword [rsp + 0x80]
shr ecx, 0x17
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x78]
and edx, eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x3c]
mov eax, 0xd8a1e681
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xe
mov ecx, dword [rsp + 0x80]
shr ecx, 0x12
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x7c]
and edx, eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x78]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x10]
mov eax, 0xe7d3fbc8
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x14
mov ecx, dword [rsp + 0x80]
shr ecx, 0xc
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
and edx, eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x7c]
and ecx, eax
mov eax, edx
or eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x24]
lea eax, [rcx + rax + 0x21e1cde6]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 5
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1b
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
and edx, eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x24]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x38]
mov eax, 0xc33707d6
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 9
mov ecx, dword [rsp + 0x80]
shr ecx, 0x17
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x78]
and edx, eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0xc]
mov eax, 0xf4d50d87
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xe
mov ecx, dword [rsp + 0x80]
shr ecx, 0x12
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x7c]
and edx, eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x78]
and ecx, eax
mov eax, edx
or eax, ecx
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x20]
lea eax, [rcx + rax + 0x455a14ed]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x14
mov ecx, dword [rsp + 0x80]
shr ecx, 0xc
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
and edx, eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x7c]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x34]
mov eax, 0xa9e3e905
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 5
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1b
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
and edx, eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x24]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 8]
mov eax, 0xfcefa3f8
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 9
mov ecx, dword [rsp + 0x80]
shr ecx, 0x17
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x78]
and edx, eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, edx
or eax, ecx
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x1c]
lea eax, [rcx + rax + 0x676f02d9]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xe
mov ecx, dword [rsp + 0x80]
shr ecx, 0x12
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x7c]
and edx, eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x78]
and ecx, eax
mov eax, edx
or eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x30]
mov eax, 0x8d2a4c8a
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x14
mov ecx, dword [rsp + 0x80]
shr ecx, 0xc
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
xor eax, ecx
xor eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x14]
mov eax, 0xfffa3942
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 4
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1c
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
xor eax, ecx
xor eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x20]
mov eax, 0x8771f681
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xb
mov ecx, dword [rsp + 0x80]
shr ecx, 0x15
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
xor eax, ecx
xor eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2c]
lea eax, [rcx + rax + 0x6d9d6122]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x10
mov ecx, dword [rsp + 0x80]
shr ecx, 0x10
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
xor eax, ecx
xor eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x38]
mov eax, 0xfde5380c
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x17
mov ecx, dword [rsp + 0x80]
shr ecx, 9
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
xor eax, ecx
xor eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 4]
mov eax, 0xa4beea44
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 4
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1c
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
xor eax, ecx
xor eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x10]
lea eax, [rcx + rax + 0x4bdecfa9]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xb
mov ecx, dword [rsp + 0x80]
shr ecx, 0x15
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
xor eax, ecx
xor eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x1c]
mov eax, 0xf6bb4b60
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x10
mov ecx, dword [rsp + 0x80]
shr ecx, 0x10
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
xor eax, ecx
xor eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x28]
mov eax, 0xbebfbc70
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x17
mov ecx, dword [rsp + 0x80]
shr ecx, 9
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
xor eax, ecx
xor eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x34]
lea eax, [rcx + rax + 0x289b7ec6]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 4
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1c
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
xor eax, ecx
xor eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
mov eax, 0xeaa127fa
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xb
mov ecx, dword [rsp + 0x80]
shr ecx, 0x15
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
xor eax, ecx
xor eax, dword [rsp + 0x24]
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0xc]
mov eax, 0xd4ef3085
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x10
mov ecx, dword [rsp + 0x80]
shr ecx, 0x10
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
xor eax, ecx
xor eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x18]
lea eax, [rcx + rax + 0x4881d05]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x17
mov ecx, dword [rsp + 0x80]
shr ecx, 9
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x24]
xor eax, ecx
xor eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x24]
mov eax, 0xd9d4d039
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 4
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1c
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
xor eax, ecx
xor eax, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x30]
mov eax, 0xe6db99e5
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xb
mov ecx, dword [rsp + 0x80]
shr ecx, 0x15
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x78]
xor eax, ecx
xor eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x3c]
lea eax, [rcx + rax + 0x1fa27cf8]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x10
mov ecx, dword [rsp + 0x80]
shr ecx, 0x10
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
xor eax, ecx
xor eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 8]
mov eax, 0xc4ac5665
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x17
mov ecx, dword [rsp + 0x80]
shr ecx, 9
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, dword [rsp + 0x7c]
xor eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
mov eax, 0xf4292244
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 6
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1a
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x20]
or ecx, eax
mov eax, dword [rsp + 0x24]
xor eax, ecx
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x1c]
lea eax, [rcx + rax + 0x432aff97]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xa
mov ecx, dword [rsp + 0x80]
shr ecx, 0x16
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, dword [rsp + 0x20]
xor eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x38]
mov eax, 0xab9423a7
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xf
mov ecx, dword [rsp + 0x80]
shr ecx, 0x11
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x7c]
or ecx, eax
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x14]
mov eax, 0xfc93a039
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x15
mov ecx, dword [rsp + 0x80]
shr ecx, 0xb
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, dword [rsp + 0x7c]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x30]
lea eax, [rcx + rax + 0x655b59c3]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 6
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1a
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x20]
or ecx, eax
mov eax, dword [rsp + 0x24]
xor eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0xc]
mov eax, 0x8f0ccc92
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xa
mov ecx, dword [rsp + 0x80]
shr ecx, 0x16
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, dword [rsp + 0x20]
xor eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x28]
mov eax, 0xffeff47d
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xf
mov ecx, dword [rsp + 0x80]
shr ecx, 0x11
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x7c]
or ecx, eax
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 4]
mov eax, 0x85845dd1
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x15
mov ecx, dword [rsp + 0x80]
shr ecx, 0xb
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, dword [rsp + 0x7c]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x20]
lea eax, [rcx + rax + 0x6fa87e4f]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 6
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1a
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x20]
or ecx, eax
mov eax, dword [rsp + 0x24]
xor eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x3c]
mov eax, 0xfe2ce6e0
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xa
mov ecx, dword [rsp + 0x80]
shr ecx, 0x16
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, dword [rsp + 0x20]
xor eax, ecx
mov edx, dword [rsp + 0x7c]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x18]
mov eax, 0xa3014314
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xf
mov ecx, dword [rsp + 0x80]
shr ecx, 0x11
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x7c]
or ecx, eax
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x34]
lea eax, [rcx + rax + 0x4e0811a1]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x15
mov ecx, dword [rsp + 0x80]
shr ecx, 0xb
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
not eax
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, dword [rsp + 0x7c]
xor eax, ecx
mov edx, dword [rsp + 0x20]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x10]
mov eax, 0xf7537e82
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 6
mov ecx, dword [rsp + 0x80]
shr ecx, 0x1a
or eax, ecx
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x7c]
not eax
mov ecx, dword [rsp + 0x20]
or ecx, eax
mov eax, dword [rsp + 0x24]
xor eax, ecx
mov edx, dword [rsp + 0x78]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x2c]
mov eax, 0xbd3af235
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xa
mov ecx, dword [rsp + 0x80]
shr ecx, 0x16
or eax, ecx
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
not eax
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, dword [rsp + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 0x7c]
add ecx, eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 8]
lea eax, [rcx + rax + 0x2ad7d2bb]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0xf
mov ecx, dword [rsp + 0x80]
shr ecx, 0x11
or eax, ecx
add eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x20]
not eax
mov ecx, dword [rsp + 0x7c]
or ecx, eax
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov edx, dword [rsp + 0x24]
add edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x24]
mov eax, 0xeb86d391
add rax, rdx
lea eax, [rax + rcx]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
shl eax, 0x15
mov ecx, dword [rsp + 0x80]
shr ecx, 0xb
or eax, ecx
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 8]
add ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 0xa0]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0xc]
add ecx, dword [rsp + 0x24]
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x10]
add ecx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x14]
add ecx, dword [rsp + 0x78]
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0x14], ecx
add rsp, 0x98
ret