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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
sub rsp, 0x1b0
mov rax, qword [0x1402b4198]
xor rax, rsp
mov qword [rsp + 0x190], rax
xor esi, esi
mov qword [rsp + 0x68], rcx
cmp byte [0x1402b4ed8], sil
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov r12d, esi
jne 0x1401724fa
cmp byte [0x1402b4b71], sil
jne 0x140173746
mov rax, qword [rdx]
mov qword [rsp + 0x1f8], rbp
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x1a0], r15
movzx r8d, byte [rax]
lea rcx, [rax + 1]
mov qword [rdx], rcx
movzx eax, byte [rcx]
inc rcx
shl eax, 8
or r8d, eax
mov qword [rdx], rcx
movzx eax, byte [rcx]
inc rcx
shl eax, 0x10
or r8d, eax
mov qword [rdx], rcx
movzx eax, byte [rcx]
shl eax, 0x18
or r8d, eax
lea rax, [rcx + 1]
mov r15d, r8d
mov qword [rdx], rax
shr r15d, 4
and r15d, 0xf
lea eax, [r15 - 1]
cmp eax, 3
ja 0x1401736b0
mov rax, qword [rdi + 0x28]
mov ecx, r8d
and ecx, 0xf
shr r8d, 8
mov dword [rax + 0x18], r15d
mov rax, qword [rdi + 0x28]
mov dword [rax + 0xc], ecx
mov rax, qword [rdx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x10], rcx
mov rax, qword [rdx]
inc rax
mov qword [rdx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x10], rax
mov rax, qword [rdx]
inc rax
mov qword [rdx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 0x10
or qword [rcx + 0x10], rax
mov rax, qword [rdx]
inc rax
mov qword [rdx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 0x18
or qword [rcx + 0x10], rax
mov rdx, qword [rdx]
inc rdx
mov qword [rbx], rdx
mov r9, qword [rdi + 0x28]
movsxd rax, dword [r9 + 0xc]
cmp eax, 0xa
ja case.default.0x140172601
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x173768]
add rcx, r10
jmp rcx
mov eax, r8d
mov ecx, r8d
and eax, 1
shr ecx, 1
mov dword [r9 + 0x30], eax
and ecx, 1
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x48], ecx
mov ecx, r8d
mov rax, qword [rdi + 0x28]
shr ecx, 2
and ecx, 1
shr r8d, 3
and r8d, 1
mov dword [rax + 0x4c], ecx
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x50], r8d
mov rax, qword [rbx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x40], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x40], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x38], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x38], rax
inc qword [rbx]
jmp 0x14017372e
mov eax, r8d
and eax, 1
mov dword [r9 + 0x30], eax
cmp r15d, 3
jb 0x1401726de
mov eax, r8d
and al, 0x41
cmp al, 0x40
jne 0x1401726cd
lea rax, str.bad_byte_order_for_datatype_message
mov r9d, 0xad
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a10]
jmp 0x1401736c9
test r8b, 0x40
je 0x1401726de
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x30], 2
mov rax, qword [rdi + 0x28]
mov ecx, r8d
shr ecx, 1
and ecx, 1
mov dword [rax + 0x48], ecx
mov ecx, r8d
mov rax, qword [rdi + 0x28]
shr ecx, 2
and ecx, 1
mov dword [rax + 0x4c], ecx
mov ecx, r8d
mov rax, qword [rdi + 0x28]
shr ecx, 3
and ecx, 1
mov dword [rax + 0x84], ecx
mov eax, r8d
shr eax, 4
and eax, 3
je 0x14017275f
sub eax, 1
je 0x14017274f
cmp eax, 1
je 0x140172743
lea rax, str.unknown_floating_point_normalization
mov r9d, 0xc4
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a10]
jmp 0x1401736c9
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x80], esi
jmp 0x14017276d
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x80], 1
jmp 0x14017276d
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x80], 2
mov eax, r8d
shr rax, 8
movzx ecx, al
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x50], rcx
mov rax, qword [rbx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x40], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x40], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x38], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x38], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x58], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x60], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x70], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x78], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x68], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x68], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 0x10
or qword [rcx + 0x68], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 0x18
or qword [rcx + 0x68], rax
inc qword [rbx]
jmp 0x14017372e
and r8d, 1
mov dword [r9 + 0x30], r8d
mov rax, qword [rbx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x38], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x38], rax
inc qword [rbx]
jmp 0x14017372e
mov dword [r9 + 0x30], 4
mov rcx, qword [rdi + 0x28]
mov rax, qword [rcx + 0x10]
shl rax, 3
mov qword [rcx + 0x38], rax
mov ecx, r8d
mov rax, qword [rdi + 0x28]
and ecx, 0xf
shr r8d, 4
and r8d, 0xf
mov qword [rax + 0x40], rsi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x48], esi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x4c], esi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x54], ecx
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x50], r8d
jmp 0x14017372e
mov eax, r8d
mov ecx, r8d
and eax, 1
shr ecx, 1
mov dword [r9 + 0x30], eax
and ecx, 1
mov rax, qword [rdi + 0x28]
shr r8d, 2
and r8d, 1
mov dword [rax + 0x48], ecx
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x4c], r8d
mov rax, qword [rbx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x40], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x40], rax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x38], rcx
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
movzx eax, byte [rax]
shl rax, 8
or qword [rcx + 0x38], rax
inc qword [rbx]
jmp 0x14017372e
movzx esi, r8b
lea rcx, [rsi + 1]
call fcn.1400c2b20
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x30], rcx
test rcx, rcx
jne 0x1401729d5
lea rax, str.memory_allocation_failed
mov r9d, 0xf7
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1588]
jmp 0x1401736d5
mov rcx, qword [rdi + 0x28]
mov r8, rsi
mov rdx, qword [rbx]
mov rcx, qword [rcx + 0x30]
call fcn.1400c2b30
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x30]
mov byte [rsi + rcx], r12b
add qword [rbx], rsi
jmp 0x14017372e
mov rcx, qword [r9 + 0x10]
mov rbp, rsi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], esi
call fcn.140174400
mov dword [rsp + 0x60], eax
movzx eax, r8w
mov dword [r9 + 0x34], eax
mov rcx, qword [rdi + 0x28]
mov edx, dword [rcx + 0x34]
test edx, edx
jne 0x140172a80
mov dword [rsp + 0x40], esi
lea rax, str.invalid_number_of_members:__u
mov qword [rsp + 0x38], rax
lea r8, str.H5O__dtype_decode_helper
mov rax, qword [0x1402b1a28]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5Odtype.c
mov qword [rsp + 0x30], rax
mov r9d, 0x10d
mov rax, qword [0x1402b1608]
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
jmp 0x1401736fb
mov dword [rcx + 0x30], edx
mov rax, qword [rdi + 0x28]
mov ecx, dword [rax + 0x30]
shl rcx, 5
call fcn.1400c2b00
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x40], rcx
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x48], rsi
mov rax, qword [rdi + 0x28]
cmp qword [rax + 0x40], rsi
jne 0x140172ace
lea rax, str.memory_allocation_failed
mov r9d, 0x113
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1698]
jmp 0x1401736c9
mov r13d, esi
cmp dword [rax + 0x34], esi
jbe 0x140172f16
nop word [rax + rax]
mov rcx, qword [rbx]
mov r14d, r13d
shl r14, 5
mov qword [rsp + 0x78], rbp
mov dword [rsp + 0x58], esi
call fcn.1400c2c40
mov rdx, rax
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
mov rax, 0xffffffffffffffff
mov qword [r14 + rcx], rdx
mov rcx, qword [rbx]
inc rax
cmp byte [rcx + rax], sil
jne 0x140172b11
cmp r15d, 3
jb 0x140172b29
lea rdx, [rcx + 1]
add rdx, rax
jmp 0x140172b35
add rax, 8
shr rax, 3
lea rdx, [rcx + rax*8]
mov qword [rbx], rdx
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
cmp r15d, 3
jb 0x140172b93
mov r10d, dword [rsp + 0x60]
mov qword [rcx + r14 + 8], rsi
add qword [rbx], r10
mov rax, qword [rbx]
test r10, r10
je 0x140172b8b
mov r9d, r10d
nop
dec qword [rbx]
mov rax, qword [rdi + 0x28]
mov rdx, qword [rbx]
mov r8, qword [rax + 0x40]
movzx eax, byte [rdx]
mov rcx, qword [r8 + r14 + 8]
shl rcx, 8
or rcx, rax
mov qword [r8 + r14 + 8], rcx
sub r9, 1
jne 0x140172b60
mov rax, qword [rbx]
add rax, r10
mov qword [rbx], rax
jmp 0x140172bef
movzx edx, byte [rdx]
mov qword [rcx + r14 + 8], rdx
inc qword [rbx]
mov rax, qword [rdi + 0x28]
mov rdx, qword [rbx]
mov rcx, qword [rax + 0x40]
movzx eax, byte [rdx]
shl rax, 8
or qword [rcx + r14 + 8], rax
inc qword [rbx]
mov rax, qword [rdi + 0x28]
mov rdx, qword [rbx]
mov rcx, qword [rax + 0x40]
movzx eax, byte [rdx]
shl rax, 0x10
or qword [rcx + r14 + 8], rax
inc qword [rbx]
mov rax, qword [rdi + 0x28]
mov rdx, qword [rbx]
mov rcx, qword [rax + 0x40]
movzx eax, byte [rdx]
shl rax, 0x18
or qword [rcx + r14 + 8], rax
inc qword [rbx]
mov rax, qword [rbx]
cmp r15d, 1
jne 0x140172d86
movzx ecx, byte [rax]
inc rax
mov dword [rsp + 0x58], ecx
mov qword [rbx], rax
cmp ecx, 4
ja 0x140172f5e
add rax, 0xb
mov qword [rbx], rax
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov qword [rsp + 0x80], rcx
movzx edx, byte [rax]
shl rdx, 8
or rdx, rcx
lea rcx, [rax + 1]
mov qword [rbx], rcx
mov qword [rsp + 0x80], rdx
movzx r8d, byte [rcx]
shl r8, 0x10
or r8, rdx
mov qword [rsp + 0x80], r8
inc rcx
mov qword [rbx], rcx
movzx eax, byte [rcx]
shl rax, 0x18
or rax, r8
mov qword [rsp + 0x80], rax
lea rax, [rcx + 1]
mov qword [rbx], rax
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov qword [rsp + 0x88], rcx
movzx edx, byte [rax]
shl rdx, 8
or rdx, rcx
lea rcx, [rax + 1]
mov qword [rbx], rcx
mov qword [rsp + 0x88], rdx
movzx r8d, byte [rcx]
shl r8, 0x10
or r8, rdx
mov qword [rsp + 0x88], r8
inc rcx
mov qword [rbx], rcx
movzx eax, byte [rcx]
shl rax, 0x18
or rax, r8
mov qword [rsp + 0x88], rax
lea rax, [rcx + 1]
mov qword [rbx], rax
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov qword [rsp + 0x90], rcx
movzx edx, byte [rax]
shl rdx, 8
or rdx, rcx
lea rcx, [rax + 1]
mov qword [rbx], rcx
mov qword [rsp + 0x90], rdx
movzx r8d, byte [rcx]
shl r8, 0x10
or r8, rdx
inc rcx
mov qword [rsp + 0x90], r8
mov qword [rbx], rcx
movzx eax, byte [rcx]
shl rax, 0x18
or rax, r8
mov qword [rsp + 0x90], rax
lea rax, [rcx + 1]
mov qword [rbx], rax
movzx ecx, byte [rax]
inc rax
mov qword [rsp + 0x98], rcx
mov qword [rbx], rax
movzx edx, byte [rax]
shl rdx, 8
or rdx, rcx
lea rcx, [rax + 1]
mov qword [rbx], rcx
mov qword [rsp + 0x98], rdx
movzx r8d, byte [rcx]
shl r8, 0x10
or r8, rdx
inc rcx
mov qword [rsp + 0x98], r8
mov qword [rbx], rcx
movzx eax, byte [rcx]
shl rax, 0x18
or rax, r8
mov qword [rsp + 0x98], rax
lea rax, [rcx + 1]
mov qword [rbx], rax
call fcn.14001c980
mov rbp, rax
test rax, rax
je 0x140173036
mov rcx, qword [rsp + 0x68]
mov r8, rax
mov rdx, rbx
call fcn.1401724b0
test eax, eax
js 0x140172fe4
je 0x140172dc7
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax + 0x18]
cmp ecx, r15d
jbe 0x140172dc7
mov dword [rsp + 0x54], ecx
mov r12d, 1
cmp r15d, 1
jne 0x140172e2f
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x140172e2f
lea r8, [rsp + 0x80]
mov edx, eax
mov rcx, rbp
call fcn.14002a780
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140172f7c
mov rcx, rbp
call fcn.140023e50
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rbp, rax
mov rax, qword [rax + 0x28]
test byte [rcx], r15b
je 0x140172e19
mov dword [rax + 0x18], r15d
jmp 0x140172e2f
mov eax, dword [rax + 0x18]
mov r12d, 1
cmp dword [rsp + 0x54], eax
cmovae eax, dword [rsp + 0x54]
mov dword [rsp + 0x54], eax
mov rdx, qword [rbp + 0x28]
mov eax, dword [rdx + 0x18]
cmp eax, dword [rsp + 0x50]
cmovbe eax, dword [rsp + 0x50]
cmp byte [rdx + 0x1c], 1
mov r8d, eax
mov dword [rsp + 0x50], eax
jne 0x140172e58
mov rax, qword [rdi + 0x28]
mov byte [rax + 0x1c], 1
mov rdx, qword [rbp + 0x28]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
mov rax, qword [rdx + 0x10]
mov qword [rcx + r14 + 0x10], rax
mov rax, qword [rbp + 0x28]
mov rdx, qword [rdi + 0x28]
mov rcx, qword [rax + 0x10]
add qword [rdx + 0x48], rcx
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
mov qword [rcx + r14 + 0x18], rbp
test r13d, r13d
je 0x140172edd
mov rax, qword [rdi + 0x28]
mov r9, qword [rax + 0x40]
mov r8, qword [r14 + r9 + 8]
cmp r8, qword [rsp + 0x70]
jae 0x140172ed8
mov edx, esi
test r13d, r13d
je 0x140172ed8
nop word [rax + rax]
mov eax, edx
shl rax, 5
mov rcx, qword [rax + r9 + 8]
cmp r8, rcx
jb 0x140172ed1
mov rax, qword [rax + r9 + 0x10]
add rcx, rax
cmp r8, rcx
jb 0x140172fc6
inc edx
cmp edx, r13d
jb 0x140172eb0
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rdi + 0x28]
inc r13d
mov rax, qword [rcx + 0x40]
mov rbp, qword [rax + r14 + 0x10]
add rbp, qword [rax + r14 + 8]
cmp qword [rsp + 0x78], rbp
cmova rbp, qword [rsp + 0x78]
mov qword [rsp + 0x70], rbp
cmp r13d, dword [rcx + 0x34]
jb 0x140172ae0
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x50], r8d
mov rcx, rdi
call fcn.14002df10
mov eax, dword [rsp + 0x54]
cmp r15d, eax
jae 0x140173060
mov edx, eax
mov rcx, rdi
mov r15d, eax
call fcn.140023ae0
test eax, eax
jns 0x140173060
lea rax, str.cant_upgrade_compound_encoding_version
mov r9d, 0x1a4
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
lea rax, str.invalid_number_of_dimensions_for_array
mov r9d, 0x136
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a18]
jmp 0x1401736c9
lea ebx, [r13 + 1]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
mov rcx, qword [rcx + rsi]
call fcn.1400c2c20
lea rsi, [rsi + 0x20]
sub rbx, 1
jne 0x140172f80
mov rcx, qword [rdi + 0x28]
mov rcx, qword [rcx + 0x40]
call fcn.1400c2c20
lea rax, str.unable_to_create_array_datatype
mov r9d, 0x163
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1880]
jmp 0x1401736c9
lea rax, str.member_overlaps_with_previous_member
mov r9d, 0x195
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
lea ebx, [r13 + 1]
nop dword [rax + rax]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x40]
mov rcx, qword [rcx + rsi]
call fcn.1400c2c20
lea rsi, [rsi + 0x20]
sub rbx, 1
jne 0x140172ff0
mov rcx, qword [rdi + 0x28]
mov rcx, qword [rcx + 0x40]
call fcn.1400c2c20
lea rax, str.unable_to_decode_member_type
mov r9d, 0x14e
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
lea rax, str.memory_allocation_failed
mov r9d, 0x147
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1588]
jmp 0x1401736d5
mov eax, dword [rsp + 0x50]
cmp r15d, eax
jae 0x14017309f
test byte [r14], 1
jne 0x14017309f
mov edx, eax
mov rcx, rdi
call fcn.140023ae0
test eax, eax
jns 0x14017309b
lea rax, str.cant_upgrade_compound_encoding_version
mov r9d, 0x1ac
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
or dword [r14], 2
test r12d, r12d
jns 0x14017372e
jmp 0x140173701
mov dword [r9 + 0x30], 4
mov rcx, qword [rdi + 0x28]
mov rax, qword [rcx + 0x10]
shl rax, 3
mov qword [rcx + 0x38], rax
mov ecx, r8d
mov rax, qword [rdi + 0x28]
and ecx, 0xf
mov qword [rax + 0x40], rsi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x48], esi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x4c], esi
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x50], ecx
mov rcx, qword [rdi + 0x28]
mov eax, dword [rcx + 0x50]
cmp eax, 4
ja 0x14017317b
add eax, 0xfffffffe
cmp eax, 2
jbe 0x14017313f
mov byte [rcx + 0x58], sil
mov rax, qword [rdi + 0x28]
xor r8d, r8d
mov byte [rax + 0x1c], 1
xor edx, edx
mov rcx, rdi
call fcn.140026850
test eax, eax
jns 0x14017372e
lea rax, str.invalid_datatype_location
mov r9d, 0x1ce
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1710]
jmp 0x1401736c9
mov byte [rcx + 0x58], 1
mov rax, qword [rdi + 0x28]
shr r8d, 4
and r8d, 0xf
mov dword [rax + 0x54], r8d
mov rax, qword [rdi + 0x28]
cmp dword [rax + 0x54], 1
je 0x140173108
lea rax, str.reference_version_does_not_match
mov r9d, 0x1c3
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
lea rax, str.invalid_reference_type
mov r9d, 0x1ba
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
movzx ecx, r8w
mov dword [r9 + 0x30], ecx
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x34], ecx
call fcn.14001c980
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x20], rcx
test rcx, rcx
jne 0x1401731e7
lea rax, str.memory_allocation_failed
mov r9d, 0x1d7
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1588]
jmp 0x1401736d5
mov r8, qword [rdi + 0x28]
mov rdx, rbx
mov rcx, r14
mov r8, qword [r8 + 0x20]
call fcn.1401724b0
test eax, eax
jns 0x14017321c
lea rax, str.unable_to_decode_parent_datatype
mov r9d, 0x1d9
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
mov rdx, qword [rdi + 0x28]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x28]
mov eax, dword [rcx + 0x18]
cmp r15d, eax
jae 0x14017326d
test byte [r14], 1
jne 0x14017326d
mov edx, eax
mov rcx, rdi
mov r15d, eax
call fcn.140023ae0
test eax, eax
jns 0x140173265
lea rax, str.cant_upgrade_enum_encoding_version
mov r9d, 0x1dd
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
or dword [r14], 2
mov rdx, qword [rdi + 0x28]
mov ecx, dword [rdx + 0x30]
shl rcx, 3
call fcn.1400c2b00
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x48], rcx
test rcx, rcx
je 0x140173360
mov rdx, qword [rdi + 0x28]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x28]
mov eax, dword [rdx + 0x30]
mov rcx, qword [rcx + 0x10]
imul rcx, rax
call fcn.1400c2b00
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x40], rcx
test rcx, rcx
je 0x140173360
mov rcx, qword [rdi + 0x28]
cmp dword [rcx + 0x34], esi
jbe 0x140173322
mov rcx, qword [rbx]
call fcn.1400c2c40
mov r8, rax
mov edx, esi
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x48]
mov rax, 0xffffffffffffffff
mov qword [rcx + rdx*8], r8
mov rcx, qword [rbx]
nop dword [rax]
inc rax
cmp byte [rcx + rax], r12b
jne 0x1401732f0
cmp r15d, 3
jb 0x140173308
lea rdx, [rcx + 1]
add rdx, rax
jmp 0x140173314
add rax, 8
shr rax, 3
lea rdx, [rcx + rax*8]
mov qword [rbx], rdx
inc esi
mov rcx, qword [rdi + 0x28]
cmp esi, dword [rcx + 0x34]
jb 0x1401732c6
mov rax, qword [rcx + 0x20]
mov rdx, qword [rax + 0x28]
mov eax, dword [rcx + 0x34]
mov rcx, qword [rcx + 0x40]
mov r8, qword [rdx + 0x10]
mov rdx, qword [rbx]
imul r8, rax
call fcn.1400c2b30
mov rdx, qword [rdi + 0x28]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x28]
mov eax, dword [rdx + 0x34]
mov rdx, qword [rcx + 0x10]
imul rdx, rax
add qword [rbx], rdx
jmp 0x14017372e
lea rax, str.memory_allocation_failed
mov r9d, 0x1e3
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1588]
jmp 0x1401736d5
mov eax, r8d
and eax, 0xf
mov dword [r9 + 0x30], eax
mov rcx, qword [rdi + 0x28]
cmp dword [rcx + 0x30], 1
jne 0x1401733ba
mov eax, r8d
shr r8d, 8
shr eax, 4
and eax, 0xf
mov dword [rcx + 0x3c], eax
and r8d, 0xf
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x38], r8d
call fcn.14001c980
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x20], rcx
test rcx, rcx
jne 0x1401733ed
lea rax, str.memory_allocation_failed
mov r9d, 0x202
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
jmp 0x1401736c9
mov r8, qword [rdi + 0x28]
mov rdx, rbx
mov rcx, r14
mov r8, qword [r8 + 0x20]
call fcn.1401724b0
test eax, eax
jns 0x140173422
lea rax, str.unable_to_decode_VL_parent_type
mov r9d, 0x204
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
mov r8, qword [rdi + 0x28]
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + 0x28]
mov edx, dword [rcx + 0x18]
cmp r15d, edx
jae 0x14017346e
test byte [r14], 1
jne 0x14017346e
mov rcx, rdi
call fcn.140023ae0
test eax, eax
jns 0x140173466
lea rax, str.cant_upgrade_vlen_encoding_version
mov r9d, 0x208
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
or dword [r14], 2
mov r8, qword [rdi + 0x28]
mov byte [r8 + 0x1c], 1
xor edx, edx
xor r8d, r8d
mov rcx, rdi
call fcn.140026850
test eax, eax
jns 0x14017372e
lea rax, str.invalid_datatype_location
mov r9d, 0x20f
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1710]
jmp 0x1401736c9
movzx eax, byte [rdx]
mov dword [r9 + 0x38], eax
mov rax, qword [rbx]
inc rax
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
cmp dword [rcx + 0x38], 0x20
jbe 0x1401734d2
lea rax, str.too_many_dimensions_for_array_datatype
mov r9d, 0x218
jmp 0x1401736bd
cmp r15d, 3
jae 0x1401734e3
add rax, 3
mov qword [rbx], rax
mov rcx, qword [rdi + 0x28]
mov qword [rcx + 0x30], 1
mov rax, qword [rdi + 0x28]
cmp dword [rax + 0x38], esi
jbe 0x140173576
nop dword [rax + rax]
mov eax, esi
inc esi
lea r8, [rax*8 + 0x40]
mov rax, qword [rbx]
movzx ecx, byte [rax]
mov rax, qword [rdi + 0x28]
mov qword [r8 + rax], rcx
inc qword [rbx]
mov rcx, qword [rbx]
mov rdx, qword [rdi + 0x28]
movzx eax, byte [rcx]
shl rax, 8
or qword [rdx + r8], rax
inc qword [rbx]
mov rcx, qword [rbx]
mov rdx, qword [rdi + 0x28]
movzx eax, byte [rcx]
shl rax, 0x10
or qword [rdx + r8], rax
inc qword [rbx]
mov rcx, qword [rbx]
mov rdx, qword [rdi + 0x28]
movzx eax, byte [rcx]
shl rax, 0x18
or qword [rdx + r8], rax
inc qword [rbx]
mov rcx, qword [rdi + 0x28]
mov rax, qword [rcx + 0x30]
imul rax, qword [r8 + rcx]
mov qword [rcx + 0x30], rax
mov rax, qword [rdi + 0x28]
cmp esi, dword [rax + 0x38]
jb 0x140173500
cmp r15d, 3
jae 0x140173585
mov eax, dword [rax + 0x38]
shl eax, 2
add qword [rbx], rax
call fcn.14001c980
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x20], rcx
test rcx, rcx
jne 0x1401735b8
lea rax, str.memory_allocation_failed
mov r9d, 0x22a
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1690]
jmp 0x1401736c9
mov r8, qword [rdi + 0x28]
mov rdx, rbx
mov rcx, r14
mov r8, qword [r8 + 0x20]
call fcn.1401724b0
test eax, eax
jns 0x1401735ed
lea rax, str.unable_to_decode_array_parent_type
mov r9d, 0x22c
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a48]
jmp 0x1401736c9
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x28]
mov ecx, dword [rax + 0x18]
cmp r15d, ecx
jae 0x14017363a
test byte [r14], 1
jne 0x14017363a
mov r15d, ecx
mov edx, ecx
mov rcx, rdi
call fcn.140023ae0
test eax, eax
jns 0x140173636
lea rax, str.cant_upgrade_array_encoding_version
mov r9d, 0x230
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
or dword [r14], 2
cmp r15d, 2
jae 0x140173676
test byte [r14], 1
jne 0x140173676
mov edx, 2
mov rcx, rdi
call fcn.140023ae0
test eax, eax
jns 0x140173672
lea rax, str.cant_upgrade_array_encoding_version
mov r9d, 0x233
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
jmp 0x1401736c9
or dword [r14], 2
mov rdx, qword [rdi + 0x28]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x28]
cmp byte [rcx + 0x1c], 1
jne 0x14017372e
mov byte [rdx + 0x1c], 1
jmp 0x14017372e
lea rax, str.unknown_datatype_class_found
mov r9d, 0x240
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a10]
jmp 0x1401736c9
lea rax, str.bad_version_number_for_datatype_message
mov r9d, 0x90
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b18c0]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1608]
mov qword [rsp + 0x28], rax
lea r8, str.H5O__dtype_decode_helper
mov rax, qword [0x1402b1528]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5Odtype.c
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov r12d, 0xffffffff
test rdi, rdi
je 0x14017372e
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x14017371f
lea rcx, [0x1402ae748]
call fcn.1400b7a90
mov qword [rdi + 0x28], rax
mov rdx, rdi
lea rcx, [0x1402ae720]
call fcn.1400b7a90
mov r13, qword [rsp + 0x1a8]
mov rbp, qword [rsp + 0x1f8]
mov r15, qword [rsp + 0x1a0]
mov eax, r12d
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1402226d0
add rsp, 0x1b0
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret