Function at 0x1009b19e
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.100ecf80
lea eax, [esp + 0x1c4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x32c], eax
and dword [esp + 0x244], 0
and dword [esp + 0x24c], 0
and dword [esp + 0x270], 0
and dword [esp + 0x27c], 0
and dword [esp + 0x284], 0
and dword [esp + 0x2a8], 0
push 4
pop ecx
mov dword [esp + 0x2ac], ecx
and dword [esp + 0x2b0], 0
and dword [esp + 0x2b4], 0
mov dword [esp + 0x2b8], ecx
and dword [esp + 0x2bc], 0
and dword [esp + 0x2c0], 0
mov dword [esp + 0x2c4], ecx
mov ecx, 0x80000001
and dword [esp + 0x2c8], 0
mov esi, dword [edx + 0xc]
mov dword [esp + 0x1c], edx
and dword [eax], 0
mov dword [eax + 4], 1
and dword [eax + 8], 0
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2e4], ecx
mov cl, 2
mov byte [esp + 0x2f8], cl
mov byte [esp + 0x315], cl
mov ecx, dword [edx + 0x10]
mov edx, 0x1000001
mov dword [esp + 0x318], esi
mov dword [esp + 0x198], esi
mov dword [esp + 0x31c], ecx
mov word [esp + 0x320], 0x100
mov byte [esp + 0x322], 4
mov dword [esp + 0x328], edx
mov word [esp + 0x323], 0x806
mov dword [esp + 0x19c], ecx
mov edi, dword [esp + 0x314]
movsd xmm1, qword [esp + 0x304]
movsd xmm0, qword [esp + 0x2fc]
movq xmm2, qword [esp + 0x30c]
mov dword [esp + 0x194], edi
movsd qword [esp + 0x184], xmm1
mov edi, dword [esp + 0x278]
movsd xmm1, qword [esp + 0x270]
movsd qword [esp + 0x17c], xmm0
movq qword [esp + 0x18c], xmm2
mov dword [esp + 0x1a0], 0x8060100
mov dword [esp + 0x178], edi
movsd qword [esp + 0x170], xmm1
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1a4], edx
and dword [esp + 0x16c], 0
and dword [esp + 0x168], 0
and dword [esp + 0x1ac], 0
call 0x1009b356
pop eax
mov byte [esp + 0x1b0], 0
test esi, esi
push 3
pop edi
je 0x1009b5e9
test ecx, ecx
je 0x1009b5f8
mov dword [esp + 0xc], eax
lea edi, [esp + 0x1a8]
lea eax, [0x101bb05c]
lea ecx, [esp + 0x1c4]
mov edx, 0x101bb054
push eax
call fcn.100e4dc4
pop eax
lea eax, [esp + 0x48]
xorps xmm0, xmm0
lea ebx, [esp + 0x330]
movsd qword [ebx + 5], xmm0
mov dword [eax], edi
movsd qword [ebx], xmm0
push 0xd
pop eax
push 4
pop ecx
mov edx, ebx
push 0x101baee4
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 0x101baef4
push 4
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
mov eax, dword [esp + 0x31c]
lea esi, [esp + 0x340]
lea edx, [esp + 0x48]
mov ecx, esi
bswap eax
mov dword [ebx + 4], eax
movzx eax, word [esp + 0x323]
rol ax, 8
mov word [ebx + 8], ax
mov al, byte [esp + 0x320]
mov byte [ebx + 0xc], al
push 0xd
pop eax
push eax
push ebx
push 0x52444849
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009b8ce
mov bl, byte [esp + 0x2f8]
cmp bl, 2
je 0x1009b4fe
mov edi, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2f4]
lea ecx, [esp + 0xf0]
xorps xmm0, xmm0
xor edx, edx
movsd qword [ecx], xmm0
mov byte [ecx + 8], 0
mov dword [esp + 0x10], eax
push 0x101baf04
push 4
pop eax
push 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_mut17h9ca65e54
pop ecx
pop ecx
bswap edi
lea ecx, [esp + 0x340]
mov dword [ecx], edi
mov ecx, eax
push 0x101baf14
push 4
pop edi
push edi
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
lea ecx, [esp + 0xf0]
mov edx, edi
push 0x101baf24
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_mut17h9ca65e54
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
lea edi, [esp + 0x340]
bswap ecx
mov dword [edi], ecx
mov ecx, eax
push 0x101baf34
push 4
pop eax
push eax
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
test bl, bl
lea eax, [esp + 0xf0]
lea edx, [esp + 0x48]
mov ecx, edi
setne byte [eax + 8]
push 9
push eax
push 0x73594870
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009b8ce
cmp dword [esp + 0x2d8], 0x80000001
je 0x1009b53e
lea esi, [esp + 0x340]
lea edx, [esp + 0x48]
mov ecx, esi
push dword [esp + 0x2e0]
push dword [esp + 0x2e0]
push 0x45544c50
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009b8ce
cmp dword [esp + 0x2cc], 0x80000001
je 0x1009b57e
lea esi, [esp + 0x340]
lea edx, [esp + 0x48]
mov ecx, esi
push dword [esp + 0x2d4]
push dword [esp + 0x2d4]
push 0x534e5274
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov edi, dword [esi]
cmp edi, 6
jne 0x1009b8ce
mov al, byte [esp + 0x322]
cmp al, 4
jne 0x1009b608
cmp dword [esp + 0x27c], 0
je 0x1009b5b9
mov edx, dword [esp + 0x280]
lea esi, [esp + 0x340]
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call sym.png::common::ScaledFloat::encode_gama::h55718f55ecf00f6b
pop eax
mov edi, dword [esi]
cmp edi, 6
jne 0x1009b8ce
cmp dword [esp + 0x284], 0
je 0x1009b6d5
lea esi, [esp + 0x340]
lea eax, [esp + 0x48]
lea edx, [esp + 0x288]
mov ecx, esi
push eax
call sym.png::common::SourceChromaticities::encode::he2e02af62379e39a
pop eax
mov edi, dword [esi]
jmp 0x1009b6cc
mov dword [esp + 0xc], 0
xor esi, esi
jmp 0x1009b8e0
xor esi, esi
mov dword [esp + 0xc], 0
inc esi
jmp 0x1009b8e0
lea ebx, [esp + 0xf0]
lea edi, [esp + 0x340]
lea esi, [esp + 0x48]
mov dword [esp + 0x224], 0x7a26
mov dword [esp + 0x228], 0x8084
mov dword [esp + 0x22c], 0xfa00
mov dword [esp + 0x230], 0x80e8
mov dword [esp + 0x234], 0x7530
mov dword [esp + 0x238], 0xea60
mov dword [esp + 0x23c], 0x3a98
mov dword [esp + 0x240], 0x1770
mov byte [ebx], al
mov ecx, edi
mov edx, esi
push 1
push ebx
push 0x42475273
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009b8ce
lea edi, [esp + 0x340]
mov edx, 0xb18f
mov ecx, edi
push esi
call sym.png::common::ScaledFloat::encode_gama::h55718f55ecf00f6b
pop eax
mov edi, dword [edi]
cmp edi, 6
jne 0x1009b8ce
lea edi, [esp + 0x340]
lea edx, [esp + 0x224]
mov ecx, edi
push esi
call sym.png::common::SourceChromaticities::encode::he2e02af62379e39a
pop eax
mov edi, dword [edi]
cmp edi, 6
jne 0x1009b8ce
cmp dword [esp + 0x270], 0
je 0x1009b75e
lea esi, [esp + 0xf0]
mov edi, dword [esp + 0x278]
mov ebx, dword [esp + 0x274]
and dword [esi + 4], 0
and dword [esi], 0
push 4
pop ecx
mov edx, esi
push 0x101baec4
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 + 0xb0]
mov dword [ecx], ebx
mov ebx, ecx
mov ecx, eax
push 0x101baed4
push 4
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
bswap edi
lea edx, [esp + 0x48]
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::h9064a6089f990214
add esp, 0xc
mov edi, dword [edi]
cmp edi, 6
jne 0x1009b8ce
mov edi, dword [esp + 0x2ac]
imul eax, dword [esp + 0x2b0], 0x18
add eax, edi
mov dword [esp + 0x10], eax
cmp edi, dword [esp + 0x10]
lea ecx, [esp + 0x340]
je 0x1009c2cb
mov edx, dword [edi + 4]
push dword [edi + 8]
call sym.png::text_metadata::encode_iso_8859_1::hb57f144f604f529a
pop eax
mov esi, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp esi, 0x80000000
je 0x1009c4e2
lea edx, [esp + 0x345]
lea ebx, [esp + 0xf5]
mov ecx, dword [edx + 3]
mov edx, dword [edx]
mov dword [ebx + 3], ecx
mov dword [ebx], edx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0xf8]
add eax, 0xffffffb0
cmp eax, 0xffffffb1
jb 0x1009c4fe
lea ecx, [esp + 0xf0]
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
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.__LT_core..str..iter..Chars_u20_as_u20_core..iter..traits..iterator..Iterator_GT_::next::hbbf2cf7e53d8e339
mov ecx, 0x100
mov ebx, 0x100
cmp eax, ecx
cmovb ebx, eax
cmp eax, 0x110000
je 0x1009b869
cmp eax, 0xff
ja 0x1009b872
mov edx, dword [esp + 0xf8]
cmp edx, dword [esp + 0xf0]
jne 0x1009b855
lea ecx, [esp + 0xf0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::haa8b74347cf6d8d7
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov byte [eax + edx], bl
inc edx
mov dword [esp + 0xf8], edx
jmp 0x1009b80e
mov esi, dword [esp + 0xf0]
jmp 0x1009b882
mov esi, dword [esp + 0xf0]
cmp bl, 3
jne 0x1009c500
mov ebx, edi
mov edi, dword [esp + 0xf4]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x48]
push dword [esp + 0xf8]
push edi
push 0x74584574
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov ecx, esi
mov edx, edi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov edi, dword [esp + 0xb0]
cmp edi, 6
jne 0x1009c52b
mov edi, ebx
add edi, 0x18
jmp 0x1009b773
mov eax, dword [esp + 0x348]
mov esi, dword [esp + 0x344]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x168]
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h789a9735493c9d0b
push 2
pop ebx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2d0]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h670a2111ae2e1512
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2dc]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h670a2111ae2e1512
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
call sym.core::ptr::drop_in_place_LT_core..option..Option_LT_alloc..borrow..Cow_LT__u5b_u8_u5d__GT__GT__GT_::h670a2111ae2e1512
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::hc5ecd278f3044b0b
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2ac]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1fa3d5977f286ce0
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 0x2bc]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h07a8049170b8fcd1
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1018c34a6b626751
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c8]
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h112f1b939c2d3616
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h35412801836fd8db
cmp ebx, 2
jne 0x1009b9be
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xc]
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax], 1
jmp 0x1009c9ca
lea eax, [esp + 0x1e8]
push 0xe
pop ecx
mov dword [esp + 0x10], esi
mov edx, edi
lea esi, [esp + 0x130]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 0xc], edx
mov edi, ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc], 0
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax - 0x14], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax - 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax - 0x10], ebx
mov bl, byte [eax + 0x22]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov byte [esp + 0x1c], bl
cmp bl, 3
push 3
pop esi
jne 0x1009ba2f
cmp byte [esp + 0x208], 0
jne 0x1009ba2f
mov ebx, esi
jmp 0x1009c9a4
cmp byte [esp + 0x20e], 0
je 0x1009ba65
test edi, edi
push 7
pop ebx
je 0x1009ba4f
cmp byte [esp + 0x1fd], 2
jne 0x1009ba65
jmp 0x1009c9a4
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], 0
or dword [esp + 0x14], edi
jne 0x1009c9a4
lea edi, [esp + 0x1d8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x204]
lea ecx, [esp + 0x1ec]
cmp byte [edi + 0x25], 2
cmove ecx, edx
lea edx, [esp + 0x200]
mov esi, dword [edx]
movzx ebx, byte [edx + 0xb]
movsd xmm0, qword [edx - 0xc]
cmove eax, edx
movsd xmm1, qword [edx - 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x414], esi
mov esi, dword [edx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x418], esi
mov byte [esp + 0x420], bl
mov bl, byte [esp + 0x1c]
mov dword [esp + 0x24], esi
mov esi, 0x80000001
mov byte [esp + 0x41f], bl
mov ebx, dword [edx - 4]
mov byte [esp + 0x41c], 0
mov dword [esp + 0x3c8], esi
mov byte [esp + 0x3f4], 2
mov dword [esp + 0x3d4], esi
and dword [esp + 0x340], 0
and dword [esp + 0x348], 0
movsd qword [esp + 0x408], xmm0
movsd xmm0, qword [edx - 0x1c]
mov dl, byte [edx + 9]
movsd qword [esp + 0x400], xmm1
mov dword [esp + 0x410], ebx
mov ebx, dword [edi + 8]
movsd qword [esp + 0x3f8], xmm0
movsd xmm0, qword [edi]
mov byte [esp + 0x18], dl
mov dword [esp + 0x374], ebx
mov ebx, dword [eax]
mov eax, dword [ecx]
movsd qword [esp + 0x36c], xmm0
mov byte [esp + 0x41d], dl
and dword [esp + 0x378], 0
and dword [esp + 0x380], 0
mov byte [esp + 0x41e], 4
mov dword [esp + 0x3e0], esi
and dword [esp + 0x3a4], 0
mov dword [esp + 0x14], eax
push 4
pop eax
movzx ecx, byte [esp + 0x1c]
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
call sym.png::common::ColorType::samples::h067c182058ad24ee
mov ecx, dword [esp + 0xc]
imul ebx, eax
mov esi, eax
cmp ecx, 8
je 0x1009bbe6
cmp ecx, 0x10
jne 0x1009bbea
mov edi, ecx
add ebx, ebx
jmp 0x1009bc0d
mov edi, ecx
jmp 0x1009bc0d
cmp cl, 8
ja 0x1009ed71
mov al, 8
mov edi, ecx
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_::hef7872afa082d57e
mov ecx, ebx
mov eax, dword [esp + 0x10]
imul ecx, dword [esp + 0x14]
cmp ecx, eax
jne 0x1009bf77
mov edx, ebx
lea ecx, [esp + 0x224]
lea ebx, [esp + 0x1e4]
mov dword [esp + 0x54], edx
call sym.alloc::vec::from_elem::h35925dd1ad6a37c4
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x18]
movsd xmm0, qword [ebx]
mov edx, edi
movsd xmm1, qword [ebx + 8]
movq xmm2, qword [ebx + 0x10]
mov bh, byte [esp + 0x18]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x1c]
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 + 0x410], ecx
lea ecx, [esp + 0x1d8]
movsd qword [esp + 0x3f8], xmm0
movsd qword [esp + 0x400], xmm1
movq qword [esp + 0x408], xmm2
movsd xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
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
mov eax, 0xaf
lea ecx, [esp + 0x224]
and dword [esp + 0x3c4], 0
shr edx, 3
imul esi, edx
dec esi
bt eax, esi
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jae 0x1009f27f
mov bl, byte [esi + 0x101e6f38]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x340]
mov dword [esp + 0xc], eax
call sym.core::ptr::drop_in_place_LT_png..common..Info_GT_::hef7872afa082d57e
movzx edx, byte [esp + 0x20f]
movzx ecx, byte [esp + 0x20c]
cmp bh, 1
movzx eax, bl
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], ecx
jne 0x1009bf86
call sym.simd_adler32::imp::get_imp::h40e9a2a33fb72e15
xor edi, edi
lea edx, [esp + 0x340]
lea esi, [esp + 0x130]
inc edi
mov ecx, esi
mov dword [edx + 0x1c], edi
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], edi
and dword [edx + 0x10], 0
push 0x10
push 0
push 0x178
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
mov ebx, dword [esp + 0x54]
je 0x1009be31
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push edi
push 0
push edi
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009be61
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
push 2
pop eax
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push eax
push 0
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009be94
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0
push 0x1d
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009bec6
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009bef8
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push 4
push 0
push 0xf
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009bf2a
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
lea eax, [ebx + 1]
mov dword [esp + 0x60], eax
push 3
pop ebx
lea esi, [esp + 0x130]
lea edi, [esp + 0x340]
sub ebx, 1
jb 0x1009c272
mov ecx, esi
mov edx, edi
push 3
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x130], 4
je 0x1009bf42
mov eax, dword [esp + 0x130]
cmp al, 4
je 0x1009bf42
jmp 0x1009c959
xor esi, esi
mov ebx, ecx
mov edx, ecx
mov dword [esp + 0xc], eax
jmp 0x1009c9a4
mov edi, dword [esp + 0x54]
lea ecx, [esp + 0x130]
movzx esi, bh
mov edx, edi
call sym.alloc::vec::from_elem::h35925dd1ad6a37c4
lea edx, [esp + 0x340]
lea ecx, [esp + 0x168]
and dword [edx], 0
mov dword [edx + 4], 1
and dword [edx + 8], 0
push dword [esi*4 + 0x101e6f40]
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h9c821f85b7f94c2c
pop eax
mov edx, dword [esp + 0x44]
lea ebx, [esp + 0x340]
mov ecx, ebx
push 0x101bafe4
push edi
push dword [esp + 0x18]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h447e0419ed1ec274
add esp, 0xc
lea ecx, [esp + 0x130]
mov eax, dword [ebx + 8]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
test edi, edi
je 0x1009c0ed
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
cmp edi, ebx
cmovb ebx, edi
push dword [esp + 0x14]
push dword [esp + 0x14]
push ebx
push esi
push dword [esp + 0x2c]
push dword [esp + 0x20]
push dword [esp + 0x38]
call sym.png::filter::filter::h4ff85d7a443e767a
add esp, 0x1c
mov byte [esp + 0xf0], al
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
push 1
lea eax, [esp + 0xf4]
push eax
call sym.std::io::Write::write_all::h8436a19b18809183
pop eax
pop ecx
cmp byte [esp + 0x340], 4
je 0x1009c076
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009c0d2
lea eax, [esi + ebx]
sub edi, ebx
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
mov dword [esp + 0x18], eax
push dword [esp + 0x14]
push dword [esp + 0x14]
call sym.std::io::Write::write_all::h8436a19b18809183
pop eax
pop ecx
cmp byte [esp + 0x340], 4
jne 0x1009c0b7
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
jmp 0x1009c004
mov eax, dword [esp + 0x340]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
cmp al, 4
je 0x1009c004
mov ecx, dword [esp + 0x344]
mov ebx, eax
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x168]
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::h1d8c4b900bfa9d3c
jmp 0x1009c123
push 0xc
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0x168]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xf0]
mov ecx, edi
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::finish::ha1d0e0f250ea87d6
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 4]
cmp eax, 0x80000000
mov dword [esp + 0xc], ecx
jne 0x1009c133
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x10]
jmp 0x1009c989
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov esi, ebx
mov cl, byte [esp + 0x1fd]
lea edx, [esp + 0x340]
mov dword [esp + 0x18], esi
cmp cl, 2
je 0x1009c182
cmp byte [esp + 0x20d], 0
je 0x1009c5b1
mov eax, dword [esp + 0x1d4]
or eax, dword [esp + 0x1d0]
jne 0x1009c5b1
lea edi, [esp + 0x340]
lea edx, [esp + 0x1d0]
mov ecx, edi
push dword [esp + 0xc]
push esi
call sym.png::encoder::Writer_LT_W_GT_::write_zlib_encoded_idat::h5bb458411dd2298b
pop eax
pop ecx
mov esi, dword [edi]
cmp esi, 6
jne 0x1009c2b8
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
xor edx, edx
dec edx
add eax, 1
adc ecx, 0
cmovb ecx, edx
cmovb eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
cmp dword [esp + 0x1d8], 0
je 0x1009c1fa
mov eax, dword [esp + 0x1dc]
cmp eax, dword [esp + 0x214]
ja 0x1009c1fa
mov byte [esp + 0x1fd], 2
mov ecx, dword [esp + 0x14]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x228]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 0x14
pop ecx
lea eax, [esp + 0x168]
lea esi, [esp + 0x1d0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [eax + 0x3e], 0
je 0x1009ca2e
cmp dword [esp + 0x170], 0
je 0x1009ca1a
xor edi, edi
cmp byte [esp + 0x195], 2
push 9
pop ebx
push 3
pop esi
jne 0x1009ca9b
mov eax, dword [esp + 0x16c]
or eax, dword [esp + 0x168]
jne 0x1009ca2e
jmp 0x1009ca9b
lea esi, [esp + 0x130]
lea edi, [esp + 0x340]
push 0x10
pop ebx
sub ebx, 1
jb 0x1009c53e
mov ecx, esi
mov edx, edi
push 3
push 0
push 4
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x130], 4
je 0x1009c283
mov eax, dword [esp + 0x130]
cmp al, 4
je 0x1009c283
jmp 0x1009c959
mov ebx, dword [esp + 0x344]
mov eax, dword [esp + 0x348]
jmp 0x1009c9f3
mov ebx, dword [esp + 0x2b8]
imul esi, dword [esp + 0x2bc], 0x1c
lea eax, [ebx + 0xc]
mov dword [esp + 0x10], eax
test esi, esi
je 0x1009d09b
mov edx, dword [ebx + 0x14]
lea ecx, [esp + 0x340]
push dword [ebx + 0x18]
call sym.png::text_metadata::encode_iso_8859_1::hb57f144f604f529a
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009ea43
mov dword [esp + 0x14], esi
lea esi, [esp + 0x345]
lea edi, [esp + 0xa9]
mov edx, dword [esi + 3]
mov esi, dword [esi]
mov dword [edi + 3], edx
mov dword [edi], esi
mov dword [esp + 0xa4], ecx
mov byte [esp + 0xa8], al
mov eax, dword [esp + 0xac]
test eax, eax
je 0x1009ca06
cmp eax, 0x4f
ja 0x1009ca06
lea esi, [esp + 0xa4]
xor edx, edx
mov ecx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
cmp dword [ebx], 0
je 0x1009c479
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x340]
mov edx, dword [eax - 4]
push dword [eax]
call sym.png::text_metadata::encode_iso_8859_1::hb57f144f604f529a
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009eb0b
mov dword [esp + 0x18], ecx
movzx ecx, word [esp + 0x345]
mov dword [esp + 0x20], ebx
movzx ebx, byte [esp + 0x347]
mov edi, dword [esp + 0x348]
movzx eax, al
mov edx, esi
lea esi, [esp + 0xf0]
shl ecx, 8
shl ebx, 0x18
or ebx, ecx
mov ecx, esi
or ebx, eax
push 1
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h9c821f85b7f94c2c
pop eax
lea ecx, [esp + 0xb0]
mov edx, esi
push edi
push ebx
call sym.std::io::Write::write_all::h8436a19b18809183
pop eax
pop ecx
cmp byte [esp + 0xb0], 4
jne 0x1009eb2c
push 0xc
pop ecx
lea edx, [esp + 0x340]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xb0]
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::finish::ha1d0e0f250ea87d6
mov esi, dword [esp + 0xb0]
cmp esi, 0x80000000
je 0x1009eb69
lea edx, [esp + 0xb6]
lea edi, [esp + 0xa9]
movzx eax, word [esp + 0xb4]
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 + 0x18]
mov dword [esp + 0xa4], esi
mov word [esp + 0xa8], ax
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ebx, dword [esp + 0x20]
jmp 0x1009c494
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edx, dword [eax - 4]
mov eax, dword [eax]
add eax, edx
push eax
call fcn.100e4dc4
pop eax
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x48]
push dword [esp + 0xac]
push edi
push 0x7458547a
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov ecx, esi
mov edx, edi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov edi, dword [esp + 0x70]
cmp edi, 6
jne 0x1009eba6
mov esi, dword [esp + 0x14]
add dword [esp + 0x10], 0x1c
add ebx, 0x1c
add esi, 0xffffffe4
jmp 0x1009c2e1
mov dword [esp + 0xb0], 3
mov byte [esp + 0xb4], 0xc
mov byte [esp + 0xb5], al
jmp 0x1009c528
mov bl, 1
mov edx, dword [esp + 0xf4]
mov ecx, esi
mov dword [esp + 0xb0], 3
mov byte [esp + 0xb4], 0xc
mov byte [esp + 0xb5], bl
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 3
pop edi
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0xb4]
jmp 0x1009b8dc
mov ebx, 0xfffffee2
lea esi, [esp + 0x130]
lea edi, [esp + 0x340]
test ebx, ebx
je 0x1009c8ec
mov al, byte [ebx + 0x101bb65e]
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::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x130], 4
je 0x1009c5ae
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
inc ebx
jmp 0x1009c551
lea eax, [esp + 0x210]
and word [esp + 0x358], 0
xorps xmm0, xmm0
mov edi, dword [eax - 0x24]
mov ch, byte [eax - 0x14]
mov ebx, dword [eax - 0x2c]
mov esi, dword [eax - 0x28]
movsd qword [esp + 0x350], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x340], xmm0
mov dword [esp + 0x54], edi
mov edi, dword [eax - 0x20]
mov byte [esp + 0x1c], ch
mov dword [esp + 0x44], edi
mov edi, dword [eax - 0x1c]
mov dword [esp + 0x3c], edi
movzx edi, word [eax - 0x18]
movzx eax, word [eax - 0x16]
mov word [esp + 0x24], di
mov word [esp + 0x20], ax
push 0x1a
pop edi
push 4
pop eax
mov byte [esp + 0x10], cl
mov ecx, eax
push 0x101bade4
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
bswap ebx
lea edi, [esp + 0xf0]
mov ecx, eax
mov dword [edi], ebx
push 0x101badf4
push 4
pop ebx
push ebx
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
lea ecx, [esp + 0x340]
mov edx, ebx
push 0x101bae04
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_mut17h30c1c865
pop ecx
pop ecx
bswap esi
mov ecx, eax
mov dword [edi], esi
push 0x101bae14
push ebx
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 8
pop edx
lea ecx, [esp + 0x340]
mov esi, ecx
push 0x101bae24
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_mut17h30c1c865
pop ecx
pop ecx
mov ecx, dword [esp + 0x54]
bswap ecx
mov dword [edi], ecx
mov ecx, eax
push 0x101bae34
push ebx
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 0xc
pop edx
mov ecx, esi
push 0x101bae44
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_mut17h30c1c865
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
bswap ecx
mov dword [edi], ecx
mov ecx, eax
push 0x101bae54
push ebx
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 0x10
pop edx
mov ecx, esi
push 0x101bae64
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_mut17h30c1c865
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
bswap ecx
mov dword [edi], ecx
mov ecx, eax
push 0x101bae74
push ebx
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 0x14
pop edx
mov ecx, esi
mov ebx, esi
push 0x101bae84
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_mut17h30c1c865
pop ecx
pop ecx
movzx ecx, word [esp + 0x24]
rol cx, 8
mov word [edi], cx
push 2
pop esi
mov ecx, eax
push 0x101bae94
push esi
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 0x16
pop edx
mov ecx, ebx
push 0x101baea4
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_mut17h30c1c865
pop ecx
pop ecx
movzx ecx, word [esp + 0x20]
rol cx, 8
mov word [edi], cx
mov ecx, eax
push 0x101baeb4
push esi
push edi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
mov al, byte [esp + 0x1c]
lea edi, [esp + 0x168]
lea edx, [esp + 0x210]
mov ecx, edi
mov byte [esp + 0x358], al
mov al, byte [esp + 0x10]
mov byte [esp + 0x359], al
push 0x1a
pop eax
push eax
push ebx
push 0x4c546366
call sym.png::encoder::write_chunk::h1f2de05482d60434
add esp, 0xc
mov esi, dword [edi]
cmp esi, 6
jne 0x1009c9e5
inc dword [esp + 0x1e4]
inc dword [esp + 0x214]
mov eax, dword [esp + 0x1d0]
or eax, dword [esp + 0x1d4]
je 0x1009ea59
mov esi, dword [esp + 0xc]
mov eax, 0x7ffffffb
mov edx, 0x7ffffffb
lea ecx, [esp + 0x168]
cmp esi, eax
cmovb edx, esi
add edx, 4
call sym.alloc::vec::from_elem::h35925dd1ad6a37c4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
test esi, esi
je 0x1009eac1
mov edx, dword [esp + 0x16c]
mov eax, 0x7ffffffb
mov ebx, 0x7ffffffb
mov dword [esp + 0xc], esi
cmp esi, eax
cmovb ebx, esi
push 4
pop ecx
mov edi, ecx
push 0x101baff4
push dword [esp + 0x174]
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 + 0x1e4]
bswap ecx
mov dword [esp + 0x340], ecx
mov ecx, eax
push 0x101bb004
push edi
lea esi, [esp + 0x348]
push esi
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push 0x101bb014
push edi
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..index..IndexMut_LT_I_GT__GT_::index_mut::h85642d5fd72344e5
pop ecx
pop ecx
mov edi, edx
mov edx, eax
mov ecx, ebx
push 0x101bb024
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 0x101bb034
push ebx
push dword [esp + 0x24]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
push 4
pop eax
mov edx, dword [esp + 0x170]
add eax, ebx
cmp edx, eax
jb 0x1009f311
mov edi, dword [esp + 0x16c]
mov ecx, esi
lea edx, [esp + 0x210]
push eax
push edi
push 0x54416466
call sym.png::encoder::write_chunk::h1f2de05482d60434
add esp, 0xc
mov esi, dword [esp + 0x340]
cmp esi, 6
jne 0x1009eae6
mov esi, dword [esp + 0xc]
add dword [esp + 0x1c], ebx
inc dword [esp + 0x1e4]
sub esi, ebx
jmp 0x1009c7ef
lea esi, [esp + 0x130]
lea edx, [esp + 0x340]
mov ecx, esi
push 4
push 0
push 8
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009c91a
mov eax, dword [esp + 0x130]
cmp al, 4
jne 0x1009c959
mov eax, dword [esp + 0x340]
mov ebx, dword [esp + 0x344]
mov edx, dword [esp + 0x348]
push 9
pop ecx
lea edi, [esp + 0xf0]
lea esi, [esp + 0x34c]
cmp edx, 0x80000000
rep movsd dword es:[edi], dword [esi]
jne 0x1009cabc
push 2
pop esi
mov dword [esp + 0xc], ebx
mov ebx, eax
jmp 0x1009c991
mov ecx, dword [esp + 0x134]
mov ebx, eax
mov edx, dword [esp + 0x34c]
movzx eax, al
shrd ebx, ecx, 8
shr ecx, 8
mov dword [esp + 0xc], ecx
shld dword [esp + 0xc], ebx, 8
mov ecx, dword [esp + 0x348]
shl ebx, 8
or ebx, eax
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 2
pop esi
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x228]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xc]
mov dword [eax + 4], esi
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x1d0]
mov dword [eax + 8], ebx
mov dword [eax], 1
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h789a9735493c9d0b
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c8]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
jmp 0x1009c991
mov dword [esp + 0x70], 3
mov word [esp + 0x74], 0x10c
jmp 0x1009eb23
mov eax, dword [esp + 0x168]
or eax, dword [esp + 0x16c]
je 0x1009ead9
lea esi, [esp + 0x340]
lea edx, [esp + 0x168]
mov ecx, esi
call sym.png::encoder::Writer_LT_W_GT_::write_iend::h3744082ab006709a
mov esi, dword [esi]
cmp esi, 6
jne 0x1009ca8d
push 0x14
pop ecx
lea eax, [esp + 0x340]
lea esi, [esp + 0x168]
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::h789a9735493c9d0b
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x1c4]
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
and dword [ecx], 0
jmp 0x1009c9dd
mov ebx, dword [esp + 0x344]
mov edi, dword [esp + 0x348]
lea ecx, [esp + 0x168]
call sym.__LT_png..encoder..Writer_LT_W_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h789a9735493c9d0b
mov eax, dword [esp + 0xa0]
mov dword [eax + 4], esi
mov dword [eax + 0xc], edi
mov dword [eax + 8], ebx
jmp 0x1009b9b3
lea edi, [esp + 0x174]
push 9
pop ecx
lea esi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x174]
mov dword [ecx - 8], ebx
mov dword [ecx - 0xc], eax
mov dword [ecx - 4], edx
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0xb0]
call sym.alloc::vec::from_elem::h35925dd1ad6a37c4
mov edx, dword [esp + 0x44]
lea esi, [esp + 0x340]
mov ecx, esi
push 0x101bafa4
push dword [esp + 0x58]
push dword [esp + 0x18]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h447e0419ed1ec274
add esp, 0xc
mov ecx, dword [esi + 8]
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0x58], ecx
test eax, eax
je 0x1009ec1e
cmp eax, ecx
mov ebx, ecx
mov edi, edx
cmovb ebx, eax
lea ecx, [edx + ebx]
mov edx, dword [esp + 0xb8]
sub eax, ebx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x84], eax
push 0x101bafc4
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::h85642d5fd72344e5
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x3c]
push esi
push eax
mov dword [esp + 0x54], ebx
push ebx
mov dword [esp + 0x3c], edi
push edi
push dword [esp + 0x2c]
push dword [esp + 0x20]
push dword [esp + 0x38]
call sym.png::filter::filter::h4ff85d7a443e767a
add esp, 0x1c
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov ebx, eax
mov ecx, esi
mov edx, edi
push 0x101bafd4
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::ha732766ac43e2ead
pop ecx
pop edx
mov byte [eax], bl
movzx eax, word [esp + 0x186]
push edi
push esi
push eax
push dword [esp + 0x190]
call dword [esp + 0x190]
add esp, 0x10
mov word [esp + 0x184], ax
mov eax, edi
and edi, 7
mov word [esp + 0x186], dx
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], esi
mov dword [esp + 0xc], esi
and eax, 0xfffffff8
mov dword [esp + 0x5c], edi
lea ebx, [esi + eax]
mov ecx, eax
mov dword [esp + 0x2c], ebx
test ecx, ecx
je 0x1009cfb7
mov edx, dword [esp + 0xc]
add ecx, 0xfffffff8
mov eax, dword [edx]
mov esi, dword [edx + 4]
mov dword [esp + 0x1c], eax
or eax, esi
lea eax, [edx + 8]
mov dword [esp + 0x18], esi
je 0x1009cd88
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
test eax, eax
je 0x1009cc84
mov edx, dword [esp + 0x1c]
bsf edi, ebx
add edi, 0x20
bsf ecx, edx
test edx, edx
lea edx, [esp + 0x168]
cmovne edi, ecx
lea ecx, [esp + 0x340]
mov esi, edi
shr esi, 3
add eax, esi
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_run::hba49a94f9ecd12a8
pop eax
cmp byte [esp + 0x340], 4
je 0x1009cc7b
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009d056
cmp edi, 8
jae 0x1009cdf9
mov edi, dword [esp + 0x1c]
bsr eax, ebx
xor eax, 0x1f
bsr ecx, edi
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, eax
cmp ecx, 8
jae 0x1009cd96
mov eax, edi
mov esi, edi
mov edx, edi
mov ebx, 0
shr eax, 0x18
shr esi, 8
shr edx, 0x10
mov dword [esp + 0xc], eax
mov eax, 0xff
and edi, eax
and edx, eax
and esi, eax
movzx eax, word [edi + edi + 0x101bb304]
mov cl, byte [edi + 0x101bb540]
movzx edi, word [esi + esi + 0x101bb304]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], eax
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, ebx
add cl, byte [esi + 0x101bb540]
movzx esi, word [edx + edx + 0x101bb304]
xor ebx, ebx
mov edx, 0
or edi, dword [esp + 0x40]
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edx
or ebx, eax
mov eax, dword [esp + 0x1c]
or esi, edi
xor edi, edi
add cl, byte [eax + 0x101bb540]
mov eax, dword [esp + 0xc]
movzx eax, word [eax + eax + 0x101bb304]
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, edx
mov edx, dword [esp + 0xc]
or eax, esi
or edi, ebx
add cl, byte [edx + 0x101bb540]
lea edx, [esp + 0x168]
movzx esi, cl
lea ecx, [esp + 0x340]
push esi
push edi
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x340], 4
jne 0x1009ce7d
mov edi, dword [esp + 0x18]
jmp 0x1009ce90
add dword [esp + 0x40], 8
mov dword [esp + 0xc], eax
jmp 0x1009cbf9
shr ecx, 3
push 8
pop esi
sub esi, ecx
xor edi, edi
mov dword [esp + 0x40], ecx
cmp esi, edi
je 0x1009ce74
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
movzx eax, byte [eax + edi]
movzx ebx, word [eax + eax + 0x101bb304]
movzx eax, byte [eax + 0x101bb540]
push eax
push 0
push ebx
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009cdf6
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009d056
inc edi
jmp 0x1009cda4
bsr ecx, dword [esp + 0x1c]
bsr eax, ebx
xor eax, 0x1f
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, eax
shr ecx, 3
push 8
pop edi
sub edi, ecx
mov dword [esp + 0x40], ecx
cmp esi, edi
ja 0x1009f341
cmp edi, esi
je 0x1009ce74
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
movzx eax, byte [eax + esi]
movzx ebx, word [eax + eax + 0x101bb304]
movzx eax, byte [eax + 0x101bb540]
push eax
push 0
push ebx
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009ce71
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009d056
inc esi
jmp 0x1009ce23
mov eax, dword [esp + 0x34]
jmp 0x1009cf72
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x18]
cmp al, 4
jne 0x1009d056
mov eax, edi
mov esi, edi
mov edx, edi
mov ebx, 0
shr eax, 0x18
shr esi, 8
shr edx, 0x10
mov dword [esp + 0xc], eax
mov eax, 0xff
and edi, eax
and edx, eax
and esi, eax
movzx eax, word [edi + edi + 0x101bb304]
mov cl, byte [edi + 0x101bb540]
movzx edi, word [esi + esi + 0x101bb304]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, ebx
add cl, byte [esi + 0x101bb540]
movzx esi, word [edx + edx + 0x101bb304]
xor ebx, ebx
mov edx, 0
or edi, dword [esp + 0x18]
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edx
or ebx, eax
mov eax, dword [esp + 0x1c]
or esi, edi
xor edi, edi
add cl, byte [eax + 0x101bb540]
mov eax, dword [esp + 0xc]
movzx eax, word [eax + eax + 0x101bb304]
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, edx
mov edx, dword [esp + 0xc]
or eax, esi
or edi, ebx
add cl, byte [edx + 0x101bb540]
lea edx, [esp + 0x168]
movzx esi, cl
lea ecx, [esp + 0x340]
push esi
push edi
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x340], 4
jne 0x1009cf87
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], 0
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
jmp 0x1009cbf9
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], 0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
cmp al, 4
je 0x1009cbf9
jmp 0x1009d056
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1009d02e
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
push eax
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_run::hba49a94f9ecd12a8
pop eax
cmp byte [esp + 0x340], 4
je 0x1009d02e
mov eax, dword [esp + 0x340]
cmp al, 4
je 0x1009d02e
jmp 0x1009d056
movzx eax, byte [ebx]
lea ecx, [esp + 0x340]
lea edx, [esp + 0x168]
movzx esi, word [eax + eax + 0x101bb304]
movzx eax, byte [eax + 0x101bb540]
push eax
push 0
push esi
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esp + 0x340], 4
je 0x1009d02c
mov eax, dword [esp + 0x340]
cmp al, 4
jne 0x1009d056
inc ebx
dec edi
test edi, edi
jne 0x1009cfeb
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
jmp 0x1009cb1d
mov edx, dword [esp + 0x344]
mov ecx, eax
movzx ebx, al
shrd ecx, edx, 8
shr edx, 8
mov dword [esp + 0xc], edx
shld dword [esp + 0xc], ecx, 8
shl ecx, 8
mov edx, dword [esp + 0x38]
or ebx, ecx
mov ecx, dword [esp + 0xb0]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
jmp 0x1009c989
mov edi, dword [esp + 0x2c4]
imul ebx, dword [esp + 0x2c8], 0x38
add ebx, edi
mov dword [esp + 0x84], ebx
cmp edi, ebx
je 0x1009ebc5
mov edx, dword [edi + 0x14]
lea ecx, [esp + 0x340]
mov dword [esp + 0x44], edi
push dword [edi + 0x18]
call sym.png::text_metadata::encode_iso_8859_1::hb57f144f604f529a
pop eax
mov ecx, dword [esp + 0x340]
mov al, byte [esp + 0x344]
cmp ecx, 0x80000000
je 0x1009ebff
lea esi, [esp + 0x345]
lea ebx, [esp + 0x8d]
mov edx, dword [esi + 3]
mov esi, dword [esi]
mov dword [ebx + 3], edx
mov dword [ebx], esi
mov dword [esp + 0x88], ecx
mov byte [esp + 0x8c], al
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1009ebb3
cmp eax, 0x4f
ja 0x1009ebb3
lea esi, [esp + 0x88]
xor edx, edx
mov ecx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov edi, dword [esp + 0x44]
mov ecx, esi
mov bl, byte [edi + 0x34]
movzx edx, bl
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
cmp eax, 3
mov ecx, eax
ja 0x1009d176
mov esi, ecx
sub esi, 1
jb 0x1009d1b6
cmp byte [edx + ecx - 1], 0
mov ecx, esi
jns 0x1009d161
jmp 0x1009ea76
test dword [edx], 0x80808080
jne 0x1009ea76
lea ecx, [edx + 3]
and ecx, 0xfffffffc
sub ecx, edx
push 4
pop esi
cmove ecx, esi
lea esi, [eax - 4]
cmp ecx, esi
jae 0x1009d1a9
test dword [edx + ecx], 0x80808080
jne 0x1009ea76
add ecx, 4
jmp 0x1009d193
test dword [edx + esi], 0x80808080
jne 0x1009ea76
add eax, edx
lea esi, [esp + 0x88]
mov ecx, esi
push eax
call fcn.100e4dc4
pop eax
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
mov ecx, esi
add eax, edx
push eax
call fcn.100e4dc4
pop eax
mov ecx, esi
xor edx, edx
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h0e6bad3f208eb059
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov eax, dword [edi]
test bl, bl
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], edx
je 0x1009d2aa
test eax, eax
je 0x1009d2ae
lea esi, [esp + 0xf0]
lea edx, [esp + 0x88]
mov ecx, esi
push 1
call sym.flate2::zlib::write::ZlibEncoder_LT_W_GT_::new::h9c821f85b7f94c2c
pop eax
lea ebx, [esp + 0xb0]
mov edx, esi
mov ecx, ebx
push dword [esp + 0x60]
push dword [esp + 0x44]
call sym.std::io::Write::write_all::h8436a19b18809183
pop eax
pop ecx
cmp byte [esp + 0xb0], 4
jne 0x1009efdd
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::ha1d0e0f250ea87d6
mov eax, dword [esp + 0xb0]
cmp eax, 0x80000000
je 0x1009f023
lea esi, [esp + 0xb6]
movzx ecx, word [esp + 0xb4]
lea edi, [esp + 0x8d]
mov edx, dword [esi]
movzx esi, word [esi + 4]
mov dword [edi + 1], edx
mov word [edi + 5], si
mov dword [esp + 0x88], eax
mov word [esp + 0x8c], cx
mov edi, dword [esp + 0x44]
jmp 0x1009d2c6
test eax, eax
je 0x1009d31c
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x88]
add eax, edx
push eax
call fcn.100e4dc4
pop eax
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x94]
lea edx, [esp + 0x48]
push dword [esp + 0x90]
push esi
push 0x74585469
call sym.png::encoder::write_chunk::h9064a6089f990214
add esp, 0xc
mov ecx, dword [esp + 0x88]
mov edx, esi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ecx, dword [esp + 0x94]
mov eax, ecx
cmp ecx, 6
jne 0x1009eaa8
add edi, 0x38
jmp 0x1009d0b3
push 0xffffffffffffffc4
pop eax
test eax, eax
je 0x1009d331
or word [esp + eax + 0x12c], 0xffff
add eax, 2
jmp 0x1009d31f
call sym.simd_adler32::imp::get_imp::h40e9a2a33fb72e15
and dword [esp + 0x340], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x344], 2
push 0x4840
push 0
lea ebx, [esp + 0x350]
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
push 0xf
pop ecx
lea edi, [esp + 0x4b88]
lea esi, [esp + 0xf0]
xorps xmm0, xmm0
xor eax, eax
rep movsd dword es:[edi], dword [esi]
movsd qword [ebx + 0x4894], xmm0
movsd qword [ebx + 0x488c], xmm0
movsd qword [ebx + 0x4884], xmm0
movsd qword [ebx + 0x487c], xmm0
and dword [ebx + 0x489b], 0
and dword [esp + 0x4de0], 0
and dword [esp + 0x4dec], 0
and dword [ebx + 0x4ab0], 0
mov byte [ebx + 0x4ab4], al
push 0x1d8
push 0
lea eax, [esp + 0x4c08]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xe0]
mov edx, 0x400
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4dd8], eax
xor eax, eax
mov dword [esp + 0x4ddc], 1
mov byte [esp + 0x4dfd], al
call sym.alloc::vec::from_elem::h35925dd1ad6a37c4
mov ebx, dword [esp + 0x30]
xor ecx, ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x54], ecx
push 0x101946d8
push dword [esp + 0x64]
call fcn.100484b4
pop ecx
pop ecx
mov dword [esp + 0x5c], edx
cmp byte [esp + 0x4dfb], 7
mov edx, dword [esp + 0x3c]
mov cl, 7
mov esi, 0
mov edi, 0
je 0x1009e7e0
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x18], edi
sub edi, edx
jb 0x1009f361
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x4de0]
and dword [esp + 0x4de0], 0
mov dword [esp + 0x6c], eax
test ecx, ecx
mov ecx, edx
je 0x1009d523
mov eax, dword [esp + 0x4de8]
mov ecx, edx
mov bl, byte [esp + 0x4de4]
mov edx, dword [esp + 0x20]
mov esi, edi
cmp eax, edi
mov dword [esp + 0x10], eax
cmovb esi, eax
push 0x101945b4
push dword [esp + 0x1c]
call fcn.1002088a
pop ecx
pop ecx
mov dword [esp + 0x24], edx
mov edx, eax
mov dword [esp + 0x14], esi
mov ecx, esi
push 0x101945c4
push dword [esp + 0x28]
call fcn.100262de
pop ecx
pop ecx
test edx, edx
je 0x1009d4eb
mov byte [eax], bl
inc eax
dec edx
jmp 0x1009d4e1
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x1009d51b
mov eax, dword [esp + 0x14]
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 0x1009d5c9
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x4dec]
and dword [esp + 0x4dec], 0
mov dword [esp + 0x14], ecx
test eax, eax
je 0x1009d5de
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x4df0]
mov edx, dword [esp + 0x4df4]
mov ebx, dword [esp + 0x20]
sub edi, ecx
mov esi, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], eax
cmp edx, edi
mov dword [esp + 0x28], edi
cmovb edi, edx
neg esi
sub ebx, eax
mov dword [esp + 0x10], edi
sub edi, 1
jb 0x1009d59a
mov edx, dword [esp + 0x18]
lea eax, [esi + ecx]
cmp eax, edx
jae 0x1009f0a9
cmp ecx, edx
jae 0x1009f0b5
mov al, byte [ebx + ecx]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], al
inc ecx
jmp 0x1009d571
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x28], ecx
jae 0x1009d5d6
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4dec], 1
xor edi, edi
sub ecx, ebx
mov dword [esp + 0x4df0], eax
mov dword [esp + 0x4df4], ecx
mov dword [esp + 0x10], 0
jmp 0x1009e7c6
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], eax
mov bh, 8
mov al, bh
mov bh, byte [esp + 0x4dfb]
cmp al, bh
je 0x1009e8e6
movzx eax, bh
mov eax, dword [eax*4 + 0x1009f444]
add eax, dword [esp + 0xc]
jmp eax
mov esi, edi
mov edi, ebx
cmp byte [esp + 0x10], 0
mov edx, dword [esp + 0x3c]
jne 0x1009ed83
mov cl, byte [esp + 0x4dfb]
add edx, edi
cmp cl, 7
je 0x1009e98c
cmp edx, 0xffffffff
je 0x1009e98c
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x3c], edx
add edx, 0x8000
lea ecx, [esp + 0xe0]
add ebx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::resize::hee6e201e3d92ec8c
mov ecx, ebx
mov ebx, esi
mov dword [esp + 0x2c], edi
jmp 0x1009d415
cmp byte [esp + 0x4dfd], 0
jne 0x1009e94b
cmp al, 7
je 0x1009e94b
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x3c]
jb 0x1009f385
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x18]
ja 0x1009f397
mov edx, dword [esp + 0x20]
movzx ecx, word [esp + 0x4dde]
add edx, dword [esp + 0x3c]
push eax
push edx
push ecx
push dword [esp + 0x4de8]
call dword [esp + 0x4de8]
add esp, 0x10
mov word [esp + 0x4ddc], ax
mov word [esp + 0x4dde], dx
mov al, byte [esp + 0x4dfb]
cmp al, 7
je 0x1009e95f
mov ecx, dword [esp + 0x14]
mov al, 1
mov dword [esp + 0x10], eax
cmp ecx, dword [esp + 0x18]
jne 0x1009e97f
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], 0
sub eax, dword [esp + 0x6c]
sub ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x1009e7ca
lea ecx, [esp + 0xe0]
call sym.alloc::vec::Vec_LT_T_C_A_GT_::resize::hee6e201e3d92ec8c
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe8]
mov al, byte [esp + 0x4dfb]
movzx ebx, byte [esp + 0xe5]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
movzx edx, byte [esp + 0xe4]
movzx ecx, word [esp + 0xe6]
mov byte [esp + 0x14], al
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h7a806ae938e9df1e
cmp byte [esp + 0x14], 7
jne 0x1009f126
cmp dword [esp + 0x10], 0x80000000
je 0x1009eda9
mov eax, dword [esp + 0x20]
shl ebx, 8
lea ecx, [esp + 0x88]
shl eax, 0x10
add eax, dword [esp + 0x24]
or ebx, eax
mov eax, dword [esp + 0x18]
mov edx, ebx
add eax, ebx
push eax
call fcn.100e4dc4
pop eax
mov ecx, dword [esp + 0x10]
mov edx, ebx
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
jmp 0x1009d2a4
mov dword [esp + 0x70], 3
mov byte [esp + 0x74], 0xc
mov byte [esp + 0x75], al
jmp 0x1009eba3
lea edi, [esp + 0x340]
lea edx, [esp + 0x1d0]
mov ecx, edi
push dword [esp + 0xc]
push dword [esp + 0x1c]
jmp 0x1009c197
mov dword [esp + 0x94], 3
xor eax, eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov byte [esp + 0x98], 0xc
mov byte [esp + 0x99], al
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 3
pop eax
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
mov edi, eax
mov dword [esp + 0xc], ecx
jmp 0x1009b8e0
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
jmp 0x1009c1a9
xor edi, edi
push 9
pop ebx
push 3
pop esi
jmp 0x1009ca9b
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x168]
mov ebx, dword [esp + 0x344]
mov edx, edi
mov dword [esp + 0xc], eax
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
jmp 0x1009c9f7
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x70], 3
mov byte [esp + 0x74], 0xc
mov byte [esp + 0x75], al
mov edx, dword [esp + 0xa8]
jmp 0x1009eb9e
movsd xmm0, qword [esp + 0xb0]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h32f5383628deadbc
pop eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x70], 3
mov word [esp + 0x74], 0x20c
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::h1d8c4b900bfa9d3c
jmp 0x1009eb98
movsd xmm0, qword [esp + 0xb4]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h32f5383628deadbc
pop eax
mov dword [esp + 0x70], 3
mov word [esp + 0x74], 0x20c
mov ecx, dword [esp + 0x18]
mov edx, ebx
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 3
pop edi
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
jmp 0x1009b8dc
mov al, 1
mov dword [esp + 0x94], 3
jmp 0x1009ea83
lea esi, [esp + 0x180]
mov eax, dword [esi - 0x18]
mov ecx, dword [esi - 4]
mov ebx, dword [esi - 0x10]
mov edx, dword [esi - 8]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0x14]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi - 0xc]
push 0xe
pop ecx
lea edi, [esp + 0x130]
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov edi, eax
jmp 0x1009b8ef
mov dword [esp + 0x94], 3
mov byte [esp + 0x98], 0xc
mov byte [esp + 0x99], al
jmp 0x1009eaa5
push 0xc
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0x168]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xf0]
mov ecx, esi
push 0xc
push 0
push 0x8ff
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [esi], 4
je 0x1009ec65
mov eax, dword [esp + 0xf0]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009f092
mov cl, byte [esp + 0x368]
mov eax, ecx
and al, 7
je 0x1009ecb5
mov cl, 8
lea edi, [esp + 0xf0]
lea edx, [esp + 0x340]
sub cl, al
movzx eax, cl
mov ecx, edi
push eax
push 0
push 0
call sym.fdeflate::compress::Compressor_LT_W_GT_::write_bits::h476a8e15c7747f9c
add esp, 0xc
cmp byte [edi], 4
je 0x1009ecae
mov eax, dword [esp + 0xf0]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009f087
mov cl, byte [esp + 0x368]
test cl, cl
je 0x1009ed1a
movsd xmm0, qword [esp + 0x360]
mov eax, ecx
shr al, 3
cmp cl, 0x48
movzx eax, al
movsd qword [esp + 0x130], xmm0
jae 0x1009f3ca
lea edi, [esp + 0x70]
lea edx, [esp + 0x340]
mov ecx, edi
push eax
lea eax, [esp + 0x134]
push eax
call sym.std::io::Write::write_all::h17c3f07d9659f26d
pop eax
pop ecx
cmp byte [edi], 4
jne 0x1009f3d9
and dword [esp + 0x364], 0
and dword [esp + 0x360], 0
mov byte [esp + 0x368], 0
lea edx, [esp + 0x340]
lea edi, [esp + 0x130]
lea ebx, [esp + 0x70]
mov eax, dword [edx + 0x1c]
mov ecx, edi
bswap eax
mov dword [ebx], eax
push 4
push ebx
call sym.std::io::Write::write_all::h17c3f07d9659f26d
pop eax
pop ecx
cmp byte [edi], 4
jne 0x1009f3a9
mov eax, dword [esp + 0x348]
cmp eax, 0x80000000
mov dword [esp + 0x20], eax
jne 0x1009edca
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov dword [esp + 0x1c], eax
jmp 0x1009f0e7
push 0x19
pop edx
mov ecx, str.attempt_to_divide_by_zero
push 0x101b3eec
call dbg.panic
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h5bf4e74882597c41
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h7a806ae938e9df1e
mov dword [esp + 0x94], 3
mov al, 2
jmp 0x1009ea83
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x34c]
xor ecx, ecx
mov ebx, dword [esp + 0x350]
imul edi, dword [esp + 0x14]
mov dword [esp + 0x18], 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 0x1009f05d
lea edx, [esp + 0x340]
lea esi, [esp + 0x70]
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 0x101bba1c
call sym.std::io::Write::write_all::h17c3f07d9659f26d
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009ee56
mov eax, dword [esp + 0x70]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009f0c3
lea esi, [esp + 0x70]
lea edx, [esp + 0x340]
mov ecx, esi
push 5
push 0x101bba04
call sym.std::io::Write::write_all::h17c3f07d9659f26d
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009ee86
mov eax, dword [esp + 0x70]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009f0c3
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov esi, dword [esp + 0x348]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34c]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [esp + 0x130], xmm0
mov dword [esp + 0x138], eax
call sym.simd_adler32::imp::get_imp::h40e9a2a33fb72e15
cmp esi, 0x80000000
je 0x1009f0da
mov ecx, dword [esp + 0x138]
lea edx, [esp + 0xf0]
movsd xmm0, qword [esp + 0x130]
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x1c]
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 + 0x44]
lea esi, [esp + 0x340]
mov ecx, esi
push 0x101bafb4
push dword [esp + 0x58]
push dword [esp + 0x18]
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::chunks::h447e0419ed1ec274
add esp, 0xc
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x1009f164
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x340]
lea edx, [esp + 0xf0]
cmp ebx, esi
cmovb esi, ebx
push 1
push 0x101e6985
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::write_data::he7c7aa980e3ca249
pop eax
pop ecx
cmp byte [esp + 0x340], 4
je 0x1009ef7c
mov eax, dword [esp + 0x340]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009efc3
lea eax, [edi + esi]
sub ebx, esi
lea ecx, [esp + 0x340]
lea edx, [esp + 0xf0]
mov dword [esp + 0xc], eax
push esi
push edi
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::write_data::he7c7aa980e3ca249
pop eax
pop ecx
cmp byte [esp + 0x340], 4
jne 0x1009efac
mov edi, dword [esp + 0xc]
jmp 0x1009ef36
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0xc]
cmp al, 4
mov dword [esp + 0x1c], eax
je 0x1009ef36
mov edi, dword [esp + 0x344]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
jmp 0x1009f0d5
movsd xmm0, qword [esp + 0xb0]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h32f5383628deadbc
pop eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x94], 3
mov word [esp + 0x98], 0x20c
call sym.core::ptr::drop_in_place_LT_flate2..zlib..write..ZlibEncoder_LT_alloc..vec..Vec_LT_u8_GT__GT__GT_::h1d8c4b900bfa9d3c
jmp 0x1009eaa5
movsd xmm0, qword [esp + 0xb4]
lea eax, [esp + 0x340]
movsd qword [esp + 0x340], xmm0
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h32f5383628deadbc
pop eax
mov dword [esp + 0x94], 3
mov word [esp + 0x98], 0x20c
jmp 0x1009eaa5
mov eax, dword [esp + 0x20]
mov edi, ebx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xc], edi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov esi, dword [esp + 0x18]
jmp 0x1009c149
cmp byte [esp + 0x1c], 4
je 0x1009ed1a
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x34c]
jmp 0x1009f0e2
mov ecx, eax
push 0x101945d4
call dbg.panic_bounds_check
mov edx, dword [esp + 0x18]
push 0x101945e4
call dbg.panic_bounds_check
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x34c]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xc], edi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
push 2
pop esi
mov ebx, dword [esp + 0x1c]
jmp 0x1009c991
cmp dword [esp + 0x10], 0x80000000
je 0x1009eda9
lea ecx, [esp + 0x340]
lea eax, [esp + 0xec]
mov edx, 0x101946c8
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
push 0xa
pop ecx
lea edx, [esp + 0x340]
lea esi, [esp + 0xf0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x130]
mov ecx, esi
push 1
push dword [edx + 0x20]
call sym.fdeflate::compress::StoredOnlyCompressor_LT_W_GT_::set_block_header::h1f46aa60ed6113b2
pop eax
pop ecx
cmp byte [esi], 4
je 0x1009f1a6
mov eax, dword [esp + 0x130]
cmp al, 4
mov dword [esp + 0x1c], eax
jne 0x1009f25a
lea edx, [esp + 0x340]
lea edi, [esp + 0x70]
lea ebx, [esp + 0x330]
mov eax, dword [edx + 0x1c]
mov ecx, edi
bswap eax
mov dword [ebx], eax
push 4
push ebx
call sym.std::io::Write::write_all::h17c3f07d9659f26d
pop eax
pop ecx
cmp byte [edi], 4
jne 0x1009f424
mov eax, dword [esp + 0x348]
cmp eax, 0x80000000
mov dword [esp + 0x14], eax
jne 0x1009f226
mov eax, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
mov dword [esp + 0x1c], eax
jmp 0x1009f0da
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x34c]
mov edi, dword [esp + 0x350]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov dword [esp + 0x18], esi
jmp 0x1009f067
mov edi, dword [esp + 0x134]
jmp 0x1009f0c7
call sym.core::panicking::unreachable_display::hd00f2715695378e4
mov edx, eax
push 0x10194430
call dbg.panic_bounds_check
mov edx, dword [esp + 0x18]
mov ecx, esi
push 0x101944b0
call dbg.panic_bounds_check
push 0x1d
pop edx
push 0x10194420
call dbg.panic_bounds_check
mov ecx, ebx
mov edx, edi
push 0x101944f0
call dbg.panic_bounds_check
mov ecx, ebx
mov edx, edi
push 0x10194500
call dbg.panic_bounds_check
mov edx, edi
push 0x10194510
call dbg.panic_bounds_check
mov edx, edi
push 0x10194520
call dbg.panic_bounds_check
mov edx, edi
push 0x10194530
call dbg.panic_bounds_check
mov edx, edi
push 0x10194540
call dbg.panic_bounds_check
mov edx, edi
push 0x10194550
call dbg.panic_bounds_check
mov edx, edi
push 0x10194560
call dbg.panic_bounds_check
mov ecx, eax
push 0x101bb044
call dbg.slice_end_index_len_fail
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0x101944c0
call dbg.panic_bounds_check
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0x101944d0
call dbg.panic_bounds_check
mov ecx, esi
mov edx, edi
push 0x101bb660
call dbg.slice_index_order_fail
push 0x28
pop edx
mov ecx, 0x101c07e6
push 0x10194200
call dbg.panic
push 0x31
pop edx
mov ecx, str.assertion_failed:_output_position___output.len__
push 0x101945a4
call dbg.panic
push 0x28
pop edx
mov ecx, 0x101c07e6
push 0x10194654
call dbg.panic
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push 0x10194644
call dbg.slice_index_order_fail
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0x10194644
call dbg.slice_end_index_len_fail
movsd xmm0, qword [esp + 0x130]
movsd qword [esp + 0xf0], xmm0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x101bb690
jmp 0x1009f3f5
push 8
pop edx
mov ecx, eax
push 0x101bb670
call dbg.slice_end_index_len_fail
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0xf0], xmm0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x101bb680
push 0x101bb1b0
push esi
call sym.core::result::unwrap_failed::hb9c5ac622931d85d
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push 0x10194634
call dbg.slice_index_order_fail
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0x10194634
call dbg.slice_end_index_len_fail
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x130], xmm0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x101bba20
jmp 0x1009f3f5