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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4a0
call 0x4fa014
pop eax
mov edi, edx
mov dword [esp + 0x130], ecx
mov dword [esp + 0xf0], eax
mov ecx, edx
mov edx, 0x5a007a
push 0xa
mov dword [esp + 0x138], edi
call dbg.section
add esp, 4
mov dword [esp + 0x20], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x50], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov edx, 0x5a0084
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov dword [esp], edx
mov ecx, dword [esp + 0x50]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp]
cmove ecx, eax
mov dword [esp], ecx
mov edx, 0x5a0093
mov ecx, edi
push 0xd
call dbg.section
add esp, 4
mov dword [esp + 0x10], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0xc], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf4], edx
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov edx, 0x5a00a0
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 8]
cmove ecx, eax
mov dword [esp + 8], ecx
mov edx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwo
mov ecx, edi
push 0xd
call dbg.section
add esp, 4
mov dword [esp + 4], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x18], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x74], edx
cmove ecx, eax
mov dword [esp + 4], ecx
mov edx, 0x5a002d
mov ecx, edi
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
cmove ecx, eax
mov dword [esp + 0x14], ecx
mov edx, 0x5a0038
mov ecx, edi
push 0xe
call dbg.section
add esp, 4
mov dword [esp + 0x44], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x34], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
cmove ecx, eax
mov dword [esp + 0x44], ecx
mov edx, 0x5a0055
mov ecx, edi
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x34]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
cmove ecx, eax
mov dword [esp + 0x1c], ecx
mov edx, 0x5a0060
mov ecx, edi
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x48], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x40], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], edx
cmove ecx, eax
mov dword [esp + 0x48], ecx
mov edx, 0x5a006b
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x40]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
cmove ecx, eax
mov dword [esp + 0x3c], ecx
mov edx, 0x5a00af
mov ecx, edi
push 0xa
call dbg.section
add esp, 4
mov dword [esp + 0x38], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmovne ecx, eax
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x38]
cmove ecx, eax
mov dword [esp + 0x38], ecx
mov edx, 0x5a00b9
mov ecx, edi
push 0x12
call dbg.section
add esp, 4
mov esi, eax
mov ebx, edx
mov edx, 0x5a00da
mov ecx, edi
push 0xc
call dbg.section
add esp, 4
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edi, dword [esp + 0x38]
cmove edx, eax
cmove eax, ecx
test esi, esi
cmovne ecx, esi
cmove ebx, esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x31c], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x320], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x324], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x328], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x32c], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x330], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x334], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x338], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x33c], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x340], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x344], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x348], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x34c], esi
mov dword [esp + 0x350], edi
mov dword [esp + 0x354], ecx
mov dword [esp + 0x358], ebx
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x360], edx
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x36c], eax
mov eax, dword [esp]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x380], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov byte [esp + 0x38c], 0
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0xf4], eax
je 0x4fa7e3
mov ecx, dword [ebp + 8]
mov edx, 0x5a007a
push 0xa
call dbg.section
add esp, 4
mov dword [esp + 0x20], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x50], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a0084
push 0xf
call dbg.section
add esp, 4
mov dword [esp], edx
mov ecx, dword [esp + 0x50]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp]
cmove ecx, eax
mov dword [esp], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a0093
push 0xd
call dbg.section
add esp, 4
mov dword [esp + 0x10], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0xc], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a00a0
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 8]
cmove ecx, eax
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 8]
mov edx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwo
push 0xd
call dbg.section
add esp, 4
mov dword [esp + 4], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x18], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x4c], edx
cmove ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a002d
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
cmove ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a0038
push 0xe
call dbg.section
add esp, 4
mov dword [esp + 0x44], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x34], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x70], edx
cmove ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a0055
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x34]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
cmove ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a0060
push 0xb
call dbg.section
add esp, 4
mov dword [esp + 0x48], edx
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov edx, eax
mov dword [esp + 0x40], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove edx, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], edx
cmove ecx, eax
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a006b
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x40]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
cmove ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a00af
push 0xa
call dbg.section
add esp, 4
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x38]
test eax, eax
mov edi, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmovne edi, eax
cmove ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 8]
mov edx, 0x5a00b9
push 0x12
call dbg.section
add esp, 4
mov esi, eax
mov ebx, edx
mov ecx, dword [ebp + 8]
mov edx, 0x5a00da
push 0xc
call dbg.section
add esp, 4
test esi, esi
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove ebx, esi
cmove esi, ecx
test eax, eax
cmovne ecx, eax
cmove edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x200], eax
mov eax, dword [esp]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0
mov byte [esp + 0x220], 0
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1ac], 1
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fa797
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fde43
mov dword [0x5c6108], eax
push 0x7c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4fde43
lea esi, [esp + 0x1a8]
mov ecx, 0x1f
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x384], eax
cmp dword [ecx + 0x2c], 0
je 0x4fa7d9
push dword [ecx + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov dword [esp + 0x74], 0
jmp 0x4fa7e9
mov al, 1
mov dword [esp + 0x74], eax
lea edi, [esp + 0x1b0]
lea esi, [esp + 0x31c]
mov ecx, 0x1d
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1ac], 1
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fa836
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fde0c
mov dword [0x5c6108], eax
push 0x7c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4fde0c
lea esi, [esp + 0x1a8]
mov ecx, 0x1f
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb4], 0
add ecx, 8
mov dword [esp + 0xa8], ecx
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
test esi, esi
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], 0
je 0x4fb028
lea eax, [esp + 0x1a8]
mov ecx, 4
xor edi, edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x4c], eax
jmp 0x4fa8f6
mov ecx, dword [esp + 0x20]
mov dword [ecx + edx*8], ebx
mov dword [ecx + edx*8 + 4], esi
inc edx
mov esi, dword [esp + 0x180]
mov dword [esp + 0x18], edx
mov dword [esp + 0xb4], edx
test esi, esi
je 0x4fa982
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x17c]
push edi
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>
add esp, 4
cmp dword [esp + 0x1a8], 0
jne 0x4fb11b
sub esi, dword [esp + 0x180]
movzx eax, byte [esp + 0x1ad]
mov ecx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1c0]
mov edi, esi
add edi, dword [esp + 0x184]
cmp al, 3
mov dword [esp + 0x184], edi
je 0x4fa982
mov edx, dword [esp + 0x18]
mov esi, ecx
cmp edx, dword [esp + 0xb0]
jne 0x4fa8d0
lea ecx, [esp + 0xac]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h0e65b0e1fde6e2f6
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb4]
jmp 0x4fa8d4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
cmp edi, 0x15
mov dword [esp + 0x40], eax
jae 0x4fa9b4
cmp edi, 1
jbe 0x4fb028
mov ecx, dword [esp + 0x40]
mov edx, edi
push 1
call sym.core::slice::sort::insertion_sort_shift_left::hab95ffaa6e2e4d09
add esp, 4
jmp 0x4fb028
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fa9d6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fde89
mov dword [0x5c6108], eax
lea ecx, [edi*4]
and ecx, 0x7ffffff8
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp], eax
je 0x4fde89
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4faa19
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fdea2
mov dword [0x5c6108], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xc], eax
je 0x4fdea2
mov eax, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0x6c], 0x10
mov dword [esp + 0x18], edi
lea ecx, [eax - 0x10]
add eax, 0xfffffff8
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x70], ecx
jmp 0x4faa70
mov ebx, 3
nop dword [eax + eax]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
cmp eax, edi
jae 0x4fb007
mov ecx, dword [esp + 0x40]
mov edx, eax
mov eax, edi
mov dword [esp + 0x14], ebx
sub eax, edx
mov dword [esp + 0x20], edx
cmp eax, 2
lea ecx, [ecx + edx*8]
mov dword [esp + 0x50], ecx
jae 0x4fab70
mov edx, dword [esp + 0x20]
mov ecx, edi
mov edi, ecx
sub edi, edx
jb 0x4fdd7e
cmp ecx, dword [esp + 0x18]
ja 0x4fdd7e
jae 0x4faba0
cmp eax, 0xa
jae 0x4faba0
mov ecx, dword [esp + 0x18]
lea edi, [edx + 0xa]
mov ebx, edx
cmp edi, ecx
cmovae edi, ecx
mov dword [esp + 0x38], edi
sub edi, ebx
jb 0x4fddb6
cmp eax, 1
adc eax, 0
mov ecx, dword [esp + 0x50]
mov edx, edi
push eax
call sym.core::slice::sort::insertion_sort_shift_left::hab95ffaa6e2e4d09
add esp, 4
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x14], eax
jne 0x4fabb2
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fab1a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fdd9a
mov dword [0x5c6108], eax
mov ebx, dword [esp + 0x14]
mov ecx, ebx
shl ecx, 4
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4fdd9a
mov esi, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x6c], eax
lea eax, [ebx*8]
push eax
push dword [esp + 0x10]
push esi
call sym._memcpy
add esp, 0xc
push dword [esp + 0xc]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
jmp 0x4fabba
mov edx, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edx
jae 0x4faeb0
cmp eax, 2
jne 0x4faec6
mov edx, dword [esp + 0x20]
mov eax, 2
lea ecx, [edx + 2]
jmp 0x4faf27
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x14], eax
je 0x4faaf8
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esi + ebx*8], edi
mov dword [esp + 0xc], esi
mov dword [esi + ebx*8 + 4], eax
inc ebx
cmp ebx, 2
jb 0x4faa60
mov edi, dword [esp + 0x18]
jmp 0x4fac45
mov dword [esp + 0x50], ecx
mov ecx, dword [esp]
mov esi, dword [esp + 8]
mov eax, ebx
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
lea ebx, [edi - 1]
sub edx, ecx
push edx
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1c]
add eax, esi
mov esi, dword [esp + 0xc]
mov dword [esi + ecx*8 + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esi + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, edi
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edi, dword [esp + 0x18]
cmp ebx, 1
jbe 0x4fae90
mov eax, dword [esi + ebx*8 - 8]
mov ecx, dword [esi + ebx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x4faca0
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + ebx*8 - 0x10]
cmp edx, eax
jbe 0x4faca0
cmp ebx, 2
jbe 0x4faff6
lea ecx, [ebx - 3]
lea esi, [edx + eax]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + ebx*8 - 0x18]
cmp ecx, esi
jbe 0x4fae7a
cmp ebx, 3
jbe 0x4faa56
mov esi, dword [esp + 0xc]
add edx, ecx
mov edi, dword [esp + 4]
cmp dword [esi + ebx*8 - 0x20], edx
jbe 0x4facb0
jmp 0x4faa60
cmp ebx, 3
jb 0x4facb4
mov ecx, dword [esp + 0xc]
lea edi, [ebx - 3]
mov ecx, dword [ecx + ebx*8 - 0x18]
cmp ecx, eax
jb 0x4facb7
lea edi, [ebx - 2]
cmp ebx, edi
jbe 0x4fdc8c
lea eax, [edi + 1]
cmp ebx, eax
jbe 0x4fdc9e
mov edx, dword [esp + 0xc]
mov eax, dword [edx + edi*8 + 8]
mov esi, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 4]
add esi, eax
mov edx, esi
sub edx, ecx
mov dword [esp + 0x20], edx
jb 0x4fdcee
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
cmp esi, eax
ja 0x4fdcd8
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov dword [esp + 4], edi
lea eax, [edx + edi*8]
mov edx, dword [edx + edi*8]
lea ecx, [esi + ecx*8]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
sub esi, edx
lea ebx, [ecx + edx*8]
mov dword [esp + 8], edx
cmp esi, edx
jae 0x4fade0
mov dword [esp + 0x10], ecx
lea eax, [esi*8]
push eax
push ebx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 8]
mov edi, edx
push esi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
test edi, edi
lea eax, [esi + eax*8]
mov dword [esp + 0x50], eax
jle 0x4fabe4
test ecx, ecx
jle 0x4fabe4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x20], eax
nop word cs:[eax + eax]
mov eax, dword [ecx - 8]
mov edx, dword [ebx - 8]
mov edi, 0
mov esi, 0
cmp eax, edx
sbb edi, edi
cmp eax, edx
adc esi, 0xffffffff
cmp eax, edx
lea ebx, [ebx + edi*8]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + esi*8]
mov eax, ecx
cmovb eax, ebx
cmp ebx, dword [esp + 0x10]
movq xmm0, qword [eax]
movq qword [edx], xmm0
jbe 0x4fabe0
add dword [esp + 0x20], 0xfffffff8
cmp ecx, dword [esp]
ja 0x4fad90
jmp 0x4fabe0
lea eax, [edx*8]
push eax
mov edi, ecx
push ecx
mov esi, dword [esp + 8]
push esi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 8]
cmp dword [esp + 8], 0
lea eax, [esi + eax*8]
mov esi, dword [esp + 8]
mov dword [esp + 0x50], eax
jle 0x4fae70
cmp dword [esp + 0x20], esi
jle 0x4fae70
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
lea eax, [eax + ecx*8]
mov ecx, dword [esp]
mov dword [esp + 0x20], eax
nop word cs:[eax + eax]
mov esi, dword [ebx]
xor eax, eax
xor edx, edx
cmp esi, dword [ecx]
mov esi, ecx
cmovb esi, ebx
setae al
movq xmm0, qword [esi]
lea ecx, [ecx + eax*8]
setb al
movq qword [edi], xmm0
add edi, 8
cmp ecx, dword [esp + 0x50]
jae 0x4fae62
mov dl, al
lea ebx, [ebx + edx*8]
cmp ebx, dword [esp + 0x20]
jb 0x4fae30
mov esi, dword [esp + 8]
mov eax, edi
jmp 0x4fabed
mov ecx, dword [esp]
mov eax, edi
jmp 0x4fabed
mov edi, dword [esp + 4]
cmp ecx, eax
jae 0x4facb4
jmp 0x4facb7
mov ebx, 1
mov eax, dword [esp + 0x38]
cmp eax, edi
jb 0x4faa70
jmp 0x4fb007
cmp eax, 2
jne 0x4faef0
mov edx, dword [esp + 0x20]
mov eax, 2
lea ecx, [edx + 2]
jmp 0x4faa98
mov edi, 2
mov ebx, esi
mov dword [esp + 0x10], edx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, ebx
mov ebx, dword [ecx + edi*8]
cmp ebx, edx
jae 0x4faf10
inc edi
cmp eax, edi
jne 0x4faee0
jmp 0x4faf0e
mov edi, 2
mov ebx, esi
mov dword [esp + 0x10], edx
nop dword [eax + eax]
mov edx, ebx
mov ebx, dword [ecx + edi*8]
cmp ebx, edx
jb 0x4faf10
inc edi
cmp eax, edi
jne 0x4faf00
mov edi, eax
mov edx, dword [esp + 0x20]
cmp esi, dword [esp + 0x10]
mov eax, edi
lea ecx, [edi + edx]
mov edi, dword [esp + 0x18]
jae 0x4faa98
cmp edx, ecx
ja 0x4fdded
cmp ecx, edi
ja 0x4fddd9
cmp eax, 2
jae 0x4faf45
mov edx, dword [esp + 0x20]
jmp 0x4faa98
mov edx, eax
xor esi, esi
mov dword [esp + 0x38], ecx
shr edx, 1
cmp eax, 4
jb 0x4fafab
mov ecx, edx
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x50]
and ecx, 0xfffffffe
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
lea esi, [ecx + eax]
lea edi, [edi + esi*8]
mov esi, dword [esp + 0x10]
mov ecx, esi
nop word cs:[eax + eax]
nop
movdqu xmm0, xmmword [ebx]
movdqu xmm1, xmmword [edi]
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [ebx], xmm1
movdqu xmmword [edi], xmm0
add ebx, 0x10
add edi, 0xfffffff0
add esi, 0xfffffffe
jne 0x4faf80
mov esi, ecx
cmp edx, ecx
je 0x4fafe9
mov ecx, dword [esp + 0x20]
sub edx, esi
shl esi, 3
lea edi, [ecx + eax]
shl edi, 3
sub edi, esi
lea esi, [esi + ecx*8]
add esi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
nop word [eax + eax]
movq xmm0, qword [esi]
movq xmm1, qword [edi]
movq qword [esi], xmm1
movq qword [edi], xmm0
add esi, 8
add edi, 0xfffffff8
dec edx
jne 0x4fafd0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
jmp 0x4faa98
mov ebx, 2
mov eax, dword [esp + 0x38]
cmp eax, edi
jb 0x4faa70
push dword [esp + 0xc]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
push dword [esp]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x80], 8
mov dword [esp + 0x84], 0
mov dword [esp + 0x118], 8
mov dword [esp + 0x11c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x120], 0
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x160]
mov dword [esp + 0x6c], ecx
call sym.gimli::read::unit::DebugInfoUnitHeadersIter_LT_R_GT_::next::hf8888a3bdc867e3c
mov eax, dword [esp + 0x1a8]
cmp eax, 3
jne 0x4fb1c8
mov ebx, dword [esp + 0x120]
mov edi, dword [esp + 0x118]
inc ebx
mov ecx, edi
nop dword [eax + eax]
cmp ebx, 1
je 0x4fb0e5
lea esi, [ecx + 0x150]
dec ebx
call dbg.drop_in_place<addr2line::ResUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
mov ecx, esi
jmp 0x4fb0d0
cmp dword [esp + 0x11c], 0
je 0x4fb0fd
push edi
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x84], 0
je 0x4fb11b
push dword [esp + 0x80]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xb0], 0
je 0x4fb139
push dword [esp + 0xac]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0xa4]
lock dec dword [eax]
jne 0x4fb153
mov bl, 1
lea ecx, [esp + 0xa4]
call dbg.drop_slow<gimli::read::dwarf::Dwarf<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>
mov eax, dword [esp + 0x130]
mov byte [eax], 0x17
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4fb17b
cmp dword [eax + 0x2c], 0
je 0x4fb17b
push dword [eax + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xf4], 0
mov eax, dword [ebp + 8]
jne 0x4fb1a3
cmp dword [eax], 0
je 0x4fb1a3
cmp dword [eax + 0x2c], 0
je 0x4fb1a3
push dword [eax + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x134]
cmp dword [eax + 0x2c], 0
je 0x4fb1c0
push dword [eax + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ebx, [esp + 0x1c0]
lea esi, [esp + 0xd0]
lea edi, [esp + 0x438]
jmp 0x4fb203
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x160]
call sym.gimli::read::unit::DebugInfoUnitHeadersIter_LT_R_GT_::next::hf8888a3bdc867e3c
mov eax, dword [esp + 0x1a8]
cmp eax, 3
je 0x4fb0b7
mov ecx, dword [esp + 0x1ac]
movsd xmm2, qword [ebx + 8]
movq xmm1, qword [ebx]
movq xmm0, qword [esp + 0x1b0]
mov edx, dword [esp + 0x1bc]
cmp eax, 2
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1b8]
movsd qword [esp + 0x190], xmm2
movq xmm2, qword [ebx + 0x10]
movq qword [esp + 0x188], xmm1
movq qword [esp + 0x198], xmm2
je 0x4fc81a
test eax, eax
jne 0x4fb1e0
movd eax, xmm0
or eax, 4
cmp eax, 5
je 0x4fb1e0
mov eax, dword [esp + 0xc]
movsd xmm1, qword [esp + 0x198]
mov dword [esp + 0xb8], 0
movq xmm2, qword [esp + 0x188]
mov dword [esp + 0xbc], eax
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0xa8]
movsd qword [esi + 0x10], xmm1
movq xmm1, qword [esp + 0x190]
movq qword [esi], xmm2
mov dword [esp + 8], eax
movq qword [esi + 8], xmm1
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1a8]
push eax
call dbg.new<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 4
mov eax, dword [esp + 0x1a8]
xor eax, 2
or eax, dword [esp + 0x1ac]
je 0x4fb1e0
push 0x108
lea eax, [esp + 0x1ac]
push eax
lea eax, [esp + 0x398]
push eax
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x454]
mov edx, dword [esp + 0x450]
mov dword [esp + 4], eax
test ecx, ecx
lea eax, [eax + 8]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], 0
je 0x4fc76a
mov edi, edx
mov eax, ecx
xor edx, edx
xor esi, esi
xor ecx, ecx
dec eax
inc edi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edi - 1]
cmp ecx, 0x3f
mov byte [esp + 0x20], bl
jne 0x4fb398
cmp byte [esp + 0x20], 1
ja 0x4fc76a
mov dword [esp], eax
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x50], edx
mov dword [esp + 0x10], edi
xor edx, edx
mov ebx, 0
and al, 0x7f
movzx edi, al
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, ebx
or esi, edx
mov edx, dword [esp + 0x50]
or edx, edi
cmp byte [esp + 0x20], 0
jns 0x4fb3e6
mov edi, dword [esp + 0x10]
mov eax, dword [esp]
add ecx, 7
inc edi
add eax, 0xffffffff
jb 0x4fb380
jmp 0x4fc76a
mov eax, dword [esp + 0x10]
mov edi, dword [esp]
mov ecx, edx
or ecx, esi
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edi
jne 0x4fb4c7
mov eax, dword [esp + 4]
lea esi, [esp + 0xd0]
lock dec dword [eax]
jne 0x4fb421
mov ecx, dword [esp + 0x480]
call dbg.drop_slow<gimli::read::abbrev::Abbreviations, alloc::alloc::Global>
mov eax, dword [esp + 0x3a0]
lea ebx, [esp + 0x1c0]
lea edi, [esp + 0x438]
xor eax, 0x2f
or eax, dword [esp + 0x3a4]
je 0x4fb1e0
cmp dword [esp + 0x3f8], 0
je 0x4fb464
push dword [esp + 0x3f4]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x404], 0
je 0x4fb482
push dword [esp + 0x400]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x410], 0
je 0x4fb4a0
push dword [esp + 0x40c]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x41c], 0
je 0x4fb1e0
push dword [esp + 0x418]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
jmp 0x4fb1e0
mov edi, dword [esp + 4]
test esi, esi
jne 0x4fb4e2
lea eax, [edx - 1]
cmp eax, dword [edi + 0x10]
jae 0x4fb4e2
imul ecx, eax, 0x68
add ecx, dword [edi + 8]
jmp 0x4fb598
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x4fc76a
mov eax, dword [esp + 4]
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], edx
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
movzx eax, word [ecx + 0x4d6]
mov dword [esp + 4], ecx
mov dword [esp + 0x44], eax
lea ebx, [eax*8]
mov eax, 0xffffffff
test ebx, ebx
je 0x4fb568
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x50]
mov edi, dword [ecx + eax*8 + 0xc]
mov edx, dword [ecx + eax*8 + 8]
xor ecx, ecx
mov dword [esp], edi
xor edi, dword [esp + 0x20]
mov dword [esp + 0x10], edx
xor edx, esi
or edx, edi
mov edx, dword [esp + 0x20]
setne cl
cmp esi, dword [esp + 0x10]
sbb edx, dword [esp]
mov edx, 0xff
cmovb ecx, edx
inc eax
add ebx, 0xfffffff8
cmp cl, 1
je 0x4fb51b
movzx ecx, cl
test ecx, ecx
jne 0x4fb56c
jmp 0x4fb58d
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 4]
sub edx, 1
jb 0x4fc76a
mov ecx, dword [ecx + eax*4 + 0x4d8]
mov dword [esp + 0x14], edx
jmp 0x4fb500
mov ecx, dword [esp + 4]
imul eax, eax, 0x68
lea ecx, [ecx + eax + 0x58]
cmp byte [ecx + 0x62], 1
jne 0x4fb5a9
mov dword [esp + 0x108], 1
call sym.__LT_gimli..read..abbrev..Attributes_u20_as_u20_core..ops..deref..Deref_GT_::deref::hc85c1a5e3ff4774d
test edx, edx
je 0x4fb652
shl edx, 4
mov ecx, dword [esp + 0x490]
mov esi, eax
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 4], 0
add edx, eax
mov eax, dword [esp + 0x458]
mov dword [esp + 0x20], edx
mov dword [esp], ecx
mov ecx, eax
mov dword [esp + 0x38], eax
and ecx, 0xff00
mov dword [esp + 0x50], ecx
mov ecx, eax
shr ecx, 0x10
mov dword [esp + 0x158], ecx
lea ecx, [edi + 0x60]
mov dword [esp + 0x34], ecx
movzx ecx, ah
movzx eax, al
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x15c], eax
jmp 0x4fbb8f
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0xb4]
test eax, eax
mov dword [esp + 0x20], eax
je 0x4fb6e3
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xac]
xor ecx, ecx
mov esi, eax
jmp 0x4fb6b0
mov eax, esi
sub esi, ecx
jbe 0x4fb6e3
mov edi, dword [esp + 0xc]
shr esi, 1
xor ebx, ebx
add esi, ecx
cmp dword [edx + esi*8], edi
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x4fb6aa
movzx ecx, bl
cmp ecx, 0xff
jne 0x4fb817
mov ecx, esi
mov esi, eax
inc ecx
jmp 0x4fb6aa
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov eax, ecx
or eax, edx
je 0x4fb769
mov eax, dword [esp + 0x3c]
or dword [esp + 0x40], eax
je 0x4fb769
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x7c], eax
sbb ecx, dword [esp + 0x9c]
jae 0x4fb810
mov edx, dword [esp + 0x88]
cmp edx, dword [esp + 0x84]
jne 0x4fb73a
lea ecx, [esp + 0x80]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov ecx, edx
shl ecx, 5
mov dword [eax + ecx + 4], esi
mov esi, dword [esp + 0x7c]
mov dword [eax + ecx], esi
mov esi, dword [esp + 0x9c]
mov dword [eax + ecx + 0xc], esi
mov esi, dword [esp + 0xa0]
jmp 0x4fb7e5
xor ebx, ebx
or ecx, edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
je 0x4fc4ef
mov edx, dword [esp + 0x70]
or dword [esp + 0x4c], edx
je 0x4fc4ef
mov esi, dword [esp + 0x2fc]
mov edi, dword [esp + 0x2f8]
add esi, eax
adc edi, ecx
cmp eax, esi
mov ecx, ecx
sbb ecx, edi
jae 0x4fb810
mov edx, dword [esp + 0x88]
cmp edx, dword [esp + 0x84]
jne 0x4fb7c6
lea ecx, [esp + 0x80]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x78]
mov ecx, edx
shl ecx, 5
mov dword [eax + ecx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 0xc], edi
mov edi, dword [esp + 8]
inc edx
mov dword [eax + ecx + 8], esi
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov bl, 1
mov dword [eax + ecx + 0x18], edi
mov dword [esp + 0x88], edx
jmp 0x4fc4ef
xor ebx, ebx
jmp 0x4fc4ef
mov edi, dword [esp + 0x20]
lea eax, [esi - 1]
cmp eax, edi
jae 0x4fc74a
inc esi
cmp esi, 1
je 0x4fb844
mov eax, dword [esp + 0xc]
lea ecx, [esi - 1]
cmp dword [edx + esi*8 - 0x10], eax
mov esi, ecx
je 0x4fb827
cmp ecx, edi
jbe 0x4fb846
jmp 0x4fdeed
xor ecx, ecx
cmp ecx, edi
jne 0x4fb86c
xor ebx, ebx
test bl, 1
lea ebx, [esp + 0x1c0]
mov dword [esp + 0xb8], 2
je 0x4fc50c
jmp 0x4fc578
lea eax, [edx + edi*8]
lea esi, [edx + ecx*8]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], eax
jmp 0x4fb891
mov esi, dword [esp + 0x44]
add esi, 8
cmp esi, dword [esp + 0x34]
je 0x4fc726
mov eax, dword [esp + 0xc]
cmp dword [esi], eax
jne 0x4fc726
mov edx, dword [esp + 0xa8]
mov eax, dword [esi + 4]
mov ecx, dword [edx + 0x14]
sub ecx, eax
jb 0x4fc76a
mov edx, dword [edx + 0x10]
add edx, eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
push eax
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>
add esp, 4
cmp dword [esp + 0x1a8], 0
jne 0x4fc76a
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x44], esi
test eax, eax
je 0x4fb880
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x50], ecx
movzx ecx, byte [esp + 0x1c4]
mov dword [esp + 0x14], eax
add al, al
add al, cl
mov dword [esp + 4], ecx
movzx eax, al
mov dword [esp], eax
jmp 0x4fb962
mov esi, dword [esp + 0x20]
cmp esi, dword [esp]
jb 0x4fb880
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x50]
cmp ecx, 8
ja 0x4fc76a
mov edx, dword [ecx*4 + 0x4fe37c]
xor eax, eax
xor ecx, ecx
add edx, dword [esp + 0xf0]
jmp edx
mov dword [esp + 4], 1
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x10]
xor eax, 0x26
or eax, dword [esp + 0x1ac]
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x10], ecx
movzx ecx, word [esp + 0x18]
cmove cx, word [esp + 0x1b0]
mov word [esp + 0x18], cx
mov eax, dword [esp + 0x20]
cmp esi, eax
je 0x4fc375
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
mov eax, dword [esp + 0x100]
lea ebx, [esi + 0x10]
movq qword [esp + 0x140], xmm1
movq qword [esp + 0x138], xmm0
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xf8]
lea esi, [esp + 0x138]
push esi
push dword [eax + 0x20]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov ecx, dword [esp + 0x1a8]
cmp dword [esp + 0x50], 0x800
mov eax, dword [esp + 0x1ac]
mov edx, ecx
jne 0x4fbe2b
xor edx, 0x2e
or edx, eax
je 0x4fc76a
movq xmm0, qword [esp + 0x1b0]
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1bc]
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xbc], eax
movzx eax, dx
mov dword [esp + 0xb8], ecx
cmp eax, 0x12
jle 0x4fbe7e
cmp eax, 0x13
mov esi, ebx
je 0x4fbb3c
cmp eax, 0x55
jne 0x4fbb83
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1b0]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x16
je 0x4fc20b
cmp ecx, 0x18
mov dword [esp + 4], 0
jne 0x4fbb83
mov ecx, dword [edi + 0x64]
sub ecx, dword [esp]
jb 0x4fc76a
mul dword [esp + 0x1c]
seto dh
sub ecx, eax
setb dl
test dh, dh
jne 0x4fc76a
test dl, dl
jne 0x4fc76a
cmp ecx, 8
jb 0x4fc76a
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
add ecx, dword [esp]
cmp dword [eax + ecx + 4], 0
jne 0x4fc76a
mov eax, dword [eax + ecx]
add eax, dword [esp]
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x48], eax
je 0x4fc380
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
mov eax, dword [esp + 0x100]
mov ebx, esi
movq qword [esp + 0x140], xmm1
movq qword [esp + 0x138], xmm0
lea ecx, [esp + 0x1a8]
lea esi, [esp + 0x138]
lea edx, [esp + 0xf8]
push esi
push dword [eax + 0x20]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x4fc76a
mov edx, dword [esp + 0x1b8]
movq xmm0, qword [esp + 0x1b0]
mov esi, dword [esp + 0x1bc]
cmp dx, 0x55
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
jne 0x4fc162
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1b0]
mov esi, ebx
mov edx, ecx
and dl, 0x3f
cmp dl, 0x18
jne 0x4fc1ff
mov ecx, dword [edi + 0x64]
sub ecx, dword [esp]
jb 0x4fc76a
mul dword [esp + 0x1c]
seto dh
sub ecx, eax
setb dl
test dh, dh
jne 0x4fc76a
test dl, dl
jne 0x4fc76a
cmp ecx, 8
jb 0x4fc76a
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
add ecx, dword [esp]
cmp dword [eax + ecx + 4], 0
jne 0x4fc76a
mov eax, dword [eax + ecx]
add esi, 0x10
add eax, dword [esp]
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x48], eax
jne 0x4fbcf3
jmp 0x4fc380
xor edx, 0x2e
or edx, eax
je 0x4fc76a
movq xmm0, qword [esp + 0x1b0]
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1bc]
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xbc], eax
movzx eax, dx
mov dword [esp + 0xb8], ecx
cmp eax, 0x12
jg 0x4fbf2f
cmp eax, 0x11
mov esi, ebx
je 0x4fc244
cmp eax, 0x12
jne 0x4fbb83
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1a8]
test al, 0x3f
je 0x4fc131
cmp eax, 7
je 0x4fc100
cmp eax, 0xc
jne 0x4fbb83
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x488]
mov esi, dword [edi + 0xc]
sub esi, ecx
jb 0x4fc76a
mov eax, dword [esp + 0x15c]
mul dword [esp + 0x1b0]
jo 0x4fc76a
mov edx, esi
sub edx, eax
jb 0x4fc76a
mov ebx, edi
movzx edi, byte [esp + 0x38]
dec edi
cmp edi, 7
ja 0x4fc76a
mov edi, dword [edi*4 + 0x4fe33c]
add ecx, dword [ebx + 8]
add edi, dword [esp + 0xf0]
jmp edi
cmp eax, 0x13
mov esi, ebx
je 0x4fbb3c
cmp eax, 0x55
jne 0x4fbb83
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1b0]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x16
je 0x4fc20b
cmp ecx, 0x18
mov dword [esp + 4], 0
jne 0x4fbb83
mov ecx, dword [edi + 0x64]
sub ecx, dword [esp]
jb 0x4fc76a
mul dword [esp + 0x1c]
seto dh
sub ecx, eax
setb dl
test dh, dh
jne 0x4fc76a
test dl, dl
jne 0x4fc76a
cmp ecx, 4
jb 0x4fc76a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp]
mov ecx, dword [ecx]
add ecx, edx
mov eax, dword [eax + ecx]
add eax, edx
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x48], eax
je 0x4fc380
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
mov eax, dword [esp + 0x100]
mov ebx, esi
movq qword [esp + 0x140], xmm1
movq qword [esp + 0x138], xmm0
lea ecx, [esp + 0x1a8]
lea esi, [esp + 0x138]
lea edx, [esp + 0xf8]
push esi
push dword [eax + 0x20]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x4fc76a
mov edx, dword [esp + 0x1b8]
movq xmm0, qword [esp + 0x1b0]
mov esi, dword [esp + 0x1bc]
cmp dx, 0x55
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
jne 0x4fc162
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1b0]
mov esi, ebx
mov edx, ecx
and dl, 0x3f
cmp dl, 0x18
jne 0x4fc1ff
mov ecx, dword [edi + 0x64]
sub ecx, dword [esp]
jb 0x4fc76a
mul dword [esp + 0x1c]
seto dh
sub ecx, eax
setb dl
test dh, dh
jne 0x4fc76a
test dl, dl
jne 0x4fc76a
cmp ecx, 4
jb 0x4fc76a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp]
add esi, 0x10
mov ecx, dword [ecx]
add ecx, edx
mov eax, dword [eax + ecx]
add eax, edx
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x48], eax
jne 0x4fbfd2
jmp 0x4fc380
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x4c], 1
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x2f8], ecx
jmp 0x4fbb83
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
jmp 0x4fbb83
mov esi, ebx
movzx eax, dx
add esi, 0x10
cmp eax, 0x11
je 0x4fc23c
cmp eax, 0x12
je 0x4fc368
cmp eax, 0x13
je 0x4fbb34
jmp 0x4fc22f
add esi, 0x10
cmp ecx, 0x16
jne 0x4fbb83
cmp byte [edi + 0x70], 0
mov edx, 0
mov ecx, 0
cmovne edx, dword [esp]
cmp word [esp + 0x158], 5
cmovae edx, ecx
add edx, eax
mov dword [esp + 0x48], edx
mov dword [esp + 4], 1
jmp 0x4fbb83
mov dword [esp + 4], 1
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xb8]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1a8]
test al, 0x3f
je 0x4fc2d1
cmp eax, 0xc
jne 0x4fbb83
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x488]
mov esi, dword [edi + 0xc]
sub esi, ecx
jb 0x4fc76a
mov eax, dword [esp + 0x15c]
mul dword [esp + 0x1b0]
jo 0x4fc76a
mov edx, esi
sub edx, eax
jb 0x4fc76a
mov ebx, edi
movzx edi, byte [esp + 0x38]
dec edi
cmp edi, 7
ja 0x4fc76a
mov edi, dword [edi*4 + 0x4fe35c]
add ecx, dword [ebx + 8]
add edi, dword [esp + 0xf0]
jmp edi
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x44], 0
mov dword [esp + 0x14], 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
jmp 0x4fbb83
mov dword [esp + 4], 1
jmp 0x4fbe92
cmp dword [esp + 4], 0
je 0x4fb68a
mov ebx, dword [esp + 0x158]
lea ecx, [edi + 0x58]
mov esi, edi
mov edi, dword [esp + 0x48]
cmp bx, 5
cmovae ecx, dword [esp + 0x34]
mov eax, dword [ecx + 4]
sub eax, edi
jb 0x4fc76a
mov edx, dword [esi + 8]
movq xmm0, qword [esp + 0x478]
mov ecx, dword [ecx]
mov esi, dword [esi + 0xc]
movq qword [esp + 0x1a8], xmm0
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0x488]
mov dword [esp + 0x1b4], esi
add ecx, edi
cmp bx, 5
mov dword [esp + 0x1b8], edx
mov edx, dword [esp + 0x38]
mov word [esp + 0x1bc], dx
mov word [esp + 0x1be], bx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], eax
setae byte [esp + 0x1c8]
xor ebx, ebx
mov byte [esp + 0x1cb], 0
mov word [esp + 0x1c9], 0
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x1a8]
call dbg.next<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0xb8]
movdqu xmm1, xmmword [esp + 0xc0]
mov ecx, eax
and cl, 3
cmp cl, 1
jne 0x4fc4db
pshufd xmm2, xmm1, 0xee
pshufd xmm0, xmm1, 0x55
pshufd xmm3, xmm1, 0xff
movd ecx, xmm1
movd esi, xmm2
movd eax, xmm0
movd edx, xmm3
cmp ecx, esi
sbb eax, edx
jae 0x4fc41e
mov edx, dword [esp + 0x88]
movdqa xmmword [esp + 0x20], xmm1
cmp edx, dword [esp + 0x84]
jne 0x4fc49d
lea ecx, [esp + 0x80]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0x88]
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 8]
mov ecx, edx
inc edx
mov bl, 1
shl ecx, 5
movdqu xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov dword [eax + ecx + 0x18], esi
mov dword [esp + 0x88], edx
jmp 0x4fc41e
cmp eax, 2
jne 0x4fc4ef
movd eax, xmm1
cmp al, 0x4b
mov bl, ah
je 0x4fc4f2
jmp 0x4fc76a
and bl, 1
and bl, 1
test bl, 1
lea ebx, [esp + 0x1c0]
mov dword [esp + 0xb8], 2
jne 0x4fc578
mov eax, dword [esp + 0x3a0]
xor eax, 0x2f
or eax, dword [esp + 0x3a4]
je 0x4fc578
lea eax, [esp + 0x3a0]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x390]
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x1a8]
call dbg.borrow_with<core::result::Result<addr2line::Lines, gimli::read::Error>, addr2line::{impl#2}::parse_units::{closure_env#4}<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
cmp dword [esp + 0xb8], 0
je 0x4fc68b
push 0x108
lea eax, [esp + 0x394]
push eax
lea eax, [esp + 0x1b0]
push eax
call sym._memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0xc0]
movq xmm0, qword [esp + 0xb8]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
movzx ecx, word [esp + 0x18]
movsd qword [ebx + 0xf8], xmm1
movq xmm1, qword [esp + 0xc8]
cmp edx, dword [esp + 0x11c]
movq qword [ebx + 0xf0], xmm0
movq qword [ebx + 0x100], xmm1
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x10]
mov word [esp + 0x2f0], ax
mov word [esp + 0x2f2], cx
mov dword [esp + 0x2c8], 2
mov byte [esp + 0x2e0], 0x4c
jne 0x4fc628
lea ecx, [esp + 0x118]
call dbg.reserve_for_push<addr2line::ResUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>
lea edi, [esp + 0x438]
mov edx, dword [esp + 0x120]
jmp 0x4fc62f
lea edi, [esp + 0x438]
imul eax, edx, 0x150
add eax, dword [esp + 0x118]
push 0x150
lea esi, [esp + 0x1ac]
push esi
push eax
mov esi, edx
call sym._memcpy
add esp, 0xc
inc esi
mov dword [esp + 0x120], esi
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x160]
call sym.gimli::read::unit::DebugInfoUnitHeadersIter_LT_R_GT_::next::hf8888a3bdc867e3c
mov eax, dword [esp + 0x1a8]
lea esi, [esp + 0xd0]
cmp eax, 3
jne 0x4fb203
jmp 0x4fb0b7
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4fc578
mov esi, dword [esp + 0xc4]
mov edx, dword [esp + 0x88]
shl eax, 3
lea edi, [eax + eax*2]
add esi, 8
jmp 0x4fc6fa
mov eax, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0x50]
mov edi, dword [esp + 8]
mov ecx, edx
inc edx
add esi, 0x18
shl ecx, 5
movdqu xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov dword [eax + ecx + 0x18], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x88], edx
add edi, 0xffffffe8
je 0x4fc578
movdqu xmm0, xmmword [esi]
cmp edx, dword [esp + 0x84]
mov dword [esp + 0x20], edi
movdqa xmmword [esp + 0x50], xmm0
jne 0x4fc6b3
lea ecx, [esp + 0x80]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0x88]
jmp 0x4fc6b3
mov ebx, dword [esp + 0x1c]
test bl, 1
lea ebx, [esp + 0x1c0]
mov dword [esp + 0xb8], 2
je 0x4fc50c
jmp 0x4fc578
xor ecx, ecx
test esi, esi
je 0x4fb846
mov edx, edi
mov ecx, eax
push 0x5a02b8
call dbg.panic_bounds_check
add esp, 4
jmp 0x4fdefc
mov eax, dword [esp + 0x480]
lock dec dword [eax]
jne 0x4fc782
mov ecx, dword [esp + 0x480]
call dbg.drop_slow<gimli::read::abbrev::Abbreviations, alloc::alloc::Global>
mov eax, dword [esp + 0x3a0]
xor eax, 0x2f
or eax, dword [esp + 0x3a4]
je 0x4fb0b7
cmp dword [esp + 0x3f8], 0
je 0x4fc7b7
push dword [esp + 0x3f4]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x404], 0
je 0x4fc7d5
push dword [esp + 0x400]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x410], 0
je 0x4fc7f3
push dword [esp + 0x40c]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x41c], 0
je 0x4fb0b7
push dword [esp + 0x418]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
jmp 0x4fb0b7
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x80]
cmp esi, 0x15
mov dword [esp + 0x1c], esi
jae 0x4fc84d
cmp esi, 1
jbe 0x4fcf90
mov edx, esi
mov ecx, edi
push 1
call sym.core::slice::sort::insertion_sort_shift_left::hec136ac9f97089a8
add esp, 4
jmp 0x4fcf98
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fc86f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fdebb
mov dword [0x5c6108], eax
mov ecx, esi
shl ecx, 4
and ecx, 0x7fffffe0
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp], eax
je 0x4fdebb
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fc8b0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fded4
mov dword [0x5c6108], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 8], eax
je 0x4fded4
lea eax, [edi + 0x40]
xor ecx, ecx
mov dword [esp + 0x38], 0x10
mov dword [esp + 0x34], edi
mov dword [esp + 0x4c], eax
lea eax, [edi - 0x20]
mov dword [esp + 0x40], eax
xor eax, eax
jmp 0x4fc900
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
cmp eax, esi
jae 0x4fcf61
mov edx, esi
mov ebx, eax
mov dword [esp + 0x10], ecx
sub edx, eax
mov eax, edi
mov edi, ebx
mov dword [esp + 0x50], ebx
shl edi, 5
cmp edx, 2
lea ecx, [eax + edi]
mov eax, edx
jae 0x4fc9f0
mov edx, esi
mov edi, edx
sub edi, ebx
jb 0x4fddbd
cmp edx, esi
ja 0x4fddbd
jae 0x4fca50
cmp eax, 0xa
jae 0x4fca50
lea edi, [ebx + 0xa]
cmp edi, esi
cmovae edi, esi
mov dword [esp + 0x3c], edi
sub edi, ebx
jb 0x4fde3c
cmp eax, 1
adc eax, 0
mov edx, edi
push eax
call sym.core::slice::sort::insertion_sort_shift_left::hec136ac9f97089a8
add esp, 4
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x38]
jne 0x4fca62
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4fc99f
mov ebx, ecx
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fde20
mov ecx, ebx
mov dword [0x5c6108], eax
shl ecx, 4
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4fde20
mov ecx, dword [esp + 0x10]
mov ebx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x38], eax
lea eax, [ecx*8]
push eax
push dword [esp + 0xc]
push ebx
call sym._memcpy
add esp, 0xc
push dword [esp + 8]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x10]
jmp 0x4fca66
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov edx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], eax
cmp ecx, eax
sbb ebx, edx
jae 0x4fcdb0
cmp dword [esp + 0x20], 2
mov ebx, dword [esp + 0x50]
jne 0x4fcdcc
mov ecx, dword [esp + 4]
lea edx, [ebx + 2]
mov eax, 2
jmp 0x4fce54
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
cmp ecx, dword [esp + 0x38]
je 0x4fc979
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x50]
mov dword [ebx + ecx*8], edi
mov dword [esp + 8], ebx
mov dword [ebx + ecx*8 + 4], eax
inc ecx
cmp ecx, 2
jb 0x4fc8f0
mov edi, dword [esp + 0x34]
jmp 0x4fcaf7
mov eax, dword [esp]
mov ecx, edi
mov edi, dword [esp + 0x10]
sub esi, eax
lea edx, [edi - 1]
mov dword [esp + 0x20], edx
push esi
push eax
push ecx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x44]
add eax, dword [esp + 0xc]
mov dword [ebx + ecx*8 + 8], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, edi
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
cmp ecx, 1
jbe 0x4fcda0
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + ecx*8 - 8]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ebx + ecx*8 - 4]
add ecx, eax
cmp ecx, esi
mov ecx, dword [esp + 0x10]
je 0x4fcb70
mov edx, dword [ebx + ecx*8 - 0x10]
cmp edx, eax
jbe 0x4fcb70
cmp ecx, 2
jbe 0x4fcf44
lea esi, [ecx - 3]
mov ebx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 4], esi
lea esi, [edx + eax]
mov ecx, dword [ecx + ebx*8 - 0x18]
cmp ecx, esi
jbe 0x4fcd7c
mov esi, dword [esp + 0x1c]
cmp ebx, 3
jbe 0x4fcf4e
mov edi, dword [esp + 8]
add edx, ecx
cmp dword [edi + ebx*8 - 0x20], edx
mov ebx, edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 4]
jbe 0x4fcb7c
jmp 0x4fcf58
cmp ecx, 3
jb 0x4fcb84
lea edx, [ecx - 3]
mov ecx, dword [ebx + ecx*8 - 0x18]
cmp ecx, eax
mov ecx, dword [esp + 0x10]
jb 0x4fcb87
lea edx, [ecx - 2]
cmp ecx, edx
jbe 0x4fdd02
lea eax, [edx + 1]
cmp ecx, eax
jbe 0x4fdd14
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8 + 8]
mov ebx, dword [ebx + edx*8 + 0xc]
add ebx, eax
mov dword [esp + 0x20], ebx
sub ebx, ecx
jb 0x4fdd68
cmp dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
ja 0x4fdd4e
mov eax, dword [esp + 8]
mov dword [esp + 0x14], ecx
shl ecx, 5
mov dword [esp + 4], edx
shl dword [esp + 0x20], 5
add ecx, edi
mov dword [esp + 0x50], ecx
lea esi, [eax + edx*8]
mov eax, dword [eax + edx*8]
mov edx, ebx
mov dword [esp + 0x44], esi
mov esi, eax
sub edx, eax
mov dword [esp + 0xc], eax
shl esi, 5
cmp edx, eax
lea edi, [ecx + esi]
jae 0x4fccc0
mov esi, edx
mov dword [esp + 0x48], edx
shl esi, 5
push esi
push edi
mov ebx, dword [esp + 8]
push ebx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
add esi, ebx
test eax, eax
jle 0x4fca90
cmp dword [esp + 0x48], 0
jle 0x4fca90
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
mov ecx, dword [esi - 0x20]
mov edx, dword [esi - 0x1c]
mov eax, esi
mov esi, 0
cmp ecx, dword [edi - 0x20]
sbb edx, dword [edi - 0x1c]
setb dl
setb cl
adc esi, 0xffffffff
movzx edx, dl
shl esi, 5
add esi, eax
shl edx, 5
sub edi, edx
test cl, cl
mov eax, esi
mov ecx, dword [esp + 0x20]
cmovne eax, edi
cmp edi, dword [esp + 0x50]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [ecx + 8], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [eax + 0x18]
movq qword [ecx], xmm0
movq qword [ecx + 0x18], xmm1
jbe 0x4fca90
add dword [esp + 0x20], 0xffffffe0
cmp esi, dword [esp]
ja 0x4fcc40
jmp 0x4fca90
push esi
push ecx
push dword [esp + 8]
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
add esi, dword [esp]
test eax, eax
jle 0x4fcd70
cmp ebx, eax
jle 0x4fcd70
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [esp]
nop word cs:[eax + eax]
nop
mov ecx, eax
mov eax, dword [edi]
mov ebx, dword [esp + 0x50]
mov edx, ecx
cmp eax, dword [ecx]
mov eax, dword [edi + 4]
sbb eax, dword [ecx + 4]
cmovb edx, edi
setae al
movsd xmm1, qword [edx + 8]
movq xmm0, qword [edx]
movzx eax, al
movsd qword [ebx + 8], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [ebx + 0x10], xmm1
movq xmm1, qword [edx + 0x18]
setb dl
shl eax, 5
movq qword [ebx], xmm0
add eax, ecx
movq qword [ebx + 0x18], xmm1
add ebx, 0x20
cmp eax, esi
mov dword [esp + 0x50], ebx
jae 0x4fcd73
movzx ecx, dl
shl ecx, 5
add edi, ecx
cmp edi, dword [esp + 0x20]
jb 0x4fcd00
jmp 0x4fcd73
mov eax, dword [esp]
mov ecx, dword [esp + 0x50]
jmp 0x4fca95
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 4]
cmp ecx, eax
mov ecx, dword [esp + 0x10]
jae 0x4fcb84
jmp 0x4fcb87
mov ecx, 1
jmp 0x4fc8f4
cmp dword [esp + 0x20], 2
mov ebx, dword [esp + 0x50]
jne 0x4fcdfd
mov ecx, dword [esp + 4]
lea edx, [ebx + 2]
mov eax, 2
jmp 0x4fc925
add edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov eax, 2
mov esi, ecx
nop dword [eax + eax]
mov ecx, edx
mov ebx, esi
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, ebx
mov ebx, edx
sbb ebx, ecx
jae 0x4fce2f
inc eax
add edi, 0x20
cmp dword [esp + 0x20], eax
jne 0x4fcde0
jmp 0x4fce2b
add edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov eax, 2
mov esi, ecx
nop dword [eax]
mov ebx, edx
mov ecx, esi
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, ecx
mov ecx, edx
sbb ecx, ebx
jb 0x4fce2f
inc eax
add edi, 0x20
cmp dword [esp + 0x20], eax
jne 0x4fce10
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
lea edx, [eax + ebx]
sbb dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
jae 0x4fc925
cmp ebx, edx
ja 0x4fde6d
cmp edx, esi
ja 0x4fde57
cmp eax, 2
jb 0x4fc925
mov esi, ecx
mov ecx, eax
mov dword [esp + 0x3c], edx
shr eax, 1
lea edx, [ebx + ecx]
mov edi, ecx
shl edx, 5
add edx, dword [esp + 0x40]
nop word cs:[eax + eax]
nop dword [eax]
movsd xmm0, qword [esi + 0x18]
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x1b8], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x1b0], xmm1
movsd qword [esp + 0x1a8], xmm0
movsd xmm0, qword [edx + 0x18]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0x20
movsd xmm0, qword [esp + 0x1c0]
movsd qword [edx + 0x18], xmm0
movsd xmm0, qword [esp + 0x1b8]
movsd qword [edx + 0x10], xmm0
movq xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
add edx, 0xffffffe0
dec eax
jne 0x4fce90
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 4]
mov eax, edi
jmp 0x4fc925
mov ecx, 2
jmp 0x4fc8f4
mov ecx, 3
jmp 0x4fc8f4
mov ecx, dword [esp + 0x10]
jmp 0x4fc8f4
push dword [esp + 8]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
push dword [esp]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x88]
test esi, esi
je 0x4fcfdd
mov dword [esp + 0x1c], esi
mov eax, esi
xor ecx, ecx
xor edx, edx
mov esi, edi
mov dword [esp + 0x34], edi
shl eax, 5
add eax, edi
mov dword [esp + 0x20], eax
nop dword [eax]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
cmp edi, ecx
mov ebx, eax
sbb ebx, edx
cmovae ecx, edi
mov edi, dword [esp + 0x20]
cmovae edx, eax
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], ecx
add esi, 0x20
cmp esi, edi
jne 0x4fcfb0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
jmp 0x4fcfdf
xor esi, esi
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0xb0], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
je 0x4fd025
push dword [esp + 0xac]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0xa4]
test edi, edi
je 0x4fb140
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x168], ecx
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x4fd139
mov dword [esp + 0xf8], 8
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], 0
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x188]
call sym.gimli::read::unit::DebugInfoUnitHeadersIter_LT_R_GT_::next::hf8888a3bdc867e3c
mov eax, dword [esp + 0x1a8]
cmp eax, 3
jne 0x4fd174
mov eax, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1bc]
movzx ebx, byte [esp + 0x1b0]
mov dword [esp], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0xf8]
call dbg.drop_in_place<alloc::vec::Vec<addr2line::SupUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>>
cmp bl, 0x4b
je 0x4fd3a2
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
inc ebx
nop dword [eax]
cmp ebx, 1
je 0x4fd361
lea esi, [ecx + 0x150]
dec ebx
call dbg.drop_in_place<addr2line::ResUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
mov ecx, esi
jmp 0x4fd120
mov ecx, 8
mov dword [esp + 0x138], 8
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x20], 0
jmp 0x4fd3c6
add dword [esp + 0xc], 8
mov dword [esp + 0x50], 0
mov dword [esp], 8
jmp 0x4fd1c4
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
cmp eax, 2
je 0x4fd397
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x188]
call sym.gimli::read::unit::DebugInfoUnitHeadersIter_LT_R_GT_::next::hf8888a3bdc867e3c
mov eax, dword [esp + 0x1a8]
cmp eax, 3
je 0x4fd0d7
mov edi, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1ac]
movzx ebx, byte [esp + 0x1b0]
movzx esi, byte [esp + 0x1b3]
movzx ecx, word [esp + 0x1b1]
movq xmm0, qword [esp + 0x1b4]
test eax, eax
mov dword [esp + 0x20], edi
lea edi, [esp + 0x1c0]
movsd xmm2, qword [edi + 8]
movq xmm1, qword [edi]
movsd qword [esp + 0xc0], xmm2
movq xmm2, qword [edi + 0x10]
movq qword [esp + 0xb8], xmm1
movq qword [esp + 0xc8], xmm2
jne 0x4fd190
shl esi, 0x10
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], edx
mov byte [esp + 0x1b0], bl
mov eax, dword [esp + 0x20]
movq xmm1, qword [esp + 0xc0]
movq xmm2, qword [esp + 0xc8]
or ecx, esi
mov esi, edx
mov word [esp + 0x1b1], cx
shr ecx, 0x10
mov byte [esp + 0x1b3], cl
movq qword [esp + 0x1b4], xmm0
movq xmm0, qword [esp + 0xb8]
mov dword [esp + 0x1bc], eax
movq qword [edi + 8], xmm1
movq qword [edi + 0x10], xmm2
movq qword [edi], xmm0
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x1a8]
lea ecx, [esp + 0x390]
push eax
call dbg.new<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 4
mov eax, dword [esp + 0x390]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
xor eax, 2
or eax, dword [esp + 0x394]
jne 0x4fd2db
mov esi, ebx
jmp 0x4fd1a1
push 0x108
lea eax, [esp + 0x394]
push eax
lea eax, [esp + 0x1b0]
push eax
call sym._memcpy
add esp, 0xc
mov edx, dword [esp + 0x50]
mov dword [esp + 0x2b0], esi
cmp edx, dword [esp + 0xfc]
jne 0x4fd328
lea ecx, [esp + 0xf8]
call dbg.reserve_for_push<addr2line::SupUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x100]
jmp 0x4fd32b
mov ecx, dword [esp]
mov esi, ebx
imul eax, edx, 0x110
mov ebx, edx
mov dword [esp], ecx
add eax, ecx
push 0x110
lea ecx, [esp + 0x1ac]
push ecx
push eax
call sym._memcpy
add esp, 0xc
inc ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x100], ebx
jmp 0x4fd1a1
cmp dword [esp + 4], 0
je 0x4fd379
push dword [esp + 8]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x14], 0
je 0x4fd38e
push edi
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x18]
jmp 0x4fb140
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x20], eax
mov ecx, dword [esp]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x18]
cmp ebx, esi
mov dword [esp + 0xc], edi
mov dword [esp], ecx
mov dword [esp + 0x1a8], eax
jbe 0x4fd433
test esi, esi
je 0x4fd41a
mov eax, esi
shl eax, 5
mov dword [esp + 0x44], eax
push eax
push edi
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapReAlloc
mov ecx, dword [esp]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x4fd433
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x44]
mov ecx, 8
call dbg.handle_alloc_error
jmp 0x4fdefc
push edi
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp]
mov dword [esp + 0xc], 8
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jbe 0x4fd4a3
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4fd487
imul eax, eax, 0x150
mov dword [esp + 4], eax
push eax
push dword [esp + 0xc]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapReAlloc
mov ecx, dword [esp]
test eax, eax
mov dword [esp + 8], eax
jne 0x4fd4a3
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 4]
mov ecx, 8
call dbg.handle_alloc_error
jmp 0x4fdefc
push dword [esp + 8]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp]
mov dword [esp + 8], 8
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x20], eax
jbe 0x4fd4fa
test eax, eax
je 0x4fd4e7
imul eax, eax, 0x110
mov dword [esp + 0x20], eax
push eax
push ecx
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapReAlloc
mov ecx, eax
test eax, eax
jne 0x4fd4fa
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x20]
mov ecx, 8
call dbg.handle_alloc_error
jmp 0x4fdefc
push ecx
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ecx, 8
test edi, edi
je 0x4fb153
mov eax, dword [esp + 0xc]
mov dword [esp + 0x300], edi
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], esi
mov esi, dword [esp + 8]
cmp dword [edi], 0
mov dword [esp + 0x30c], esi
mov dword [esp + 0x310], edx
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x318], ecx
je 0x4fd680
mov edx, 0x5a0046
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov esi, edx
test eax, eax
mov edx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove esi, eax
cmovne edx, eax
lea ecx, [esp + 0x1a8]
push esi
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 4
movzx ebx, byte [esp + 0x1a8]
cmp bl, 0x16
je 0x4fd64a
movq xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1b1]
movsd xmm2, qword [esp + 0x1c0]
movq xmm3, qword [esp + 0x1a9]
movq qword [esp + 0x127], xmm0
movsd qword [esp + 0x120], xmm1
movsd xmm1, qword [esp + 0x1c8]
movsd qword [esp + 0x188], xmm2
movq xmm2, qword [esp + 0x1d0]
movq qword [esp + 0x118], xmm3
movsd qword [esp + 0x190], xmm1
movq xmm1, qword [esp + 0x1d8]
movq qword [esp + 0x198], xmm2
movq qword [esp + 0x1a0], xmm1
mov edx, 0x5a00cb
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov esi, edx
test eax, eax
mov edx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove esi, eax
cmovne edx, eax
lea ecx, [esp + 0x1a8]
push esi
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 4
movzx eax, byte [esp + 0x1a8]
cmp al, 0x16
jne 0x4fd687
mov eax, dword [esp + 0x130]
mov byte [eax], 0x17
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x2c], 0
je 0x4fd66d
push dword [eax + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
xor ebx, ebx
lea ecx, [esp + 0x300]
call dbg.drop_in_place<addr2line::Context<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
jmp 0x4fb17b
mov dl, 0x16
jmp 0x4fda4d
movq xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1b1]
movsd xmm2, qword [esp + 0x1c0]
movq xmm3, qword [esp + 0x1a9]
mov byte [esp + 0x70], al
movq qword [esp + 0x16f], xmm0
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esp + 0x1c8]
movsd qword [esp + 0xf8], xmm2
movq xmm2, qword [esp + 0x1d0]
movq qword [esp + 0x160], xmm3
movsd qword [esp + 0x100], xmm1
movq xmm1, qword [esp + 0x1d8]
movq qword [esp + 0x108], xmm2
movq qword [esp + 0x110], xmm1
mov edx, 0x5a00e6
mov ecx, edi
push 0x11
call dbg.section
add esp, 4
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x38], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove eax, ecx
mov dword [esp + 0x18], eax
mov edx, 0x5a00f7
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x6c]
test eax, eax
cmove ecx, eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x38]
cmovne ecx, eax
mov dword [esp + 0x38], ecx
mov edx, 0x5a0106
mov ecx, edi
push 0xf
call dbg.section
add esp, 4
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x4c]
test eax, eax
mov dword [esp + 0x50], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove eax, ecx
mov dword [esp + 0x14], eax
mov edx, 0x5a0149
mov ecx, edi
push 0xe
call dbg.section
add esp, 4
mov dword [esp], edx
mov ecx, dword [esp]
test eax, eax
cmove ecx, eax
mov dword [esp], ecx
mov ecx, dword [esp + 0x50]
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov edx, 0x5a0157
mov ecx, edi
push 0x16
call dbg.section
add esp, 4
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0xc], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove eax, ecx
mov dword [esp + 0x44], eax
mov edx, 0x5a0115
mov ecx, edi
push 0xe
call dbg.section
add esp, 4
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
test eax, eax
cmove ecx, eax
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov edx, 0x5a0123
mov ecx, edi
push 0x13
call dbg.section
add esp, 4
mov dword [esp + 4], edx
mov ecx, dword [esp + 4]
test eax, eax
mov esi, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
cmove ecx, eax
cmove eax, esi
mov dword [esp + 4], ecx
mov dword [esp + 0x34], eax
mov edx, 0x5a0136
mov ecx, edi
push 0x13
call dbg.section
add esp, 4
test eax, eax
cmove edx, eax
cmovne esi, eax
mov dword [esp + 0x1c], edx
mov edx, 0x5a016d
mov ecx, edi
push 0x10
call dbg.section
add esp, 4
movq xmm0, qword [esp + 0x127]
movsd xmm1, qword [esp + 0x120]
movsd xmm2, qword [esp + 0x118]
movsd xmm3, qword [esp + 0x188]
test eax, eax
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov dword [esp + 0x48], esi
mov byte [esp + 0x74], bl
cmove edx, eax
cmovne ecx, eax
cmp dword [edi + 0x2c], 0
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
movq qword [esp + 0x39f], xmm0
movsd qword [esp + 0x398], xmm1
movsd xmm1, qword [esp + 0x190]
movsd qword [esp + 0x390], xmm2
movsd xmm2, qword [esp + 0x198]
movsd qword [esp + 0x3a7], xmm3
movsd qword [esp + 0x3af], xmm1
movsd xmm1, qword [esp + 0x1a0]
movsd qword [esp + 0x3b7], xmm2
movsd xmm2, qword [esp + 0x160]
movsd qword [esp + 0x3bf], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x110]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x16f]
movsd qword [esp + 0x150], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [esp + 0x8f], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [esp + 0x138], xmm2
movsd xmm2, qword [esp + 0x3b8]
movsd qword [esp + 0x148], xmm1
movsd xmm1, qword [esp + 0x100]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x3bf]
movsd qword [esp + 0xe7], xmm1
movsd xmm1, qword [esp + 0x3b0]
movsd qword [esp + 0xe0], xmm2
movsd xmm2, qword [esp + 0x3a8]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x3a0]
movsd qword [esp + 0xd0], xmm2
movq xmm2, qword [esp + 0x390]
movsd qword [esp + 0xc8], xmm1
movq xmm1, qword [esp + 0x398]
movq qword [esp + 0xb8], xmm2
movq qword [esp + 0xc0], xmm1
je 0x4fda38
push dword [edi + 0x28]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x38]
movzx edx, byte [esp + 0x74]
mov dh, byte [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x130]
movsd xmm7, qword [esp + 0x310]
cmp dword [esp + 0xf4], 0
mov dword [ecx + 0x110], eax
mov eax, dword [esp + 0x134]
movsd qword [ecx + 0x108], xmm7
movsd xmm7, qword [esp + 0x308]
movsd qword [ecx + 0x100], xmm7
movsd xmm7, qword [esp + 0x300]
movsd xmm2, qword [eax + 0x10]
movsd xmm3, qword [eax + 0x18]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd xmm4, qword [eax + 0x20]
movsd xmm5, qword [eax + 0x28]
movsd xmm6, qword [eax + 0x30]
mov eax, dword [esp + 0x18]
movsd qword [ecx + 0xf8], xmm7
movsd qword [ecx + 0xd0], xmm2
movsd qword [ecx + 0xd8], xmm3
movsd xmm2, qword [esp + 0xb8]
movsd xmm3, qword [esp + 0xe7]
movsd qword [ecx + 0xc8], xmm1
movq qword [ecx + 0xc0], xmm0
movsd qword [ecx + 0xe0], xmm4
movsd qword [ecx + 0xe8], xmm5
movsd qword [ecx + 0xf0], xmm6
movsd xmm1, qword [esp + 0xc0]
movsd qword [ecx + 1], xmm2
movsd qword [ecx + 0x30], xmm3
movsd xmm2, qword [esp + 0xe0]
movsd xmm3, qword [esp + 0xd8]
movsd qword [ecx + 9], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [ecx + 0x29], xmm2
movsd qword [ecx + 0x21], xmm3
movsd xmm2, qword [esp + 0xd0]
movsd xmm3, qword [esp + 0xc8]
movsd qword [ecx + 0x19], xmm2
movsd qword [ecx + 0x11], xmm3
movsd qword [ecx + 0x41], xmm1
movsd xmm1, qword [esp + 0x8f]
movsd xmm2, qword [esp + 0x80]
movq xmm3, qword [esp + 0x138]
movsd qword [ecx + 0x48], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [ecx + 0x39], xmm2
movq xmm2, qword [esp + 0x150]
movq qword [ecx + 0x50], xmm3
movsd qword [ecx + 0x58], xmm1
movq xmm1, qword [esp + 0x148]
movq qword [ecx + 0x68], xmm2
movq qword [ecx + 0x60], xmm1
mov byte [ecx], dl
mov byte [ecx + 0x38], dh
mov dword [ecx + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x74], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x78], ebx
mov dword [ecx + 0x7c], esi
mov dword [ecx + 0x80], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 0x84], edi
mov dword [ecx + 0x88], eax
mov eax, dword [esp]
mov dword [ecx + 0x8c], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x94], eax
mov eax, dword [esp + 0xc]
mov dword [ecx + 0x98], eax
mov eax, dword [esp + 8]
mov dword [ecx + 0x9c], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xa0], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xa8], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0xac], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xb0], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xb4], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0xb8], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov dword [ecx + 0xbc], 0
jne 0x4fb1c0
cmp dword [eax], 0
jne 0x4fb1aa
jmp 0x4fb1c0
mov dword [esp + str.Index_out_of_bounds], 0x5a4ad8
mov edx, 0x5a4b40
jmp 0x4fdcae
mov edx, 0x5a4b50
mov dword [esp + str.Index_out_of_bounds], 0x5a4ad8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov dword [ecx + 0xc], 0
call dbg.panic_fmt
jmp 0x4fdefc
mov edx, eax
mov ecx, esi
push 0x5a4b60
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x4fdefc
mov edx, esi
push 0x5a4b60
call dbg.slice_index_order_fail
add esp, 4
jmp 0x4fdefc
mov dword [esp + str.Index_out_of_bounds], 0x5a4ad8
mov edx, 0x5a4b40
jmp 0x4fdd24
mov edx, 0x5a4b50
mov dword [esp + str.Index_out_of_bounds], 0x5a4ad8
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
mov dword [ecx + 0xc], 0
call dbg.panic_fmt
jmp 0x4fdefc
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push 0x5a4b60
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x4fdefc
mov edx, dword [esp + 0x20]
push 0x5a4b60
call dbg.slice_index_order_fail
add esp, 4
jmp 0x4fdefc
mov edx, 0x2c
mov ecx, str.assertion_failed:_end___start__end___len
push 0x5a4bcc
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b90
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov eax, 0x5a4bdc
jmp 0x4fddf6
mov edx, 0x2c
mov ecx, str.assertion_failed:_end___start__end___len
push 0x5a4bcc
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, edi
push 0x5a4b30
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x4fdefc
mov eax, 0x5a4b30
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
push eax
call dbg.slice_index_order_fail
add esp, 4
jmp 0x4fdefc
mov ecx, 4
mov edx, 0x7c
call dbg.handle_alloc_error
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b90
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov eax, 0x5a4bdc
jmp 0x4fde76
mov ecx, 4
mov edx, 0x7c
call dbg.handle_alloc_error
jmp 0x4fdefc
mov ecx, edx
mov edx, esi
push 0x5a4b30
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x4fdefc
mov eax, 0x5a4b30
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
push eax
call dbg.slice_index_order_fail
add esp, 4
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b70
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b80
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b70
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push 0x5a4b80
call dbg.panic
add esp, 4
jmp 0x4fdefc
mov edx, edi
push 0x5a02c8
call dbg.slice_start_index_len_fail
add esp, 4
ud2