Function at 0x100bfd70
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3a0
call 0x100bfd84
pop eax
mov esi, dword [edx]
mov dword [esp + 0x88], ecx
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0xe0], edx
mov dword [esp + 0x17c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], esi
mov esi, dword [edx + 4]
test ecx, ecx
mov eax, dword [eax + 0x28]
mov dword [esp + 4], eax
je 0x100bfe9b
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], esi
mov eax, dword [eax + 0x70]
mov dword [esp + 0x44], eax
movzx eax, word [ecx + 0x10e]
mov ebx, 0xffffffff
mov dword [esp + 0x30], ecx
lea esi, [eax*8]
mov dword [esp + 0x18], eax
nop word cs:[eax + eax]
nop
test esi, esi
je 0x100bfe50
mov eax, dword [esp + 0x30]
xor edx, edx
mov edi, dword [eax + ebx*8 + 0xb8]
mov ecx, dword [eax + ebx*8 + 0xbc]
mov eax, dword [esp + 4]
mov dword [esp + 0x60], edi
xor edi, eax
or edi, ecx
mov edi, ecx
mov ecx, 0
setne dl
cmp eax, dword [esp + 0x60]
mov eax, 0xff
sbb ecx, edi
cmovb edx, eax
inc ebx
add esi, 0xfffffff8
cmp dl, 1
je 0x100bfdf0
movzx eax, dl
test eax, eax
je 0x100bfe75
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0xc]
jmp 0x100bfe60
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
sub eax, 1
jb 0x100bfe9b
mov ecx, dword [ecx + ebx*4 + 0x110]
mov dword [esp + 0x44], eax
jmp 0x100bfdca
mov ecx, dword [esp + 0x30]
shl ebx, 4
cmp byte [ecx + ebx], 0x4b
lea eax, [ecx + ebx]
jne 0x100bfeaf
mov edi, dword [eax + 4]
lock inc dword [edi]
jle 0x100c26e0
mov ebx, 0x4b
jmp 0x100c0be4
mov eax, dword [esp + 4]
cmp esi, eax
jae 0x100bfec3
xor edx, edx
mov ebx, 0x13
jmp 0x100c0be4
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
jmp 0x100c0be4
add dword [esp + 0x14], eax
sub esi, eax
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 8
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x10c], 0
je 0x100c087f
mov dword [esp + 0x18], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov edi, esi
mov esi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x60], 0
xor ecx, ecx
nop word cs:[eax + eax]
nop
movzx edx, byte [esi]
mov dword [esp + 0x30], esi
xor esi, esi
cmp ecx, 0x3f
mov bl, 6
mov dword [esp + 4], edi
jne 0x100bff4d
cmp dl, 2
jae 0x100c0881
mov bh, dl
xor edi, edi
mov dword [esp + 0x44], eax
mov eax, 0
and bh, 0x7f
movzx esi, bh
mov ebx, dword [esp + 0x60]
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, eax
mov eax, dword [esp + 0x44]
or ebx, edi
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 4]
or eax, esi
mov esi, dword [esp + 0x30]
test dl, dl
lea edi, [ebx - 1]
lea esi, [esi + 1]
jns 0x100bff9e
add ecx, 7
mov dh, dl
test edi, edi
jne 0x100bff30
jmp 0x100c088e
mov edx, dword [esp + 0x60]
mov ecx, eax
or ecx, edx
je 0x100c0908
test edi, edi
je 0x100c0956
mov edi, dword [esp + 0x30]
add ebx, 0xfffffffe
movzx ecx, byte [edi + 1]
mov esi, ecx
and esi, 0x7f
test cl, cl
mov dword [esp + 0x48], esi
lea esi, [edi + 2]
mov edi, dword [esp + 8]
jns 0x100c0042
test ebx, ebx
je 0x100c0900
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
movzx ecx, byte [ecx + 2]
movzx ebx, bx
mov esi, ecx
and esi, 0x7f
shl esi, 7
or ebx, esi
test cl, cl
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x48], ebx
lea ebx, [esi - 3]
lea esi, [ecx + 3]
jns 0x100c0042
test ebx, ebx
je 0x100c0900
movzx ecx, byte [esi]
cmp cx, 3
ja 0x100c1ad2
mov esi, dword [esp + 0x48]
movzx ecx, cx
mov ebx, dword [esp + 4]
add dword [esp + 0x30], 4
shl ecx, 0xe
movzx esi, si
add ebx, 0xfffffffc
or esi, ecx
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x30]
cmp word [esp + 0x48], 0
je 0x100c0972
test ebx, ebx
je 0x100c0900
movzx ecx, byte [esi]
cmp cl, 2
mov byte [esp + 0xdc], cl
jae 0x100c0976
inc esi
dec ebx
pxor xmm0, xmm0
mov dword [esp + 0x44], eax
mov dword [esp + 4], eax
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x120], 0
movdqa xmmword [esp + 0x110], xmm0
test ebx, ebx
je 0x100c08eb
movzx eax, byte [esi]
lea edx, [ebx - 1]
mov ecx, eax
and ecx, 0x7f
test al, al
mov dword [esp + 0xc], ecx
lea ecx, [esi + 1]
jns 0x100c018a
test edx, edx
je 0x100c08d4
movzx eax, byte [esi + 1]
mov edx, dword [esp + 0xc]
mov ecx, eax
movzx edx, dx
and ecx, 0x7f
shl ecx, 7
or edx, ecx
test al, al
lea ecx, [esi + 2]
mov dword [esp + 0xc], edx
lea edx, [ebx - 2]
jns 0x100c018a
test edx, edx
je 0x100c08d4
movzx eax, byte [ecx]
cmp ax, 3
ja 0x100c0a1b
mov ecx, dword [esp + 0xc]
movzx eax, ax
add ebx, 0xfffffffd
add esi, 3
shl eax, 0xe
mov edx, ebx
movzx ecx, cx
or ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, esi
cmp word [esp + 0xc], 0
je 0x100c04d9
test edx, edx
je 0x100c08d4
movzx ebx, byte [ecx]
mov dword [esp + 8], edi
lea edi, [edx - 1]
lea esi, [ecx + 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
jns 0x100c0201
test edi, edi
je 0x100c0941
movzx ebx, byte [ecx + 1]
movzx eax, ax
lea edi, [edx - 2]
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea esi, [ecx + 2]
jns 0x100c0201
test edi, edi
je 0x100c0941
movzx esi, byte [esi]
cmp si, 3
ja 0x100c0a2d
movzx esi, si
add edx, 0xfffffffd
add ecx, 3
movzx eax, ax
shl esi, 0xe
mov edi, edx
or eax, esi
mov esi, ecx
cmp ax, 0x21
mov dword [esp + 0x14], esi
mov dword [esp + 0x80], edi
je 0x100c0241
movzx ebx, ax
test ebx, ebx
je 0x100c0962
movzx eax, word [esp + 0xc]
mov ecx, 0xffffffff
shl ebx, 0x10
xor esi, esi
xor edi, edi
and dword [esp + 0x5c], ecx
xor ecx, ecx
or ebx, eax
mov dword [esp + 0x30], ebx
xor ebx, ebx
jmp 0x100c033f
test edi, edi
je 0x100c096d
lea ebx, [edi - 1]
inc esi
xor edi, edi
xor eax, eax
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax]
mov dh, byte [esi - 1]
cmp ecx, 0x3f
mov dword [esp + 4], ebx
mov dword [esp + 0x30], edi
jne 0x100c0280
movzx ebx, dh
cmp ebx, 0x7f
je 0x100c0280
test ebx, ebx
jne 0x100c08c5
mov bl, dh
mov dword [esp + 0x18], edx
xor edx, edx
mov edi, 0
and bl, 0x7f
movzx ebx, bl
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
cmovne ebx, edi
mov edi, dword [esp + 0x30]
add ecx, 7
or eax, edx
mov edx, dword [esp + 0x18]
or edi, ebx
test dh, dh
jns 0x100c02c3
mov ebx, dword [esp + 4]
inc esi
add ebx, 0xffffffff
jb 0x100c0260
jmp 0x100c08a7
cmp ecx, 0x40
mov ebx, edx
mov edx, 0
mov dword [esp + 0x14], esi
setl byte [esp + 0x30]
cmp bh, 0x40
mov ebx, 0xffffffff
setae byte [esp + 0x18]
shl ebx, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, ebx
cmovne ebx, edx
movzx edx, byte [esp + 0x18]
test byte [esp + 0x30], dl
mov edx, 0
cmove ebx, edx
cmove ecx, edx
movzx edx, word [esp + 0xc]
or edi, ebx
or eax, ecx
mov ecx, edi
mov ebx, edi
mov edi, 0xffffffff
and dword [esp + 0x5c], edi
mov edi, dword [esp + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
or edx, 0x210000
mov esi, ecx
mov cl, bh
mov dword [esp + 0x30], edx
mov dword [esp + 0x80], edi
mov edi, eax
mov eax, esi
mov dword [esp + 4], ecx
movzx ecx, cl
movzx edx, bl
mov ebx, edi
mov dword [esp + 0x10], esi
shl eax, 0x10
shl ecx, 8
shld ebx, esi, 0x10
or ecx, eax
or edx, ecx
cmp dword [esp + 0x110], 0
je 0x100c03c4
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x11c]
cmp edx, dword [esp + 0x114]
jne 0x100c0390
lea ecx, [esp + 0x114]
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x118]
mov esi, dword [esp + 0x18]
mov ecx, edx
inc edx
shl ecx, 4
mov dword [eax + ecx + 4], ebx
mov dword [eax + ecx], esi
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx + 0xc], esi
mov dword [eax + ecx + 8], ebx
mov dword [esp + 0x11c], edx
jmp 0x100c04c1
mov ecx, dword [esp + 0x114]
cmp ecx, 5
jne 0x100c0493
mov dword [esp + 0x18], edx
mov dword [esp + 8], edi
movzx eax, byte [0x10226114]
xor ecx, ecx
mov edx, 0x50
call dbg.process_heap_alloc
test eax, eax
je 0x100c25f4
mov ecx, 0x14
mov edi, eax
lea esi, [esp + 0x118]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1d0], 5
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], 5
lea ecx, [esp + 0x1d0]
mov edx, 5
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov ecx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x1d4]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov edx, ecx
inc ecx
shl edx, 4
mov dword [eax + edx + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [eax + edx], esi
mov dword [eax + edx + 8], edi
mov edi, dword [esp + 8]
mov dword [eax + edx + 0xc], ebx
mov dword [esp + 0x1d8], ecx
lea eax, [esp + 0x114]
mov dword [esp + 0x110], 1
movq xmm0, qword [esp + 0x1d0]
mov dword [eax + 8], ecx
movq qword [eax], xmm0
jmp 0x100c04c1
jae 0x100c1ddf
shl ecx, 4
lea esi, [esp + 0x118]
mov eax, dword [esp + 0x5c]
mov dword [esi + ecx], edx
mov edx, dword [esp + 0x30]
mov dword [esi + ecx + 4], ebx
mov dword [esi + ecx + 0xc], eax
mov dword [esi + ecx + 8], edx
inc dword [esp + 0x114]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x100c0117
jmp 0x100c08eb
test edx, edx
je 0x100c08d4
movzx ebx, byte [ecx]
lea eax, [edx - 1]
lea esi, [ecx + 1]
mov dword [esp + 0xc], eax
mov eax, ebx
and eax, 0x7f
test bl, bl
jns 0x100c0550
cmp dword [esp + 0xc], 0
je 0x100c08eb
movzx ebx, byte [ecx + 1]
movzx eax, ax
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
lea esi, [edx - 2]
test bl, bl
mov dword [esp + 0xc], esi
lea esi, [ecx + 2]
jns 0x100c0550
cmp dword [esp + 0xc], 0
je 0x100c08eb
movzx esi, byte [esi]
cmp si, 3
ja 0x100c0a1b
movzx esi, si
add ecx, 3
movzx eax, ax
add edx, 0xfffffffd
shl esi, 0xe
mov dword [esp + 0xc], edx
or eax, esi
mov esi, ecx
test ax, ax
jne 0x100c1bae
lea ecx, [esp + 0x118]
movq xmm0, qword [esp + 0x110]
movdqu xmm4, xmmword [esp + 0x118]
movsd xmm1, qword [ecx + 0x10]
movsd xmm2, qword [ecx + 0x18]
movd eax, xmm0
pshufd xmm3, xmm4, 0x55
movd edx, xmm4
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x98], xmm2
cmp eax, 2
pshufd xmm2, xmm4, 0xff
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [ecx + 0x28]
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [ecx + 0x30]
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [ecx + 0x38]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [ecx + 0x40]
movsd qword [esp + 0xc0], xmm1
movsd xmm1, qword [ecx + 0x48]
movsd qword [esp + 0xc8], xmm1
pshufd xmm1, xmm4, 0xee
je 0x100c1bc7
movsd xmm5, qword [esp + 0xc0]
movsd xmm6, qword [esp + 0xb8]
movsd xmm4, qword [esp + 0xc8]
movd ecx, xmm3
mov ebx, edx
mov edx, ecx
mov edi, ecx
shld edx, ebx, 0x10
shr edi, 0x10
cmp eax, 3
movd eax, xmm1
mov dword [esp + 0x10], edx
movd edx, xmm2
movsd qword [esp + 0x228], xmm5
movsd xmm5, qword [esp + 0xb0]
movsd qword [esp + 0x220], xmm6
movsd xmm6, qword [esp + 0xa8]
movsd qword [esp + 0x230], xmm4
movsd qword [esp + 0x218], xmm5
movsd xmm5, qword [esp + 0xa0]
movsd qword [esp + 0x210], xmm6
movsd xmm6, qword [esp + 0x90]
movsd qword [esp + 0x208], xmm5
movsd xmm5, qword [esp + 0x98]
movsd qword [esp + 0x1f8], xmm6
movsd qword [esp + 0x200], xmm5
je 0x100c1be5
movsd xmm1, qword [esp + 0x228]
movsd xmm2, qword [esp + 0x230]
mov dword [esp + 0x30], edx
movq qword [esp + 0x248], xmm0
mov dword [esp + 0x250], ebx
mov dword [esp + 0x254], ecx
mov dword [esp + 0x258], eax
lea ecx, [esp + 0x260]
movq xmm3, qword [esp + 0x1f8]
mov edx, dword [esp + 0x370]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x30]
movsd qword [esp + 0x1b0], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x1b8], xmm2
movsd xmm2, qword [esp + 0x220]
movq qword [esp + 0x180], xmm3
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x44]
movsd qword [esp + 0x1a0], xmm1
movsd xmm1, qword [esp + 0x208]
movsd qword [esp + 0x1a8], xmm2
movsd xmm2, qword [esp + 0x210]
movsd qword [esp + 0x190], xmm1
movsd xmm1, qword [esp + 0x200]
movsd qword [esp + 0x198], xmm2
movsd xmm2, qword [esp + 0x1b8]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [esp + 0x1b0]
movsd qword [ecx + 0x38], xmm2
movsd xmm2, qword [esp + 0x1a8]
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esp + 0x1a0]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esp + 0x198]
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esp + 0x190]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esp + 0x180]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esp + 0x188]
movq qword [ecx], xmm2
movq qword [ecx + 8], xmm1
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x48]
mov word [esp + 0x2a8], ax
movzx eax, byte [esp + 0xdc]
mov byte [esp + 0x2aa], al
mov eax, dword [esp + 0x1e8]
mov dword [ecx + 0x4b], eax
movzx eax, byte [esp + 0x374]
mov byte [esp + 0x1ec], al
movzx eax, byte [esp + 0x1ec]
mov byte [ecx + 0x4f], al
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x248]
call sym.gimli::read::abbrev::Abbreviations::insert::hdb005b95cb763b9f
test al, al
mov dword [esp + 0x14], esi
jne 0x100c1bf8
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x100bff0a
jmp 0x100c089a
jmp 0x100c089a
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
jmp 0x100c0a76
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 8]
add dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov bl, 0x13
xor esi, esi
jmp 0x100c0a76
mov esi, dword [esp + 0x14]
add esi, dword [esp + 0x80]
mov edi, dword [esp + 8]
mov dword [esp + 0x30], 0
mov bl, 0x13
jmp 0x100c0a41
mov bl, 7
mov dword [esp + 0x30], 0
jmp 0x100c0a3d
mov eax, dword [esp + 4]
mov dword [esp + 0x30], 0
mov bl, 0x13
mov esi, ecx
mov dh, al
jmp 0x100c0a41
mov eax, dword [esp + 4]
mov dword [esp + 0x30], 0
mov bl, 0x13
mov dh, al
jmp 0x100c0a41
mov dword [esp + 0x14], esi
mov bl, 0x13
jmp 0x100c0978
movq xmm0, qword [esp + 0xf8]
mov ebx, dword [esp + 0x100]
mov edi, dword [esp + 0x104]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
movd eax, xmm0
cmp eax, 0x80000000
jne 0x100c0987
mov dword [esp + 0x14], ecx
jmp 0x100c0be4
mov eax, dword [esp + 4]
mov dword [esp + 0x30], 0
mov bl, 0x13
mov dh, al
jmp 0x100c0a3d
mov edi, dword [esp + 8]
mov bl, 0x13
mov dword [esp + 0x14], esi
jmp 0x100c0978
mov dword [esp + 0x30], ebx
mov bl, 9
jmp 0x100c0a37
jmp 0x100c08b2
mov bl, 8
jmp 0x100c0978
mov bl, 0xa
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
xor esi, esi
jmp 0x100c0a76
mov dword [esp + 0x248], 1
mov dword [esp + 0x24c], 1
movq qword [esp + 0x250], xmm0
mov dword [esp + 0x258], ebx
mov dword [esp + 0x25c], edi
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], edx
movzx eax, byte [0x10226114]
xor ecx, ecx
mov edx, 0x20
call dbg.process_heap_alloc
test eax, eax
je 0x100c26d1
movsd xmm0, qword [esp + 0x260]
mov edi, eax
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x258]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x248]
movq xmm1, qword [esp + 0x250]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x100bfe91
mov eax, dword [esp + 4]
mov dword [esp + 0x30], 0
mov bl, 6
mov dh, al
jmp 0x100c0a41
mov bl, 6
mov dword [esp + 0x30], 0
mov eax, dword [esp + 4]
mov dh, al
mov edi, dword [esp + 8]
cmp dword [esp + 0x110], 0
mov dword [esp + 0x14], esi
je 0x100c0a6e
cmp dword [esp + 0x114], 0
je 0x100c0a6e
mov ecx, dword [esp + 0x118]
mov esi, edx
mov edx, 8
call sym.___rust_dealloc
mov edx, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
movzx eax, dh
movzx ebx, bl
shld edi, ecx, 0x10
shl ecx, 0x10
mov dword [esp + 0x30], esi
shl eax, 8
mov dword [esp + 8], edi
or ebx, eax
or ebx, ecx
mov edi, dword [esp + 0x100]
mov eax, dword [esp + 0xfc]
test edi, edi
mov dword [esp + 0x60], eax
je 0x100c0ae0
mov eax, dword [esp + 0x60]
lea esi, [eax + 8]
jmp 0x100c0ac6
add esi, 0x68
dec edi
je 0x100c0ae0
cmp dword [esi - 8], 0
je 0x100c0ac0
cmp dword [esi - 4], 0
je 0x100c0ac0
mov ecx, dword [esi]
mov edx, 8
call sym.___rust_dealloc
jmp 0x100c0ac0
cmp dword [esp + 0xf8], 0
je 0x100c0af8
mov ecx, dword [esp + 0x60]
mov edx, 8
call sym.___rust_dealloc
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x100c0b4a
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], edx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], ecx
mov ecx, 1
mov dword [esp + 0x12c], edx
jmp 0x100c0b4e
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x130], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0x110]
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
mov eax, dword [esp + 0x90]
test eax, eax
je 0x100c0bdc
lea esi, [esp + 0x90]
lea edi, [esp + 0x110]
jmp 0x100c0bb4
mov ecx, esi
mov edx, edi
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
mov eax, dword [esp + 0x90]
test eax, eax
je 0x100c0bdc
imul ecx, dword [esp + 0x98], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x100c0ba0
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 4], 0
je 0x100c0ba0
mov ecx, dword [eax + 8]
mov edx, 8
call sym.___rust_dealloc
jmp 0x100c0ba0
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x30]
cmp bl, 0x4b
jne 0x100c0eab
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x2c]
movsd xmm0, qword [esi + 0x24]
mov ecx, dword [esi + 0x20]
movq xmm1, qword [esi + 8]
mov dword [esp + 0x31c], eax
movsd qword [esp + 0x314], xmm0
mov eax, dword [esp + 0xe0]
movsd xmm0, qword [esi]
mov edx, ecx
cmp byte [eax + 0x78], 0
movsd qword [esp + 0x2f0], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movq qword [esp + 0x2f8], xmm1
movd esi, xmm1
movdqu xmmword [esp + 0x300], xmm0
mov dword [esp + 0x310], ecx
setne al
shr ecx, 0x10
pshufd xmm1, xmm0, 0xee
mov dword [esp + 0x338], edi
mov dword [esp + 0x320], 0
mov dword [esp + 0x328], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x330], 0
cmp cx, 5
movd dword [esp + 0x110], xmm1
pshufd xmm1, xmm0, 0xff
setae ah
and edx, 0xff00
xor ebx, ebx
movd dword [esp + 0x114], xmm1
cmp edx, 0x800
sete bl
xor edx, edx
test ah, al
lea ecx, [ebx*8 + 8]
lea eax, [ebx*8 + 0xc]
cmove ecx, edx
cmove eax, edx
add esi, 0xfffffffd
xor edx, edx
cmp esi, 2
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x340], 0
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], eax
lea eax, [esp + 0x2f0]
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0x2f
mov dword [esp + 0x24c], 0
setb dl
add edi, 8
mov dword [esp + 0x118], eax
mov dword [esp + 0x248], edx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], 0
movq qword [esp + 0x250], xmm0
mov dword [esp + 0x13c], 0
lea ecx, [esp + 0x90]
lea edx, [esp + 0x110]
call dbg.next_entry<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
jne 0x100c0dc2
lea esi, [esp + 0x90]
lea edi, [esp + 0x110]
nop dword [eax + eax]
cmp byte [esp + 0x91], 0
mov ebx, dword [esp + 0x120]
je 0x100c0ee6
test ebx, ebx
jne 0x100c0eee
mov ecx, esi
mov edx, edi
call dbg.next_entry<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
je 0x100c0d90
mov edx, dword [esp + 0x88]
movzx ecx, byte [esp + 0x91]
movzx edi, word [esp + 0x92]
mov esi, dword [esp + 0x98]
mov byte [edx + 8], al
mov byte [edx + 9], cl
mov ecx, dword [esp + 0x94]
mov word [edx + 0xa], di
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x9c]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
mov dword [edx + 4], 0
mov dword [edx], 2
mov eax, dword [esp + 0x338]
lock dec dword [eax]
jne 0x100c0e26
mov ecx, dword [esp + 0x338]
call dbg.drop_slow<gimli::read::abbrev::Abbreviations, alloc::alloc::Global>
mov eax, dword [esp + 0x258]
xor eax, 0x2f
or eax, dword [esp + 0x25c]
je 0x100c0ede
cmp dword [esp + 0x2a8], 0
je 0x100c0e58
mov ecx, dword [esp + 0x2ac]
mov edx, 2
call sym.___rust_dealloc
cmp dword [esp + 0x2b4], 0
je 0x100c0e73
mov ecx, dword [esp + 0x2b8]
mov edx, 8
call sym.___rust_dealloc
cmp dword [esp + 0x2c0], 0
je 0x100c0e8e
mov ecx, dword [esp + 0x2c4]
mov edx, 2
call sym.___rust_dealloc
cmp dword [esp + 0x2cc], 0
je 0x100c0ede
mov ecx, dword [esp + 0x2d0]
mov edx, 8
call sym.___rust_dealloc
jmp 0x100c0ede
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x14]
mov eax, ebx
shr eax, 8
mov byte [ecx + 8], bl
shr ebx, 0x18
mov word [ecx + 9], ax
mov byte [ecx + 0xb], bl
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
mov dword [ecx + 4], 0
mov dword [ecx], 2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
je 0x100c1131
mov edi, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
call sym.__LT_gimli..read..abbrev..Attributes_u20_as_u20_core..ops..deref..Deref_GT_::deref::hd3b1aaeed75f1771
mov esi, eax
lea ecx, [esp + 0x120]
test edx, edx
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], ecx
je 0x100c0f7e
mov eax, dword [esp + 0x248]
movdqa xmm2, xmmword [0x10166560]
lea edi, [edx - 1]
add esi, 0x10
mov dword [esp + 4], 0
mov dword [esp + 0x44], 0x2e
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24c]
movdqa xmm3, xmm2
mov dword [esp + 8], eax
jmp 0x100c11b8
movdqa xmm2, xmmword [0x10166560]
mov dword [esp + 0xc], 0
mov ebx, 0x2e
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
movdqa xmm3, xmm2
cmp dword [ecx + 0x14], 0
jne 0x100c0fc0
mov eax, dword [esp + 0x1f8]
sub eax, dword [ecx]
mov dword [ecx + 0x14], 1
mov dword [ecx + 0x18], eax
movsd xmm1, qword [esp + 0x100]
movsd xmm0, qword [esp + 0xf8]
movd ecx, xmm3
xor ecx, 0x2e
movsd qword [esp + 0x1f0], xmm1
pshufd xmm1, xmm3, 0x55
movsd qword [esp + 0x1e8], xmm0
movd eax, xmm1
or ecx, eax
jne 0x100c0ffc
xor edi, edi
jmp 0x100c1059
movzx eax, byte [esp + 0x311]
movdqa xmmword [esp + 0x60], xmm2
movdqu xmmword [esp + 0x370], xmm3
mov edx, dword [esp + 0xe0]
lea esi, [esp + 0x370]
lea ecx, [esp + 0x110]
push esi
push dword [esp + 0x340]
push eax
call dbg.attr_string<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 0xc
xor edi, edi
cmp byte [esp + 0x110], 0x4b
jne 0x100c104c
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
movdqa xmm2, xmmword [esp + 0x60]
movd ecx, xmm2
pshufd xmm0, xmm2, 0x55
mov dword [esp + 0x320], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x44], ebx
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x100c109d
xor esi, esi
cmp dword [esp + 4], 0
mov dword [esp + 0x328], 0
je 0x100c158f
jmp 0x100c1110
movzx eax, byte [esp + 0x311]
movdqu xmmword [esp + 0x1d0], xmm2
mov edx, dword [esp + 0xe0]
lea esi, [esp + 0x1d0]
lea ecx, [esp + 0x110]
push esi
push dword [esp + 0x340]
push eax
call dbg.attr_string<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 0xc
xor ebx, ebx
cmp byte [esp + 0x110], 0x4b
mov eax, dword [esp + 0x118]
mov esi, 0
jne 0x100c10f3
mov esi, dword [esp + 0x114]
cmp dword [esp + 4], 0
mov dword [esp + 0x328], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x32c], eax
je 0x100c159f
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0x18]
sub edx, ecx
jae 0x100c1141
mov ecx, 0x13
xor esi, esi
jmp 0x100c18c8
mov eax, dword [esp + 0x88]
mov byte [eax + 8], 0x42
jmp 0x100c1563
add eax, ecx
cmp edx, 4
jae 0x100c186d
mov ecx, eax
xor esi, esi
mov dl, 0x13
shr ecx, 8
jmp 0x100c18a2
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0x254], ecx
mov dword [esp + 0x250], eax
nop word cs:[eax + eax]
nop
movdqa xmm2, xmmword [esp + 0x60]
movdqa xmm3, xmmword [esp + 0x30]
add esi, 0x10
add edi, 0xffffffff
jae 0x100c1575
movsd xmm0, qword [esi - 0x10]
movsd xmm1, qword [esi - 8]
mov eax, dword [esp + 0x208]
movdqa xmmword [esp + 0x30], xmm3
movdqa xmmword [esp + 0x60], xmm2
movsd qword [esp + 0x188], xmm1
movsd qword [esp + 0x180], xmm0
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x90]
lea ebx, [esp + 0x180]
lea edx, [esp + 0x1f8]
push ebx
push dword [eax + 0x20]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x100c1530
lea edx, [esp + 0x98]
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], edi
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
movq qword [esp + 0x1e8], xmm0
movq qword [esp + 0x1f0], xmm1
movzx eax, word [esp + 0xa0]
cmp eax, 0x71
jle 0x100c12f0
movdqa xmm2, xmmword [esp + 0x60]
movdqa xmm3, xmmword [esp + 0x30]
cmp eax, 0x2130
jg 0x100c1340
add eax, 0xffffff8e
cmp eax, 0x1a
ja 0x100c11ac
mov eax, dword [eax*4 + 0x100c28f4]
add eax, dword [esp + 0x17c]
jmp eax
movdqa xmm2, xmmword [esp + 0x60]
movdqa xmm3, xmmword [esp + 0x30]
add eax, 0xfffffffd
cmp eax, 0x18
ja 0x100c11ac
mov eax, dword [eax*4 + 0x100c2890]
add eax, dword [esp + 0x17c]
jmp eax
cmp eax, 0x2131
je 0x100c14e3
cmp eax, 0x2132
je 0x100c139a
cmp eax, 0x2133
jne 0x100c11ac
lea ecx, [esp + 0x180]
lea edx, [esp + 0x90]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x180]
xor eax, 0xb
or eax, dword [esp + 0x184]
jne 0x100c11a0
mov eax, dword [esp + 0x188]
mov dword [esp + 0x340], eax
jmp 0x100c11a0
lea ecx, [esp + 0x180]
lea edx, [esp + 0x90]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x180]
xor eax, 0x17
or eax, dword [esp + 0x184]
jne 0x100c11a0
mov eax, dword [esp + 0x188]
mov dword [esp + 0x348], eax
jmp 0x100c11a0
mov eax, dword [esp + 0x10]
or eax, dword [esp + 8]
jne 0x100c11ac
lea ecx, [esp + 0x180]
lea edx, [esp + 0x90]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x180]
mov dword [esp + 8], 0
xor eax, 0x2d
or eax, dword [esp + 0x184]
je 0x100c115a
mov dword [esp + 0x10], 0
jmp 0x100c11a0
lea eax, [esp + 0x98]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [esp + 0x88]
movq qword [esp + 0x1e8], xmm0
movq qword [esp + 0x1f0], xmm1
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x100c0e0e
mov ecx, dword [esp + 0x208]
mov ebx, dword [esp + 0x44]
cmp dword [ecx + 0x14], 0
jne 0x100c0fc0
jmp 0x100c0fad
xor ebx, ebx
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
jmp 0x100c15a3
mov dword [esp + 4], eax
mov dword [esp + 8], 0x2f
mov eax, dword [esp + 0x258]
xor eax, 0x2f
or eax, dword [esp + 0x25c]
je 0x100c162a
cmp dword [esp + 0x2a8], 0
je 0x100c15d9
mov ecx, dword [esp + 0x2ac]
mov edx, 2
call sym.___rust_dealloc
cmp dword [esp + 0x2b4], 0
je 0x100c15f4
mov ecx, dword [esp + 0x2b8]
mov edx, 8
call sym.___rust_dealloc
cmp dword [esp + 0x2c0], 0
je 0x100c160f
mov ecx, dword [esp + 0x2c4]
mov edx, 2
call sym.___rust_dealloc
cmp dword [esp + 0x2cc], 0
je 0x100c162a
mov ecx, dword [esp + 0x2d0]
mov edx, 8
call sym.___rust_dealloc
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0x198]
lea ecx, [esp + 0x270]
mov dword [esp + 0x25c], ebx
movq xmm1, qword [esp + 0x188]
movzx edx, byte [esp + 0x8f]
movzx ebx, byte [esp + 0x4e]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x260], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x264], eax
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x174]
movq qword [ecx + 8], xmm1
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x180]
movsd qword [ecx], xmm0
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x1e4]
movsd xmm0, qword [esp + 0x360]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x2ac], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x368]
movsd qword [ecx + 0x44], xmm0
movsd xmm0, qword [esp + 0x350]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x358]
movsd qword [ecx + 0x5c], xmm0
mov dword [ecx + 0x64], eax
movzx eax, byte [esp + 0x5c]
movzx ecx, byte [esp + 0x8c]
mov byte [esp + 0x2d8], al
movzx eax, byte [esp + 0x48]
mov byte [esp + 0x2d9], al
mov eax, dword [esp + 4]
mov word [esp + 0x2da], ax
mov dword [esp + 0x2dc], esi
mov esi, dword [esp + 0x178]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2e4], esi
mov byte [esp + 0x2e8], cl
movzx ecx, byte [esp + 0x4f]
mov byte [esp + 0x2e9], dl
movzx edx, byte [esp + 0x8e]
mov byte [esp + 0x2ea], cl
movzx ecx, byte [esp + 0x8d]
mov byte [esp + 0x2eb], dl
mov byte [esp + 0x2ec], cl
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x2ed], bl
mov edx, ecx
xor edx, 0x2e
or edx, dword [esp + 0x14]
je 0x100c184c
mov eax, ecx
and al, 0x3f
cmp al, 0xc
je 0x100c18f8
and ecx, 0x3f
jne 0x100c184c
mov edx, dword [esp + 0x80]
mov eax, edx
shr eax, 8
movzx ecx, dl
mov edx, dword [esp + 0xc]
shl eax, 8
or ecx, eax
mov dword [esp + 0x330], ecx
mov dword [esp + 0x334], edx
lea eax, [esp + 0x248]
push 0x108
push eax
push dword [esp + 0x90]
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x100c0ede
movzx ecx, byte [esp + 0x310]
lea ebx, [edx - 4]
mov byte [esp + 0x48], 4
mov byte [esp + 0x5c], cl
lea ecx, [eax + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax]
cmp ecx, 0xffffffef
jbe 0x100c18e0
mov dword [esp + 0x10], esi
xor esi, esi
cmp ecx, 0xffffffff
je 0x100c1985
mov dl, 0x10
xor ecx, ecx
mov byte [esp + 0x20], al
mov eax, esi
mov word [esp + 0x25], si
mov dword [esp + 0x21], ecx
shld esi, ecx, 8
shr eax, 0x10
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x20]
shl edi, 8
movzx ecx, dl
or ecx, edi
mov edx, dword [esp + 0x88]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebx
mov dword [edx + 0x14], esi
mov dword [edx + 0x10], eax
jmp 0x100c0e01
mov eax, ecx
cmp ebx, eax
jae 0x100c1a52
mov ebx, dword [esp + 0x1c]
mov dl, 0x13
xor esi, esi
mov dword [esp + 0x20], ebx
jmp 0x100c18bc
mov eax, dword [esp + 0xe0]
mov ebx, dword [esp + 0x340]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
sub esi, ebx
jae 0x100c1926
mov dword [esp + 0x117], ecx
mov dword [esp + 0x11b], 0
mov al, 0x13
jmp 0x100c1946
movzx eax, byte [esp + 0x310]
mov byte [esp + 0x60], al
movzx edi, al
mov eax, dword [esp + 0x80]
mul edi
jno 0x100c19e1
mov al, 0x35
mov edi, dword [esp + 0x88]
shld edx, ecx, 8
mov esi, dword [esp + 0x11b]
shl ecx, 8
movzx eax, al
or eax, ecx
mov dword [edi + 0xc], edx
mov edx, dword [esp + 0x117]
mov dword [edi + 8], eax
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], edx
mov dword [edi + 4], 0
mov dword [edi], 2
jmp 0x100c0e0e
cmp ebx, 8
jae 0x100c1a23
mov eax, dword [esp + 0x1c]
mov dl, 0x13
mov dword [esp + 0x57], eax
movzx eax, byte [esp + 0x5a]
movq xmm0, qword [esp + 0x50]
mov byte [esp + 0x9a], al
movzx eax, word [esp + 0x58]
movd edi, xmm0
mov word [esp + 0x98], ax
movq qword [esp + 0x90], xmm0
shufps xmm0, xmm0, 0x55
mov eax, dword [esp + 0x97]
movd ebx, xmm0
shld ebx, edi, 8
mov ecx, eax
shr ecx, 8
jmp 0x100c18a2
mov edx, esi
add ecx, ebx
sub edx, eax
jb 0x100c1910
dec edi
cmp edi, 7
ja 0x100c1b7f
mov ebx, dword [esp + 0x17c]
add ecx, eax
add ebx, dword [edi*4 + 0x100c2960]
jmp ebx
mov esi, dword [esp + 0x1c]
cmp dword [esi + 4], 0
jne 0x100c1ac7
mov esi, dword [esi]
add eax, 0xc
add edx, 0xfffffff4
mov byte [esp + 0x48], 8
mov dword [esp + 0x1c], eax
mov ebx, edx
mov eax, esi
mov esi, dword [esp + 0x10]
cmp ebx, eax
jb 0x100c18ea
mov ebx, dword [esp + 0x1c]
cmp eax, 2
jae 0x100c1a68
mov dword [esp + 0x20], ebx
mov dl, 0x13
xor esi, esi
jmp 0x100c18bc
movzx edx, word [ebx]
mov dword [esp + 0xdc], eax
mov eax, edx
add eax, 0xfffffffa
cmp ax, 0xfffc
jae 0x100c1a95
movzx eax, dx
mov dword [esp + 0x24], 0
mov dl, 0x11
xor esi, esi
mov dword [esp + 0x20], eax
jmp 0x100c18bc
mov eax, dword [esp + 0xdc]
add ebx, 2
cmp dx, 4
lea eax, [eax - 2]
jbe 0x100c1c2b
test eax, eax
je 0x100c1a5b
cmp dword [esp + 0xdc], 3
jne 0x100c1ae3
mov eax, dword [esp + 0x1c]
add eax, 3
mov dword [esp + 0x20], eax
jmp 0x100c1a5f
xor ecx, ecx
mov dl, 0x35
xor esi, esi
jmp 0x100c18a2
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
xor esi, esi
mov bl, 6
jmp 0x100c0a76
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 3], 0
je 0x100c1c16
mov dl, 0x41
jmp 0x100c1d95
movzx eax, byte [esp + 0x60]
movzx edx, word [esp + 0x114]
mov byte [esp + 0x110], al
movzx eax, byte [esp + 0x116]
mov ecx, dword [esp + 0x110]
shl eax, 0x10
or edx, eax
mov al, 0x17
jmp 0x100c1946
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
mov bl, 0xd
mov dh, al
mov dword [esp + 0x30], ecx
jmp 0x100c0a41
movd edi, xmm3
mov ecx, edx
movd dword [esp + 0x14], xmm1
movd esi, xmm2
mov ebx, edx
shrd ecx, edi, 0x10
shr edi, 0x10
jmp 0x100c0a76
mov ecx, dword [esp + 0x10]
mov esi, edx
mov edx, ebx
mov dword [esp + 0x14], eax
mov eax, ebx
jmp 0x100c0a76
mov ebx, 0xe
jmp 0x100c0a92
movzx eax, byte [ebx + 2]
add ebx, 4
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0xdc]
add eax, 0xfffffffc
mov dword [esp + 0xe8], eax
cmp ecx, 0xfffffff0
mov eax, ebx
jb 0x100c1c80
mov ecx, dword [esp + 0xe8]
cmp ecx, 8
jae 0x100c1c98
mov dword [esp + 0x97], eax
shr eax, 8
mov dl, 0x13
movq xmm0, qword [esp + 0x90]
movdqa xmmword [esp + 0x380], xmm0
movd edi, xmm0
shufps xmm0, xmm0, 0x55
movzx ecx, byte [esp + 0x387]
movd ebx, xmm0
shld ebx, edi, 8
jmp 0x100c1d7c
mov ecx, dword [esp + 0xe8]
cmp ecx, 4
jae 0x100c1cb0
mov ecx, eax
shr eax, 8
mov dl, 0x13
jmp 0x100c1d7c
lea ebx, [eax + 8]
mov dword [esp + 0x50], ebx
cmp dword [eax + 4], 0
jne 0x100c1d7a
mov eax, dword [eax]
add ecx, 0xfffffff8
jmp 0x100c1cbc
lea ebx, [eax + 4]
add ecx, 0xfffffffc
mov dword [esp + 0x50], ebx
mov eax, dword [eax]
sub ecx, eax
jae 0x100c1cd1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
jmp 0x100c1a5f
test eax, eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x10], esi
je 0x100c1a5b
lea ecx, [eax - 1]
mov dword [esp + 0x178], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x54], ecx
movzx eax, byte [ebx]
test al, al
mov byte [esp + 0x8f], al
je 0x100c1d93
mov eax, dword [esp + 0xe4]
cmp word [esp + 4], 4
mov byte [esp + 0x4f], 1
lea eax, [eax + 1]
jb 0x100c1d5d
test ecx, ecx
je 0x100c1ac1
mov eax, dword [esp + 0x178]
lea ecx, [eax - 2]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x54], ecx
movzx eax, byte [eax + 1]
test al, al
mov byte [esp + 0x4f], al
je 0x100c1df6
mov eax, dword [esp + 0xe4]
add eax, 2
test ecx, ecx
je 0x100c1ac1
lea edx, [eax + 1]
cmp ecx, 1
mov dword [esp + 0x50], edx
jne 0x100c1d9a
mov dword [esp + 0x20], edx
jmp 0x100c1a5f
mov dl, 0x35
mov byte [esp + 0x20], cl
mov word [esp + 0x21], ax
shr eax, 0x10
xor esi, esi
mov byte [esp + 0x23], al
jmp 0x100c18bc
mov dl, 0x1a
jmp 0x100c1a63
movzx edx, byte [eax]
mov esi, ecx
add esi, 0xfffffffe
mov dword [esp + 0x54], esi
je 0x100c1dfa
mov dh, byte [eax + 1]
lea esi, [eax + 3]
mov dword [esp + 0x50], esi
mov byte [esp + 0x8e], dh
mov dh, byte [eax + 2]
test dh, dh
mov byte [esp + 0x8d], dh
je 0x100c1e06
test dl, dl
setne byte [esp + 0x8c]
cmp ecx, 3
jne 0x100c1e0a
mov dword [esp + 0x20], esi
jmp 0x100c1a5f
mov edx, 5
push 0x10194c70
call dbg.panic_bounds_check
add esp, 4
jmp 0x100c26e0
mov dl, 0x1b
jmp 0x100c1d95
add eax, 2
mov dword [esp + 0x20], eax
jmp 0x100c1a5f
mov dl, 0x1c
jmp 0x100c1d95
lea edx, [ecx - 4]
mov dword [esp + 0x54], edx
movzx ebx, byte [eax + 3]
test bl, bl
mov byte [esp + 0x4e], bl
je 0x100c1e54
movzx ebx, byte [esp + 0x4e]
lea esi, [eax + 4]
mov dword [esp + 0x174], esi
dec bl
movzx ebx, bl
sub edx, ebx
mov esi, ebx
mov dword [esp + 0x1e4], ebx
jae 0x100c1e5b
mov eax, dword [esp + 0x174]
mov dl, 0x13
xor esi, esi
mov dword [esp + 0x20], eax
mov ebx, eax
jmp 0x100c18bc
mov dl, 0x1d
jmp 0x100c1d95
mov esi, dword [esp + 0x174]
mov ebx, dword [esp + 0x1e4]
cmp word [esp + 4], 4
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 8
mov dword [esp + 0x1cc], 0
lea ebx, [esi + ebx]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
ja 0x100c1f2c
test edx, edx
je 0x100c224a
add eax, ecx
mov esi, ebx
xor ecx, ecx
cmp byte [esi + ecx], 0
je 0x100c1ec3
lea ebx, [esi + ecx + 1]
inc ecx
cmp ebx, eax
jne 0x100c1eaf
jmp 0x100c2209
mov eax, ecx
lea ebx, [esi + ecx + 1]
not eax
mov dword [esp + 0x50], ebx
add edx, eax
test ecx, ecx
mov dword [esp + 0x54], edx
je 0x100c263e
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0x1f
lea ecx, [esp + 0x1c4]
lea edx, [esp + 0x90]
call dbg.push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x1c], esi
lea eax, [ebx + edx]
test edx, edx
jne 0x100c1eab
jmp 0x100c224a
lea ecx, [esp + 0x90]
lea edx, [esp + 0x50]
call sym.gimli::read::line::FileEntryFormat::parse::ha645ba781a3c23c5
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
mov dword [esp + 0x2c], eax
jne 0x100c220d
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x170], esi
lea ecx, [esp + 0x90]
lea edx, [esp + 0x50]
call sym.gimli::read::reader::Reader::read_uleb128::h67425cb3bab41e98
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
mov dword [esp + 0x2c], eax
jne 0x100c227b
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 8], eax
or eax, ecx
mov dword [esp + 0x10], ecx
je 0x100c22ae
movzx eax, byte [esp + 0x48]
movzx ecx, byte [esp + 0x5c]
xor ebx, ebx
xor esi, esi
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0x28], eax
add ebx, 1
adc esi, 0
lea edx, [esp + 0x50]
lea ecx, [esp + 0x90]
push dword [esp + 0x170]
push dword [esp + 0x88]
push dword [esp + 0x30]
call dbg.parse_directory_v5<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 0xc
mov eax, dword [esp + 0x90]
or eax, dword [esp + 0x94]
lea eax, [esp + 0x98]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq qword [esp + 0xf8], xmm0
movq qword [esp + 0x100], xmm1
jne 0x100c253c
lea ecx, [esp + 0x1c4]
lea edx, [esp + 0xf8]
call dbg.push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
cmp ebx, dword [esp + 8]
mov eax, esi
sbb eax, dword [esp + 0x10]
jb 0x100c1fd8
mov dword [esp + 0x10], 0
cmp word [esp + 4], 5
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 8
mov dword [esp + 0xf4], 0
jae 0x100c22d7
test edi, edi
mov eax, 0x2e
mov ecx, 0x1f
cmove ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x50]
test eax, eax
je 0x100c2664
xor ebx, ebx
lea edx, [ecx + eax]
xor esi, esi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
cmp byte [ecx + esi], 0
lea ecx, [ecx + esi + 1]
je 0x100c20d3
inc esi
cmp ecx, edx
jne 0x100c20bb
jmp 0x100c2638
mov edx, esi
mov dword [esp + 0x50], ecx
not edx
add eax, edx
test esi, esi
mov dword [esp + 0x54], eax
je 0x100c26e2
lea edx, [esp + 0x50]
lea ecx, [esp + 0x90]
push esi
push dword [esp + 0x2c]
call sym.gimli::read::line::FileEntry_LT_R_C_Offset_GT_::parse::hed7b2fd60fe23acf
add esp, 8
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x7c], eax
xor eax, 0x2e
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xd4], ecx
or eax, edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
je 0x100c2702
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xa8]
movsd xmm0, qword [eax + 0x18]
lea eax, [esp + 0x210]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [ecx + 0x10]
mov ecx, dword [esp + 0x2c]
movsd qword [eax + 0x10], xmm0
lea eax, [esp + 0xa8]
movq xmm0, qword [eax]
lea eax, [esp + 0xa8]
movq xmm1, qword [eax + 8]
lea eax, [esp + 0x210]
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], esi
lea ecx, [esp + 0xec]
lea edx, [esp + 0x1f8]
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h558da4c79671b776
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x28]
lea edx, [ecx + eax]
test eax, eax
mov dword [esp + 0x1c], esi
jne 0x100c20b5
jmp 0x100c2664
mov ebx, esi
jmp 0x100c224a
movzx eax, byte [esp + 0x93]
movzx edi, word [esp + 0x91]
mov esi, dword [esp + 0x9c]
mov bl, 1
shl eax, 0x10
or edi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
jmp 0x100c256f
mov al, 0x13
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x84], 2
xor esi, esi
mov dword [esp + 0xd8], 0
xor ebx, ebx
mov dword [esp + 0x2c], eax
jmp 0x100c256f
movzx eax, byte [esp + 0x93]
movzx edi, word [esp + 0x91]
mov esi, dword [esp + 0x9c]
shl eax, 0x10
or edi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
jmp 0x100c2565
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 8
mov dword [esp + 0xf4], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x90]
lea edx, [esp + 0x50]
call sym.gimli::read::line::FileEntryFormat::parse::ha645ba781a3c23c5
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
mov dword [esp + 0x2c], eax
jne 0x100c25bb
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0xd4], esi
lea ecx, [esp + 0x90]
lea edx, [esp + 0x50]
call sym.gimli::read::reader::Reader::read_uleb128::h67425cb3bab41e98
movzx eax, byte [esp + 0x90]
cmp al, 0x4b
mov dword [esp + 0x2c], eax
jne 0x100c2608
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 8], 0x2e
mov dword [esp + 0x244], eax
or eax, ecx
mov dword [esp + 0x240], ecx
je 0x100c24c2
movzx eax, byte [esp + 0x48]
movzx ecx, byte [esp + 0x5c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x1e0], 0
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0x23c], eax
add dword [esp + 0x60], 1
adc dword [esp + 0x1e0], 0
lea edx, [esp + 0x50]
lea ecx, [esp + 0x90]
push dword [esp + 0xd4]
push dword [esp + 0x2c]
push dword [esp + 0x244]
call dbg.parse_file_v5<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 0xc
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0xa4]
mov eax, ecx
xor eax, 0x2e
or eax, edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa0]
je 0x100c2682
lea ebx, [esp + 0xa8]
lea edi, [esp + 0xa8]
movsd xmm0, qword [ebx + 0x18]
lea ebx, [esp + 0x128]
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [ebx + 0x10], xmm0
lea ebx, [esp + 0xa8]
movq xmm0, qword [ebx]
lea ebx, [esp + 0xa8]
movq xmm1, qword [ebx + 8]
lea ebx, [esp + 0x128]
movq qword [ebx], xmm0
movq qword [ebx + 8], xmm1
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], esi
lea ecx, [esp + 0xec]
lea edx, [esp + 0x110]
call sym.alloc::vec::Vec_LT_T_C_A_GT_::push::h558da4c79671b776
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1e0]
cmp eax, dword [esp + 0x244]
sbb ecx, dword [esp + 0x240]
jb 0x100c239d
xor ebx, ebx
mov dword [esp + 0x60], 0
movsd xmm0, qword [esp + 0x1c4]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0x84]
movsd qword [esp + 0x360], xmm0
movq xmm0, qword [esp + 0xec]
add dword [esp + 0xe4], eax
mov dword [esp + 0x368], edx
mov dword [esp + 0x358], ecx
movq qword [esp + 0x350], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x190], xmm0
jmp 0x100c15ab
mov edi, dword [esp + 0xf8]
mov eax, dword [esp + 0xfc]
mov esi, dword [esp + 0x104]
mov dword [esp + 0x1c], eax
mov eax, edi
mov eax, dword [esp + 0x100]
mov dword [esp + 0x2c], edi
shr edi, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
xor ebx, ebx
cmp dword [esp + 0x1c4], 0
je 0x100c258a
mov ecx, dword [esp + 0x1c8]
mov edx, 8
call sym.___rust_dealloc
cmp dword [esp + 0xd8], 0
sete al
or bl, al
jne 0x100c25ae
mov ecx, dword [esp + 0x84]
mov edx, 2
call sym.___rust_dealloc
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
jmp 0x100c18bc
movzx eax, byte [esp + 0x93]
movzx edi, word [esp + 0x91]
mov esi, dword [esp + 0x9c]
mov bl, 1
shl eax, 0x10
or edi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
jmp 0x100c268f
mov ecx, 8
mov edx, 0x50
call dbg.handle_alloc_error
jmp 0x100c26e0
movzx eax, byte [esp + 0x93]
movzx edi, word [esp + 0x91]
mov esi, dword [esp + 0x9c]
shl eax, 0x10
or edi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
jmp 0x100c2689
mov ecx, dword [esp + 0x28]
jmp 0x100c2664
mov dword [esp + 0x84], 2
mov dword [esp + 0xd8], 0
mov dword [esp + 0x170], 0
jmp 0x100c2060
mov al, 0x13
xor esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], eax
mov dword [esp + 0x7c], 0
jmp 0x100c268d
mov edi, dword [esp + 0x2c]
shr edi, 8
mov dword [esp + 0x20], eax
xor ebx, ebx
cmp dword [esp + 0xec], 0
mov dword [esp + 0x24], esi
je 0x100c26ae
mov ecx, dword [esp + 0xf0]
mov edx, 8
call sym.___rust_dealloc
cmp dword [esp + 0x7c], 0
sete al
or bl, al
jne 0x100c256d
mov ecx, dword [esp + 0x28]
mov edx, 2
call sym.___rust_dealloc
jmp 0x100c256d
mov ecx, 4
mov edx, 0x20
call dbg.handle_alloc_error
ud2
mov dword [esp + 0x28], 2
mov dword [esp + 0x7c], 0
mov dword [esp + 0xd4], 0
jmp 0x100c24cc
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x28], 2
shr edi, 8
mov dword [esp + 0x20], eax
jmp 0x100c2678