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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffc0
mov eax, 0x4e40
call fcn.100ecd60
mov esi, dword [edx + 0xc]
and dword [esp + 0x198], 0
and dword [esp + 0x1a0], 0
and dword [esp + 0x1c4], 0
and dword [esp + 0x1d0], 0
and dword [esp + 0x1d8], 0
and dword [esp + 0x1fc], 0
mov dword [esp + 0xd4], ecx
push 4
pop eax
mov dword [esp + 0x200], eax
and dword [esp + 0x204], 0
and dword [esp + 0x208], 0
mov dword [esp + 0x20c], eax
and dword [esp + 0x210], 0
and dword [esp + 0x214], 0
mov dword [esp + 0x218], eax
mov eax, 0x80000001
and dword [esp + 0x21c], 0
mov dword [esp + 0x38], edx
mov ecx, 0x1000001
mov dword [esp + 0x220], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x238], eax
mov al, 2
mov byte [esp + 0x24c], al
mov byte [esp + 0x269], al
mov eax, dword [edx + 0x10]
lea edx, [esp + 0x18c]
mov dword [esp + 0x26c], esi
and dword [edx], 0
mov dword [edx + 4], 1
and dword [edx + 8], 0
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0x6040100
mov byte [esp + 0x278], 8
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x280], edx
mov edi, dword [esp + 0x268]
movsd xmm1, qword [esp + 0x258]
movsd xmm0, qword [esp + 0x260]
movq xmm2, qword [esp + 0x250]
mov dword [esp + 0x164], edi
movsd qword [esp + 0x154], xmm1
mov edi, dword [esp + 0x1cc]
movsd xmm1, qword [esp + 0x1c4]
movsd qword [esp + 0x15c], xmm0
movq qword [esp + 0x14c], xmm2
mov dword [esp + 0x148], edi
movsd qword [esp + 0x140], xmm1
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], 0x8060100
mov dword [esp + 0x178], edx
mov dword [esp + 0x174], ecx
and dword [esp + 0x13c], 0
and dword [esp + 0x138], 0
and dword [esp + 0x17c], 0
call 0x1009a666
pop ecx
mov byte [esp + 0x180], 0
test esi, esi
push 3
pop edi
je 0x1009a907
test eax, eax
je 0x1009a916
lea edi, [esp + 0x178]
lea eax, [0x101beb90]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x18c]
mov edx, 0x101beb88
push eax
call fcn.1002932c
pop eax
lea ebx, [esp + 0x330]
lea eax, [esp + 0x4c]
and dword [ebx + 4], 0
and dword [ebx], 0
and dword [ebx + 9], 0
and dword [ebx + 5], 0
mov dword [eax], edi
push 0xd
pop eax
push 4
pop ecx
mov edx, ebx
push 0x101bea18
push eax
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut1
pop ecx
pop ecx
bswap esi
lea edi, [esp + 0x340]
mov ecx, eax
mov dword [edi], esi
push 0x101bea28
push 4
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
mov eax, dword [esp + 0x270]
lea esi, [esp + 0x340]
lea edx, [esp + 0x4c]
mov ecx, esi
bswap eax
mov dword [ebx + 4], eax
movzx eax, word [esp + 0x277]
rol ax, 8
mov word [ebx + 8], ax
mov al, byte [esp + 0x274]
mov byte [ebx + 0xc], al
push 0xd
pop eax
push eax
push ebx
push 0x52444849
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009abec
mov al, byte [esp + 0x24c]
cmp al, 2
je 0x1009a81c
lea ecx, [esp + 0x80]
mov byte [esp + 8], al
mov eax, dword [esp + 0x248]
mov edi, dword [esp + 0x244]
xor edx, edx
and dword [ecx + 4], 0
and dword [ecx], 0
mov byte [ecx + 8], 0
mov dword [esp + 0xc], eax
push 0x101bea38
push 4
pop eax
push eax
mov ebx, eax
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h4d8cbf53
pop ecx
pop ecx
bswap edi
lea ecx, [esp + 0x340]
mov dword [ecx], edi
mov ecx, eax
push 0x101bea48
mov edi, ebx
push ebx
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
lea ecx, [esp + 0x80]
mov edx, ebx
push 0x101bea58
push 8
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h4d8cbf53
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
lea ebx, [esp + 0x340]
bswap ecx
mov dword [ebx], ecx
mov ecx, eax
push 0x101bea68
push edi
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
cmp byte [esp + 8], 0
lea ecx, [esp + 0x340]
lea eax, [esp + 0x80]
lea edx, [esp + 0x4c]
mov edi, ecx
setne byte [eax + 8]
push 9
push eax
push 0x73594870
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009abec
cmp dword [esp + 0x22c], 0x80000001
je 0x1009a85c
lea esi, [esp + 0x340]
lea edx, [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x234]
push dword [esp + 0x234]
push 0x45544c50
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009abec
cmp dword [esp + 0x220], 0x80000001
je 0x1009a89c
lea esi, [esp + 0x340]
lea edx, [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x228]
push dword [esp + 0x228]
push 0x534e5274
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009abec
mov al, byte [esp + 0x276]
cmp al, 4
jne 0x1009a926
cmp dword [esp + 0x1d0], 0
je 0x1009a8d7
mov edx, dword [esp + 0x1d4]
lea esi, [esp + 0x340]
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
call sym.png::common::ScaledFloat::encode_gama::hde33c9ca439d9723
pop eax
mov edi, dword [esi]
cmp edi, 6
jne 0x1009abec
cmp dword [esp + 0x1d8], 0
je 0x1009a9f3
lea esi, [esp + 0x340]
lea eax, [esp + 0x4c]
lea edx, [esp + 0x1dc]
mov ecx, esi
push eax
call sym.png::common::SourceChromaticities::encode::h2d55f9e3456b3903
pop eax
mov edi, dword [esi]
jmp 0x1009a9ea
mov dword [esp + 0x14], 0
xor esi, esi
jmp 0x1009abfe
xor esi, esi
mov dword [esp + 0x14], 0
inc esi
jmp 0x1009abfe
lea ebx, [esp + 0x80]
lea edi, [esp + 0x340]
lea esi, [esp + 0x4c]
mov dword [esp + 0x2d8], 0x7a26
mov dword [esp + 0x2dc], 0x8084
mov dword [esp + 0x2e0], 0xfa00
mov dword [esp + 0x2e4], 0x80e8
mov dword [esp + 0x2e8], 0x7530
mov dword [esp + 0x2ec], 0xea60
mov dword [esp + 0x2f0], 0x3a98
mov dword [esp + 0x2f4], 0x1770
mov byte [ebx], al
mov ecx, edi
mov edx, esi
push 1
push ebx
push 0x42475273
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009abec
lea edi, [esp + 0x340]
mov edx, 0xb18f
mov ecx, edi
push esi
call sym.png::common::ScaledFloat::encode_gama::hde33c9ca439d9723
pop eax
mov edi, dword [edi]
cmp edi, 6
jne 0x1009abec
lea edi, [esp + 0x340]
lea edx, [esp + 0x2d8]
mov ecx, edi
push esi
call sym.png::common::SourceChromaticities::encode::h2d55f9e3456b3903
pop eax
mov edi, dword [edi]
cmp edi, 6
jne 0x1009abec
cmp dword [esp + 0x1c4], 0
je 0x1009aa7c
lea esi, [esp + 0x80]
mov edi, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c8]
and dword [esi + 4], 0
and dword [esi], 0
push 4
pop ecx
mov edx, esi
push 0x101be9f8
push 8
pop eax
push eax
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut1
pop ecx
pop ecx
bswap ebx
lea ecx, [esp + 0x110]
mov dword [ecx], ebx
mov ebx, ecx
mov ecx, eax
push 0x101bea08
push 4
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
bswap edi
lea edx, [esp + 0x4c]
mov dword [esi + 4], edi
lea edi, [esp + 0x340]
mov ecx, edi
push 8
pop eax
push eax
push esi
push 0x4c546361
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009abec
mov edi, dword [esp + 0x200]
imul eax, dword [esp + 0x204], 0x18
add eax, edi
mov dword [esp + 0xc], eax
cmp edi, dword [esp + 0xc]
lea ecx, [esp + 0x340]
je 0x1009b545
mov edx, dword [edi + 4]
push dword [edi + 8]
call sym.png::text_metadata::encode_iso_8859_1::h78cf788067cf3b37
pop eax
mov esi, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp esi, 0x80000000
je 0x1009b770
lea edx, [esp + 0x345]
lea ebx, [esp + 0x85]
mov ecx, dword [edx + 3]
mov edx, dword [edx]
mov dword [ebx + 3], ecx
mov dword [ebx], edx
mov dword [esp + 0x80], esi
mov byte [esp + 0x84], al
mov eax, dword [esp + 0x88]
add eax, 0xffffffb0
cmp eax, 0xffffffb1
jb 0x1009b78c
lea ecx, [esp + 0x80]
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
lea esi, [esp + 0x340]
add ecx, eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], ecx
mov ecx, esi
call sym.__ZN81__LT_core..str..iter..Chars_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17hc691d2ff4e712ef4E.420
mov ecx, 0x100
mov ebx, 0x100
cmp eax, ecx
cmovb ebx, eax
cmp eax, 0x110000
je 0x1009ab87
cmp eax, 0xff
ja 0x1009ab90
mov edx, dword [esp + 0x88]
cmp edx, dword [esp + 0x80]
jne 0x1009ab73
lea ecx, [esp + 0x80]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::hf24b3931a41416e7
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov byte [eax + edx], bl
inc edx
mov dword [esp + 0x88], edx
jmp 0x1009ab2c
mov esi, dword [esp + 0x80]
jmp 0x1009aba0
mov esi, dword [esp + 0x80]
cmp bl, 3
jne 0x1009b78e
mov ebx, edi
mov edi, dword [esp + 0x84]
lea ecx, [esp + 0x110]
lea edx, [esp + 0x4c]
push dword [esp + 0x88]
push edi
push 0x74584574
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov ecx, esi
mov edx, edi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov edi, dword [esp + 0x110]
cmp edi, 6
jne 0x1009b7b9
mov edi, ebx
add edi, 0x18
jmp 0x1009aa91
mov eax, dword [esp + 0x348]
mov esi, dword [esp + 0x344]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x138]
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h6c638d37b5f4a114
push 2
pop ebx
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h1b5a36cf9feb4927
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x230]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h1b5a36cf9feb4927
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x23c]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h1b5a36cf9feb4927
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x204]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h387f618e23cefb47
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h3ac43ce1b1b104d9
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x210]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h478245d7cf3ff624
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x20c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::hddd6511351f34f37
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x21c]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h06648eef2eaf462b
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x218]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e282ae1cc969a79
cmp ebx, 2
jne 0x1009acdc
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax], 1
jmp 0x1009bcb3
lea eax, [esp + 0x2a0]
push 0xe
pop ecx
mov dword [esp + 0xc], ebx
mov ebx, esi
mov edx, edi
lea esi, [esp + 0x2f8]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 0xc], edx
mov dword [eax - 8], ebx
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
xor edi, edi
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax - 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [eax - 0x18], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax - 0x10], ebx
mov al, byte [eax + 0x22]
mov esi, dword [ecx + 4]
mov edx, dword [ecx + 8]
cmp al, 3
push 3
pop ecx
jne 0x1009ad42
cmp byte [esp + 0x2c0], 0
jne 0x1009ad42
mov ebx, ecx
jmp 0x1009bc91
cmp byte [esp + 0x2c6], 0
je 0x1009ad75
test ebx, ebx
push 7
pop ebx
je 0x1009ad62
cmp byte [esp + 0x2b5], 2
jne 0x1009ad75
jmp 0x1009bc91
mov edi, dword [esp + 0x10]
or dword [esp + 8], edi
mov edi, 0
jne 0x1009bc91
mov dword [esp + 0x3c], esi
lea esi, [esp + 0x290]
mov dword [esp + 0x14], edx
mov edx, eax
mov eax, dword [esi + 0x24]
movsd xmm0, qword [esi + 0x1c]
mov edi, dword [esi + 0x2c]
cmp byte [esi + 0x25], 2
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x10]
movsd xmm1, qword [esi + 0x14]
mov dword [esp + 0x410], eax
mov eax, dword [esi + 0x14]
movsd qword [esp + 0x408], xmm0
movsd xmm0, qword [esi + 0xc]
cmove ebx, ecx
movsd qword [esp + 0x400], xmm1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
cmove eax, edi
movsd qword [esp + 0x3f8], xmm0
mov dword [esp + 0x414], ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x418], edi
movsd xmm0, qword [esi]
mov dword [esp + 0xc], eax
movzx eax, byte [esi + 0x33]
mov byte [esp + 0x420], al
mov edi, eax
mov eax, 0x80000001
mov byte [esp + 0x41f], dl
mov byte [esp + 0x41c], 0
mov dword [esp + 0x3c8], eax
mov byte [esp + 0x3f4], 2
mov dword [esp + 0x3d4], eax
and dword [esp + 0x340], 0
and dword [esp + 0x348], 0
mov dword [esp + 0x374], ecx
mov cl, byte [esi + 0x31]
movsd qword [esp + 0x36c], xmm0
mov byte [esp + 0x41d], cl
and dword [esp + 0x378], 0
and dword [esp + 0x380], 0
mov byte [esp + 0x41e], 4
mov dword [esp + 0x3e0], eax
and dword [esp + 0x3a4], 0
mov byte [esp + 0x1c], cl
push 4
pop eax
mov dword [esp + 0x3a8], eax
and dword [esp + 0x3ac], 0
and dword [esp + 0x3b0], 0
mov dword [esp + 0x3b4], eax
and dword [esp + 0x3b8], 0
and dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], eax
and dword [esp + 0x3c4], 0
movzx ecx, dl
mov byte [esp + 8], dl
call sym.png::common::ColorType::samples::h69e5df789ae14f2f
mov ecx, edi
imul ebx, eax
mov edi, eax
cmp ecx, 8
mov dword [esp + 0x10], ecx
je 0x1009af03
cmp ecx, 0x10
jne 0x1009aee2
add ebx, ebx
jmp 0x1009af03
cmp cl, 8
ja 0x1009e0c0
mov al, 8
xor edx, edx
movzx eax, al
div cl
movzx ecx, al
mov eax, ebx
div ecx
cmp edx, 1
mov ebx, eax
sbb ebx, 0xffffffff
lea ecx, [esp + 0x340]
call sym.core::ptr::drop_in_place_LT_png..common..Info_GT_::h1df08e75f9ecaf5a
mov ecx, ebx
mov eax, dword [esp + 0x14]
imul ecx, dword [esp + 0xc]
cmp ecx, eax
jne 0x1009b25e
xor edx, edx
mov ecx, ebx
lea ebx, [esp + 0x29c]
inc edx
mov dword [esp + 0x38], ecx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::allocate_in::h2ef3442f7a366dc2
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x18]
movsd xmm0, qword [ebx + 0x10]
movsd xmm1, qword [ebx]
movq xmm2, qword [ebx + 8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov bh, byte [esp + 0x1c]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x20]
movsd qword [esp + 0x408], xmm0
movq qword [esp + 0x400], xmm2
movsd qword [esp + 0x3f8], xmm1
movsd xmm0, qword [esi]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x418], eax
mov al, byte [esp + 8]
mov byte [esp + 0x420], dl
mov byte [esp + 0x41f], al
mov eax, 0x80000001
mov byte [esp + 0x41c], 0
mov dword [esp + 0x3c8], eax
mov byte [esp + 0x3f4], 2
mov dword [esp + 0x3d4], eax
and dword [esp + 0x340], 0
and dword [esp + 0x348], 0
mov dword [esp + 0x374], ecx
movsd qword [esp + 0x36c], xmm0
mov byte [esp + 0x41d], bh
and dword [esp + 0x378], 0
and dword [esp + 0x380], 0
mov byte [esp + 0x41e], 4
mov dword [esp + 0x3e0], eax
and dword [esp + 0x3a4], 0
push 4
pop eax
add edx, 7
mov dword [esp + 0x3a8], eax
and dword [esp + 0x3ac], 0
and dword [esp + 0x3b0], 0
mov dword [esp + 0x3b4], eax
and dword [esp + 0x3b8], 0
and dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], eax
and dword [esp + 0x3c4], 0
mov eax, 0xaf
shr edx, 3
imul edi, edx
dec edi
bt eax, edi
jae 0x1009e5cd
push 2
pop eax
mov bl, byte [edi + 0x101eb250]
lea ecx, [esp + 0x340]
mov dword [esp + 0x48], eax
call sym.core::ptr::drop_in_place_LT_png..common..Info_GT_::h1df08e75f9ecaf5a
movzx edx, byte [esp + 0x2c7]
movzx ecx, byte [esp + 0x2c4]
cmp bh, 1
movzx eax, bl
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
jne 0x1009b26b
call sym.simd_adler32::imp::get_imp::h1eea2686e75141ed
xor esi, esi
lea edx, [esp + 0x340]
lea edi, [esp + 0x80]
inc esi
mov ecx, edi
mov dword [edx + 0x1c], esi
mov dword [edx + 0x18], eax
and dword [edx + 0x24], 0
and dword [edx + 0x20], 0
mov byte [edx + 0x28], 0
and dword [edx + 4], 0
and dword [edx], 0
and dword [edx + 8], 0
mov dword [edx + 0xc], esi
and dword [edx + 0x10], 0
push 0x10
push 0
push 0x178
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [edi], 4
mov ebx, dword [esp + 0x38]
je 0x1009b118
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
lea edi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, edi
push esi
push 0
push esi
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [edi], 4
je 0x1009b148
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
push 2
pop eax
lea esi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, esi
push eax
push 0
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009b17b
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
lea esi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0
push 0x1d
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009b1ad
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
lea esi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009b1df
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
lea esi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, esi
push 4
push 0
push 0xf
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009b211
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
lea eax, [ebx + 1]
mov dword [esp + 0x1c], eax
push 3
pop ebx
lea esi, [esp + 0x80]
lea edi, [esp + 0x340]
sub ebx, 1
jb 0x1009b4f2
mov ecx, esi
mov edx, edi
push 3
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x80], 4
je 0x1009b229
mov eax, dword [esp + 0x80]
cmp al, 4
je 0x1009b229
jmp 0x1009b533
mov edx, ecx
xor ecx, ecx
mov edi, eax
mov ebx, edx
jmp 0x1009bc91
mov edi, dword [esp + 0x38]
xor edx, edx
movzx esi, bh
inc edx
mov ecx, edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::allocate_in::h2ef3442f7a366dc2
mov dword [esp + 0xc], edx
lea edx, [esp + 0x340]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x198]
and dword [edx], 0
mov dword [edx + 4], 1
and dword [edx + 8], 0
push dword [esi*4 + 0x101eb258]
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h4cfa2c3c922fbf68
pop eax
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0x340]
mov ecx, esi
push 0x101beb18
push edi
push dword [esp + 0x1c]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h25625196d8d29348
add esp, 0xc
mov eax, dword [esi + 8]
mov ebx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
test edx, edx
je 0x1009b3b8
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x20]
cmp edx, esi
cmovb esi, edx
mov edx, dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x10]
push esi
push ebx
push eax
push edi
push dword [esp + 0x28]
call sym.png::filter::filter::h3e54ac27fbac1a2b
add esp, 0x1c
mov byte [esp + 0x138], al
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
push 1
lea eax, [esp + 0x13c]
push eax
call sym.std::io::Write::write_all::hbfe311fd57adca67
pop eax
pop ecx
cmp byte [esp + 0x340], 4
je 0x1009b352
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009b4d0
sub dword [esp + 0x14], esi
lea eax, [ebx + esi]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
mov dword [esp + 8], eax
push dword [esp + 0x38]
push dword [esp + 0x10]
call sym.std::io::Write::write_all::hbfe311fd57adca67
pop eax
pop ecx
cmp byte [esp + 0x340], 4
jne 0x1009b395
mov edi, ebx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, esi
jmp 0x1009b2de
mov ecx, dword [esp + 0x340]
mov edi, ebx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, esi
cmp cl, 4
je 0x1009b2de
mov ebx, ecx
jmp 0x1009b4d2
push 0xc
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0x198]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x138]
mov ecx, esi
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::finish::h0d14ef985a2f886c
mov edi, dword [esi]
cmp edi, 0x80000000
jne 0x1009b3f8
mov ebx, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
jmp 0x1009b4e5
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x140]
mov dword [esp + 8], eax
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov cl, byte [esp + 0x2b5]
cmp cl, 2
je 0x1009b445
cmp byte [esp + 0x2c5], 0
je 0x1009b83f
mov eax, dword [esp + 0x28c]
or eax, dword [esp + 0x288]
jne 0x1009b83f
lea esi, [esp + 0x340]
lea edx, [esp + 0x288]
mov ecx, esi
push ebx
push dword [esp + 0xc]
call sym.png::encoder::Writer_LT_W_GT_::write_zlib_encoded_idat::hfc0cd5a93e30893e
pop eax
pop ecx
mov eax, dword [esi]
cmp eax, 6
jne 0x1009b759
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
xor edx, edx
dec edx
add eax, 1
adc ecx, 0
cmovb ecx, edx
cmovb eax, edx
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], ecx
cmp dword [esp + 0x290], 0
je 0x1009b4b9
mov eax, dword [esp + 0x294]
cmp eax, dword [esp + 0x2cc]
ja 0x1009b4b9
mov byte [esp + 0x2b5], 2
mov edx, dword [esp + 8]
mov ecx, edi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
push 6
pop eax
mov dword [esp + 0x48], eax
jmp 0x1009bc27
mov ebx, eax
mov edi, dword [esp + 0x344]
lea ecx, [esp + 0x198]
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::ha7469bc2602d0fb2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
jmp 0x1009bc22
lea esi, [esp + 0x80]
lea edi, [esp + 0x340]
push 0x10
pop ebx
sub ebx, 1
jb 0x1009b7cc
mov ecx, esi
mov edx, edi
push 3
push 0
push 4
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x80], 4
je 0x1009b503
mov eax, dword [esp + 0x80]
cmp al, 4
je 0x1009b503
mov edi, dword [esp + 0x84]
mov ebx, eax
shrd ebx, edi, 8
jmp 0x1009bc05
mov ebx, dword [esp + 0x20c]
imul esi, dword [esp + 0x210], 0x1c
lea eax, [ebx + 0xc]
mov dword [esp + 0xc], eax
test esi, esi
je 0x1009c388
mov edx, dword [ebx + 0x14]
lea ecx, [esp + 0x340]
push dword [ebx + 0x18]
call sym.png::text_metadata::encode_iso_8859_1::h78cf788067cf3b37
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009dd5e
mov dword [esp + 8], esi
lea esi, [esp + 0x345]
lea edi, [esp + 0xf5]
mov edx, dword [esi + 3]
mov esi, dword [esi]
mov dword [edi + 3], edx
mov dword [edi], esi
mov dword [esp + 0xf0], ecx
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0xf8]
add eax, 0xffffffb0
cmp eax, 0xffffffb1
jb 0x1009dd74
lea esi, [esp + 0xf0]
xor edx, edx
mov ecx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
cmp dword [ebx], 0
je 0x1009b6f0
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x340]
mov edx, dword [eax - 4]
push dword [eax]
call sym.png::text_metadata::encode_iso_8859_1::h78cf788067cf3b37
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009de06
mov dword [esp + 0x10], ecx
movzx ecx, word [esp + 0x345]
mov dword [esp + 0x20], ebx
movzx ebx, byte [esp + 0x347]
mov edx, esi
mov esi, dword [esp + 0x348]
movzx eax, al
lea edi, [esp + 0x80]
shl ecx, 8
shl ebx, 0x18
or ebx, ecx
mov ecx, edi
or ebx, eax
push 1
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h4cfa2c3c922fbf68
pop eax
lea ecx, [esp + 0x110]
mov edx, edi
push esi
push ebx
call sym.std::io::Write::write_all::hbfe311fd57adca67
pop eax
pop ecx
cmp byte [esp + 0x110], 4
jne 0x1009de40
push 0xc
pop ecx
lea edx, [esp + 0x340]
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x110]
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::finish::h0d14ef985a2f886c
mov esi, dword [esp + 0x110]
cmp esi, 0x80000000
je 0x1009deb6
lea edx, [esp + 0x116]
lea edi, [esp + 0xf5]
movzx eax, word [esp + 0x114]
mov ecx, dword [edx]
mov dword [edi + 1], ecx
movzx ecx, word [edx + 4]
mov edx, ebx
mov word [edi + 5], cx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf0], esi
mov word [esp + 0xf4], ax
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ebx, dword [esp + 0x20]
jmp 0x1009b70b
mov eax, dword [esp + 0xc]
mov ecx, esi
mov edx, dword [eax - 4]
mov eax, dword [eax]
add eax, edx
push eax
call fcn.1002932c
pop eax
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x4c]
push dword [esp + 0xf8]
push edi
push 0x7458547a
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov ecx, esi
mov edx, edi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov edi, dword [esp + 0x54]
cmp edi, 6
jne 0x1009def3
mov esi, dword [esp + 8]
add dword [esp + 0xc], 0x1c
add ebx, 0x1c
add esi, 0xffffffe4
jmp 0x1009b55b
mov ebx, dword [esp + 0x344]
mov esi, dword [esp + 0x348]
mov dword [esp + 0x48], eax
jmp 0x1009dea0
mov dword [esp + 0x110], 3
mov byte [esp + 0x114], 0xc
mov byte [esp + 0x115], al
jmp 0x1009b7b6
mov bl, 1
mov edx, dword [esp + 0x84]
mov ecx, esi
mov dword [esp + 0x110], 3
mov byte [esp + 0x114], 0xc
mov byte [esp + 0x115], bl
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
push 3
pop edi
mov eax, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
jmp 0x1009abfa
mov ebx, 0xfffffee2
lea esi, [esp + 0x80]
lea edi, [esp + 0x340]
test ebx, ebx
je 0x1009bb90
mov al, byte [ebx + 0x101bf1e6]
mov edx, edi
rol al, 4
mov ecx, eax
shr al, 2
and cl, 0x33
and al, 0x33
shl cl, 2
or al, cl
mov ecx, eax
shr al, 1
and cl, 0x50
and al, 0x50
add cl, cl
or al, cl
mov ecx, esi
shr al, 4
movzx eax, al
push 4
push 0
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x80], 4
je 0x1009b83c
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009b533
inc ebx
jmp 0x1009b7df
lea eax, [esp + 0x2c8]
and dword [esp + 0x354], 0
and dword [esp + 0x350], 0
and word [esp + 0x358], 0
xorps xmm0, xmm0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], edi
mov edx, dword [eax - 0x28]
mov esi, dword [eax - 0x2c]
movaps xmmword [esp + 0x340], xmm0
mov dword [esp + 0x48], edx
mov edx, dword [eax - 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [eax - 0x20]
mov dword [esp + 0x1c], edx
mov dl, byte [eax - 0x14]
mov byte [esp + 0x14], dl
mov edx, dword [eax - 0x1c]
mov dword [esp + 0x24], edx
movzx edx, word [eax - 0x18]
movzx eax, word [eax - 0x16]
mov word [esp + 0x20], dx
mov word [esp + 0x10], ax
push 4
pop eax
lea edi, [esp + 0x340]
mov byte [esp + 0xc], cl
mov ecx, eax
mov edx, edi
push 0x101be918
push 0x1a
pop eax
push eax
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut1
pop ecx
pop ecx
bswap esi
lea ebx, [esp + 0x138]
mov ecx, eax
mov dword [ebx], esi
push 0x101be928
push 4
pop esi
push esi
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
mov ecx, edi
mov edx, esi
push 0x101be938
push 8
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
mov ecx, dword [esp + 0x48]
bswap ecx
mov dword [ebx], ecx
mov ecx, eax
push 0x101be948
push esi
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 8
pop edx
mov ecx, edi
push 0x101be958
push 0xc
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
bswap ecx
mov dword [ebx], ecx
mov ecx, eax
push 0x101be968
push esi
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 0xc
pop edx
mov ecx, edi
push 0x101be978
push 0x10
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
mov ecx, dword [esp + 0x1c]
bswap ecx
mov dword [ebx], ecx
mov ecx, eax
push 0x101be988
push esi
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 0x10
pop edx
mov ecx, edi
push 0x101be998
push 0x14
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
bswap ecx
mov dword [ebx], ecx
mov ecx, eax
push 0x101be9a8
push esi
push ebx
mov esi, ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 0x14
pop edx
mov ecx, edi
push 0x101be9b8
push 0x16
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
movzx ecx, word [esp + 0x20]
rol cx, 8
mov word [ebx], cx
push 2
pop ebx
mov ecx, eax
push 0x101be9c8
push ebx
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 0x16
pop edx
mov ecx, edi
push 0x101be9d8
push 0x18
call sym.__ZN4core5array88__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u3b__u20_N_u5d__GT_9index_mut17h61a387a5
pop ecx
pop ecx
movzx ecx, word [esp + 0x10]
rol cx, 8
mov word [esi], cx
mov ecx, eax
push 0x101be9e8
push ebx
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
mov al, byte [esp + 0x14]
lea esi, [esp + 0x198]
lea edx, [esp + 0x2c8]
mov ecx, esi
mov byte [esp + 0x358], al
mov al, byte [esp + 0xc]
mov byte [esp + 0x359], al
push 0x1a
pop eax
push eax
push edi
push 0x4c546366
call sym.png::encoder::write_chunk::hbc913c703c3a1044
add esp, 0xc
mov eax, dword [esi]
cmp eax, 6
jne 0x1009bd77
inc dword [esp + 0x29c]
inc dword [esp + 0x2cc]
mov eax, dword [esp + 0x288]
or eax, dword [esp + 0x28c]
je 0x1009ddcd
mov edi, dword [esp + 0x38]
mov eax, 0x7ffffffb
mov ecx, 0x7ffffffb
cmp edi, eax
cmovb ecx, edi
add ecx, 4
xor edx, edx
inc edx
mov dword [esp + 0xc], ecx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::allocate_in::h2ef3442f7a366dc2
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edx
test edi, edi
je 0x1009de2a
mov eax, 0x7ffffffb
mov esi, 0x7ffffffb
mov dword [esp + 0x10], ebx
mov dword [esp + 0x38], edi
cmp edi, eax
cmovb esi, edi
push 4
pop ecx
mov edx, dword [esp + 0x14]
mov ebx, ecx
push 0x101beb28
mov edi, dword [esp + 0x10]
push edi
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut1
pop ecx
pop ecx
mov ecx, dword [esp + 0x29c]
bswap ecx
mov dword [esp + 0x340], ecx
mov ecx, eax
push 0x101beb38
push ebx
lea ebx, [esp + 0x348]
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, edi
push 0x101beb48
push 4
pop eax
push eax
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..index..IndexMut_LT_I_GT__GT_::index_mut::h0a6fa07becc6351a
pop ecx
pop ecx
mov edi, edx
mov ecx, esi
mov edx, eax
push 0x101beb58
push edi
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut1
pop ecx
pop ecx
mov ecx, eax
push 0x101beb68
push esi
mov eax, dword [esp + 0x18]
mov ebx, eax
push eax
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h5afc9423603c5491
add esp, 0xc
push 4
pop eax
mov edx, dword [esp + 0x14]
lea ecx, [esi + eax]
push 0x101beb78
push dword [esp + 0x10]
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_5index17hdd
pop ecx
pop ecx
mov edi, edx
lea ecx, [esp + 0x340]
lea edx, [esp + 0x2c8]
push edi
push eax
push 0x54416466
call sym.png::encoder::write_chunk::hbc913c703c3a1044
add esp, 0xc
mov eax, dword [esp + 0x340]
cmp eax, 6
jne 0x1009de7d
mov edi, dword [esp + 0x38]
inc dword [esp + 0x29c]
add ebx, esi
sub edi, esi
jmp 0x1009ba92
lea esi, [esp + 0x80]
lea edx, [esp + 0x340]
mov ecx, esi
push 4
push 0
push 8
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009bbbe
mov eax, dword [esp + 0x80]
cmp al, 4
jne 0x1009bbf6
mov ebx, dword [esp + 0x340]
mov eax, dword [esp + 0x344]
mov edx, dword [esp + 0x348]
push 9
pop ecx
lea edi, [esp + 0x138]
lea esi, [esp + 0x34c]
cmp edx, 0x80000000
rep movsd dword es:[edi], dword [esi]
jne 0x1009bd8e
mov edi, eax
jmp 0x1009bc27
mov ecx, dword [esp + 0x84]
mov ebx, eax
shrd ebx, ecx, 8
mov edi, ecx
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x34c]
shr edi, 8
movzx eax, al
shld edi, ebx, 8
shl ebx, 8
or ebx, eax
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x48]
cmp ecx, 6
jne 0x1009bc91
push 0x14
pop ecx
lea eax, [esp + 0x198]
lea esi, [esp + 0x288]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [eax + 0x3e], 0
je 0x1009bce2
cmp dword [esp + 0x1a0], 0
je 0x1009bcce
xor edi, edi
cmp byte [esp + 0x1c5], 2
push 9
pop ebx
push 3
pop esi
jne 0x1009bd4c
mov eax, dword [esp + 0x19c]
or eax, dword [esp + 0x198]
jne 0x1009bce2
jmp 0x1009bd4c
mov eax, dword [esp + 0xd4]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x288]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax], 1
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h6c638d37b5f4a114
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x198]
or eax, dword [esp + 0x19c]
je 0x1009bd6d
lea esi, [esp + 0x340]
lea edx, [esp + 0x198]
mov ecx, esi
call sym.png::encoder::Writer_LT_W_GT_::write_iend::had60808bcec55a0a
mov esi, dword [esi]
cmp esi, 6
jne 0x1009bd3e
push 0x14
pop ecx
lea eax, [esp + 0x340]
lea esi, [esp + 0x198]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h6c638d37b5f4a114
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0x18c]
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
and dword [ecx], 0
jmp 0x1009bcc6
mov ebx, dword [esp + 0x344]
mov edi, dword [esp + 0x348]
lea ecx, [esp + 0x198]
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h6c638d37b5f4a114
mov eax, dword [esp + 0xd4]
mov dword [eax + 4], esi
mov dword [eax + 0xc], edi
mov dword [eax + 8], ebx
jmp 0x1009acd1
xor edi, edi
push 9
pop ebx
push 3
pop esi
jmp 0x1009bd4c
mov ebx, dword [esp + 0x19c]
mov esi, dword [esp + 0x1a0]
mov dword [esp + 0x48], eax
jmp 0x1009de9c
lea edi, [esp + 0x1a4]
push 9
pop ecx
lea esi, [esp + 0x138]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1a4]
mov edi, dword [esp + 0x1c]
mov dword [ecx - 8], eax
mov dword [ecx - 0xc], ebx
mov dword [ecx - 4], edx
xor edx, edx
inc edx
mov ecx, edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::allocate_in::h2ef3442f7a366dc2
mov esi, edx
mov edx, dword [esp + 0x3c]
lea ebx, [esp + 0x340]
mov dword [esp + 0x7c], eax
mov ecx, ebx
push 0x101bead8
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h25625196d8d29348
add esp, 0xc
mov ecx, edi
and edi, 0xfffffff8
mov dword [esp + 0x6c], esi
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
and ecx, 7
add esi, edi
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xd8], esi
mov dword [esp + 0x188], ebx
mov dword [esp + 8], edi
mov dword [esp + 0x18], ecx
test eax, eax
je 0x1009df6b
cmp eax, ebx
mov esi, dword [esp + 0x6c]
mov edi, edx
cmovb ebx, eax
lea ecx, [edx + ebx]
mov edx, dword [esp + 0x1c]
sub eax, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x30], eax
mov ecx, esi
push 0x101beaf8
push 1
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..index..IndexMut_LT_I_GT__GT_::index_mut::h0a6fa07becc6351a
pop ecx
pop ecx
mov dword [esp + 0x34], eax
mov eax, edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push eax
push dword [esp + 0x38]
mov dword [esp + 0xe8], ebx
push ebx
mov dword [esp + 0xf0], edi
push edi
push dword [esp + 0x18]
push dword [esp + 0x2c]
push dword [esp + 0x28]
call sym.png::filter::filter::h3e54ac27fbac1a2b
add esp, 0x1c
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov ecx, esi
mov edx, edi
push 0x101beb08
push 0
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..index..Index_LT_I_GT__GT_::index::hc85291c7df08fbf2
pop ecx
pop edx
mov byte [eax], bl
movzx eax, word [esp + 0x1b6]
push edi
push esi
push eax
push dword [esp + 0x1c0]
call dword [esp + 0x1c0]
add esp, 0x10
mov ecx, dword [esp + 0xe8]
mov word [esp + 0x1b4], ax
mov word [esp + 0x1b6], dx
xor edx, edx
mov ebx, esi
test ecx, ecx
je 0x1009c297
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
add ecx, 0xfffffff8
mov eax, edi
or eax, esi
lea eax, [ebx + 8]
je 0x1009c06c
test edx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 8], ecx
je 0x1009bf68
mov dword [esp + 0x34], ebx
bsf ebx, esi
bsf eax, edi
lea ecx, [esp + 0x340]
add ebx, 0x20
test edi, edi
cmovne ebx, eax
mov eax, ebx
shr eax, 3
add edx, eax
mov dword [esp + 0x28], eax
mov eax, edx
lea edx, [esp + 0x198]
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_run::h0a019107421a781a
pop eax
cmp byte [esp + 0x340], 4
je 0x1009bf5b
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c34c
cmp ebx, 8
mov ebx, dword [esp + 0x34]
jae 0x1009c0e7
bsr edx, edi
bsr eax, esi
xor edx, 0x1f
xor eax, 0x1f
add edx, 0x20
test esi, esi
cmovne edx, eax
cmp edx, 8
jae 0x1009c076
mov eax, edi
mov edx, edi
mov dword [esp + 0x40], esi
mov esi, edi
mov ebx, 0
shr eax, 0x18
shr esi, 8
shr edx, 0x10
mov dword [esp + 0x34], eax
mov eax, 0xff
and edi, eax
and edx, eax
and esi, eax
movzx eax, word [edi + edi + 0x101bee8c]
mov cl, byte [edi + 0x101bf0c8]
movzx edi, word [esi + esi + 0x101bee8c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x50], eax
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, ebx
add cl, byte [esi + 0x101bf0c8]
movzx esi, word [edx + edx + 0x101bee8c]
xor ebx, ebx
mov edx, 0
or edi, dword [esp + 0x50]
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edx
or ebx, eax
mov eax, dword [esp + 0x28]
or esi, edi
xor edi, edi
add cl, byte [eax + 0x101bf0c8]
mov eax, dword [esp + 0x34]
movzx eax, word [eax + eax + 0x101bee8c]
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, edx
mov edx, dword [esp + 0x34]
or eax, esi
or edi, ebx
add cl, byte [edx + 0x101bf0c8]
lea edx, [esp + 0x198]
movzx esi, cl
lea ecx, [esp + 0x340]
push esi
push edi
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x340], 4
jne 0x1009c17e
mov edi, dword [esp + 0x40]
jmp 0x1009c191
add edx, 8
mov ebx, eax
jmp 0x1009bee5
shr edx, 3
push 8
pop ecx
mov dword [esp + 0x40], edx
sub ecx, edx
mov edx, ebx
push 0x101bf1e8
push 8
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_5index17hdd
pop ecx
pop ecx
mov ebx, eax
mov edi, edx
test edi, edi
je 0x1009c16d
movzx eax, byte [ebx]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
movzx esi, word [eax + eax + 0x101bee8c]
movzx eax, byte [eax + 0x101bf0c8]
push eax
push 0
push esi
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009c0e3
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c34c
inc ebx
dec edi
jmp 0x1009c096
bsr ecx, edi
bsr eax, esi
xor ecx, 0x1f
xor eax, 0x1f
add ecx, 0x20
test esi, esi
cmovne ecx, eax
shr ecx, 3
push 8
pop eax
mov edx, eax
mov dword [esp + 0x40], ecx
sub edx, ecx
mov ecx, dword [esp + 0x28]
push 0x101bf1f8
push eax
push ebx
call sym.__ZN106__LT_core..ops..range..Range_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_5index17h6d90
add esp, 0xc
mov ebx, eax
mov edi, edx
test edi, edi
je 0x1009c16d
movzx eax, byte [ebx]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
movzx esi, word [eax + eax + 0x101bee8c]
movzx eax, byte [eax + 0x101bf0c8]
push eax
push 0
push esi
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009c169
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c34c
inc ebx
dec edi
jmp 0x1009c120
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x40]
jmp 0x1009bee5
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x40]
cmp al, 4
jne 0x1009c34c
mov eax, edi
mov esi, edi
mov edx, edi
mov ebx, 0
shr eax, 0x18
shr esi, 8
shr edx, 0x10
mov dword [esp + 0x34], eax
mov eax, 0xff
and edi, eax
and edx, eax
and esi, eax
movzx eax, word [edi + edi + 0x101bee8c]
mov cl, byte [edi + 0x101bf0c8]
movzx edi, word [esi + esi + 0x101bee8c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], eax
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, ebx
add cl, byte [esi + 0x101bf0c8]
movzx esi, word [edx + edx + 0x101bee8c]
xor ebx, ebx
mov edx, 0
or edi, dword [esp + 0x28]
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edx
or ebx, eax
mov eax, dword [esp + 0x40]
or esi, edi
xor edi, edi
add cl, byte [eax + 0x101bf0c8]
mov eax, dword [esp + 0x34]
movzx eax, word [eax + eax + 0x101bee8c]
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, edx
mov edx, dword [esp + 0x34]
or eax, esi
or edi, ebx
add cl, byte [edx + 0x101bf0c8]
lea edx, [esp + 0x198]
movzx esi, cl
lea ecx, [esp + 0x340]
push esi
push edi
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x340], 4
jne 0x1009c276
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
xor edx, edx
jmp 0x1009bee5
mov eax, dword [esp + 0x340]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov edx, 0
cmp al, 4
je 0x1009bee5
jmp 0x1009c34c
test edx, edx
je 0x1009c2cb
mov eax, edx
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_run::h0a019107421a781a
pop eax
cmp byte [esp + 0x340], 4
je 0x1009c2cb
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c34c
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0xd8]
test esi, esi
je 0x1009c322
movzx eax, byte [edi]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x198]
movzx ebx, word [eax + eax + 0x101bee8c]
movzx eax, byte [eax + 0x101bf0c8]
push eax
push 0
push ebx
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009c31e
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c34c
inc edi
dec esi
jmp 0x1009c2d9
mov eax, dword [esp + 0xe0]
mov ebx, dword [esp + 0x188]
mov edx, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
jmp 0x1009be29
mov edi, dword [esp + 0x344]
mov ecx, eax
movzx ebx, al
mov edx, dword [esp + 0x6c]
shrd ecx, edi, 8
shr edi, 8
shld edi, ecx, 8
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x7c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
jmp 0x1009bc22
mov edi, dword [esp + 0x218]
imul eax, dword [esp + 0x21c], 0x38
lea ebx, [esp + 0x75]
add eax, edi
mov dword [esp + 0x6c], eax
cmp edi, eax
je 0x1009df00
mov edx, dword [edi + 0x14]
lea ecx, [esp + 0x340]
push dword [edi + 0x18]
call sym.png::text_metadata::encode_iso_8859_1::h78cf788067cf3b37
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009df3a
lea esi, [esp + 0x345]
mov edx, dword [esi + 3]
mov esi, dword [esi]
mov dword [ebx + 3], edx
mov dword [ebx], esi
mov dword [esp + 0x70], ecx
mov byte [esp + 0x74], al
mov eax, dword [esp + 0x78]
add eax, 0xffffffb0
cmp eax, 0xffffffb1
jb 0x1009df59
lea esi, [esp + 0x70]
xor edx, edx
mov ecx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov bl, byte [edi + 0x34]
mov ecx, esi
movzx edx, bl
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x44], edi
cmp eax, 4
mov esi, eax
jb 0x1009c47d
lea edi, [edx + 3]
mov esi, eax
and edi, 0xfffffffc
mov ecx, edi
sub ecx, edx
cmp ecx, eax
ja 0x1009c47d
test dword [edx], 0x80808080
jne 0x1009dd88
cmp edi, edx
push 4
pop esi
cmove ecx, esi
lea esi, [eax - 4]
cmp ecx, esi
jae 0x1009c486
test dword [edx + ecx], 0x80808080
jne 0x1009dd88
add ecx, 4
jmp 0x1009c45a
cmp byte [edx + esi - 1], 0
mov esi, ecx
js 0x1009dd88
mov ecx, esi
sub ecx, 1
jae 0x1009c470
jmp 0x1009c493
test dword [edx + esi], 0x80808080
jne 0x1009dd88
add eax, edx
lea esi, [esp + 0x70]
mov ecx, esi
push eax
call fcn.1002932c
pop eax
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov edi, dword [esp + 0x44]
mov ecx, esi
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
add eax, edx
push eax
call fcn.1002932c
pop eax
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h69674530969bfef7
mov eax, dword [edi]
test bl, bl
je 0x1009c575
test eax, eax
je 0x1009c592
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea esi, [esp + 0x80]
lea edx, [esp + 0x70]
mov ecx, esi
mov dword [esp + 0xc], eax
push 1
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h4cfa2c3c922fbf68
pop eax
lea ebx, [esp + 0x110]
mov edx, esi
mov ecx, ebx
push edi
push dword [esp + 0x10]
call sym.std::io::Write::write_all::hbfe311fd57adca67
pop eax
pop ecx
cmp byte [esp + 0x110], 4
jne 0x1009e332
push 0xc
pop ecx
lea edx, [esp + 0x340]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::finish::h0d14ef985a2f886c
mov eax, dword [esp + 0x110]
cmp eax, 0x80000000
je 0x1009e378
lea esi, [esp + 0x116]
movzx ecx, word [esp + 0x114]
mov edi, dword [esp + 0x44]
lea ebx, [esp + 0x75]
mov edx, dword [esi]
movzx esi, word [esi + 4]
mov dword [ebx + 1], edx
mov word [ebx + 5], si
mov dword [esp + 0x70], eax
mov word [esp + 0x74], cx
jmp 0x1009c5a9
test eax, eax
lea ebx, [esp + 0x75]
je 0x1009c5f3
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x70]
add eax, edx
push eax
call fcn.1002932c
pop eax
jmp 0x1009c5a9
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x70]
add eax, edx
push eax
call fcn.1002932c
pop eax
lea ebx, [esp + 0x75]
mov esi, dword [esp + 0x74]
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x4c]
push dword [esp + 0x78]
push esi
push 0x74585469
call sym.png::encoder::write_chunk::h80ab2c20505545fb
add esp, 0xc
mov ecx, dword [esp + 0x70]
mov edx, esi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0xc8]
mov eax, ecx
cmp ecx, 6
jne 0x1009ddb4
mov eax, dword [esp + 0x6c]
add edi, 0x38
jmp 0x1009c3a1
mov eax, dword [edi + 8]
mov dword [esp + 0xe8], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
push 0xffffffffffffffc4
pop eax
test eax, eax
je 0x1009c619
or word [esp + eax + 0xbc], 0xffff
add eax, 2
jmp 0x1009c607
lea esi, [esp + 0x34c]
and dword [esi + 0x488c], 0
and dword [esi + 0x487c], 0
and dword [esi + 0x4878], 0
and dword [esi + 0x4884], 0
and dword [esi + 0x4880], 0
and dword [esi + 0x4888], 0
and dword [esi + 0x4892], 0
and dword [esi + 0x488e], 0
push 0x483c
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x3c
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x4b90]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
call sym.simd_adler32::imp::get_imp::h1eea2686e75141ed
mov dword [esp + 0x4ddc], 1
mov dword [esp + 0x4dd8], eax
and dword [esp + 0x340], 0
mov dword [esp + 0x344], 2
and dword [esp + 0x348], 0
and dword [esi + 0x4896], 0
mov byte [esi + 0x489a], 0
and dword [esp + 0x4de0], 0
and dword [esp + 0x4dec], 0
and dword [esi + 0x4aac], 0
and word [esi + 0x4ab0], 0
push 0x1d8
push 0
lea eax, [esp + 0x4c08]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor edx, edx
mov ecx, 0x400
mov dword [esp + 0x10], 0x400
inc edx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::allocate_in::h2ef3442f7a366dc2
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], 0x400
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x7c]
push 0x10198308
mov dword [esp + 0x4c], eax
push eax
call sym.core::slice::index::__LT_impl_u20_core..ops..index..Index_LT_I_GT__u20_for_u20__u5b_T_u5d__GT_::index::h1f500cfe40e440d1
pop ecx
pop ecx
mov dword [esp + 0x40], edx
cmp byte [esp + 0x4dfb], 7
mov edx, dword [esp + 0x3c]
mov cl, 7
mov esi, 0
mov edi, 0
je 0x1009db30
mov esi, dword [esp + 0x10]
sub esi, edx
jb 0x1009e68d
mov ecx, dword [esp + 0x4de0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
and dword [esp + 0x4de0], 0
mov dword [esp + 8], edx
mov dword [esp + 0x30], ebx
test ecx, ecx
mov dword [esp + 0x64], eax
je 0x1009c82d
mov eax, dword [esp + 0x4de8]
mov edi, esi
mov bl, byte [esp + 0x4de4]
mov ecx, dword [esp + 0x20]
cmp eax, esi
mov dword [esp + 0xc], eax
cmovb edi, eax
mov eax, edx
mov edx, dword [esp + 0x10]
push 0x101981d4
push eax
call sym.__ZN4core5slice5index77__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u5d__GT_9index_mut17h7911f88f8097c
pop ecx
pop ecx
mov ecx, eax
push 0x101981e4
mov dword [esp + 0xc], edi
push edi
call sym.__ZN4core5slice5index77__LT_impl_u20_core..ops..index..IndexMut_LT_I_GT__u20_for_u20__u5b_T_u5d__GT_9index_mut17hc87b434d0ff17
pop ecx
pop ecx
test edx, edx
je 0x1009c7f1
mov byte [eax], bl
inc eax
dec edx
jmp 0x1009c7e7
mov ecx, dword [esp + 0xc]
cmp ecx, esi
jbe 0x1009c821
mov eax, dword [esp + 8]
mov dword [esp + 0x4de0], 1
mov byte [esp + 0x4de4], bl
xor edi, edi
sub ecx, eax
mov ebx, eax
mov dword [esp + 0x4de8], ecx
jmp 0x1009c8d3
mov eax, dword [esp + 8]
add eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4dec]
and dword [esp + 0x4dec], 0
test eax, eax
je 0x1009c8e8
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x4df0]
mov edx, dword [esp + 0x4df4]
mov ebx, dword [esp + 0x20]
sub edi, ecx
mov esi, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x2c], eax
cmp edx, edi
mov dword [esp + 0x24], edi
cmovb edi, edx
neg esi
sub ebx, eax
mov dword [esp + 0x1c], edi
sub edi, 1
jb 0x1009c8a4
mov edx, dword [esp + 0x10]
lea eax, [esi + ecx]
cmp eax, edx
jae 0x1009e3ee
cmp ecx, edx
jae 0x1009e3fa
mov al, byte [ebx + ecx]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], al
inc ecx
jmp 0x1009c87b
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x24]
jbe 0x1009c8e0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4dec], 1
xor edi, edi
sub ecx, ebx
mov dword [esp + 0x4df0], eax
mov dword [esp + 0x4df4], ecx
mov dword [esp + 0xc], 0
jmp 0x1009db16
mov eax, dword [esp + 0x1c]
add dword [esp + 8], eax
mov cl, 8
mov bh, byte [esp + 0x4dfb]
cmp cl, 8
je 0x1009c8fe
cmp cl, bh
je 0x1009dc3a
movzx eax, bh
mov ecx, dword [esp + 0x20]
mov eax, dword [eax*4 + 0x1009e6c4]
add eax, dword [esp + 0x14]
jmp eax
mov esi, edi
mov edi, ebx
cmp byte [esp + 0xc], 0
mov edx, dword [esp + 0x3c]
jne 0x1009e0d2
mov cl, byte [esp + 0x4dfb]
add edx, edi
cmp cl, 7
je 0x1009dcdb
cmp edx, 0xffffffff
je 0x1009dcdb
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
add edx, 0x8000
lea ecx, [esp + 0x54]
add ebx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::resize::h396ac401649975d9
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov eax, ebx
mov ebx, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], edx
jmp 0x1009c72f
cmp byte [esp + 0x4dfd], 0
jne 0x1009dc9d
mov esi, dword [esp + 8]
cmp cl, 7
je 0x1009dca1
mov ecx, dword [esp + 0x3c]
mov edx, esi
push 0x10198274
push dword [esp + 0x14]
push dword [esp + 0x28]
call sym.__ZN106__LT_core..ops..range..Range_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_5index17h19b4
add esp, 0xc
movzx ecx, word [esp + 0x4dde]
push edx
push eax
push ecx
push dword [esp + 0x4de8]
call dword [esp + 0x4de8]
add esp, 0x10
mov word [esp + 0x4ddc], ax
mov word [esp + 0x4dde], dx
mov cl, byte [esp + 0x4dfb]
jmp 0x1009dca1
mov esi, dword [esp + 8]
cmp cl, 7
je 0x1009dcb2
cmp esi, dword [esp + 0x10]
mov al, 1
mov dword [esp + 0xc], eax
jne 0x1009dcce
mov eax, dword [esp + 0x40]
sub esi, dword [esp + 0x3c]
mov dword [esp + 0xc], 0
sub eax, dword [esp + 0x64]
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
jmp 0x1009db1a
lea ecx, [esp + 0x54]
call sym.alloc::vec::Vec_LT_T_C_A_GT_::resize::h396ac401649975d9
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov al, byte [esp + 0x4dfb]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
mov byte [esp + 0x10], al
call sym.core::ptr::drop_in_place_LT_alloc..vec..Vec_LT_u16_GT__GT_::he4d1242e14ae2551
cmp byte [esp + 0x10], 7
jne 0x1009e465
cmp dword [esp + 0xc], 0x80000000
je 0x1009e0f2
mov edx, dword [esp + 8]
lea ecx, [esp + 0x70]
add ebx, edx
push ebx
call fcn.1002932c
pop eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x30], esi
jmp 0x1009c5a5
mov dword [esp + 0x54], 3
mov byte [esp + 0x58], 0xc
mov byte [esp + 0x59], al
jmp 0x1009def0
mov dword [esp + 0x54], 3
mov word [esp + 0x58], 0x10c
jmp 0x1009de1e
mov dword [esp + 0xc8], 3
xor eax, eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov byte [esp + 0xcc], 0xc
mov byte [esp + 0xcd], al
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
push 3
pop eax
mov ecx, dword [esp + 0xd0]
mov esi, dword [esp + 0xcc]
mov edi, eax
mov dword [esp + 0x14], ecx
jmp 0x1009abfe
lea esi, [esp + 0x340]
lea edx, [esp + 0x288]
mov ecx, esi
push dword [esp + 0x38]
push dword [esp + 0xc]
call sym.png::encoder::Writer_LT_W_GT_::write_zlib_encoded_idat::hfc0cd5a93e30893e
pop eax
pop ecx
mov eax, dword [esi]
cmp eax, 6
je 0x1009de37
mov ebx, dword [esp + 0x344]
mov esi, dword [esp + 0x348]
jmp 0x1009bd85
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x54], 3
mov byte [esp + 0x58], 0xc
mov byte [esp + 0x59], al
mov edx, dword [esp + 0xf4]
jmp 0x1009deeb
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov edi, dword [esp + 0x18]
jmp 0x1009b46c
movsd xmm0, qword [esp + 0x110]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h4362d058878f8580
pop eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x54], 3
mov word [esp + 0x58], 0x20c
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::ha7469bc2602d0fb2
jmp 0x1009dee5
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x344]
mov esi, dword [esp + 0x348]
mov dword [esp + 0x48], eax
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov ecx, edi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x44]
mov edi, esi
jmp 0x1009bc2b
movsd xmm0, qword [esp + 0x114]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h4362d058878f8580
pop eax
mov dword [esp + 0x54], 3
mov word [esp + 0x58], 0x20c
mov ecx, dword [esp + 0x10]
mov edx, ebx
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
push 3
pop edi
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
jmp 0x1009abfa
lea esi, [esp + 0x150]
mov eax, dword [esi - 0x18]
mov ecx, dword [esi - 4]
mov ebx, dword [esi - 0x10]
mov edx, dword [esi - 8]
mov dword [esp + 8], eax
mov eax, dword [esi - 0x14]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esi - 0xc]
push 0xe
pop ecx
lea edi, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov edi, eax
jmp 0x1009ac0d
mov dword [esp + 0xc8], 3
mov byte [esp + 0xcc], 0xc
mov byte [esp + 0xcd], al
jmp 0x1009ddb1
mov al, 1
mov dword [esp + 0xc8], 3
jmp 0x1009dd95
push 0xc
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0x198]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x138]
mov ecx, esi
push 0xc
push 0
push 0x8ff
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009dfb2
mov eax, dword [esp + 0x138]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e3d7
mov al, byte [esp + 0x368]
mov ecx, eax
and cl, 7
je 0x1009e003
mov al, 8
lea esi, [esp + 0x138]
lea edx, [esp + 0x340]
sub al, cl
mov ecx, esi
movzx eax, al
push eax
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h27e2d458f2b3410d
add esp, 0xc
cmp byte [esi], 4
je 0x1009dffc
mov eax, dword [esp + 0x138]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e3cc
mov al, byte [esp + 0x368]
test al, al
je 0x1009e060
lea esi, [esp + 0x340]
shr al, 3
lea edx, [esp + 0x138]
movsd xmm0, qword [esi + 0x20]
movzx ecx, al
movsd qword [edx], xmm0
push 0x101bf208
push 8
call sym.__ZN108__LT_core..ops..range..RangeTo_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_5index17hdd
pop ecx
pop ecx
mov edi, edx
lea ebx, [esp + 0x80]
mov edx, esi
mov ecx, ebx
push edi
push eax
call sym.std::io::Write::write_all::h437b3aa55f7dd949
pop eax
pop ecx
mov ecx, ebx
mov edx, 0x101bf218
call sym.core::result::Result_LT_T_C_E_GT_::unwrap::h174004534f833f0f
and dword [esi + 0x24], 0
and dword [esi + 0x20], 0
mov byte [esi + 0x28], 0
lea esi, [esp + 0x340]
lea edi, [esp + 0x138]
mov eax, dword [esi + 0x1c]
mov ecx, edi
mov edx, esi
bswap eax
mov dword [esp + 0x80], eax
push 4
lea eax, [esp + 0x84]
push eax
call sym.std::io::Write::write_all::h437b3aa55f7dd949
pop eax
pop ecx
mov ecx, edi
mov edx, 0x101bf228
call sym.core::result::Result_LT_T_C_E_GT_::unwrap::h174004534f833f0f
mov eax, dword [esi + 8]
cmp eax, 0x80000000
mov dword [esp + 0x20], eax
jne 0x1009e113
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov dword [esp + 0x10], eax
jmp 0x1009e42f
push 0x19
pop edx
mov ecx, str.attempt_to_divide_by_zero
push 0x101b7ac4
call dbg.panic
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
call sym.core::ptr::drop_in_place_LT_alloc..vec..Vec_LT_u16_GT__GT_::he4d1242e14ae2551
mov dword [esp + 0xc8], 3
mov al, 2
jmp 0x1009dd95
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34c]
xor ecx, ecx
mov ebx, dword [esp + 0x350]
imul edi, dword [esp + 0xc]
mov dword [esp + 8], eax
mov eax, edi
sub eax, 1
cmovb eax, ecx
mov ecx, 0xffff
xor edx, edx
div ecx
imul esi, eax, 0x10004
mov eax, edi
xor edx, edx
div ecx
lea eax, [edx + esi + 0xb]
cmp eax, ebx
jae 0x1009e3b2
lea edx, [esp + 0x340]
lea esi, [esp + 0x2f8]
and dword [edx + 8], 0
mov dword [edx + 0xc], 1
and dword [edx + 0x10], 0
and dword [edx + 4], 0
and dword [edx], 0
mov ecx, esi
push 2
push 0x101bf5b4
call sym.std::io::Write::write_all::h437b3aa55f7dd949
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009e1a5
mov eax, dword [esp + 0x2f8]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e408
lea esi, [esp + 0x2f8]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0x101bf59c
call sym.std::io::Write::write_all::h437b3aa55f7dd949
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009e1db
mov eax, dword [esp + 0x2f8]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e408
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov esi, dword [esp + 0x348]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x34c]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [esp + 0x80], xmm0
mov dword [esp + 0x88], eax
call sym.simd_adler32::imp::get_imp::h1eea2686e75141ed
cmp esi, 0x80000000
je 0x1009e422
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x138]
movsd xmm0, qword [esp + 0x80]
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x10]
movsd qword [edx + 0xc], xmm0
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], 1
and word [edx + 0x20], 0
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [edx + 8], esi
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0x340]
mov ecx, esi
push 0x101beae8
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h25625196d8d29348
add esp, 0xc
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x1009e4b2
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x138]
cmp ebx, esi
cmovb esi, ebx
push 1
push 0x101ea681
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::write_data::headf2bbd3e6817f7
pop eax
pop ecx
cmp byte [esp + 0x340], 4
je 0x1009e2d1
mov eax, dword [esp + 0x340]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e318
lea eax, [edi + esi]
sub ebx, esi
lea ecx, [esp + 0x340]
lea edx, [esp + 0x138]
mov dword [esp + 0x14], eax
push esi
push edi
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::write_data::headf2bbd3e6817f7
pop eax
pop ecx
cmp byte [esp + 0x340], 4
jne 0x1009e301
mov edi, dword [esp + 0x14]
jmp 0x1009e28b
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x14]
cmp al, 4
mov dword [esp + 0x10], eax
je 0x1009e28b
mov edi, dword [esp + 0x344]
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
jmp 0x1009e41d
movsd xmm0, qword [esp + 0x110]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h4362d058878f8580
pop eax
lea ecx, [esp + 0x80]
mov dword [esp + 0xc8], 3
mov word [esp + 0xcc], 0x20c
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::ha7469bc2602d0fb2
jmp 0x1009ddb1
movsd xmm0, qword [esp + 0x114]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h4362d058878f8580
pop eax
mov dword [esp + 0xc8], 3
mov word [esp + 0xcc], 0x20c
jmp 0x1009ddb1
mov edi, dword [esp + 0x20]
mov esi, ebx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ebx, esi
jmp 0x1009b417
cmp byte [esp + 0x10], 4
je 0x1009e060
mov edi, dword [esp + 0x13c]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x34c]
jmp 0x1009e42a
mov ecx, eax
push 0x101981f4
call dbg.panic_bounds_check
mov edx, dword [esp + 0x10]
push 0x10198204
call dbg.panic_bounds_check
mov edi, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x34c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 8]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
jmp 0x1009bc2b
cmp dword [esp + 0xc], 0x80000000
je 0x1009e0f2
lea ecx, [esp + 0x340]
lea eax, [esp + 0xec]
mov edx, 0x101982f8
mov dword [ecx], str.internal_error:_entered_unreachable_code:_Impossible_to_allocate_more_than_isize::MAX_bytes
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
and dword [ecx + 0xc], 0
call dbg.panic_fmt
mov edx, 0x140
push 0x10197e10
call dbg.panic_bounds_check
push 0xa
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0x138]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x80]
mov ecx, esi
push 1
push dword [edx + 0x20]
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::set_block_header::h2e60b1ccb358d1a4
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009e4f4
mov eax, dword [esp + 0x80]
cmp al, 4
mov dword [esp + 0x10], eax
jne 0x1009e59e
lea esi, [esp + 0x340]
lea edi, [esp + 0x80]
mov eax, dword [esi + 0x1c]
mov ecx, edi
mov edx, esi
bswap eax
mov dword [esp + 0x2f8], eax
push 4
lea eax, [esp + 0x2fc]
push eax
call sym.std::io::Write::write_all::h437b3aa55f7dd949
pop eax
pop ecx
mov ecx, edi
mov edx, 0x101bf5b8
call sym.core::result::Result_LT_T_C_E_GT_::unwrap::h174004534f833f0f
mov eax, dword [esi + 8]
cmp eax, 0x80000000
jne 0x1009e56a
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov dword [esp + 0x10], eax
jmp 0x1009e422
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x34c]
mov esi, dword [esp + 0x350]
mov edi, eax
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1e3cb15a61af7b6e
mov dword [esp + 8], ebx
jmp 0x1009e3b8
mov edi, dword [esp + 0x84]
jmp 0x1009e40f
call sym.core::panicking::unreachable_display::he296f633fc6475a2
mov edx, dword [esp + 0x10]
push 0x101980d0
call dbg.panic_bounds_check
push 0x1d
pop edx
push 0x10198040
call dbg.panic_bounds_check
mov ecx, edi
push 0x10198110
call dbg.panic_bounds_check
mov ecx, edi
push 0x10198120
call dbg.panic_bounds_check
push 0x10198130
call dbg.panic_bounds_check
push 0x10198140
call dbg.panic_bounds_check
push 0x10198150
call dbg.panic_bounds_check
push 0x10198160
call dbg.panic_bounds_check
push 0x10198170
call dbg.panic_bounds_check
mov edx, dword [esp + 0x10]
push 0x10198180
call dbg.panic_bounds_check
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
push 0x101980e0
call dbg.panic_bounds_check
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
push 0x101980f0
call dbg.panic_bounds_check
push 0x28
pop edx
mov ecx, 0x101c43f6
push 0x10197dc0
call dbg.panic
push 0x28
pop edx
mov ecx, 0x101c43f6
push 0x10197e00
call dbg.panic
push 0x31
pop edx
mov ecx, str.assertion_failed:_output_position___output.len__
push 0x101981c4
call dbg.panic
push 0x28
pop edx
mov ecx, 0x101c43f6
push 0x10197df0
call dbg.panic
push 0x28
pop edx
mov ecx, 0x101c43f6
push 0x10198284
call dbg.panic
nop
lodsb al, byte [esi]
and al, byte [eax]
add byte [edi + 0x2100002c], bh
sub al, byte [eax]
add cl, ah
sub al, byte [eax]
add byte [eax + 0x23], cl
add byte [eax], al
shr byte [0x2e3c0000], cl
add byte [eax], al
dec ebx
inc eax
add byte [eax], al
and byte [0x31b50000], ch
add byte [eax], al
add dword [edx], esi
add byte [eax], al
mov al, 0x34
add byte [eax], al