diff options
Diffstat (limited to 'externals/breakpad/src/tools')
69 files changed, 35505 insertions, 0 deletions
diff --git a/externals/breakpad/src/tools/linux/core2md/core2md.cc b/externals/breakpad/src/tools/linux/core2md/core2md.cc new file mode 100644 index 0000000000..ec4a012a9e --- /dev/null +++ b/externals/breakpad/src/tools/linux/core2md/core2md.cc @@ -0,0 +1,77 @@ +// Copyright 2012 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// core2md.cc: A utility to convert an ELF core file to a minidump file. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <stdio.h> + +#include "client/linux/minidump_writer/minidump_writer.h" +#include "client/linux/minidump_writer/linux_core_dumper.h" +#include "common/path_helper.h" + +using google_breakpad::AppMemoryList; +using google_breakpad::MappingList; +using google_breakpad::LinuxCoreDumper; + +static int ShowUsage(const char* argv0) { + fprintf(stderr, "Usage: %s <core file> <procfs dir> <output>\n", + google_breakpad::BaseName(argv0).c_str()); + return 1; +} + +bool WriteMinidumpFromCore(const char* filename, + const char* core_path, + const char* procfs_override) { + MappingList mappings; + AppMemoryList memory_list; + LinuxCoreDumper dumper(0, core_path, procfs_override); + return google_breakpad::WriteMinidump(filename, mappings, memory_list, + &dumper); +} + +int main(int argc, char *argv[]) { + if (argc != 4) { + return ShowUsage(argv[0]); + } + + const char* core_file = argv[1]; + const char* procfs_dir = argv[2]; + const char* minidump_file = argv[3]; + if (!WriteMinidumpFromCore(minidump_file, + core_file, + procfs_dir)) { + perror("core2md: Unable to generate minidump"); + return 1; + } + + return 0; +} diff --git a/externals/breakpad/src/tools/linux/core_handler/core_handler.cc b/externals/breakpad/src/tools/linux/core_handler/core_handler.cc new file mode 100644 index 0000000000..8a1d976622 --- /dev/null +++ b/externals/breakpad/src/tools/linux/core_handler/core_handler.cc @@ -0,0 +1,151 @@ +// Copyright 2020 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// core_handler.cc: A tool to handle coredumps on Linux + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <pwd.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/mman.h> +#include <sys/types.h> +#include <syslog.h> +#include <unistd.h> +#include <sstream> + +#include "client/linux/minidump_writer/linux_core_dumper.h" +#include "client/linux/minidump_writer/minidump_writer.h" +#include "common/path_helper.h" +#include "common/scoped_ptr.h" + +namespace { + +using google_breakpad::AppMemoryList; +using google_breakpad::LinuxCoreDumper; +using google_breakpad::MappingList; +using google_breakpad::scoped_array; + +// Size of the core dump to read in order to access all the threads +// descriptions. +// +// The first section is the note0 section which contains the thread states. On +// x86-64 a typical thread description take about 1432B. Reading 1 MB allows +// several hundreds of threads. +const int core_read_size = 1024 * 1024; + +void ShowUsage(const char* argv0) { + fprintf(stderr, "Usage: %s <process id> <minidump file>\n\n", + google_breakpad::BaseName(argv0).c_str()); + fprintf(stderr, + "A tool which serves as a core dump handler and produces " + "minidump files.\n"); + fprintf(stderr, "Please refer to the online documentation:\n"); + fprintf(stderr, + "https://chromium.googlesource.com/breakpad/breakpad/+/HEAD" + "/docs/linux_core_handler.md\n"); +} + +bool WriteMinidumpFromCore(const char* filename, + const char* core_path, + const char* procfs_override) { + MappingList mappings; + AppMemoryList memory_list; + LinuxCoreDumper dumper(0, core_path, procfs_override); + return google_breakpad::WriteMinidump(filename, mappings, memory_list, + &dumper); +} + +bool HandleCrash(pid_t pid, const char* procfs_dir, const char* md_filename) { + int r = 0; + scoped_array<char> buf(new char[core_read_size]); + while (r != core_read_size) { + int ret = read(STDIN_FILENO, &buf[r], core_read_size - r); + if (ret == 0) { + break; + } else if (ret == -1) { + return false; + } + r += ret; + } + + int fd = memfd_create("core_file", MFD_CLOEXEC); + if (fd == -1) { + return false; + } + + int w = write(fd, &buf[0], r); + if (w != r) { + close(fd); + return false; + } + + std::stringstream core_file_ss; + core_file_ss << "/proc/self/fd/" << fd; + std::string core_file(core_file_ss.str()); + + if (!WriteMinidumpFromCore(md_filename, core_file.c_str(), procfs_dir)) { + close(fd); + return false; + } + close(fd); + + return true; +} + +} // namespace + +int main(int argc, char* argv[]) { + int ret = EXIT_FAILURE; + + if (argc != 3) { + ShowUsage(argv[0]); + return ret; + } + + const char* pid_str = argv[1]; + const char* md_filename = argv[2]; + pid_t pid = atoi(pid_str); + + std::stringstream proc_dir_ss; + proc_dir_ss << "/proc/" << pid_str; + std::string proc_dir(proc_dir_ss.str()); + + openlog("core_handler", 0, 0); + if (HandleCrash(pid, proc_dir.c_str(), md_filename)) { + syslog(LOG_NOTICE, "Minidump generated at %s\n", md_filename); + ret = EXIT_SUCCESS; + } else { + syslog(LOG_ERR, "Cannot generate minidump %s\n", md_filename); + } + closelog(); + + return ret; +} diff --git a/externals/breakpad/src/tools/linux/dump_syms/dump_syms.cc b/externals/breakpad/src/tools/linux/dump_syms/dump_syms.cc new file mode 100644 index 0000000000..2fce23c2a2 --- /dev/null +++ b/externals/breakpad/src/tools/linux/dump_syms/dump_syms.cc @@ -0,0 +1,155 @@ +// Copyright 2011 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <paths.h> +#include <stdio.h> +#include <unistd.h> + +#include <cstring> +#include <iostream> +#include <string> +#include <vector> + +#include "common/linux/dump_symbols.h" +#include "common/path_helper.h" + +using google_breakpad::WriteSymbolFile; +using google_breakpad::WriteSymbolFileHeader; + +int usage(const char* self) { + fprintf(stderr, + "Usage: %s [OPTION] <binary-with-debugging-info> " + "[directories-for-debug-file]\n\n", + google_breakpad::BaseName(self).c_str()); + fprintf(stderr, "Options:\n"); + fprintf(stderr, " -i: Output module header information only.\n"); + fprintf(stderr, " -c Do not generate CFI section\n"); + fprintf(stderr, " -d Generate INLINE/INLINE_ORIGIN records\n"); + fprintf(stderr, " -r Do not handle inter-compilation " + "unit references\n"); + fprintf(stderr, " -v Print all warnings to stderr\n"); + fprintf(stderr, " -n <name> Use specified name for name of the object\n"); + fprintf(stderr, " -o <os> Use specified name for the " + "operating system\n"); + fprintf(stderr, " -m Enable writing the optional 'm' field on FUNC " + "and PUBLIC, denoting multiple symbols for " + "the address.\n"); + return 1; +} + +int main(int argc, char** argv) { + if (argc < 2) + return usage(argv[0]); + bool header_only = false; + bool cfi = true; + bool handle_inlines = false; + bool handle_inter_cu_refs = true; + bool log_to_stderr = false; + bool enable_multiple_field = false; + std::string obj_name; + const char* obj_os = "Linux"; + int arg_index = 1; + while (arg_index < argc && strlen(argv[arg_index]) > 0 && + argv[arg_index][0] == '-') { + if (strcmp("-i", argv[arg_index]) == 0) { + header_only = true; + } else if (strcmp("-c", argv[arg_index]) == 0) { + cfi = false; + } else if (strcmp("-d", argv[arg_index]) == 0) { + handle_inlines = true; + } else if (strcmp("-r", argv[arg_index]) == 0) { + handle_inter_cu_refs = false; + } else if (strcmp("-v", argv[arg_index]) == 0) { + log_to_stderr = true; + } else if (strcmp("-n", argv[arg_index]) == 0) { + if (arg_index + 1 >= argc) { + fprintf(stderr, "Missing argument to -n\n"); + return usage(argv[0]); + } + obj_name = argv[arg_index + 1]; + ++arg_index; + } else if (strcmp("-o", argv[arg_index]) == 0) { + if (arg_index + 1 >= argc) { + fprintf(stderr, "Missing argument to -o\n"); + return usage(argv[0]); + } + obj_os = argv[arg_index + 1]; + ++arg_index; + } else if (strcmp("-m", argv[arg_index]) == 0) { + enable_multiple_field = true; + } else { + printf("2.4 %s\n", argv[arg_index]); + return usage(argv[0]); + } + ++arg_index; + } + if (arg_index == argc) + return usage(argv[0]); + // Save stderr so it can be used below. + FILE* saved_stderr = fdopen(dup(fileno(stderr)), "w"); + if (!log_to_stderr) { + if (freopen(_PATH_DEVNULL, "w", stderr)) { + // If it fails, not a lot we can (or should) do. + // Add this brace section to silence gcc warnings. + } + } + const char* binary; + std::vector<string> debug_dirs; + binary = argv[arg_index]; + for (int debug_dir_index = arg_index + 1; + debug_dir_index < argc; + ++debug_dir_index) { + debug_dirs.push_back(argv[debug_dir_index]); + } + + if (obj_name.empty()) + obj_name = binary; + + if (header_only) { + if (!WriteSymbolFileHeader(binary, obj_name, obj_os, std::cout)) { + fprintf(saved_stderr, "Failed to process file.\n"); + return 1; + } + } else { + SymbolData symbol_data = (handle_inlines ? INLINES : NO_DATA) | + (cfi ? CFI : NO_DATA) | SYMBOLS_AND_FILES; + google_breakpad::DumpOptions options(symbol_data, handle_inter_cu_refs, + enable_multiple_field); + if (!WriteSymbolFile(binary, obj_name, obj_os, debug_dirs, options, + std::cout)) { + fprintf(saved_stderr, "Failed to write symbol file.\n"); + return 1; + } + } + + return 0; +} diff --git a/externals/breakpad/src/tools/linux/md2core/minidump-2-core.cc b/externals/breakpad/src/tools/linux/md2core/minidump-2-core.cc new file mode 100644 index 0000000000..3e310bc7d8 --- /dev/null +++ b/externals/breakpad/src/tools/linux/md2core/minidump-2-core.cc @@ -0,0 +1,1534 @@ +// Copyright 2009 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Converts a minidump file to a core file which gdb can read. +// Large parts lifted from the userspace core dumper: +// http://code.google.com/p/google-coredumper/ + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <elf.h> +#include <errno.h> +#include <limits.h> +#include <link.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/user.h> +#include <unistd.h> + +#include <map> +#include <string> +#include <vector> + +#include "common/linux/memory_mapped_file.h" +#include "common/minidump_type_helper.h" +#include "common/path_helper.h" +#include "common/scoped_ptr.h" +#include "common/using_std_string.h" +#include "google_breakpad/common/breakpad_types.h" +#include "google_breakpad/common/minidump_format.h" +#include "third_party/lss/linux_syscall_support.h" +#include "tools/linux/md2core/minidump_memory_range.h" + +#if ULONG_MAX == 0xffffffffffffffff + #define ELF_CLASS ELFCLASS64 +#else + #define ELF_CLASS ELFCLASS32 +#endif +#define Ehdr ElfW(Ehdr) +#define Phdr ElfW(Phdr) +#define Shdr ElfW(Shdr) +#define Nhdr ElfW(Nhdr) +#define auxv_t ElfW(auxv_t) + + +#if defined(__x86_64__) + #define ELF_ARCH EM_X86_64 +#elif defined(__i386__) + #define ELF_ARCH EM_386 +#elif defined(__arm__) + #define ELF_ARCH EM_ARM +#elif defined(__mips__) + #define ELF_ARCH EM_MIPS +#elif defined(__aarch64__) + #define ELF_ARCH EM_AARCH64 +#elif defined(__riscv) + #define ELF_ARCH EM_RISCV +#endif + +#if defined(__arm__) +// GLibc/ARM and Android/ARM both use 'user_regs' for the structure type +// containing core registers, while they use 'user_regs_struct' on other +// architectures. This file-local typedef simplifies the source code. +typedef user_regs user_regs_struct; +#elif defined (__mips__) || defined(__riscv) +// This file-local typedef simplifies the source code. +typedef gregset_t user_regs_struct; +#endif + +using google_breakpad::MDTypeHelper; +using google_breakpad::MemoryMappedFile; +using google_breakpad::MinidumpMemoryRange; + +typedef MDTypeHelper<sizeof(ElfW(Addr))>::MDRawDebug MDRawDebug; +typedef MDTypeHelper<sizeof(ElfW(Addr))>::MDRawLinkMap MDRawLinkMap; + +static const MDRVA kInvalidMDRVA = static_cast<MDRVA>(-1); + +struct Options { + string minidump_path; + bool verbose; + int out_fd; + bool use_filename; + bool inc_guid; + string so_basedir; +}; + +static void +Usage(int argc, const char* argv[]) { + fprintf(stderr, + "Usage: %s [options] <minidump file>\n" + "\n" + "Convert a minidump file into a core file (often for use by gdb).\n" + "\n" + "The shared library list will by default have filenames as the runtime expects.\n" + "There are many flags to control the output names though to make it easier to\n" + "integrate with your debug environment (e.g. gdb).\n" + " Default: /lib64/libpthread.so.0\n" + " -f: /lib64/libpthread-2.19.so\n" + " -i: /lib64/<module id>-libpthread.so.0\n" + " -f -i: /lib64/<module id>-libpthread-2.19.so\n" + " -S /foo/: /foo/libpthread.so.0\n" + "\n" + "Options:\n" + " -v Enable verbose output\n" + " -o <file> Write coredump to specified file (otherwise use stdout).\n" + " -f Use the filename rather than the soname in the sharedlib list.\n" + " The soname is what the runtime system uses, but the filename is\n" + " how it's stored on disk.\n" + " -i Prefix sharedlib names with ID (when available). This makes it\n" + " easier to have a single directory full of symbols.\n" + " -S <dir> Set soname base directory. This will force all debug/symbol\n" + " lookups to be done in this directory rather than the filesystem\n" + " layout as it exists in the crashing image. This path should end\n" + " with a slash if it's a directory. e.g. /var/lib/breakpad/\n" + "", google_breakpad::BaseName(argv[0]).c_str()); +} + +static void +SetupOptions(int argc, const char* argv[], Options* options) { + extern int optind; + int ch; + const char* output_file = NULL; + + // Initialize the options struct as needed. + options->verbose = false; + options->use_filename = false; + options->inc_guid = false; + + while ((ch = getopt(argc, (char * const*)argv, "fhio:S:v")) != -1) { + switch (ch) { + case 'h': + Usage(argc, argv); + exit(0); + case '?': + Usage(argc, argv); + exit(1); + + case 'f': + options->use_filename = true; + break; + case 'i': + options->inc_guid = true; + break; + case 'o': + output_file = optarg; + break; + case 'S': + options->so_basedir = optarg; + break; + case 'v': + options->verbose = true; + break; + } + } + + if ((argc - optind) != 1) { + fprintf(stderr, "%s: Missing minidump file\n", argv[0]); + Usage(argc, argv); + exit(1); + } + + if (output_file == NULL || !strcmp(output_file, "-")) { + options->out_fd = STDOUT_FILENO; + } else { + options->out_fd = open(output_file, O_WRONLY|O_CREAT|O_TRUNC, 0664); + if (options->out_fd == -1) { + fprintf(stderr, "%s: could not open output %s: %s\n", argv[0], + output_file, strerror(errno)); + exit(1); + } + } + + options->minidump_path = argv[optind]; +} + +// Write all of the given buffer, handling short writes and EINTR. Return true +// iff successful. +static bool +writea(int fd, const void* idata, size_t length) { + const uint8_t* data = (const uint8_t*) idata; + + size_t done = 0; + while (done < length) { + ssize_t r; + do { + r = write(fd, data + done, length - done); + } while (r == -1 && errno == EINTR); + + if (r < 1) + return false; + done += r; + } + + return true; +} + +/* Dynamically determines the byte sex of the system. Returns non-zero + * for big-endian machines. + */ +static inline int sex() { + int probe = 1; + return !*(char*)&probe; +} + +typedef struct elf_timeval { /* Time value with microsecond resolution */ + long tv_sec; /* Seconds */ + long tv_usec; /* Microseconds */ +} elf_timeval; + +typedef struct _elf_siginfo { /* Information about signal (unused) */ + int32_t si_signo; /* Signal number */ + int32_t si_code; /* Extra code */ + int32_t si_errno; /* Errno */ +} _elf_siginfo; + +typedef struct prstatus { /* Information about thread; includes CPU reg*/ + _elf_siginfo pr_info; /* Info associated with signal */ + uint16_t pr_cursig; /* Current signal */ + unsigned long pr_sigpend; /* Set of pending signals */ + unsigned long pr_sighold; /* Set of held signals */ + pid_t pr_pid; /* Process ID */ + pid_t pr_ppid; /* Parent's process ID */ + pid_t pr_pgrp; /* Group ID */ + pid_t pr_sid; /* Session ID */ + elf_timeval pr_utime; /* User time */ + elf_timeval pr_stime; /* System time */ + elf_timeval pr_cutime; /* Cumulative user time */ + elf_timeval pr_cstime; /* Cumulative system time */ + user_regs_struct pr_reg; /* CPU registers */ + uint32_t pr_fpvalid; /* True if math co-processor being used */ +} prstatus; + +typedef struct prpsinfo { /* Information about process */ + unsigned char pr_state; /* Numeric process state */ + char pr_sname; /* Char for pr_state */ + unsigned char pr_zomb; /* Zombie */ + signed char pr_nice; /* Nice val */ + unsigned long pr_flag; /* Flags */ +#if defined(__x86_64__) || defined(__mips__) || defined(__riscv) + uint32_t pr_uid; /* User ID */ + uint32_t pr_gid; /* Group ID */ +#else + uint16_t pr_uid; /* User ID */ + uint16_t pr_gid; /* Group ID */ +#endif + pid_t pr_pid; /* Process ID */ + pid_t pr_ppid; /* Parent's process ID */ + pid_t pr_pgrp; /* Group ID */ + pid_t pr_sid; /* Session ID */ + char pr_fname[16]; /* Filename of executable */ + char pr_psargs[80]; /* Initial part of arg list */ +} prpsinfo; + +// We parse the minidump file and keep the parsed information in this structure +struct CrashedProcess { + CrashedProcess() + : exception{-1}, + auxv(NULL), + auxv_length(0) { + memset(&prps, 0, sizeof(prps)); + prps.pr_sname = 'R'; + memset(&debug, 0, sizeof(debug)); + } + + struct Mapping { + Mapping() + : permissions(0xFFFFFFFF), + start_address(0), + end_address(0), + offset(0) { + } + + uint32_t permissions; + uint64_t start_address, end_address, offset; + // The name we write out to the core. + string filename; + string data; + }; + std::map<uint64_t, Mapping> mappings; + + int fatal_signal; + + struct Thread { + pid_t tid; +#if defined(__mips__) || defined(__riscv) + mcontext_t mcontext; +#else + user_regs_struct regs; +#endif +#if defined(__i386__) || defined(__x86_64__) + user_fpregs_struct fpregs; +#endif +#if defined(__i386__) + user_fpxregs_struct fpxregs; +#endif +#if defined(__aarch64__) + user_fpsimd_struct fpregs; +#endif + uintptr_t stack_addr; + const uint8_t* stack; + size_t stack_length; + }; + std::vector<Thread> threads; + Thread exception; + + const uint8_t* auxv; + size_t auxv_length; + + prpsinfo prps; + + // The GUID/filename from MD_MODULE_LIST_STREAM entries. + // We gather them for merging later on into the list of maps. + struct Signature { + char guid[40]; + string filename; + }; + std::map<uintptr_t, Signature> signatures; + + string dynamic_data; + MDRawDebug debug; + std::vector<MDRawLinkMap> link_map; +}; + +#if defined(__i386__) +static uint32_t +U32(const uint8_t* data) { + uint32_t v; + memcpy(&v, data, sizeof(v)); + return v; +} + +static uint16_t +U16(const uint8_t* data) { + uint16_t v; + memcpy(&v, data, sizeof(v)); + return v; +} + +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { + const MDRawContextX86* rawregs = range.GetData<MDRawContextX86>(0); + + thread->regs.ebx = rawregs->ebx; + thread->regs.ecx = rawregs->ecx; + thread->regs.edx = rawregs->edx; + thread->regs.esi = rawregs->esi; + thread->regs.edi = rawregs->edi; + thread->regs.ebp = rawregs->ebp; + thread->regs.eax = rawregs->eax; + thread->regs.xds = rawregs->ds; + thread->regs.xes = rawregs->es; + thread->regs.xfs = rawregs->fs; + thread->regs.xgs = rawregs->gs; + thread->regs.orig_eax = rawregs->eax; + thread->regs.eip = rawregs->eip; + thread->regs.xcs = rawregs->cs; + thread->regs.eflags = rawregs->eflags; + thread->regs.esp = rawregs->esp; + thread->regs.xss = rawregs->ss; + + thread->fpregs.cwd = rawregs->float_save.control_word; + thread->fpregs.swd = rawregs->float_save.status_word; + thread->fpregs.twd = rawregs->float_save.tag_word; + thread->fpregs.fip = rawregs->float_save.error_offset; + thread->fpregs.fcs = rawregs->float_save.error_selector; + thread->fpregs.foo = rawregs->float_save.data_offset; + thread->fpregs.fos = rawregs->float_save.data_selector; + memcpy(thread->fpregs.st_space, rawregs->float_save.register_area, + 10 * 8); + + thread->fpxregs.cwd = rawregs->float_save.control_word; + thread->fpxregs.swd = rawregs->float_save.status_word; + thread->fpxregs.twd = rawregs->float_save.tag_word; + thread->fpxregs.fop = U16(rawregs->extended_registers + 6); + thread->fpxregs.fip = U16(rawregs->extended_registers + 8); + thread->fpxregs.fcs = U16(rawregs->extended_registers + 12); + thread->fpxregs.foo = U16(rawregs->extended_registers + 16); + thread->fpxregs.fos = U16(rawregs->extended_registers + 20); + thread->fpxregs.mxcsr = U32(rawregs->extended_registers + 24); + memcpy(thread->fpxregs.st_space, rawregs->extended_registers + 32, 128); + memcpy(thread->fpxregs.xmm_space, rawregs->extended_registers + 160, 128); +} +#elif defined(__x86_64__) +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { + const MDRawContextAMD64* rawregs = range.GetData<MDRawContextAMD64>(0); + + thread->regs.r15 = rawregs->r15; + thread->regs.r14 = rawregs->r14; + thread->regs.r13 = rawregs->r13; + thread->regs.r12 = rawregs->r12; + thread->regs.rbp = rawregs->rbp; + thread->regs.rbx = rawregs->rbx; + thread->regs.r11 = rawregs->r11; + thread->regs.r10 = rawregs->r10; + thread->regs.r9 = rawregs->r9; + thread->regs.r8 = rawregs->r8; + thread->regs.rax = rawregs->rax; + thread->regs.rcx = rawregs->rcx; + thread->regs.rdx = rawregs->rdx; + thread->regs.rsi = rawregs->rsi; + thread->regs.rdi = rawregs->rdi; + thread->regs.orig_rax = rawregs->rax; + thread->regs.rip = rawregs->rip; + thread->regs.cs = rawregs->cs; + thread->regs.eflags = rawregs->eflags; + thread->regs.rsp = rawregs->rsp; + thread->regs.ss = rawregs->ss; + thread->regs.fs_base = 0; + thread->regs.gs_base = 0; + thread->regs.ds = rawregs->ds; + thread->regs.es = rawregs->es; + thread->regs.fs = rawregs->fs; + thread->regs.gs = rawregs->gs; + + thread->fpregs.cwd = rawregs->flt_save.control_word; + thread->fpregs.swd = rawregs->flt_save.status_word; + thread->fpregs.ftw = rawregs->flt_save.tag_word; + thread->fpregs.fop = rawregs->flt_save.error_opcode; + thread->fpregs.rip = rawregs->flt_save.error_offset; + thread->fpregs.rdp = rawregs->flt_save.data_offset; + thread->fpregs.mxcsr = rawregs->flt_save.mx_csr; + thread->fpregs.mxcr_mask = rawregs->flt_save.mx_csr_mask; + memcpy(thread->fpregs.st_space, rawregs->flt_save.float_registers, 8 * 16); + memcpy(thread->fpregs.xmm_space, rawregs->flt_save.xmm_registers, 16 * 16); +} +#elif defined(__arm__) +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { + const MDRawContextARM* rawregs = range.GetData<MDRawContextARM>(0); + + thread->regs.uregs[0] = rawregs->iregs[0]; + thread->regs.uregs[1] = rawregs->iregs[1]; + thread->regs.uregs[2] = rawregs->iregs[2]; + thread->regs.uregs[3] = rawregs->iregs[3]; + thread->regs.uregs[4] = rawregs->iregs[4]; + thread->regs.uregs[5] = rawregs->iregs[5]; + thread->regs.uregs[6] = rawregs->iregs[6]; + thread->regs.uregs[7] = rawregs->iregs[7]; + thread->regs.uregs[8] = rawregs->iregs[8]; + thread->regs.uregs[9] = rawregs->iregs[9]; + thread->regs.uregs[10] = rawregs->iregs[10]; + thread->regs.uregs[11] = rawregs->iregs[11]; + thread->regs.uregs[12] = rawregs->iregs[12]; + thread->regs.uregs[13] = rawregs->iregs[13]; + thread->regs.uregs[14] = rawregs->iregs[14]; + thread->regs.uregs[15] = rawregs->iregs[15]; + + thread->regs.uregs[16] = rawregs->cpsr; + thread->regs.uregs[17] = 0; // what is ORIG_r0 exactly? +} +#elif defined(__aarch64__) +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { +#define COPY_REGS(rawregs) \ + do { \ + for (int i = 0; i < 31; ++i) \ + thread->regs.regs[i] = rawregs->iregs[i]; \ + thread->regs.sp = rawregs->iregs[MD_CONTEXT_ARM64_REG_SP]; \ + thread->regs.pc = rawregs->iregs[MD_CONTEXT_ARM64_REG_PC]; \ + thread->regs.pstate = rawregs->cpsr; \ + \ + memcpy(thread->fpregs.vregs, rawregs->float_save.regs, 8 * 32); \ + thread->fpregs.fpsr = rawregs->float_save.fpsr; \ + thread->fpregs.fpcr = rawregs->float_save.fpcr; \ + } while (false) + + if (range.length() == sizeof(MDRawContextARM64_Old)) { + const MDRawContextARM64_Old* rawregs = + range.GetData<MDRawContextARM64_Old>(0); + COPY_REGS(rawregs); + } else { + const MDRawContextARM64* rawregs = range.GetData<MDRawContextARM64>(0); + COPY_REGS(rawregs); + } +#undef COPY_REGS +} +#elif defined(__mips__) +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { + const MDRawContextMIPS* rawregs = range.GetData<MDRawContextMIPS>(0); + + for (int i = 0; i < MD_CONTEXT_MIPS_GPR_COUNT; ++i) + thread->mcontext.gregs[i] = rawregs->iregs[i]; + + thread->mcontext.pc = rawregs->epc; + + thread->mcontext.mdlo = rawregs->mdlo; + thread->mcontext.mdhi = rawregs->mdhi; + + thread->mcontext.hi1 = rawregs->hi[0]; + thread->mcontext.lo1 = rawregs->lo[0]; + thread->mcontext.hi2 = rawregs->hi[1]; + thread->mcontext.lo2 = rawregs->lo[1]; + thread->mcontext.hi3 = rawregs->hi[2]; + thread->mcontext.lo3 = rawregs->lo[2]; + + for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) { + thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs = + rawregs->float_save.regs[i]; + } + + thread->mcontext.fpc_csr = rawregs->float_save.fpcsr; +#if _MIPS_SIM == _ABIO32 + thread->mcontext.fpc_eir = rawregs->float_save.fir; +#endif +} +#elif defined(__riscv) +static void +ParseThreadRegisters(CrashedProcess::Thread* thread, + const MinidumpMemoryRange& range) { +# if __riscv_xlen == 32 + const MDRawContextRISCV* rawregs = range.GetData<MDRawContextRISCV>(0); +# elif __riscv_xlen == 64 + const MDRawContextRISCV64* rawregs = range.GetData<MDRawContextRISCV64>(0); +# else +# error "Unexpected __riscv_xlen" +# endif + + thread->mcontext.__gregs[0] = rawregs->pc; + thread->mcontext.__gregs[1] = rawregs->ra; + thread->mcontext.__gregs[2] = rawregs->sp; + thread->mcontext.__gregs[3] = rawregs->gp; + thread->mcontext.__gregs[4] = rawregs->tp; + thread->mcontext.__gregs[5] = rawregs->t0; + thread->mcontext.__gregs[6] = rawregs->t1; + thread->mcontext.__gregs[7] = rawregs->t2; + thread->mcontext.__gregs[8] = rawregs->s0; + thread->mcontext.__gregs[9] = rawregs->s1; + thread->mcontext.__gregs[10] = rawregs->a0; + thread->mcontext.__gregs[11] = rawregs->a1; + thread->mcontext.__gregs[12] = rawregs->a2; + thread->mcontext.__gregs[13] = rawregs->a3; + thread->mcontext.__gregs[14] = rawregs->a4; + thread->mcontext.__gregs[15] = rawregs->a5; + thread->mcontext.__gregs[16] = rawregs->a6; + thread->mcontext.__gregs[17] = rawregs->a7; + thread->mcontext.__gregs[18] = rawregs->s2; + thread->mcontext.__gregs[19] = rawregs->s3; + thread->mcontext.__gregs[20] = rawregs->s4; + thread->mcontext.__gregs[21] = rawregs->s5; + thread->mcontext.__gregs[22] = rawregs->s6; + thread->mcontext.__gregs[23] = rawregs->s7; + thread->mcontext.__gregs[24] = rawregs->s8; + thread->mcontext.__gregs[25] = rawregs->s9; + thread->mcontext.__gregs[26] = rawregs->s10; + thread->mcontext.__gregs[27] = rawregs->s11; + thread->mcontext.__gregs[28] = rawregs->t3; + thread->mcontext.__gregs[29] = rawregs->t4; + thread->mcontext.__gregs[30] = rawregs->t5; + thread->mcontext.__gregs[31] = rawregs->t6; + + // Breakpad only supports RISCV32 with 32 bit floating point. + // Breakpad only supports RISCV64 with 64 bit floating point. +#if __riscv_xlen == 32 + for (int i = 0; i < MD_CONTEXT_RISCV_FPR_COUNT; ++i) { + thread->mcontext.__fpregs.__f.__f[i] = rawregs->fpregs[i]; + } + thread->mcontext.__fpregs.__f.__fcsr = rawregs->fcsr; +#elif __riscv_xlen == 64 + for (int i = 0; i < MD_CONTEXT_RISCV_FPR_COUNT; ++i) { + thread->mcontext.__fpregs.__d.__f[i] = rawregs->fpregs[i]; + } + thread->mcontext.__fpregs.__d.__fcsr = rawregs->fcsr; +#else +#error "Unexpected __riscv_xlen" +#endif +} +#else +#error "This code has not been ported to your platform yet" +#endif + +static void +ParseThreadList(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range, + const MinidumpMemoryRange& full_file) { + const uint32_t num_threads = *range.GetData<uint32_t>(0); + if (options.verbose) { + fprintf(stderr, + "MD_THREAD_LIST_STREAM:\n" + "Found %d threads\n" + "\n\n", + num_threads); + } + for (unsigned i = 0; i < num_threads; ++i) { + CrashedProcess::Thread thread; + memset(&thread, 0, sizeof(thread)); + const MDRawThread* rawthread = + range.GetArrayElement<MDRawThread>(sizeof(uint32_t), i); + thread.tid = rawthread->thread_id; + thread.stack_addr = rawthread->stack.start_of_memory_range; + MinidumpMemoryRange stack_range = + full_file.Subrange(rawthread->stack.memory); + thread.stack = stack_range.data(); + thread.stack_length = rawthread->stack.memory.data_size; + + ParseThreadRegisters(&thread, + full_file.Subrange(rawthread->thread_context)); + + crashinfo->threads.push_back(thread); + } +} + +static void +ParseSystemInfo(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range, + const MinidumpMemoryRange& full_file) { + const MDRawSystemInfo* sysinfo = range.GetData<MDRawSystemInfo>(0); + if (!sysinfo) { + fprintf(stderr, "Failed to access MD_SYSTEM_INFO_STREAM\n"); + exit(1); + } +#if defined(__i386__) + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_X86) { + fprintf(stderr, + "This version of minidump-2-core only supports x86 (32bit)%s.\n", + sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_AMD64 ? + ",\nbut the minidump file is from a 64bit machine" : ""); + exit(1); + } +#elif defined(__x86_64__) + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_AMD64) { + fprintf(stderr, + "This version of minidump-2-core only supports x86 (64bit)%s.\n", + sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_X86 ? + ",\nbut the minidump file is from a 32bit machine" : ""); + exit(1); + } +#elif defined(__arm__) + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_ARM) { + fprintf(stderr, + "This version of minidump-2-core only supports ARM (32bit).\n"); + exit(1); + } +#elif defined(__aarch64__) + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_ARM64_OLD && + sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_ARM64) { + fprintf(stderr, + "This version of minidump-2-core only supports ARM (64bit).\n"); + exit(1); + } +#elif defined(__mips__) +# if _MIPS_SIM == _ABIO32 + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_MIPS) { + fprintf(stderr, + "This version of minidump-2-core only supports mips o32 (32bit).\n"); + exit(1); + } +# elif _MIPS_SIM == _ABI64 + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_MIPS64) { + fprintf(stderr, + "This version of minidump-2-core only supports mips n64 (64bit).\n"); + exit(1); + } +# else +# error "This mips ABI is currently not supported (n32)" +# endif +#elif defined(__riscv) +# if __riscv_xlen == 32 + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_RISCV) { + fprintf(stderr, + "This version of minidump-2-core only supports RISCV.\n"); + exit(1); + } +# elif __riscv_xlen == 64 + if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_RISCV64) { + fprintf(stderr, + "This version of minidump-2-core only supports RISCV64.\n"); + exit(1); + } +# else +# error "Unexpected __riscv_xlen" +# endif +#else +#error "This code has not been ported to your platform yet" +#endif + if (sysinfo->platform_id != MD_OS_LINUX && + sysinfo->platform_id != MD_OS_NACL) { + fprintf(stderr, "This minidump was not generated by Linux or NaCl.\n"); + exit(1); + } + + if (options.verbose) { + fprintf(stderr, + "MD_SYSTEM_INFO_STREAM:\n" + "Architecture: %s\n" + "Number of processors: %d\n" + "Processor level: %d\n" + "Processor model: %d\n" + "Processor stepping: %d\n", + sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_X86 + ? "i386" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_AMD64 + ? "x86-64" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_ARM + ? "ARM" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_MIPS + ? "MIPS" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_MIPS64 + ? "MIPS64" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_RISCV + ? "RISCV" + : sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_RISCV64 + ? "RISCV64" + : "???", + sysinfo->number_of_processors, + sysinfo->processor_level, + sysinfo->processor_revision >> 8, + sysinfo->processor_revision & 0xFF); + if (sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_X86 || + sysinfo->processor_architecture == MD_CPU_ARCHITECTURE_AMD64) { + fputs("Vendor id: ", stderr); + const char *nul = + (const char*)memchr(sysinfo->cpu.x86_cpu_info.vendor_id, 0, + sizeof(sysinfo->cpu.x86_cpu_info.vendor_id)); + fwrite(sysinfo->cpu.x86_cpu_info.vendor_id, + nul ? nul - (const char*)&sysinfo->cpu.x86_cpu_info.vendor_id[0] + : sizeof(sysinfo->cpu.x86_cpu_info.vendor_id), 1, stderr); + fputs("\n", stderr); + } + fprintf(stderr, "OS: %s\n", + full_file.GetAsciiMDString(sysinfo->csd_version_rva).c_str()); + fputs("\n\n", stderr); + } +} + +static void +ParseCPUInfo(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + if (options.verbose) { + fputs("MD_LINUX_CPU_INFO:\n", stderr); + fwrite(range.data(), range.length(), 1, stderr); + fputs("\n\n\n", stderr); + } +} + +static void +ParseProcessStatus(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + if (options.verbose) { + fputs("MD_LINUX_PROC_STATUS:\n", stderr); + fwrite(range.data(), range.length(), 1, stderr); + fputs("\n\n", stderr); + } +} + +static void +ParseLSBRelease(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + if (options.verbose) { + fputs("MD_LINUX_LSB_RELEASE:\n", stderr); + fwrite(range.data(), range.length(), 1, stderr); + fputs("\n\n", stderr); + } +} + +static void +ParseMaps(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + if (options.verbose) { + fputs("MD_LINUX_MAPS:\n", stderr); + fwrite(range.data(), range.length(), 1, stderr); + } + for (const uint8_t* ptr = range.data(); + ptr < range.data() + range.length();) { + const uint8_t* eol = (uint8_t*)memchr(ptr, '\n', + range.data() + range.length() - ptr); + string line((const char*)ptr, + eol ? eol - ptr : range.data() + range.length() - ptr); + ptr = eol ? eol + 1 : range.data() + range.length(); + unsigned long long start, stop, offset; + char* permissions = NULL; + char* filename = NULL; + sscanf(line.c_str(), "%llx-%llx %m[-rwxp] %llx %*[:0-9a-f] %*d %ms", + &start, &stop, &permissions, &offset, &filename); + if (filename && *filename == '/') { + CrashedProcess::Mapping mapping; + mapping.permissions = 0; + if (strchr(permissions, 'r')) { + mapping.permissions |= PF_R; + } + if (strchr(permissions, 'w')) { + mapping.permissions |= PF_W; + } + if (strchr(permissions, 'x')) { + mapping.permissions |= PF_X; + } + mapping.start_address = start; + mapping.end_address = stop; + mapping.offset = offset; + if (filename) { + mapping.filename = filename; + } + crashinfo->mappings[mapping.start_address] = mapping; + } + free(permissions); + free(filename); + } + if (options.verbose) { + fputs("\n\n\n", stderr); + } +} + +static void +ParseEnvironment(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + if (options.verbose) { + fputs("MD_LINUX_ENVIRON:\n", stderr); + char* env = new char[range.length()]; + memcpy(env, range.data(), range.length()); + int nul_count = 0; + for (char *ptr = env;;) { + ptr = (char*)memchr(ptr, '\000', range.length() - (ptr - env)); + if (!ptr) { + break; + } + if (ptr > env && ptr[-1] == '\n') { + if (++nul_count > 5) { + // Some versions of Chrome try to rewrite the process' command line + // in a way that causes the environment to be corrupted. Afterwards, + // part of the environment will contain the trailing bit of the + // command line. The rest of the environment will be filled with + // NUL bytes. + // We detect this corruption by counting the number of consecutive + // NUL bytes. Normally, we would not expect any consecutive NUL + // bytes. But we are conservative and only suppress printing of + // the environment if we see at least five consecutive NULs. + fputs("Environment has been corrupted; no data available", stderr); + goto env_corrupted; + } + } else { + nul_count = 0; + } + *ptr = '\n'; + } + fwrite(env, range.length(), 1, stderr); + env_corrupted: + delete[] env; + fputs("\n\n\n", stderr); + } +} + +static void +ParseAuxVector(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + // Some versions of Chrome erroneously used the MD_LINUX_AUXV stream value + // when dumping /proc/$x/maps + if (range.length() > 17) { + // The AUXV vector contains binary data, whereas the maps always begin + // with an 8+ digit hex address followed by a hyphen and another 8+ digit + // address. + char addresses[18]; + memcpy(addresses, range.data(), 17); + addresses[17] = '\000'; + if (strspn(addresses, "0123456789abcdef-") == 17) { + ParseMaps(options, crashinfo, range); + return; + } + } + + crashinfo->auxv = range.data(); + crashinfo->auxv_length = range.length(); +} + +static void +ParseCmdLine(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range) { + // The command line is supposed to use NUL bytes to separate arguments. + // As Chrome rewrites its own command line and (incorrectly) substitutes + // spaces, this is often not the case in our minidump files. + const char* cmdline = (const char*) range.data(); + if (options.verbose) { + fputs("MD_LINUX_CMD_LINE:\n", stderr); + unsigned i = 0; + for (; i < range.length() && cmdline[i] && cmdline[i] != ' '; ++i) { } + fputs("argv[0] = \"", stderr); + fwrite(cmdline, i, 1, stderr); + fputs("\"\n", stderr); + for (unsigned j = ++i, argc = 1; j < range.length(); ++j) { + if (!cmdline[j] || cmdline[j] == ' ') { + fprintf(stderr, "argv[%d] = \"", argc++); + fwrite(cmdline + i, j - i, 1, stderr); + fputs("\"\n", stderr); + i = j + 1; + } + } + fputs("\n\n", stderr); + } + + const char *binary_name = cmdline; + for (size_t i = 0; i < range.length(); ++i) { + if (cmdline[i] == '/') { + binary_name = cmdline + i + 1; + } else if (cmdline[i] == 0 || cmdline[i] == ' ') { + static const size_t fname_len = sizeof(crashinfo->prps.pr_fname) - 1; + static const size_t args_len = sizeof(crashinfo->prps.pr_psargs) - 1; + memset(crashinfo->prps.pr_fname, 0, fname_len + 1); + memset(crashinfo->prps.pr_psargs, 0, args_len + 1); + unsigned len = cmdline + i - binary_name; + memcpy(crashinfo->prps.pr_fname, binary_name, + len > fname_len ? fname_len : len); + + len = range.length() > args_len ? args_len : range.length(); + memcpy(crashinfo->prps.pr_psargs, cmdline, len); + for (unsigned j = 0; j < len; ++j) { + if (crashinfo->prps.pr_psargs[j] == 0) + crashinfo->prps.pr_psargs[j] = ' '; + } + break; + } + } +} + +static void +ParseDSODebugInfo(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range, + const MinidumpMemoryRange& full_file) { + const MDRawDebug* debug = range.GetData<MDRawDebug>(0); + if (!debug) { + return; + } + if (options.verbose) { + fprintf(stderr, + "MD_LINUX_DSO_DEBUG:\n" + "Version: %d\n" + "Number of DSOs: %d\n" + "Brk handler: 0x%" PRIx64 "\n" + "Dynamic loader at: 0x%" PRIx64 "\n" + "_DYNAMIC: 0x%" PRIx64 "\n", + debug->version, + debug->dso_count, + static_cast<uint64_t>(debug->brk), + static_cast<uint64_t>(debug->ldbase), + static_cast<uint64_t>(debug->dynamic)); + } + crashinfo->debug = *debug; + if (range.length() > sizeof(MDRawDebug)) { + char* dynamic_data = (char*)range.data() + sizeof(MDRawDebug); + crashinfo->dynamic_data.assign(dynamic_data, + range.length() - sizeof(MDRawDebug)); + } + if (debug->map != kInvalidMDRVA) { + for (unsigned int i = 0; i < debug->dso_count; ++i) { + const MDRawLinkMap* link_map = + full_file.GetArrayElement<MDRawLinkMap>(debug->map, i); + if (link_map) { + if (options.verbose) { + fprintf(stderr, + "#%03d: %" PRIx64 ", %" PRIx64 ", \"%s\"\n", + i, static_cast<uint64_t>(link_map->addr), + static_cast<uint64_t>(link_map->ld), + full_file.GetAsciiMDString(link_map->name).c_str()); + } + crashinfo->link_map.push_back(*link_map); + } + } + } + if (options.verbose) { + fputs("\n\n", stderr); + } +} + +static void +ParseExceptionStream(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range, + const MinidumpMemoryRange& full_file) { + const MDRawExceptionStream* exp = range.GetData<MDRawExceptionStream>(0); + if (!exp) { + return; + } + if (options.verbose) { + fprintf(stderr, + "MD_EXCEPTION_STREAM:\n" + "Found exception thread %" PRIu32 " \n" + "\n\n", + exp->thread_id); + } + crashinfo->fatal_signal = (int) exp->exception_record.exception_code; + crashinfo->exception = {}; + crashinfo->exception.tid = exp->thread_id; + // crashinfo->threads[].tid == crashinfo->exception.tid provides the stack. + ParseThreadRegisters(&crashinfo->exception, + full_file.Subrange(exp->thread_context)); +} + +static bool +WriteThread(const Options& options, const CrashedProcess::Thread& thread, + int fatal_signal) { + struct prstatus pr; + memset(&pr, 0, sizeof(pr)); + + pr.pr_info.si_signo = fatal_signal; + pr.pr_cursig = fatal_signal; + pr.pr_pid = thread.tid; +#if defined(__mips__) + memcpy(&pr.pr_reg, &thread.mcontext.gregs, sizeof(user_regs_struct)); +#elif defined(__riscv) + memcpy(&pr.pr_reg, &thread.mcontext.__gregs, sizeof(user_regs_struct)); +#else + memcpy(&pr.pr_reg, &thread.regs, sizeof(user_regs_struct)); +#endif + + Nhdr nhdr; + memset(&nhdr, 0, sizeof(nhdr)); + nhdr.n_namesz = 5; + nhdr.n_descsz = sizeof(struct prstatus); + nhdr.n_type = NT_PRSTATUS; + if (!writea(options.out_fd, &nhdr, sizeof(nhdr)) || + !writea(options.out_fd, "CORE\0\0\0\0", 8) || + !writea(options.out_fd, &pr, sizeof(struct prstatus))) { + return false; + } + +#if defined(__i386__) || defined(__x86_64__) + nhdr.n_descsz = sizeof(user_fpregs_struct); + nhdr.n_type = NT_FPREGSET; + if (!writea(options.out_fd, &nhdr, sizeof(nhdr)) || + !writea(options.out_fd, "CORE\0\0\0\0", 8) || + !writea(options.out_fd, &thread.fpregs, sizeof(user_fpregs_struct))) { + return false; + } +#endif + +#if defined(__i386__) + nhdr.n_descsz = sizeof(user_fpxregs_struct); + nhdr.n_type = NT_PRXFPREG; + if (!writea(options.out_fd, &nhdr, sizeof(nhdr)) || + !writea(options.out_fd, "LINUX\0\0\0", 8) || + !writea(options.out_fd, &thread.fpxregs, sizeof(user_fpxregs_struct))) { + return false; + } +#endif + + return true; +} + +static void +ParseModuleStream(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& range, + const MinidumpMemoryRange& full_file) { + if (options.verbose) { + fputs("MD_MODULE_LIST_STREAM:\n", stderr); + } + const uint32_t num_mappings = *range.GetData<uint32_t>(0); + for (unsigned i = 0; i < num_mappings; ++i) { + CrashedProcess::Mapping mapping; + const MDRawModule* rawmodule = reinterpret_cast<const MDRawModule*>( + range.GetArrayElement(sizeof(uint32_t), MD_MODULE_SIZE, i)); + mapping.start_address = rawmodule->base_of_image; + mapping.end_address = rawmodule->size_of_image + rawmodule->base_of_image; + + if (crashinfo->mappings.find(mapping.start_address) == + crashinfo->mappings.end()) { + // We prefer data from MD_LINUX_MAPS over MD_MODULE_LIST_STREAM, as + // the former is a strict superset of the latter. + crashinfo->mappings[mapping.start_address] = mapping; + } + + const MDCVInfoPDB70* record = reinterpret_cast<const MDCVInfoPDB70*>( + full_file.GetData(rawmodule->cv_record.rva, MDCVInfoPDB70_minsize)); + char guid[40]; + sprintf(guid, "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", + record->signature.data1, record->signature.data2, + record->signature.data3, + record->signature.data4[0], record->signature.data4[1], + record->signature.data4[2], record->signature.data4[3], + record->signature.data4[4], record->signature.data4[5], + record->signature.data4[6], record->signature.data4[7]); + + string filename = full_file.GetAsciiMDString(rawmodule->module_name_rva); + + CrashedProcess::Signature signature; + strcpy(signature.guid, guid); + signature.filename = filename; + crashinfo->signatures[rawmodule->base_of_image] = signature; + + if (options.verbose) { + fprintf(stderr, "0x%" PRIx64 "-0x%" PRIx64 ", ChkSum: 0x%08X, GUID: %s, " + " \"%s\"\n", + rawmodule->base_of_image, + rawmodule->base_of_image + rawmodule->size_of_image, + rawmodule->checksum, guid, filename.c_str()); + } + } + if (options.verbose) { + fputs("\n\n", stderr); + } +} + +static void +AddDataToMapping(CrashedProcess* crashinfo, const string& data, + uintptr_t addr) { + for (std::map<uint64_t, CrashedProcess::Mapping>::iterator + iter = crashinfo->mappings.begin(); + iter != crashinfo->mappings.end(); + ++iter) { + if (addr >= iter->second.start_address && + addr < iter->second.end_address) { + CrashedProcess::Mapping mapping = iter->second; + if ((addr & ~4095) != iter->second.start_address) { + // If there are memory pages in the mapping prior to where the + // data starts, truncate the existing mapping so that it ends with + // the page immediately preceding the data region. + iter->second.end_address = addr & ~4095; + if (!mapping.filename.empty()) { + // "mapping" is a copy of "iter->second". We are splitting the + // existing mapping into two separate ones when we write the data + // to the core file. The first one does not have any associated + // data in the core file, the second one is backed by data that is + // included with the core file. + // If this mapping wasn't supposed to be anonymous, then we also + // have to update the file offset upon splitting the mapping. + mapping.offset += iter->second.end_address - + iter->second.start_address; + } + } + // Create a new mapping that contains the data contents. We often + // limit the amount of data that is actually written to the core + // file. But it is OK if the mapping itself extends past the end of + // the data. + mapping.start_address = addr & ~4095; + mapping.data.assign(addr & 4095, 0).append(data); + mapping.data.append(-mapping.data.size() & 4095, 0); + crashinfo->mappings[mapping.start_address] = mapping; + return; + } + } + // Didn't find a suitable existing mapping for the data. Create a new one. + CrashedProcess::Mapping mapping; + mapping.permissions = PF_R | PF_W; + mapping.start_address = addr & ~4095; + mapping.end_address = + (addr + data.size() + 4095) & ~4095; + mapping.data.assign(addr & 4095, 0).append(data); + mapping.data.append(-mapping.data.size() & 4095, 0); + crashinfo->mappings[mapping.start_address] = mapping; +} + +static void +AugmentMappings(const Options& options, CrashedProcess* crashinfo, + const MinidumpMemoryRange& full_file) { + // For each thread, find the memory mapping that matches the thread's stack. + // Then adjust the mapping to include the stack dump. + for (unsigned i = 0; i < crashinfo->threads.size(); ++i) { + const CrashedProcess::Thread& thread = crashinfo->threads[i]; + AddDataToMapping(crashinfo, + string((char*)thread.stack, thread.stack_length), + thread.stack_addr); + } + + // Create a new link map with information about DSOs. We move this map to + // the beginning of the address space, as this area should always be + // available. + static const uintptr_t start_addr = 4096; + string data; + struct r_debug debug = { 0 }; + debug.r_version = crashinfo->debug.version; + debug.r_brk = (ElfW(Addr))crashinfo->debug.brk; + debug.r_state = r_debug::RT_CONSISTENT; + debug.r_ldbase = (ElfW(Addr))crashinfo->debug.ldbase; + debug.r_map = crashinfo->debug.dso_count > 0 ? + (struct link_map*)(start_addr + sizeof(debug)) : 0; + data.append((char*)&debug, sizeof(debug)); + + struct link_map* prev = 0; + for (std::vector<MDRawLinkMap>::iterator iter = crashinfo->link_map.begin(); + iter != crashinfo->link_map.end(); + ++iter) { + struct link_map link_map = { 0 }; + link_map.l_addr = (ElfW(Addr))iter->addr; + link_map.l_name = (char*)(start_addr + data.size() + sizeof(link_map)); + link_map.l_ld = (ElfW(Dyn)*)iter->ld; + link_map.l_prev = prev; + prev = (struct link_map*)(start_addr + data.size()); + string filename = full_file.GetAsciiMDString(iter->name); + + // Look up signature for this filename. If available, change filename + // to point to GUID, instead. + std::map<uintptr_t, CrashedProcess::Signature>::const_iterator sig = + crashinfo->signatures.find((uintptr_t)iter->addr); + if (sig != crashinfo->signatures.end()) { + // At this point, we have: + // old_filename: The path as found via SONAME (e.g. /lib/libpthread.so.0). + // sig_filename: The path on disk (e.g. /lib/libpthread-2.19.so). + const char* guid = sig->second.guid; + string sig_filename = sig->second.filename; + string old_filename = filename.empty() ? sig_filename : filename; + string new_filename; + + // First set up the leading path. We assume dirname always ends with a + // trailing slash (as needed), so we won't be appending one manually. + if (options.so_basedir.empty()) { + string dirname; + if (options.use_filename) { + dirname = sig_filename; + } else { + dirname = old_filename; + } + size_t slash = dirname.find_last_of('/'); + if (slash != string::npos) { + new_filename = dirname.substr(0, slash + 1); + } + } else { + new_filename = options.so_basedir; + } + + // Insert the module ID if requested. + if (options.inc_guid && + strcmp(guid, "00000000-0000-0000-0000-000000000000") != 0) { + new_filename += guid; + new_filename += "-"; + } + + // Decide whether we use the filename or the SONAME (where the SONAME tends + // to be a symlink to the actual file). + new_filename += google_breakpad::BaseName( + options.use_filename ? sig_filename : old_filename); + + if (filename != new_filename) { + if (options.verbose) { + fprintf(stderr, "0x%" PRIx64": rewriting mapping \"%s\" to \"%s\"\n", + static_cast<uint64_t>(link_map.l_addr), + filename.c_str(), new_filename.c_str()); + } + filename = new_filename; + } + } + + if (std::distance(iter, crashinfo->link_map.end()) == 1) { + link_map.l_next = 0; + } else { + link_map.l_next = (struct link_map*)(start_addr + data.size() + + sizeof(link_map) + + ((filename.size() + 8) & ~7)); + } + data.append((char*)&link_map, sizeof(link_map)); + data.append(filename); + data.append(8 - (filename.size() & 7), 0); + } + AddDataToMapping(crashinfo, data, start_addr); + + // Map the page containing the _DYNAMIC array + if (!crashinfo->dynamic_data.empty()) { + // Make _DYNAMIC DT_DEBUG entry point to our link map + for (int i = 0;; ++i) { + ElfW(Dyn) dyn; + if ((i+1)*sizeof(dyn) > crashinfo->dynamic_data.length()) { + no_dt_debug: + if (options.verbose) { + fprintf(stderr, "No DT_DEBUG entry found\n"); + } + return; + } + memcpy(&dyn, crashinfo->dynamic_data.c_str() + i*sizeof(dyn), + sizeof(dyn)); + if (dyn.d_tag == DT_DEBUG) { + crashinfo->dynamic_data.replace(i*sizeof(dyn) + + offsetof(ElfW(Dyn), d_un.d_ptr), + sizeof(start_addr), + (char*)&start_addr, sizeof(start_addr)); + break; + } else if (dyn.d_tag == DT_NULL) { + goto no_dt_debug; + } + } + AddDataToMapping(crashinfo, crashinfo->dynamic_data, + (uintptr_t)crashinfo->debug.dynamic); + } +} + +int +main(int argc, const char* argv[]) { + Options options; + SetupOptions(argc, argv, &options); + + MemoryMappedFile mapped_file(options.minidump_path.c_str(), 0); + if (!mapped_file.data()) { + fprintf(stderr, "Failed to mmap dump file: %s: %s\n", + options.minidump_path.c_str(), strerror(errno)); + return 1; + } + + MinidumpMemoryRange dump(mapped_file.data(), mapped_file.size()); + + const MDRawHeader* header = dump.GetData<MDRawHeader>(0); + + CrashedProcess crashinfo; + + // Always check the system info first, as that allows us to tell whether + // this is a minidump file that is compatible with our converter. + bool ok = false; + for (unsigned i = 0; i < header->stream_count; ++i) { + const MDRawDirectory* dirent = + dump.GetArrayElement<MDRawDirectory>(header->stream_directory_rva, i); + switch (dirent->stream_type) { + case MD_SYSTEM_INFO_STREAM: + ParseSystemInfo(options, &crashinfo, dump.Subrange(dirent->location), + dump); + ok = true; + break; + default: + break; + } + } + if (!ok) { + fprintf(stderr, "Cannot determine input file format.\n"); + exit(1); + } + + for (unsigned i = 0; i < header->stream_count; ++i) { + const MDRawDirectory* dirent = + dump.GetArrayElement<MDRawDirectory>(header->stream_directory_rva, i); + switch (dirent->stream_type) { + case MD_THREAD_LIST_STREAM: + ParseThreadList(options, &crashinfo, dump.Subrange(dirent->location), + dump); + break; + case MD_LINUX_CPU_INFO: + ParseCPUInfo(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_PROC_STATUS: + ParseProcessStatus(options, &crashinfo, + dump.Subrange(dirent->location)); + break; + case MD_LINUX_LSB_RELEASE: + ParseLSBRelease(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_ENVIRON: + ParseEnvironment(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_MAPS: + ParseMaps(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_AUXV: + ParseAuxVector(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_CMD_LINE: + ParseCmdLine(options, &crashinfo, dump.Subrange(dirent->location)); + break; + case MD_LINUX_DSO_DEBUG: + ParseDSODebugInfo(options, &crashinfo, dump.Subrange(dirent->location), + dump); + break; + case MD_EXCEPTION_STREAM: + ParseExceptionStream(options, &crashinfo, + dump.Subrange(dirent->location), dump); + break; + case MD_MODULE_LIST_STREAM: + ParseModuleStream(options, &crashinfo, dump.Subrange(dirent->location), + dump); + break; + default: + if (options.verbose) + fprintf(stderr, "Skipping %x\n", dirent->stream_type); + } + } + + AugmentMappings(options, &crashinfo, dump); + + // Write the ELF header. The file will look like: + // ELF header + // Phdr for the PT_NOTE + // Phdr for each of the thread stacks + // PT_NOTE + // each of the thread stacks + Ehdr ehdr; + memset(&ehdr, 0, sizeof(Ehdr)); + ehdr.e_ident[0] = ELFMAG0; + ehdr.e_ident[1] = ELFMAG1; + ehdr.e_ident[2] = ELFMAG2; + ehdr.e_ident[3] = ELFMAG3; + ehdr.e_ident[4] = ELF_CLASS; + ehdr.e_ident[5] = sex() ? ELFDATA2MSB : ELFDATA2LSB; + ehdr.e_ident[6] = EV_CURRENT; + ehdr.e_type = ET_CORE; + ehdr.e_machine = ELF_ARCH; + ehdr.e_version = EV_CURRENT; + ehdr.e_phoff = sizeof(Ehdr); + ehdr.e_ehsize = sizeof(Ehdr); + ehdr.e_phentsize= sizeof(Phdr); + ehdr.e_phnum = 1 + // PT_NOTE + crashinfo.mappings.size(); // memory mappings + ehdr.e_shentsize= sizeof(Shdr); + if (!writea(options.out_fd, &ehdr, sizeof(Ehdr))) + return 1; + + size_t offset = sizeof(Ehdr) + ehdr.e_phnum * sizeof(Phdr); + size_t filesz = sizeof(Nhdr) + 8 + sizeof(prpsinfo) + + // sizeof(Nhdr) + 8 + sizeof(user) + + sizeof(Nhdr) + 8 + crashinfo.auxv_length + + crashinfo.threads.size() * ( + (sizeof(Nhdr) + 8 + sizeof(prstatus)) +#if defined(__i386__) || defined(__x86_64__) + + sizeof(Nhdr) + 8 + sizeof(user_fpregs_struct) +#endif +#if defined(__i386__) + + sizeof(Nhdr) + 8 + sizeof(user_fpxregs_struct) +#endif + ); + + Phdr phdr; + memset(&phdr, 0, sizeof(Phdr)); + phdr.p_type = PT_NOTE; + phdr.p_offset = offset; + phdr.p_filesz = filesz; + if (!writea(options.out_fd, &phdr, sizeof(phdr))) + return 1; + + phdr.p_type = PT_LOAD; + phdr.p_align = 4096; + size_t note_align = phdr.p_align - ((offset+filesz) % phdr.p_align); + if (note_align == phdr.p_align) + note_align = 0; + offset += note_align; + + for (std::map<uint64_t, CrashedProcess::Mapping>::const_iterator iter = + crashinfo.mappings.begin(); + iter != crashinfo.mappings.end(); ++iter) { + const CrashedProcess::Mapping& mapping = iter->second; + if (mapping.permissions == 0xFFFFFFFF) { + // This is a map that we found in MD_MODULE_LIST_STREAM (as opposed to + // MD_LINUX_MAPS). It lacks some of the information that we would like + // to include. + phdr.p_flags = PF_R; + } else { + phdr.p_flags = mapping.permissions; + } + phdr.p_vaddr = mapping.start_address; + phdr.p_memsz = mapping.end_address - mapping.start_address; + if (mapping.data.size()) { + offset += filesz; + filesz = mapping.data.size(); + phdr.p_filesz = mapping.data.size(); + phdr.p_offset = offset; + } else { + phdr.p_filesz = 0; + phdr.p_offset = 0; + } + if (!writea(options.out_fd, &phdr, sizeof(phdr))) + return 1; + } + + Nhdr nhdr; + memset(&nhdr, 0, sizeof(nhdr)); + nhdr.n_namesz = 5; + nhdr.n_descsz = sizeof(prpsinfo); + nhdr.n_type = NT_PRPSINFO; + if (!writea(options.out_fd, &nhdr, sizeof(nhdr)) || + !writea(options.out_fd, "CORE\0\0\0\0", 8) || + !writea(options.out_fd, &crashinfo.prps, sizeof(prpsinfo))) { + return 1; + } + + nhdr.n_descsz = crashinfo.auxv_length; + nhdr.n_type = NT_AUXV; + if (!writea(options.out_fd, &nhdr, sizeof(nhdr)) || + !writea(options.out_fd, "CORE\0\0\0\0", 8) || + !writea(options.out_fd, crashinfo.auxv, crashinfo.auxv_length)) { + return 1; + } + + for (const auto& current_thread : crashinfo.threads) { + if (current_thread.tid == crashinfo.exception.tid) { + // Use the exception record's context for the crashed thread instead of + // the thread's own context. For the crashed thread the thread's own + // context is the state inside the exception handler. Using it would not + // result in the expected stack trace from the time of the crash. + // The stack memory has already been provided by current_thread. + WriteThread(options, crashinfo.exception, crashinfo.fatal_signal); + break; + } + } + + for (const auto& current_thread : crashinfo.threads) { + if (current_thread.tid != crashinfo.exception.tid) + WriteThread(options, current_thread, 0); + } + + if (note_align) { + google_breakpad::scoped_array<char> scratch(new char[note_align]); + memset(scratch.get(), 0, note_align); + if (!writea(options.out_fd, scratch.get(), note_align)) + return 1; + } + + for (std::map<uint64_t, CrashedProcess::Mapping>::const_iterator iter = + crashinfo.mappings.begin(); + iter != crashinfo.mappings.end(); ++iter) { + const CrashedProcess::Mapping& mapping = iter->second; + if (mapping.data.size()) { + if (!writea(options.out_fd, mapping.data.c_str(), mapping.data.size())) + return 1; + } + } + + if (options.out_fd != STDOUT_FILENO) { + close(options.out_fd); + } + + return 0; +} diff --git a/externals/breakpad/src/tools/linux/md2core/minidump_memory_range.h b/externals/breakpad/src/tools/linux/md2core/minidump_memory_range.h new file mode 100644 index 0000000000..6cf074703c --- /dev/null +++ b/externals/breakpad/src/tools/linux/md2core/minidump_memory_range.h @@ -0,0 +1,88 @@ +// Copyright 2011 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// minidump_memory_range.h: Define the google_breakpad::MinidumpMemoryRange +// class, which adds methods for handling minidump specific data structures +// on top of google_breakpad::MemoryRange. See common/memory_range.h for +// more details on MemoryRange. + +#ifndef TOOLS_LINUX_MD2CORE_MINIDUMP_MEMORY_RANGE_H_ +#define TOOLS_LINUX_MD2CORE_MINIDUMP_MEMORY_RANGE_H_ + +#include <string> + +#include "common/memory_range.h" +#include "google_breakpad/common/minidump_format.h" + +namespace google_breakpad { + +// A derived class of MemoryRange with added methods for handling minidump +// specific data structures. To avoid virtual functions, it is not designed +// to be used polymorphically. +class MinidumpMemoryRange : public MemoryRange { + public: + MinidumpMemoryRange() {} + + MinidumpMemoryRange(const void* data, size_t length) + : MemoryRange(data, length) {} + + // Returns a subrange of |length| bytes at |offset| bytes of this memory + // range, or an empty range if the subrange is out of bounds. + // This methods overrides the base implemementation in order to return + // an instance of MinidumpMemoryRange instead of MemoryRange. + MinidumpMemoryRange Subrange(size_t sub_offset, size_t sub_length) const { + if (Covers(sub_offset, sub_length)) + return MinidumpMemoryRange(data() + sub_offset, sub_length); + return MinidumpMemoryRange(); + } + + // Returns a subrange that covers the offset and length specified by + // |location|, or an empty range if the subrange is out of bounds. + MinidumpMemoryRange Subrange(const MDLocationDescriptor& location) const { + return MinidumpMemoryRange::Subrange(location.rva, location.data_size); + } + + // Gets a STL string from a MDString at |sub_offset| bytes of this memory + // range. This method only works correctly for ASCII characters and does + // not convert between UTF-16 and UTF-8. + const std::string GetAsciiMDString(size_t sub_offset) const { + std::string str; + const MDString* md_str = GetData<MDString>(sub_offset); + if (md_str) { + const uint16_t* buffer = &md_str->buffer[0]; + for (uint32_t i = 0; i < md_str->length && buffer[i]; ++i) { + str.push_back(buffer[i]); + } + } + return str; + } +}; + +} // namespace google_breakpad + +#endif // TOOLS_LINUX_MD2CORE_MINIDUMP_MEMORY_RANGE_H_ diff --git a/externals/breakpad/src/tools/linux/md2core/minidump_memory_range_unittest.cc b/externals/breakpad/src/tools/linux/md2core/minidump_memory_range_unittest.cc new file mode 100644 index 0000000000..c939dd647c --- /dev/null +++ b/externals/breakpad/src/tools/linux/md2core/minidump_memory_range_unittest.cc @@ -0,0 +1,261 @@ +// Copyright 2011 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// minidump_memory_range_unittest.cc: +// Unit tests for google_breakpad::MinidumpMemoryRange. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include "breakpad_googletest_includes.h" +#include "tools/linux/md2core/minidump_memory_range.h" + +using google_breakpad::MinidumpMemoryRange; +using testing::Message; + +namespace { + +const uint32_t kBuffer[10] = { 0 }; +const size_t kBufferSize = sizeof(kBuffer); +const uint8_t* kBufferPointer = reinterpret_cast<const uint8_t*>(kBuffer); + +// Test vectors for verifying Covers, GetData, and Subrange. +const struct { + bool valid; + size_t offset; + size_t length; +} kSubranges[] = { + { true, 0, 0 }, + { true, 0, 2 }, + { true, 0, kBufferSize }, + { true, 2, 0 }, + { true, 2, 4 }, + { true, 2, kBufferSize - 2 }, + { true, kBufferSize - 1, 1 }, + { false, kBufferSize, 0 }, + { false, kBufferSize, static_cast<size_t>(-1) }, + { false, kBufferSize + 1, 0 }, + { false, static_cast<size_t>(-1), 2 }, + { false, 1, kBufferSize }, + { false, kBufferSize - 1, 2 }, + { false, 0, static_cast<size_t>(-1) }, + { false, 1, static_cast<size_t>(-1) }, +}; +const size_t kNumSubranges = sizeof(kSubranges) / sizeof(kSubranges[0]); + +// Test vectors for verifying GetArrayElement. +const struct { + size_t offset; + size_t size; + size_t index; + const void* const pointer; +} kElements[] = { + // Valid array elemenets + { 0, 1, 0, kBufferPointer }, + { 0, 1, 1, kBufferPointer + 1 }, + { 0, 1, kBufferSize - 1, kBufferPointer + kBufferSize - 1 }, + { 0, 2, 1, kBufferPointer + 2 }, + { 0, 4, 2, kBufferPointer + 8 }, + { 0, 4, 9, kBufferPointer + 36 }, + { kBufferSize - 1, 1, 0, kBufferPointer + kBufferSize - 1 }, + // Invalid array elemenets + { 0, 1, kBufferSize, NULL }, + { 0, 4, 10, NULL }, + { kBufferSize - 1, 1, 1, NULL }, + { kBufferSize - 1, 2, 0, NULL }, + { kBufferSize, 1, 0, NULL }, +}; +const size_t kNumElements = sizeof(kElements) / sizeof(kElements[0]); + +} // namespace + +TEST(MinidumpMemoryRangeTest, DefaultConstructor) { + MinidumpMemoryRange range; + EXPECT_EQ(NULL, range.data()); + EXPECT_EQ(0U, range.length()); +} + +TEST(MinidumpMemoryRangeTest, ConstructorWithDataAndLength) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + EXPECT_EQ(kBufferPointer, range.data()); + EXPECT_EQ(kBufferSize, range.length()); +} + +TEST(MinidumpMemoryRangeTest, Reset) { + MinidumpMemoryRange range; + range.Reset(); + EXPECT_EQ(NULL, range.data()); + EXPECT_EQ(0U, range.length()); + + range.Set(kBuffer, kBufferSize); + EXPECT_EQ(kBufferPointer, range.data()); + EXPECT_EQ(kBufferSize, range.length()); + + range.Reset(); + EXPECT_EQ(NULL, range.data()); + EXPECT_EQ(0U, range.length()); +} + +TEST(MinidumpMemoryRangeTest, Set) { + MinidumpMemoryRange range; + range.Set(kBuffer, kBufferSize); + EXPECT_EQ(kBufferPointer, range.data()); + EXPECT_EQ(kBufferSize, range.length()); + + range.Set(NULL, 0); + EXPECT_EQ(NULL, range.data()); + EXPECT_EQ(0U, range.length()); +} + +TEST(MinidumpMemoryRangeTest, SubrangeOfEmptyMemoryRange) { + MinidumpMemoryRange range; + MinidumpMemoryRange subrange = range.Subrange(0, 10); + EXPECT_EQ(NULL, subrange.data()); + EXPECT_EQ(0U, subrange.length()); +} + +TEST(MinidumpMemoryRangeTest, SubrangeAndGetData) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + for (size_t i = 0; i < kNumSubranges; ++i) { + bool valid = kSubranges[i].valid; + size_t sub_offset = kSubranges[i].offset; + size_t sub_length = kSubranges[i].length; + SCOPED_TRACE(Message() << "offset=" << sub_offset + << ", length=" << sub_length); + + MinidumpMemoryRange subrange = range.Subrange(sub_offset, sub_length); + if (valid) { + EXPECT_TRUE(range.Covers(sub_offset, sub_length)); + EXPECT_EQ(kBufferPointer + sub_offset, + range.GetData(sub_offset, sub_length)); + EXPECT_EQ(kBufferPointer + sub_offset, subrange.data()); + EXPECT_EQ(sub_length, subrange.length()); + } else { + EXPECT_FALSE(range.Covers(sub_offset, sub_length)); + EXPECT_EQ(NULL, range.GetData(sub_offset, sub_length)); + EXPECT_EQ(NULL, subrange.data()); + EXPECT_EQ(0U, subrange.length()); + } + } +} + +TEST(MinidumpMemoryRangeTest, SubrangeWithMDLocationDescriptor) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + for (size_t i = 0; i < kNumSubranges; ++i) { + bool valid = kSubranges[i].valid; + size_t sub_offset = kSubranges[i].offset; + size_t sub_length = kSubranges[i].length; + SCOPED_TRACE(Message() << "offset=" << sub_offset + << ", length=" << sub_length); + + MDLocationDescriptor location; + location.rva = sub_offset; + location.data_size = sub_length; + MinidumpMemoryRange subrange = range.Subrange(location); + if (valid) { + EXPECT_TRUE(range.Covers(sub_offset, sub_length)); + EXPECT_EQ(kBufferPointer + sub_offset, + range.GetData(sub_offset, sub_length)); + EXPECT_EQ(kBufferPointer + sub_offset, subrange.data()); + EXPECT_EQ(sub_length, subrange.length()); + } else { + EXPECT_FALSE(range.Covers(sub_offset, sub_length)); + EXPECT_EQ(NULL, range.GetData(sub_offset, sub_length)); + EXPECT_EQ(NULL, subrange.data()); + EXPECT_EQ(0U, subrange.length()); + } + } +} + +TEST(MinidumpMemoryRangeTest, GetDataWithTemplateType) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + const char* char_pointer = range.GetData<char>(0); + EXPECT_EQ(reinterpret_cast<const char*>(kBufferPointer), char_pointer); + const int* int_pointer = range.GetData<int>(0); + EXPECT_EQ(reinterpret_cast<const int*>(kBufferPointer), int_pointer); +} + +TEST(MinidumpMemoryRangeTest, GetArrayElement) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + for (size_t i = 0; i < kNumElements; ++i) { + size_t element_offset = kElements[i].offset; + size_t element_size = kElements[i].size; + unsigned element_index = kElements[i].index; + const void* const element_pointer = kElements[i].pointer; + SCOPED_TRACE(Message() << "offset=" << element_offset + << ", size=" << element_size + << ", index=" << element_index); + EXPECT_EQ(element_pointer, range.GetArrayElement( + element_offset, element_size, element_index)); + } +} + +TEST(MinidumpMemoryRangeTest, GetArrayElmentWithTemplateType) { + MinidumpMemoryRange range(kBuffer, kBufferSize); + const char* char_pointer = range.GetArrayElement<char>(0, 0); + EXPECT_EQ(reinterpret_cast<const char*>(kBufferPointer), char_pointer); + const int* int_pointer = range.GetArrayElement<int>(0, 0); + EXPECT_EQ(reinterpret_cast<const int*>(kBufferPointer), int_pointer); +} + +TEST(MinidumpMemoryRangeTest, GetAsciiMDString) { + uint8_t buffer[100] = { 0 }; + + MDString* md_str = reinterpret_cast<MDString*>(buffer); + md_str->length = 4; + md_str->buffer[0] = 'T'; + md_str->buffer[1] = 'e'; + md_str->buffer[2] = 's'; + md_str->buffer[3] = 't'; + md_str->buffer[4] = '\0'; + + size_t str2_offset = + sizeof(MDString) + (md_str->length + 1) * sizeof(uint16_t); + + md_str = reinterpret_cast<MDString*>(buffer + str2_offset); + md_str->length = 9; // Test length larger than actual string + md_str->buffer[0] = 'S'; + md_str->buffer[1] = 't'; + md_str->buffer[2] = 'r'; + md_str->buffer[3] = 'i'; + md_str->buffer[4] = 'n'; + md_str->buffer[5] = 'g'; + md_str->buffer[6] = '\0'; + md_str->buffer[7] = '1'; + md_str->buffer[8] = '2'; + + MinidumpMemoryRange range(buffer, sizeof(buffer)); + EXPECT_EQ("Test", range.GetAsciiMDString(0)); + EXPECT_EQ("String", range.GetAsciiMDString(str2_offset)); + + // Test out-of-bounds cases. + EXPECT_EQ("", range.GetAsciiMDString( + sizeof(buffer) - sizeof(MDString) + 1)); + EXPECT_EQ("", range.GetAsciiMDString(sizeof(buffer))); +} diff --git a/externals/breakpad/src/tools/linux/pid2md/pid2md.cc b/externals/breakpad/src/tools/linux/pid2md/pid2md.cc new file mode 100644 index 0000000000..add12a7389 --- /dev/null +++ b/externals/breakpad/src/tools/linux/pid2md/pid2md.cc @@ -0,0 +1,62 @@ +// Copyright 2020 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// pid2md.cc: An utility to generate a minidump from a running process + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +#include "client/linux/minidump_writer/minidump_writer.h" +#include "common/path_helper.h" + +int main(int argc, char* argv[]) { + if (argc != 3) { + fprintf(stderr, "Usage: %s <process id> <minidump file>\n\n", + google_breakpad::BaseName(argv[0]).c_str()); + fprintf(stderr, + "A tool to generate a minidump from a running process. The process " + "resumes its\nactivity once the operation is completed. Permission " + "to trace the process is\nrequired.\n"); + return EXIT_FAILURE; + } + + pid_t process_id = atoi(argv[1]); + const char* minidump_file = argv[2]; + + if (!google_breakpad::WriteMinidump(minidump_file, process_id, process_id)) { + fprintf(stderr, "Unable to generate minidump.\n"); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} diff --git a/externals/breakpad/src/tools/linux/symupload/minidump_upload.cc b/externals/breakpad/src/tools/linux/symupload/minidump_upload.cc new file mode 100644 index 0000000000..9f2c967444 --- /dev/null +++ b/externals/breakpad/src/tools/linux/symupload/minidump_upload.cc @@ -0,0 +1,159 @@ +// Copyright 2006 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// minidump_upload.cc: Upload a minidump to a HTTP server. +// The upload is sent as a multipart/form-data POST request with +// the following parameters: +// prod: the product name +// ver: the product version +// symbol_file: the breakpad format symbol file + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +#include <string> + +#include "common/linux/http_upload.h" +#include "common/path_helper.h" +#include "common/using_std_string.h" + +using google_breakpad::HTTPUpload; + +struct Options { + string minidumpPath; + string uploadURLStr; + string product; + string version; + string proxy; + string proxy_user_pwd; + bool success; +}; + +//============================================================================= +static void Start(Options *options) { + std::map<string, string> parameters; + // Add parameters + parameters["prod"] = options->product; + parameters["ver"] = options->version; + + std::map<string, string> files; + files["upload_file_minidump"] = options->minidumpPath; + + // Send it + string response, error; + bool success = HTTPUpload::SendRequest(options->uploadURLStr, + parameters, + files, + options->proxy, + options->proxy_user_pwd, + "", + &response, + NULL, + &error); + + if (success) { + printf("Successfully sent the minidump file.\n"); + } else { + printf("Failed to send minidump: %s\n", error.c_str()); + } + printf("Response:\n"); + printf("%s\n", response.c_str()); + options->success = success; +} + +//============================================================================= +static void +Usage(int argc, const char *argv[]) { + fprintf(stderr, "Submit minidump information.\n"); + fprintf(stderr, + "Usage: %s [options...] -p <product> -v <version> <minidump> " + "<upload-URL>\n", + google_breakpad::BaseName(argv[0]).c_str()); + fprintf(stderr, "Options:\n"); + fprintf(stderr, "<minidump> should be a minidump.\n"); + fprintf(stderr, "<upload-URL> is the destination for the upload\n"); + + fprintf(stderr, "-p:\t <product> Product name\n"); + fprintf(stderr, "-v:\t <version> Product version\n"); + fprintf(stderr, "-x:\t <host[:port]> Use HTTP proxy on given port\n"); + fprintf(stderr, "-u:\t <user[:password]> Set proxy user and password\n"); + fprintf(stderr, "-h:\t Usage\n"); + fprintf(stderr, "-?:\t Usage\n"); +} + +//============================================================================= +static void +SetupOptions(int argc, const char *argv[], Options *options) { + extern int optind; + int ch; + + while ((ch = getopt(argc, (char * const*)argv, "p:u:v:x:h?")) != -1) { + switch (ch) { + case 'p': + options->product = optarg; + break; + case 'u': + options->proxy_user_pwd = optarg; + break; + case 'v': + options->version = optarg; + break; + case 'x': + options->proxy = optarg; + break; + + default: + fprintf(stderr, "Invalid option '%c'\n", ch); + Usage(argc, argv); + exit(1); + break; + } + } + + if ((argc - optind) != 2) { + fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); + Usage(argc, argv); + exit(1); + } + + options->minidumpPath = argv[optind]; + options->uploadURLStr = argv[optind + 1]; +} + +//============================================================================= +int main(int argc, const char* argv[]) { + Options options; + SetupOptions(argc, argv, &options); + Start(&options); + return options.success ? 0 : 1; +} diff --git a/externals/breakpad/src/tools/linux/symupload/sym_upload.cc b/externals/breakpad/src/tools/linux/symupload/sym_upload.cc new file mode 100644 index 0000000000..a76c55f7dc --- /dev/null +++ b/externals/breakpad/src/tools/linux/symupload/sym_upload.cc @@ -0,0 +1,217 @@ +// Copyright 2006 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// symupload.cc: Upload a symbol file to a HTTP server. The upload is sent as +// a multipart/form-data POST request with the following parameters: +// code_file: the basename of the module, e.g. "app" +// debug_file: the basename of the debugging file, e.g. "app" +// debug_identifier: the debug file's identifier, usually consisting of +// the guid and age embedded in the pdb, e.g. +// "11111111BBBB3333DDDD555555555555F" +// version: the file version of the module, e.g. "1.2.3.4" +// os: the operating system that the module was built for +// cpu: the CPU that the module was built for +// symbol_file: the contents of the breakpad-format symbol file + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include <locale> + +#include "common/linux/symbol_upload.h" +#include "common/path_helper.h" + +using google_breakpad::sym_upload::UploadProtocol; +using google_breakpad::sym_upload::Options; + +static void StrToUpper(std::string* str) { + if (str == nullptr) { + fprintf(stderr, "nullptr passed to StrToUpper.\n"); + exit(1); + } + for (size_t i = 0; i < str->length(); i++) { + (*str)[i] = std::toupper((*str)[i], std::locale::classic()); + } +} + +//============================================================================= +static void +Usage(int argc, const char *argv[]) { + fprintf(stderr, "Submit symbol information.\n"); + fprintf(stderr, "Usage: %s [options...] <symbol-file> <upload-URL>\n", + google_breakpad::BaseName(argv[0]).c_str()); + fprintf(stderr, "Options:\n"); + fprintf(stderr, + "<symbol-file> should be created by using the dump_syms " + "tool.\n"); + fprintf(stderr, "<upload-URL> is the destination for the upload\n"); + fprintf(stderr, "-p:\t <protocol> One of ['sym-upload-v1'," + " 'sym-upload-v2'], defaults to 'sym-upload-v1'.\n"); + fprintf(stderr, "-v:\t Version information (e.g., 1.2.3.4)\n"); + fprintf(stderr, "-x:\t <host[:port]> Use HTTP proxy on given port\n"); + fprintf(stderr, "-u:\t <user[:password]> Set proxy user and password\n"); + fprintf(stderr, "-h:\t Usage\n"); + fprintf(stderr, "-?:\t Usage\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "These options only work with 'sym-upload-v2' protocol:\n"); + fprintf(stderr, "-k:\t <API-key> A secret used to authenticate with the" + " API.\n"); + fprintf(stderr, "-f:\t Force symbol upload if already exists.\n"); + fprintf(stderr, "-t:\t <symbol-type> Explicitly set symbol upload type (" + "default is 'breakpad').\n" + "\t One of ['breakpad', 'elf', 'pe', 'macho', 'debug_only', 'dwp', " + "'dsym', 'pdb'].\n" + "\t Note: When this flag is set to anything other than 'breakpad', then " + "the '-c' and '-i' flags must also be set.\n"); + fprintf(stderr, "-c:\t <code-file> Explicitly set 'code_file' for symbol " + "upload (basename of executable).\n"); + fprintf(stderr, "-i:\t <debug-id> Explicitly set 'debug_id' for symbol " + "upload (typically build ID of executable).\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "Examples:\n"); + fprintf(stderr, " With 'sym-upload-v1':\n"); + fprintf(stderr, " %s path/to/symbol_file http://myuploadserver\n", + argv[0]); + fprintf(stderr, " With 'sym-upload-v2':\n"); + fprintf(stderr, " [Defaulting to symbol type 'BREAKPAD']\n"); + fprintf(stderr, " %s -p sym-upload-v2 -k mysecret123! " + "path/to/symbol_file http://myuploadserver\n", argv[0]); + fprintf(stderr, " [Explicitly set symbol type to 'elf']\n"); + fprintf(stderr, " %s -p sym-upload-v2 -k mysecret123! -t elf " + "-c app -i 11111111BBBB3333DDDD555555555555F " + "path/to/symbol_file http://myuploadserver\n", argv[0]); +} + +//============================================================================= +static void +SetupOptions(int argc, const char *argv[], Options *options) { + extern int optind, optopt; + int ch; + constexpr char flag_pattern[] = "u:v:x:p:k:t:c:i:hf?"; + + while ((ch = getopt(argc, (char * const*)argv, flag_pattern)) != -1) { + switch (ch) { + case 'h': + case '?': + Usage(argc, argv); + // ch might be '?' because getopt found an error while parsing args (as + // opposed to finding "-?" as an arg), in which case optopt is set to + // the bad arg value, so return an error code if optopt is set, + // otherwise exit cleanly. + exit(optopt == 0 ? 0 : 1); + case 'u': + options->proxy_user_pwd = optarg; + break; + case 'v': + options->version = optarg; + break; + case 'x': + options->proxy = optarg; + break; + case 'p': + if (strcmp(optarg, "sym-upload-v2") == 0) { + options->upload_protocol = UploadProtocol::SYM_UPLOAD_V2; + } else if (strcmp(optarg, "sym-upload-v1") == 0) { + options->upload_protocol = UploadProtocol::SYM_UPLOAD_V1; + } else { + fprintf(stderr, "Invalid protocol '%s'\n", optarg); + Usage(argc, argv); + exit(1); + } + break; + case 'k': + options->api_key = optarg; + break; + case 't': { + // This is really an enum, so treat as upper-case for consistency with + // enum naming convention on server-side. + options->type = optarg; + StrToUpper(&(options->type)); + break; + } + case 'c': + options->code_file = optarg; + break; + case 'i': + options->debug_id = optarg; + break; + case 'f': + options->force = true; + break; + + default: + fprintf(stderr, "Invalid option '%c'\n", ch); + Usage(argc, argv); + exit(1); + } + } + + if ((argc - optind) != 2) { + fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); + Usage(argc, argv); + exit(1); + } + + bool is_breakpad_upload = options->type.empty() || + options->type == google_breakpad::sym_upload::kBreakpadSymbolType; + bool has_code_file = !options->code_file.empty(); + bool has_debug_id = !options->debug_id.empty(); + if (is_breakpad_upload && (has_code_file || has_debug_id)) { + fprintf(stderr, "\n"); + fprintf(stderr, "%s: -c and -i should only be specified for non-breakpad " + "symbol upload types.\n", argv[0]); + fprintf(stderr, "\n"); + Usage(argc, argv); + exit(1); + } + if (!is_breakpad_upload && (!has_code_file || !has_debug_id)) { + fprintf(stderr, "\n"); + fprintf(stderr, "%s: -c and -i must be specified for non-breakpad " + "symbol upload types.\n", argv[0]); + fprintf(stderr, "\n"); + Usage(argc, argv); + exit(1); + } + + options->symbolsPath = argv[optind]; + options->uploadURLStr = argv[optind + 1]; +} + +//============================================================================= +int main(int argc, const char* argv[]) { + Options options; + SetupOptions(argc, argv, &options); + google_breakpad::sym_upload::Start(&options); + return options.success ? 0 : 1; +} diff --git a/externals/breakpad/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj b/externals/breakpad/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c98b6ac546 --- /dev/null +++ b/externals/breakpad/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj @@ -0,0 +1,1857 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXAggregateTarget section */ + B88FAFC9116BDCAD00407530 /* all_unittests */ = { + isa = PBXAggregateTarget; + buildConfigurationList = B88FAFCC116BDCCC00407530 /* Build configuration list for PBXAggregateTarget "all_unittests" */; + buildPhases = ( + B88FB094116CE73E00407530 /* ShellScript */, + ); + dependencies = ( + B88FB15B116CF53E00407530 /* PBXTargetDependency */, + B88FAFCF116BDD7000407530 /* PBXTargetDependency */, + B88FB01D116BDF9800407530 /* PBXTargetDependency */, + B88FB167116CF54B00407530 /* PBXTargetDependency */, + B88FAFD1116BDD7000407530 /* PBXTargetDependency */, + B88FB165116CF54B00407530 /* PBXTargetDependency */, + B88FB161116CF54B00407530 /* PBXTargetDependency */, + B88FB15F116CF54B00407530 /* PBXTargetDependency */, + B88FB15D116CF54B00407530 /* PBXTargetDependency */, + B84A9201116CF7D2006C210E /* PBXTargetDependency */, + B88FB0C8116CEB4A00407530 /* PBXTargetDependency */, + 8B31051511F100CF00FCF3E4 /* PBXTargetDependency */, + ); + name = all_unittests; + productName = all_unittests; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 162F64FA161C591500CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F8161C591500CD68D5 /* arch_utilities.cc */; }; + 162F6500161C5F2200CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F8161C591500CD68D5 /* arch_utilities.cc */; }; + 4247E63D2110D4B200482558 /* path_helper.cc in Sources */ = {isa = PBXBuildFile; fileRef = EB06C7511FEBC515000214D9 /* path_helper.cc */; }; + 4262382721AC496F00E5A3A6 /* dwarf_range_list_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4262382521AC496F00E5A3A6 /* dwarf_range_list_handler.cc */; }; + 4262382821AC49A000E5A3A6 /* dwarf_range_list_handler.h in Sources */ = {isa = PBXBuildFile; fileRef = 4262382621AC496F00E5A3A6 /* dwarf_range_list_handler.h */; }; + 4D72CAF513DFBAC2006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CAF413DFBAC2006CABE3 /* md5.cc */; }; + 8BCAAA4C1CE3A7980046090B /* elf_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8BCAAA4A1CE3A7980046090B /* elf_reader.cc */; }; + 8BCAAA4D1CE3B1260046090B /* elf_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8BCAAA4A1CE3A7980046090B /* elf_reader.cc */; }; + B84A91F8116CF78F006C210E /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B84A91FB116CF7AF006C210E /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B84A91FC116CF7AF006C210E /* stabs_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE3C11666C8900407530 /* stabs_to_module.cc */; }; + B84A91FD116CF7AF006C210E /* stabs_to_module_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D8116CEC0600407530 /* stabs_to_module_unittest.cc */; }; + B88FAE1911665FE400407530 /* dwarf2diehandler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE1711665FE400407530 /* dwarf2diehandler.cc */; }; + B88FAE261166603300407530 /* dwarf_cu_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE1E1166603300407530 /* dwarf_cu_to_module.cc */; }; + B88FAE271166603300407530 /* dwarf_line_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE201166603300407530 /* dwarf_line_to_module.cc */; }; + B88FAE281166603300407530 /* language.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE221166603300407530 /* language.cc */; }; + B88FAE291166603300407530 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B88FAE2C1166606200407530 /* macho_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E6E1166571D00DD08C9 /* macho_reader.cc */; }; + B88FAE351166673E00407530 /* dwarf_cfi_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE331166673E00407530 /* dwarf_cfi_to_module.cc */; }; + B88FAE3B11666C6F00407530 /* stabs_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE3911666C6F00407530 /* stabs_reader.cc */; }; + B88FAE3E11666C8900407530 /* stabs_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE3C11666C8900407530 /* stabs_to_module.cc */; }; + B88FAF37116A595400407530 /* cfi_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAF34116A595400407530 /* cfi_assembler.cc */; }; + B88FAF38116A595400407530 /* dwarf2reader_cfi_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAF36116A595400407530 /* dwarf2reader_cfi_unittest.cc */; }; + B88FAF3F116A5A2E00407530 /* dwarf2reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F95B422F0E0E22D100DBDE83 /* dwarf2reader.cc */; }; + B88FAF40116A5A2E00407530 /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F95B422C0E0E22D100DBDE83 /* bytereader.cc */; }; + B88FB00F116BDEA700407530 /* stabs_reader_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB003116BDE7200407530 /* stabs_reader_unittest.cc */; }; + B88FB010116BDEA700407530 /* stabs_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE3911666C6F00407530 /* stabs_reader.cc */; }; + B88FB028116BE03100407530 /* test_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE0911665B5700407530 /* test_assembler.cc */; }; + B88FB029116BE03100407530 /* gmock-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0EA311665AEA00DD08C9 /* gmock-all.cc */; }; + B88FB02A116BE03100407530 /* gtest_main.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E9F11665AC300DD08C9 /* gtest_main.cc */; }; + B88FB02B116BE03100407530 /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0EA011665AC300DD08C9 /* gtest-all.cc */; }; + B88FB03F116BE24200407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB042116BE3C400407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB057116C0CDE00407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB0BD116CEAE000407530 /* module_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0B5116CEA8A00407530 /* module_unittest.cc */; }; + B88FB0C1116CEB0600407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB0C4116CEB4100407530 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B88FB0E3116CEEB000407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB0E5116CEED300407530 /* dwarf2diehandler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE1711665FE400407530 /* dwarf2diehandler.cc */; }; + B88FB0E6116CEED300407530 /* dwarf2diehandler_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0DB116CEC5800407530 /* dwarf2diehandler_unittest.cc */; }; + B88FB0F6116CEF2000407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB0FA116CF00E00407530 /* dwarf_line_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE201166603300407530 /* dwarf_line_to_module.cc */; }; + B88FB0FB116CF00E00407530 /* dwarf_line_to_module_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D7116CEC0600407530 /* dwarf_line_to_module_unittest.cc */; }; + B88FB0FE116CF02400407530 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B88FB10E116CF08100407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB112116CF1F000407530 /* dwarf_cu_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE1E1166603300407530 /* dwarf_cu_to_module.cc */; }; + B88FB113116CF1F000407530 /* dwarf_cu_to_module_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D6116CEC0600407530 /* dwarf_cu_to_module_unittest.cc */; }; + B88FB114116CF1F000407530 /* language.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE221166603300407530 /* language.cc */; }; + B88FB115116CF1F000407530 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B88FB123116CF28500407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB129116CF2DD00407530 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE241166603300407530 /* module.cc */; }; + B88FB12A116CF2DD00407530 /* dwarf_cfi_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE331166673E00407530 /* dwarf_cfi_to_module.cc */; }; + B88FB12B116CF2DD00407530 /* dwarf_cfi_to_module_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D5116CEC0600407530 /* dwarf_cfi_to_module_unittest.cc */; }; + B88FB139116CF31600407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB13D116CF38300407530 /* cfi_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAF34116A595400407530 /* cfi_assembler.cc */; }; + B88FB13E116CF38300407530 /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F95B422C0E0E22D100DBDE83 /* bytereader.cc */; }; + B88FB13F116CF38300407530 /* bytereader_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0DA116CEC5800407530 /* bytereader_unittest.cc */; }; + B88FB14F116CF4AE00407530 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + B88FB152116CF4D300407530 /* byte_cursor_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D4116CEC0600407530 /* byte_cursor_unittest.cc */; }; + B89E0E781166576C00DD08C9 /* macho_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E6E1166571D00DD08C9 /* macho_reader.cc */; }; + B89E0E7A1166576C00DD08C9 /* macho_dump.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E701166573700DD08C9 /* macho_dump.cc */; }; + B89E0E9911665A7200DD08C9 /* macho_reader_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E6D1166571D00DD08C9 /* macho_reader_unittest.cc */; }; + B89E0E9A11665A7200DD08C9 /* macho_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = B89E0E6E1166571D00DD08C9 /* macho_reader.cc */; }; + B8C5B5171166534700D34F4E /* dwarf2reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F95B422F0E0E22D100DBDE83 /* dwarf2reader.cc */; }; + B8C5B5181166534700D34F4E /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F95B422C0E0E22D100DBDE83 /* bytereader.cc */; }; + B8C5B5191166534700D34F4E /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */; }; + B8C5B51A1166534700D34F4E /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650410B52F6D800611104 /* file_id.cc */; }; + B8C5B51B1166534700D34F4E /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650430B52F6D800611104 /* macho_id.cc */; }; + B8C5B51C1166534700D34F4E /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650450B52F6D800611104 /* macho_walker.cc */; }; + B8C5B51D1166534700D34F4E /* dump_syms.cc in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* dump_syms.cc */; }; + B8C5B51E1166534700D34F4E /* dump_syms_tool.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF186E0B1BB43700F8391B /* dump_syms_tool.cc */; }; + B8C5B523116653BA00D34F4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; + D21F97D711CBA12300239E38 /* test_assembler_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FB0D9116CEC0600407530 /* test_assembler_unittest.cc */; }; + D21F97D811CBA13D00239E38 /* libgtestmockall.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B88FB024116BDFFF00407530 /* libgtestmockall.a */; }; + D21F97E911CBA1FF00239E38 /* test_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = B88FAE0911665B5700407530 /* test_assembler.cc */; }; + EB06C7531FEBC516000214D9 /* path_helper.cc in Sources */ = {isa = PBXBuildFile; fileRef = EB06C7511FEBC515000214D9 /* path_helper.cc */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 8B31051411F100CF00FCF3E4 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D21F97D111CBA0F200239E38; + remoteInfo = test_assembler_unittest; + }; + B84A91F9116CF796006C210E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B84A9200116CF7D2006C210E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B84A91F3116CF784006C210E; + remoteInfo = stabs_to_module_unittest; + }; + B88FAFCE116BDD7000407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B89E0E9411665A6400DD08C9; + remoteInfo = macho_reader_unittest; + }; + B88FAFD0116BDD7000407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FAF2E116A591D00407530; + remoteInfo = dwarf2reader_cfi_unittest; + }; + B88FB01C116BDF9800407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB006116BDE8300407530; + remoteInfo = stabs_reader_unittest; + }; + B88FB039116BE17E00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB087116CE6D800407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB08F116CE71000407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB0BF116CEAFE00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB0C7116CEB4A00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB0B8116CEABF00407530; + remoteInfo = module_unittest; + }; + B88FB0E7116CEEDA00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB0F7116CEF2E00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB10F116CF08A00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB124116CF29E00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB13B116CF35C00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB150116CF4C100407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB023116BDFFF00407530; + remoteInfo = gtestmockall; + }; + B88FB15A116CF53E00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB14A116CF4A700407530; + remoteInfo = byte_cursor_unittest; + }; + B88FB15C116CF54B00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB11E116CF27F00407530; + remoteInfo = dwarf_cfi_to_module_unittest; + }; + B88FB15E116CF54B00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB0F1116CEF1900407530; + remoteInfo = dwarf_line_to_module_unittest; + }; + B88FB160116CF54B00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB109116CF07900407530; + remoteInfo = dwarf_cu_to_module_unittest; + }; + B88FB164116CF54B00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB0DE116CEEA800407530; + remoteInfo = dwarf2diehandler_unittest; + }; + B88FB166116CF54B00407530 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88FB134116CF30F00407530; + remoteInfo = bytereader_unittest; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08FB7796FE84155DC02AAC07 /* dump_syms.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = dump_syms.cc; path = ../../../common/mac/dump_syms.cc; sourceTree = "<group>"; }; + 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 162F64F8161C591500CD68D5 /* arch_utilities.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = arch_utilities.cc; path = ../../../common/mac/arch_utilities.cc; sourceTree = "<group>"; }; + 162F64F9161C591500CD68D5 /* arch_utilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = arch_utilities.h; path = ../../../common/mac/arch_utilities.h; sourceTree = "<group>"; }; + 4262382521AC496F00E5A3A6 /* dwarf_range_list_handler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_range_list_handler.cc; path = ../../../common/dwarf_range_list_handler.cc; sourceTree = "<group>"; }; + 4262382621AC496F00E5A3A6 /* dwarf_range_list_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_range_list_handler.h; path = ../../../common/dwarf_range_list_handler.h; sourceTree = "<group>"; }; + 4D72CAF413DFBAC2006CABE3 /* md5.cc */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; name = md5.cc; path = ../../../common/md5.cc; sourceTree = SOURCE_ROOT; }; + 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; }; + 5578008A0BE1F3AB00EC23E0 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; }; + 8B31023E11F0CF1C00FCF3E4 /* Breakpad.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Breakpad.xcconfig; path = ../../../common/mac/Breakpad.xcconfig; sourceTree = SOURCE_ROOT; }; + 8B3102D411F0D60300FCF3E4 /* BreakpadDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadDebug.xcconfig; path = ../../../common/mac/BreakpadDebug.xcconfig; sourceTree = SOURCE_ROOT; }; + 8B3102D511F0D60300FCF3E4 /* BreakpadRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadRelease.xcconfig; path = ../../../common/mac/BreakpadRelease.xcconfig; sourceTree = SOURCE_ROOT; }; + 8BCAAA4A1CE3A7980046090B /* elf_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = elf_reader.cc; path = ../../../common/dwarf/elf_reader.cc; sourceTree = "<group>"; }; + 8BCAAA4B1CE3A7980046090B /* elf_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elf_reader.h; path = ../../../common/dwarf/elf_reader.h; sourceTree = "<group>"; }; + 9BDF186D0B1BB43700F8391B /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = "<group>"; }; + 9BDF186E0B1BB43700F8391B /* dump_syms_tool.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = dump_syms_tool.cc; sourceTree = "<group>"; }; + 9BE650410B52F6D800611104 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; }; + 9BE650420B52F6D800611104 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; }; + 9BE650430B52F6D800611104 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; }; + 9BE650440B52F6D800611104 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; }; + 9BE650450B52F6D800611104 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; }; + 9BE650460B52F6D800611104 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; }; + B84A91F4116CF784006C210E /* stabs_to_module_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = stabs_to_module_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FAE0911665B5700407530 /* test_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = test_assembler.cc; path = ../../../common/test_assembler.cc; sourceTree = SOURCE_ROOT; }; + B88FAE0A11665B5700407530 /* test_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = test_assembler.h; path = ../../../common/test_assembler.h; sourceTree = SOURCE_ROOT; }; + B88FAE1711665FE400407530 /* dwarf2diehandler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2diehandler.cc; path = ../../../common/dwarf/dwarf2diehandler.cc; sourceTree = SOURCE_ROOT; }; + B88FAE1811665FE400407530 /* dwarf2diehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2diehandler.h; path = ../../../common/dwarf/dwarf2diehandler.h; sourceTree = SOURCE_ROOT; }; + B88FAE1D1166603300407530 /* byte_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byte_cursor.h; path = ../../../common/byte_cursor.h; sourceTree = SOURCE_ROOT; }; + B88FAE1E1166603300407530 /* dwarf_cu_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cu_to_module.cc; path = ../../../common/dwarf_cu_to_module.cc; sourceTree = SOURCE_ROOT; }; + B88FAE1F1166603300407530 /* dwarf_cu_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cu_to_module.h; path = ../../../common/dwarf_cu_to_module.h; sourceTree = SOURCE_ROOT; }; + B88FAE201166603300407530 /* dwarf_line_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_line_to_module.cc; path = ../../../common/dwarf_line_to_module.cc; sourceTree = SOURCE_ROOT; }; + B88FAE211166603300407530 /* dwarf_line_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_line_to_module.h; path = ../../../common/dwarf_line_to_module.h; sourceTree = SOURCE_ROOT; }; + B88FAE221166603300407530 /* language.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = language.cc; path = ../../../common/language.cc; sourceTree = SOURCE_ROOT; }; + B88FAE231166603300407530 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = language.h; path = ../../../common/language.h; sourceTree = SOURCE_ROOT; }; + B88FAE241166603300407530 /* module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = module.cc; path = ../../../common/module.cc; sourceTree = SOURCE_ROOT; }; + B88FAE251166603300407530 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../../common/module.h; sourceTree = SOURCE_ROOT; }; + B88FAE331166673E00407530 /* dwarf_cfi_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cfi_to_module.cc; path = ../../../common/dwarf_cfi_to_module.cc; sourceTree = SOURCE_ROOT; }; + B88FAE341166673E00407530 /* dwarf_cfi_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cfi_to_module.h; path = ../../../common/dwarf_cfi_to_module.h; sourceTree = SOURCE_ROOT; }; + B88FAE3911666C6F00407530 /* stabs_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_reader.cc; path = ../../../common/stabs_reader.cc; sourceTree = SOURCE_ROOT; }; + B88FAE3A11666C6F00407530 /* stabs_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_reader.h; path = ../../../common/stabs_reader.h; sourceTree = SOURCE_ROOT; }; + B88FAE3C11666C8900407530 /* stabs_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_to_module.cc; path = ../../../common/stabs_to_module.cc; sourceTree = SOURCE_ROOT; }; + B88FAE3D11666C8900407530 /* stabs_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_to_module.h; path = ../../../common/stabs_to_module.h; sourceTree = SOURCE_ROOT; }; + B88FAF2F116A591E00407530 /* dwarf2reader_cfi_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dwarf2reader_cfi_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FAF34116A595400407530 /* cfi_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cfi_assembler.cc; path = ../../../common/dwarf/cfi_assembler.cc; sourceTree = SOURCE_ROOT; }; + B88FAF35116A595400407530 /* cfi_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfi_assembler.h; path = ../../../common/dwarf/cfi_assembler.h; sourceTree = SOURCE_ROOT; }; + B88FAF36116A595400407530 /* dwarf2reader_cfi_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2reader_cfi_unittest.cc; path = ../../../common/dwarf/dwarf2reader_cfi_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB003116BDE7200407530 /* stabs_reader_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_reader_unittest.cc; path = ../../../common/stabs_reader_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB007116BDE8300407530 /* stabs_reader_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = stabs_reader_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB024116BDFFF00407530 /* libgtestmockall.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgtestmockall.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB0B5116CEA8A00407530 /* module_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = module_unittest.cc; path = ../../../common/module_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0B9116CEABF00407530 /* module_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = module_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB0D4116CEC0600407530 /* byte_cursor_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = byte_cursor_unittest.cc; path = ../../../common/byte_cursor_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0D5116CEC0600407530 /* dwarf_cfi_to_module_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cfi_to_module_unittest.cc; path = ../../../common/dwarf_cfi_to_module_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0D6116CEC0600407530 /* dwarf_cu_to_module_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cu_to_module_unittest.cc; path = ../../../common/dwarf_cu_to_module_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0D7116CEC0600407530 /* dwarf_line_to_module_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_line_to_module_unittest.cc; path = ../../../common/dwarf_line_to_module_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0D8116CEC0600407530 /* stabs_to_module_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_to_module_unittest.cc; path = ../../../common/stabs_to_module_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0D9116CEC0600407530 /* test_assembler_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = test_assembler_unittest.cc; path = ../../../common/test_assembler_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0DA116CEC5800407530 /* bytereader_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bytereader_unittest.cc; path = ../../../common/dwarf/bytereader_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0DB116CEC5800407530 /* dwarf2diehandler_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2diehandler_unittest.cc; path = ../../../common/dwarf/dwarf2diehandler_unittest.cc; sourceTree = SOURCE_ROOT; }; + B88FB0DF116CEEA800407530 /* dwarf2diehandler_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dwarf2diehandler_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB0F2116CEF1900407530 /* dwarf_line_to_module_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dwarf_line_to_module_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB10A116CF07900407530 /* dwarf_cu_to_module_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dwarf_cu_to_module_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB11F116CF27F00407530 /* dwarf_cfi_to_module_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dwarf_cfi_to_module_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB135116CF30F00407530 /* bytereader_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = bytereader_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B88FB14B116CF4A700407530 /* byte_cursor_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = byte_cursor_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B89E0E6D1166571D00DD08C9 /* macho_reader_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_reader_unittest.cc; path = ../../../common/mac/macho_reader_unittest.cc; sourceTree = SOURCE_ROOT; }; + B89E0E6E1166571D00DD08C9 /* macho_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_reader.cc; path = ../../../common/mac/macho_reader.cc; sourceTree = SOURCE_ROOT; }; + B89E0E6F1166571D00DD08C9 /* macho_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_reader.h; path = ../../../common/mac/macho_reader.h; sourceTree = SOURCE_ROOT; }; + B89E0E701166573700DD08C9 /* macho_dump.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = macho_dump.cc; sourceTree = "<group>"; }; + B89E0E741166575200DD08C9 /* macho_dump */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = macho_dump; sourceTree = BUILT_PRODUCTS_DIR; }; + B89E0E9511665A6400DD08C9 /* macho_reader_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = macho_reader_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + B89E0E9F11665AC300DD08C9 /* gtest_main.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gtest_main.cc; path = ../../../testing/googletest/src/gtest_main.cc; sourceTree = SOURCE_ROOT; }; + B89E0EA011665AC300DD08C9 /* gtest-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gtest-all.cc"; path = "../../../testing/googletest/src/gtest-all.cc"; sourceTree = SOURCE_ROOT; }; + B89E0EA311665AEA00DD08C9 /* gmock-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gmock-all.cc"; path = "../../../testing/googlemock/src/gmock-all.cc"; sourceTree = SOURCE_ROOT; }; + B8C5B5111166531A00D34F4E /* dump_syms */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dump_syms; sourceTree = BUILT_PRODUCTS_DIR; }; + B8E8CA0C1156C854009E61B2 /* byteswap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byteswap.h; path = ../../../common/mac/byteswap.h; sourceTree = SOURCE_ROOT; }; + D21F97D211CBA0F200239E38 /* test_assembler_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = test_assembler_unittest; sourceTree = BUILT_PRODUCTS_DIR; }; + EB06C7511FEBC515000214D9 /* path_helper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = path_helper.cc; path = ../../../common/path_helper.cc; sourceTree = "<group>"; }; + EB06C7521FEBC516000214D9 /* path_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = path_helper.h; path = ../../../common/path_helper.h; sourceTree = "<group>"; }; + F95B422B0E0E22D100DBDE83 /* bytereader-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "bytereader-inl.h"; path = "../../../common/dwarf/bytereader-inl.h"; sourceTree = SOURCE_ROOT; }; + F95B422C0E0E22D100DBDE83 /* bytereader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bytereader.cc; path = ../../../common/dwarf/bytereader.cc; sourceTree = SOURCE_ROOT; }; + F95B422D0E0E22D100DBDE83 /* bytereader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bytereader.h; path = ../../../common/dwarf/bytereader.h; sourceTree = SOURCE_ROOT; }; + F95B422E0E0E22D100DBDE83 /* dwarf2enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2enums.h; path = ../../../common/dwarf/dwarf2enums.h; sourceTree = SOURCE_ROOT; }; + F95B422F0E0E22D100DBDE83 /* dwarf2reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2reader.cc; path = ../../../common/dwarf/dwarf2reader.cc; sourceTree = SOURCE_ROOT; }; + F95B42300E0E22D100DBDE83 /* dwarf2reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2reader.h; path = ../../../common/dwarf/dwarf2reader.h; sourceTree = SOURCE_ROOT; }; + F95B42310E0E22D100DBDE83 /* line_state_machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = line_state_machine.h; path = ../../../common/dwarf/line_state_machine.h; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B84A91F2116CF784006C210E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B84A91F8116CF78F006C210E /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FAF2D116A591D00407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB042116BE3C400407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB005116BDE8300407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB03F116BE24200407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB022116BDFFF00407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0B7116CEABF00407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0C1116CEB0600407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0DD116CEEA800407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0E3116CEEB000407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0F0116CEF1900407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0F6116CEF2000407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB108116CF07900407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB10E116CF08100407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB11D116CF27F00407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB123116CF28500407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB133116CF30F00407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB139116CF31600407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB149116CF4A700407530 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB14F116CF4AE00407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B89E0E721166575200DD08C9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B89E0E9311665A6400DD08C9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB057116C0CDE00407530 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B8C5B50F1166531A00D34F4E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B8C5B523116653BA00D34F4E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D21F97D011CBA0F200239E38 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D21F97D811CBA13D00239E38 /* libgtestmockall.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 08FB7794FE84155DC02AAC07 /* dump_syms */ = { + isa = PBXGroup; + children = ( + 8B31023E11F0CF1C00FCF3E4 /* Breakpad.xcconfig */, + 8B3102D411F0D60300FCF3E4 /* BreakpadDebug.xcconfig */, + 8B3102D511F0D60300FCF3E4 /* BreakpadRelease.xcconfig */, + B89E0E9D11665A9500DD08C9 /* TESTING */, + F9F5344B0E7C8FFC0012363F /* DWARF */, + B89E0E6C1166569700DD08C9 /* MACHO */, + B88FAE3811666A1700407530 /* STABS */, + B88FAE1C11665FFD00407530 /* MODULE */, + 162F64F8161C591500CD68D5 /* arch_utilities.cc */, + 162F64F9161C591500CD68D5 /* arch_utilities.h */, + B88FAE1D1166603300407530 /* byte_cursor.h */, + B88FB0D4116CEC0600407530 /* byte_cursor_unittest.cc */, + B8E8CA0C1156C854009E61B2 /* byteswap.h */, + 9BE650410B52F6D800611104 /* file_id.cc */, + 9BE650420B52F6D800611104 /* file_id.h */, + 9BDF186D0B1BB43700F8391B /* dump_syms.h */, + 08FB7796FE84155DC02AAC07 /* dump_syms.cc */, + 9BDF186E0B1BB43700F8391B /* dump_syms_tool.cc */, + B89E0E701166573700DD08C9 /* macho_dump.cc */, + 4D72CAF413DFBAC2006CABE3 /* md5.cc */, + EB06C7511FEBC515000214D9 /* path_helper.cc */, + EB06C7521FEBC516000214D9 /* path_helper.h */, + 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, + 1AB674ADFE9D54B511CA2CBB /* Products */, + ); + name = dump_syms; + sourceTree = "<group>"; + }; + 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 08FB779EFE84155DC02AAC07 /* Foundation.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = "<group>"; + }; + 1AB674ADFE9D54B511CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + B8C5B5111166531A00D34F4E /* dump_syms */, + B89E0E741166575200DD08C9 /* macho_dump */, + B89E0E9511665A6400DD08C9 /* macho_reader_unittest */, + B88FAF2F116A591E00407530 /* dwarf2reader_cfi_unittest */, + B88FB007116BDE8300407530 /* stabs_reader_unittest */, + B88FB024116BDFFF00407530 /* libgtestmockall.a */, + B88FB0B9116CEABF00407530 /* module_unittest */, + B88FB0DF116CEEA800407530 /* dwarf2diehandler_unittest */, + B88FB0F2116CEF1900407530 /* dwarf_line_to_module_unittest */, + B88FB10A116CF07900407530 /* dwarf_cu_to_module_unittest */, + B88FB11F116CF27F00407530 /* dwarf_cfi_to_module_unittest */, + B88FB135116CF30F00407530 /* bytereader_unittest */, + B88FB14B116CF4A700407530 /* byte_cursor_unittest */, + B84A91F4116CF784006C210E /* stabs_to_module_unittest */, + D21F97D211CBA0F200239E38 /* test_assembler_unittest */, + ); + name = Products; + sourceTree = "<group>"; + }; + B88FAE1C11665FFD00407530 /* MODULE */ = { + isa = PBXGroup; + children = ( + B88FAE1E1166603300407530 /* dwarf_cu_to_module.cc */, + B88FAE1F1166603300407530 /* dwarf_cu_to_module.h */, + B88FB0D6116CEC0600407530 /* dwarf_cu_to_module_unittest.cc */, + B88FAE201166603300407530 /* dwarf_line_to_module.cc */, + B88FAE211166603300407530 /* dwarf_line_to_module.h */, + B88FB0D7116CEC0600407530 /* dwarf_line_to_module_unittest.cc */, + B88FAE221166603300407530 /* language.cc */, + B88FAE231166603300407530 /* language.h */, + B88FAE241166603300407530 /* module.cc */, + B88FAE251166603300407530 /* module.h */, + B88FB0B5116CEA8A00407530 /* module_unittest.cc */, + B88FAE331166673E00407530 /* dwarf_cfi_to_module.cc */, + B88FAE341166673E00407530 /* dwarf_cfi_to_module.h */, + B88FB0D5116CEC0600407530 /* dwarf_cfi_to_module_unittest.cc */, + B88FAE3C11666C8900407530 /* stabs_to_module.cc */, + B88FAE3D11666C8900407530 /* stabs_to_module.h */, + B88FB0D8116CEC0600407530 /* stabs_to_module_unittest.cc */, + ); + name = MODULE; + sourceTree = "<group>"; + }; + B88FAE3811666A1700407530 /* STABS */ = { + isa = PBXGroup; + children = ( + B88FB003116BDE7200407530 /* stabs_reader_unittest.cc */, + B88FAE3911666C6F00407530 /* stabs_reader.cc */, + B88FAE3A11666C6F00407530 /* stabs_reader.h */, + ); + name = STABS; + sourceTree = "<group>"; + }; + B89E0E6C1166569700DD08C9 /* MACHO */ = { + isa = PBXGroup; + children = ( + B89E0E6D1166571D00DD08C9 /* macho_reader_unittest.cc */, + B89E0E6E1166571D00DD08C9 /* macho_reader.cc */, + B89E0E6F1166571D00DD08C9 /* macho_reader.h */, + 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */, + 5578008A0BE1F3AB00EC23E0 /* macho_utilities.h */, + 9BE650430B52F6D800611104 /* macho_id.cc */, + 9BE650440B52F6D800611104 /* macho_id.h */, + 9BE650450B52F6D800611104 /* macho_walker.cc */, + 9BE650460B52F6D800611104 /* macho_walker.h */, + ); + name = MACHO; + sourceTree = "<group>"; + }; + B89E0E9D11665A9500DD08C9 /* TESTING */ = { + isa = PBXGroup; + children = ( + B88FAE0911665B5700407530 /* test_assembler.cc */, + B88FAE0A11665B5700407530 /* test_assembler.h */, + B88FB0D9116CEC0600407530 /* test_assembler_unittest.cc */, + B89E0EA311665AEA00DD08C9 /* gmock-all.cc */, + B89E0E9F11665AC300DD08C9 /* gtest_main.cc */, + B89E0EA011665AC300DD08C9 /* gtest-all.cc */, + ); + name = TESTING; + sourceTree = "<group>"; + }; + F9F5344B0E7C8FFC0012363F /* DWARF */ = { + isa = PBXGroup; + children = ( + B88FAF34116A595400407530 /* cfi_assembler.cc */, + B88FAF35116A595400407530 /* cfi_assembler.h */, + F95B422E0E0E22D100DBDE83 /* dwarf2enums.h */, + F95B422F0E0E22D100DBDE83 /* dwarf2reader.cc */, + 4262382521AC496F00E5A3A6 /* dwarf_range_list_handler.cc */, + 4262382621AC496F00E5A3A6 /* dwarf_range_list_handler.h */, + F95B42300E0E22D100DBDE83 /* dwarf2reader.h */, + B88FAF36116A595400407530 /* dwarf2reader_cfi_unittest.cc */, + F95B422D0E0E22D100DBDE83 /* bytereader.h */, + F95B422B0E0E22D100DBDE83 /* bytereader-inl.h */, + F95B422C0E0E22D100DBDE83 /* bytereader.cc */, + B88FB0DA116CEC5800407530 /* bytereader_unittest.cc */, + F95B42310E0E22D100DBDE83 /* line_state_machine.h */, + B88FAE1711665FE400407530 /* dwarf2diehandler.cc */, + B88FAE1811665FE400407530 /* dwarf2diehandler.h */, + B88FB0DB116CEC5800407530 /* dwarf2diehandler_unittest.cc */, + 8BCAAA4A1CE3A7980046090B /* elf_reader.cc */, + 8BCAAA4B1CE3A7980046090B /* elf_reader.h */, + ); + name = DWARF; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + B88FB020116BDFFF00407530 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + B84A91F3116CF784006C210E /* stabs_to_module_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B84A9202116CF7F0006C210E /* Build configuration list for PBXNativeTarget "stabs_to_module_unittest" */; + buildPhases = ( + B84A91F1116CF784006C210E /* Sources */, + B84A91F2116CF784006C210E /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B84A91FA116CF796006C210E /* PBXTargetDependency */, + ); + name = stabs_to_module_unittest; + productName = stabs_to_module_unittest; + productReference = B84A91F4116CF784006C210E /* stabs_to_module_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FAF2E116A591D00407530 /* dwarf2reader_cfi_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FAF33116A594800407530 /* Build configuration list for PBXNativeTarget "dwarf2reader_cfi_unittest" */; + buildPhases = ( + B88FAF2C116A591D00407530 /* Sources */, + B88FAF2D116A591D00407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB03A116BE17E00407530 /* PBXTargetDependency */, + ); + name = dwarf2reader_cfi_unittest; + productName = dwarf2reader_cfi_unittest; + productReference = B88FAF2F116A591E00407530 /* dwarf2reader_cfi_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB006116BDE8300407530 /* stabs_reader_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB013116BDEC800407530 /* Build configuration list for PBXNativeTarget "stabs_reader_unittest" */; + buildPhases = ( + B88FB004116BDE8300407530 /* Sources */, + B88FB005116BDE8300407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB088116CE6D800407530 /* PBXTargetDependency */, + ); + name = stabs_reader_unittest; + productName = stabs_reader_unittest; + productReference = B88FB007116BDE8300407530 /* stabs_reader_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB023116BDFFF00407530 /* gtestmockall */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB027116BE02900407530 /* Build configuration list for PBXNativeTarget "gtestmockall" */; + buildPhases = ( + B88FB020116BDFFF00407530 /* Headers */, + B88FB021116BDFFF00407530 /* Sources */, + B88FB022116BDFFF00407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = gtestmockall; + productName = gtestmockall; + productReference = B88FB024116BDFFF00407530 /* libgtestmockall.a */; + productType = "com.apple.product-type.library.static"; + }; + B88FB0B8116CEABF00407530 /* module_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB0BE116CEAFE00407530 /* Build configuration list for PBXNativeTarget "module_unittest" */; + buildPhases = ( + B88FB0B6116CEABF00407530 /* Sources */, + B88FB0B7116CEABF00407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB0C0116CEAFE00407530 /* PBXTargetDependency */, + ); + name = module_unittest; + productName = module_unittest; + productReference = B88FB0B9116CEABF00407530 /* module_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB0DE116CEEA800407530 /* dwarf2diehandler_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB0E4116CEECE00407530 /* Build configuration list for PBXNativeTarget "dwarf2diehandler_unittest" */; + buildPhases = ( + B88FB0DC116CEEA800407530 /* Sources */, + B88FB0DD116CEEA800407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB0E8116CEEDA00407530 /* PBXTargetDependency */, + ); + name = dwarf2diehandler_unittest; + productName = dwarf2diehandler_unittest; + productReference = B88FB0DF116CEEA800407530 /* dwarf2diehandler_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB0F1116CEF1900407530 /* dwarf_line_to_module_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB0F9116CEF9800407530 /* Build configuration list for PBXNativeTarget "dwarf_line_to_module_unittest" */; + buildPhases = ( + B88FB0EF116CEF1900407530 /* Sources */, + B88FB0F0116CEF1900407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB0F8116CEF2E00407530 /* PBXTargetDependency */, + ); + name = dwarf_line_to_module_unittest; + productName = dwarf_line_to_module_unittest; + productReference = B88FB0F2116CEF1900407530 /* dwarf_line_to_module_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB109116CF07900407530 /* dwarf_cu_to_module_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB111116CF0A800407530 /* Build configuration list for PBXNativeTarget "dwarf_cu_to_module_unittest" */; + buildPhases = ( + B88FB107116CF07900407530 /* Sources */, + B88FB108116CF07900407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB110116CF08A00407530 /* PBXTargetDependency */, + ); + name = dwarf_cu_to_module_unittest; + productName = dwarf_cu_to_module_unittest; + productReference = B88FB10A116CF07900407530 /* dwarf_cu_to_module_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB11E116CF27F00407530 /* dwarf_cfi_to_module_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB128116CF2C800407530 /* Build configuration list for PBXNativeTarget "dwarf_cfi_to_module_unittest" */; + buildPhases = ( + B88FB11C116CF27F00407530 /* Sources */, + B88FB11D116CF27F00407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB125116CF29E00407530 /* PBXTargetDependency */, + ); + name = dwarf_cfi_to_module_unittest; + productName = dwarf_cfi_to_module_unittest; + productReference = B88FB11F116CF27F00407530 /* dwarf_cfi_to_module_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB134116CF30F00407530 /* bytereader_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB13A116CF33400407530 /* Build configuration list for PBXNativeTarget "bytereader_unittest" */; + buildPhases = ( + B88FB132116CF30F00407530 /* Sources */, + B88FB133116CF30F00407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB13C116CF35C00407530 /* PBXTargetDependency */, + ); + name = bytereader_unittest; + productName = bytereader_unittest; + productReference = B88FB135116CF30F00407530 /* bytereader_unittest */; + productType = "com.apple.product-type.tool"; + }; + B88FB14A116CF4A700407530 /* byte_cursor_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B88FB159116CF4F900407530 /* Build configuration list for PBXNativeTarget "byte_cursor_unittest" */; + buildPhases = ( + B88FB148116CF4A700407530 /* Sources */, + B88FB149116CF4A700407530 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB151116CF4C100407530 /* PBXTargetDependency */, + ); + name = byte_cursor_unittest; + productName = byte_cursor_unittest; + productReference = B88FB14B116CF4A700407530 /* byte_cursor_unittest */; + productType = "com.apple.product-type.tool"; + }; + B89E0E731166575200DD08C9 /* macho_dump */ = { + isa = PBXNativeTarget; + buildConfigurationList = B89E0E7F116657A100DD08C9 /* Build configuration list for PBXNativeTarget "macho_dump" */; + buildPhases = ( + B89E0E711166575200DD08C9 /* Sources */, + B89E0E721166575200DD08C9 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = macho_dump; + productName = macho_dump; + productReference = B89E0E741166575200DD08C9 /* macho_dump */; + productType = "com.apple.product-type.tool"; + }; + B89E0E9411665A6400DD08C9 /* macho_reader_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = B89E0E9E11665A9600DD08C9 /* Build configuration list for PBXNativeTarget "macho_reader_unittest" */; + buildPhases = ( + B89E0E9211665A6400DD08C9 /* Sources */, + B89E0E9311665A6400DD08C9 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B88FB090116CE71000407530 /* PBXTargetDependency */, + ); + name = macho_reader_unittest; + productName = macho_reader_unittest; + productReference = B89E0E9511665A6400DD08C9 /* macho_reader_unittest */; + productType = "com.apple.product-type.tool"; + }; + B8C5B5101166531A00D34F4E /* dump_syms */ = { + isa = PBXNativeTarget; + buildConfigurationList = B8C5B5151166533900D34F4E /* Build configuration list for PBXNativeTarget "dump_syms" */; + buildPhases = ( + B8C5B50E1166531A00D34F4E /* Sources */, + B8C5B50F1166531A00D34F4E /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = dump_syms; + productName = dump_syms; + productReference = B8C5B5111166531A00D34F4E /* dump_syms */; + productType = "com.apple.product-type.tool"; + }; + D21F97D111CBA0F200239E38 /* test_assembler_unittest */ = { + isa = PBXNativeTarget; + buildConfigurationList = D21F97D611CBA11000239E38 /* Build configuration list for PBXNativeTarget "test_assembler_unittest" */; + buildPhases = ( + D21F97CF11CBA0F200239E38 /* Sources */, + D21F97D011CBA0F200239E38 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = test_assembler_unittest; + productName = test_assembler_unittest; + productReference = D21F97D211CBA0F200239E38 /* test_assembler_unittest */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + }; + buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "dump_syms" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 08FB7794FE84155DC02AAC07 /* dump_syms */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + B8C5B5101166531A00D34F4E /* dump_syms */, + B89E0E731166575200DD08C9 /* macho_dump */, + B88FB023116BDFFF00407530 /* gtestmockall */, + B88FB14A116CF4A700407530 /* byte_cursor_unittest */, + B89E0E9411665A6400DD08C9 /* macho_reader_unittest */, + B88FB006116BDE8300407530 /* stabs_reader_unittest */, + B88FB134116CF30F00407530 /* bytereader_unittest */, + B88FAF2E116A591D00407530 /* dwarf2reader_cfi_unittest */, + B88FB0DE116CEEA800407530 /* dwarf2diehandler_unittest */, + B88FB109116CF07900407530 /* dwarf_cu_to_module_unittest */, + B88FB0F1116CEF1900407530 /* dwarf_line_to_module_unittest */, + B88FB11E116CF27F00407530 /* dwarf_cfi_to_module_unittest */, + B84A91F3116CF784006C210E /* stabs_to_module_unittest */, + B88FB0B8116CEABF00407530 /* module_unittest */, + B88FAFC9116BDCAD00407530 /* all_unittests */, + D21F97D111CBA0F200239E38 /* test_assembler_unittest */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXShellScriptBuildPhase section */ + B88FB094116CE73E00407530 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -eu\n\ncd $BUILT_PRODUCTS_DIR\npwd\n\n./byte_cursor_unittest\n./macho_reader_unittest\n./stabs_reader_unittest\n./bytereader_unittest\n./dwarf2reader_cfi_unittest\n./dwarf2diehandler_unittest\n./dwarf_cu_to_module_unittest\n./dwarf_line_to_module_unittest\n./dwarf_cfi_to_module_unittest\n./stabs_to_module_unittest\n./module_unittest\n./test_assembler_unittest\n\necho \"Expect two warnings from the following tests:\"\necho \" Errors.BadFileNumber\"\necho \" Errors.BadDirectoryNumber\"\necho \"The proper behavior of these tests is to print text that XCode confuses with compiler warnings.\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B84A91F1116CF784006C210E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B84A91FB116CF7AF006C210E /* module.cc in Sources */, + B84A91FC116CF7AF006C210E /* stabs_to_module.cc in Sources */, + B84A91FD116CF7AF006C210E /* stabs_to_module_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FAF2C116A591D00407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FAF38116A595400407530 /* dwarf2reader_cfi_unittest.cc in Sources */, + B88FAF3F116A5A2E00407530 /* dwarf2reader.cc in Sources */, + 8BCAAA4D1CE3B1260046090B /* elf_reader.cc in Sources */, + B88FAF40116A5A2E00407530 /* bytereader.cc in Sources */, + B88FAF37116A595400407530 /* cfi_assembler.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB004116BDE8300407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB00F116BDEA700407530 /* stabs_reader_unittest.cc in Sources */, + B88FB010116BDEA700407530 /* stabs_reader.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB021116BDFFF00407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB028116BE03100407530 /* test_assembler.cc in Sources */, + B88FB029116BE03100407530 /* gmock-all.cc in Sources */, + B88FB02A116BE03100407530 /* gtest_main.cc in Sources */, + B88FB02B116BE03100407530 /* gtest-all.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0B6116CEABF00407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0BD116CEAE000407530 /* module_unittest.cc in Sources */, + B88FB0C4116CEB4100407530 /* module.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0DC116CEEA800407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0E5116CEED300407530 /* dwarf2diehandler.cc in Sources */, + B88FB0E6116CEED300407530 /* dwarf2diehandler_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB0EF116CEF1900407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB0FA116CF00E00407530 /* dwarf_line_to_module.cc in Sources */, + B88FB0FE116CF02400407530 /* module.cc in Sources */, + B88FB0FB116CF00E00407530 /* dwarf_line_to_module_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB107116CF07900407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB112116CF1F000407530 /* dwarf_cu_to_module.cc in Sources */, + B88FB113116CF1F000407530 /* dwarf_cu_to_module_unittest.cc in Sources */, + B88FB114116CF1F000407530 /* language.cc in Sources */, + B88FB115116CF1F000407530 /* module.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB11C116CF27F00407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB129116CF2DD00407530 /* module.cc in Sources */, + B88FB12A116CF2DD00407530 /* dwarf_cfi_to_module.cc in Sources */, + B88FB12B116CF2DD00407530 /* dwarf_cfi_to_module_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB132116CF30F00407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB13D116CF38300407530 /* cfi_assembler.cc in Sources */, + B88FB13E116CF38300407530 /* bytereader.cc in Sources */, + B88FB13F116CF38300407530 /* bytereader_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B88FB148116CF4A700407530 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B88FB152116CF4D300407530 /* byte_cursor_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B89E0E711166575200DD08C9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4247E63D2110D4B200482558 /* path_helper.cc in Sources */, + 162F6500161C5F2200CD68D5 /* arch_utilities.cc in Sources */, + B89E0E781166576C00DD08C9 /* macho_reader.cc in Sources */, + B89E0E7A1166576C00DD08C9 /* macho_dump.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B89E0E9211665A6400DD08C9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B89E0E9911665A7200DD08C9 /* macho_reader_unittest.cc in Sources */, + B89E0E9A11665A7200DD08C9 /* macho_reader.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B8C5B50E1166531A00D34F4E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4262382821AC49A000E5A3A6 /* dwarf_range_list_handler.h in Sources */, + 162F64FA161C591500CD68D5 /* arch_utilities.cc in Sources */, + B88FAE2C1166606200407530 /* macho_reader.cc in Sources */, + 8BCAAA4C1CE3A7980046090B /* elf_reader.cc in Sources */, + B8C5B5171166534700D34F4E /* dwarf2reader.cc in Sources */, + EB06C7531FEBC516000214D9 /* path_helper.cc in Sources */, + B8C5B5181166534700D34F4E /* bytereader.cc in Sources */, + B8C5B5191166534700D34F4E /* macho_utilities.cc in Sources */, + B8C5B51A1166534700D34F4E /* file_id.cc in Sources */, + B8C5B51B1166534700D34F4E /* macho_id.cc in Sources */, + B8C5B51C1166534700D34F4E /* macho_walker.cc in Sources */, + B8C5B51D1166534700D34F4E /* dump_syms.cc in Sources */, + B8C5B51E1166534700D34F4E /* dump_syms_tool.cc in Sources */, + B88FAE1911665FE400407530 /* dwarf2diehandler.cc in Sources */, + B88FAE261166603300407530 /* dwarf_cu_to_module.cc in Sources */, + B88FAE271166603300407530 /* dwarf_line_to_module.cc in Sources */, + 4262382721AC496F00E5A3A6 /* dwarf_range_list_handler.cc in Sources */, + B88FAE281166603300407530 /* language.cc in Sources */, + B88FAE291166603300407530 /* module.cc in Sources */, + B88FAE351166673E00407530 /* dwarf_cfi_to_module.cc in Sources */, + B88FAE3B11666C6F00407530 /* stabs_reader.cc in Sources */, + B88FAE3E11666C8900407530 /* stabs_to_module.cc in Sources */, + 4D72CAF513DFBAC2006CABE3 /* md5.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D21F97CF11CBA0F200239E38 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D21F97E911CBA1FF00239E38 /* test_assembler.cc in Sources */, + D21F97D711CBA12300239E38 /* test_assembler_unittest.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 8B31051511F100CF00FCF3E4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D21F97D111CBA0F200239E38 /* test_assembler_unittest */; + targetProxy = 8B31051411F100CF00FCF3E4 /* PBXContainerItemProxy */; + }; + B84A91FA116CF796006C210E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B84A91F9116CF796006C210E /* PBXContainerItemProxy */; + }; + B84A9201116CF7D2006C210E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B84A91F3116CF784006C210E /* stabs_to_module_unittest */; + targetProxy = B84A9200116CF7D2006C210E /* PBXContainerItemProxy */; + }; + B88FAFCF116BDD7000407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B89E0E9411665A6400DD08C9 /* macho_reader_unittest */; + targetProxy = B88FAFCE116BDD7000407530 /* PBXContainerItemProxy */; + }; + B88FAFD1116BDD7000407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FAF2E116A591D00407530 /* dwarf2reader_cfi_unittest */; + targetProxy = B88FAFD0116BDD7000407530 /* PBXContainerItemProxy */; + }; + B88FB01D116BDF9800407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB006116BDE8300407530 /* stabs_reader_unittest */; + targetProxy = B88FB01C116BDF9800407530 /* PBXContainerItemProxy */; + }; + B88FB03A116BE17E00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB039116BE17E00407530 /* PBXContainerItemProxy */; + }; + B88FB088116CE6D800407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB087116CE6D800407530 /* PBXContainerItemProxy */; + }; + B88FB090116CE71000407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB08F116CE71000407530 /* PBXContainerItemProxy */; + }; + B88FB0C0116CEAFE00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB0BF116CEAFE00407530 /* PBXContainerItemProxy */; + }; + B88FB0C8116CEB4A00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB0B8116CEABF00407530 /* module_unittest */; + targetProxy = B88FB0C7116CEB4A00407530 /* PBXContainerItemProxy */; + }; + B88FB0E8116CEEDA00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB0E7116CEEDA00407530 /* PBXContainerItemProxy */; + }; + B88FB0F8116CEF2E00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB0F7116CEF2E00407530 /* PBXContainerItemProxy */; + }; + B88FB110116CF08A00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB10F116CF08A00407530 /* PBXContainerItemProxy */; + }; + B88FB125116CF29E00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB124116CF29E00407530 /* PBXContainerItemProxy */; + }; + B88FB13C116CF35C00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB13B116CF35C00407530 /* PBXContainerItemProxy */; + }; + B88FB151116CF4C100407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB023116BDFFF00407530 /* gtestmockall */; + targetProxy = B88FB150116CF4C100407530 /* PBXContainerItemProxy */; + }; + B88FB15B116CF53E00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB14A116CF4A700407530 /* byte_cursor_unittest */; + targetProxy = B88FB15A116CF53E00407530 /* PBXContainerItemProxy */; + }; + B88FB15D116CF54B00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB11E116CF27F00407530 /* dwarf_cfi_to_module_unittest */; + targetProxy = B88FB15C116CF54B00407530 /* PBXContainerItemProxy */; + }; + B88FB15F116CF54B00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB0F1116CEF1900407530 /* dwarf_line_to_module_unittest */; + targetProxy = B88FB15E116CF54B00407530 /* PBXContainerItemProxy */; + }; + B88FB161116CF54B00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB109116CF07900407530 /* dwarf_cu_to_module_unittest */; + targetProxy = B88FB160116CF54B00407530 /* PBXContainerItemProxy */; + }; + B88FB165116CF54B00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB0DE116CEEA800407530 /* dwarf2diehandler_unittest */; + targetProxy = B88FB164116CF54B00407530 /* PBXContainerItemProxy */; + }; + B88FB167116CF54B00407530 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B88FB134116CF30F00407530 /* bytereader_unittest */; + targetProxy = B88FB166116CF54B00407530 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 1DEB927908733DD40010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8B3102D411F0D60300FCF3E4 /* BreakpadDebug.xcconfig */; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + HEADER_SEARCH_PATHS = ( + ../../.., + ../../../common/mac/include/, + ../../../third_party/musl/include/, + ); + }; + name = Debug; + }; + 1DEB927A08733DD40010E9CD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8B3102D511F0D60300FCF3E4 /* BreakpadRelease.xcconfig */; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + HEADER_SEARCH_PATHS = ( + ../../.., + ../../../common/mac/include/, + ../../../third_party/musl/include/, + ); + }; + name = Release; + }; + B84A91F6116CF784006C210E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = stabs_to_module_unittest; + }; + name = Debug; + }; + B84A91F7116CF784006C210E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = stabs_to_module_unittest; + }; + name = Release; + }; + B88FAF31116A591F00407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/build/Debug\""; + PRODUCT_NAME = dwarf2reader_cfi_unittest; + }; + name = Debug; + }; + B88FAF32116A591F00407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/build/Debug\""; + PRODUCT_NAME = dwarf2reader_cfi_unittest; + }; + name = Release; + }; + B88FAFCA116BDCAD00407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = all_unittests; + }; + name = Debug; + }; + B88FAFCB116BDCAD00407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = all_unittests; + }; + name = Release; + }; + B88FB009116BDE8400407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H; + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = stabs_reader_unittest; + }; + name = Debug; + }; + B88FB00A116BDE8400407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H; + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = stabs_reader_unittest; + }; + name = Release; + }; + B88FB025116BE00100407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = gtestmockall; + }; + name = Debug; + }; + B88FB026116BE00100407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = gtestmockall; + }; + name = Release; + }; + B88FB0BB116CEAC000407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = module_unittest; + }; + name = Debug; + }; + B88FB0BC116CEAC000407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = module_unittest; + }; + name = Release; + }; + B88FB0E1116CEEA800407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf2diehandler_unittest; + }; + name = Debug; + }; + B88FB0E2116CEEA800407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf2diehandler_unittest; + }; + name = Release; + }; + B88FB0F4116CEF1900407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_line_to_module_unittest; + }; + name = Debug; + }; + B88FB0F5116CEF1900407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_line_to_module_unittest; + }; + name = Release; + }; + B88FB10C116CF07A00407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_cu_to_module_unittest; + }; + name = Debug; + }; + B88FB10D116CF07A00407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_cu_to_module_unittest; + }; + name = Release; + }; + B88FB121116CF28000407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_cfi_to_module_unittest; + }; + name = Debug; + }; + B88FB122116CF28000407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = dwarf_cfi_to_module_unittest; + }; + name = Release; + }; + B88FB137116CF30F00407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = bytereader_unittest; + }; + name = Debug; + }; + B88FB138116CF30F00407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ../../../testing/googletest, + ../../../testing/googletest/include, + ); + PRODUCT_NAME = bytereader_unittest; + }; + name = Release; + }; + B88FB14D116CF4A800407530 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = byte_cursor_unittest; + }; + name = Debug; + }; + B88FB14E116CF4A800407530 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = byte_cursor_unittest; + }; + name = Release; + }; + B89E0E761166575300DD08C9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = macho_dump; + }; + name = Debug; + }; + B89E0E771166575300DD08C9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = macho_dump; + }; + name = Release; + }; + B89E0E9711665A6400DD08C9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = macho_reader_unittest; + }; + name = Debug; + }; + B89E0E9811665A6400DD08C9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = macho_reader_unittest; + }; + name = Release; + }; + B8C5B5131166531B00D34F4E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H; + GCC_VERSION = ""; + PRODUCT_NAME = dump_syms; + }; + name = Debug; + }; + B8C5B5141166531B00D34F4E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H; + GCC_VERSION = ""; + PRODUCT_NAME = dump_syms; + }; + name = Release; + }; + D21F97D411CBA0F200239E38 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = test_assembler_unittest; + }; + name = Debug; + }; + D21F97D511CBA0F200239E38 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + $inherited, + ../../../testing/googletest, + ../../../testing/googletest/include, + ../../../testing/googlemock, + ../../../testing/googlemock/include, + ); + PRODUCT_NAME = test_assembler_unittest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "dump_syms" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB927908733DD40010E9CD /* Debug */, + 1DEB927A08733DD40010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B84A9202116CF7F0006C210E /* Build configuration list for PBXNativeTarget "stabs_to_module_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B84A91F6116CF784006C210E /* Debug */, + B84A91F7116CF784006C210E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FAF33116A594800407530 /* Build configuration list for PBXNativeTarget "dwarf2reader_cfi_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FAF31116A591F00407530 /* Debug */, + B88FAF32116A591F00407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FAFCC116BDCCC00407530 /* Build configuration list for PBXAggregateTarget "all_unittests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FAFCA116BDCAD00407530 /* Debug */, + B88FAFCB116BDCAD00407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB013116BDEC800407530 /* Build configuration list for PBXNativeTarget "stabs_reader_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB009116BDE8400407530 /* Debug */, + B88FB00A116BDE8400407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB027116BE02900407530 /* Build configuration list for PBXNativeTarget "gtestmockall" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB025116BE00100407530 /* Debug */, + B88FB026116BE00100407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB0BE116CEAFE00407530 /* Build configuration list for PBXNativeTarget "module_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB0BB116CEAC000407530 /* Debug */, + B88FB0BC116CEAC000407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB0E4116CEECE00407530 /* Build configuration list for PBXNativeTarget "dwarf2diehandler_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB0E1116CEEA800407530 /* Debug */, + B88FB0E2116CEEA800407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB0F9116CEF9800407530 /* Build configuration list for PBXNativeTarget "dwarf_line_to_module_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB0F4116CEF1900407530 /* Debug */, + B88FB0F5116CEF1900407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB111116CF0A800407530 /* Build configuration list for PBXNativeTarget "dwarf_cu_to_module_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB10C116CF07A00407530 /* Debug */, + B88FB10D116CF07A00407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB128116CF2C800407530 /* Build configuration list for PBXNativeTarget "dwarf_cfi_to_module_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB121116CF28000407530 /* Debug */, + B88FB122116CF28000407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB13A116CF33400407530 /* Build configuration list for PBXNativeTarget "bytereader_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB137116CF30F00407530 /* Debug */, + B88FB138116CF30F00407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B88FB159116CF4F900407530 /* Build configuration list for PBXNativeTarget "byte_cursor_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B88FB14D116CF4A800407530 /* Debug */, + B88FB14E116CF4A800407530 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B89E0E7F116657A100DD08C9 /* Build configuration list for PBXNativeTarget "macho_dump" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B89E0E761166575300DD08C9 /* Debug */, + B89E0E771166575300DD08C9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B89E0E9E11665A9600DD08C9 /* Build configuration list for PBXNativeTarget "macho_reader_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B89E0E9711665A6400DD08C9 /* Debug */, + B89E0E9811665A6400DD08C9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B8C5B5151166533900D34F4E /* Build configuration list for PBXNativeTarget "dump_syms" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B8C5B5131166531B00D34F4E /* Debug */, + B8C5B5141166531B00D34F4E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D21F97D611CBA11000239E38 /* Build configuration list for PBXNativeTarget "test_assembler_unittest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D21F97D411CBA0F200239E38 /* Debug */, + D21F97D511CBA0F200239E38 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/externals/breakpad/src/tools/mac/dump_syms/dump_syms_tool.cc b/externals/breakpad/src/tools/mac/dump_syms/dump_syms_tool.cc new file mode 100644 index 0000000000..9fb8d13f2d --- /dev/null +++ b/externals/breakpad/src/tools/mac/dump_syms/dump_syms_tool.cc @@ -0,0 +1,340 @@ +// -*- mode: c++ -*- + +// Copyright 2011 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// dump_syms_tool.cc: Command line tool that uses the DumpSymbols class. +// TODO(waylonis): accept stdin + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <mach-o/arch.h> +#include <unistd.h> + +#include <algorithm> +#include <iostream> +#include <memory> +#include <utility> +#include <vector> + +#include "common/mac/dump_syms.h" +#include "common/mac/arch_utilities.h" +#include "common/mac/macho_utilities.h" +#include "common/scoped_ptr.h" + +using google_breakpad::DumpSymbols; +using google_breakpad::Module; +using google_breakpad::scoped_ptr; +using std::vector; + +struct Options { + Options() + : srcPath(), + dsymPath(), + arch(), + header_only(false), + cfi(true), + handle_inter_cu_refs(true), + handle_inlines(false), + enable_multiple(false), + module_name(), + prefer_extern_name(false) {} + + string srcPath; + string dsymPath; + std::optional<ArchInfo> arch; + bool header_only; + bool cfi; + bool handle_inter_cu_refs; + bool handle_inlines; + bool enable_multiple; + string module_name; + bool prefer_extern_name; +}; + +static bool StackFrameEntryComparator(const Module::StackFrameEntry* a, + const Module::StackFrameEntry* b) { + return a->address < b->address; +} + +// Copy the CFI data from |from_module| into |to_module|, for any non- +// overlapping ranges. +static void CopyCFIDataBetweenModules(Module* to_module, + const Module* from_module) { + typedef vector<Module::StackFrameEntry*>::const_iterator Iterator; + + // Get the CFI data from both the source and destination modules and ensure + // it is sorted by start address. + vector<Module::StackFrameEntry*> from_data; + from_module->GetStackFrameEntries(&from_data); + std::sort(from_data.begin(), from_data.end(), &StackFrameEntryComparator); + + vector<Module::StackFrameEntry*> to_data; + to_module->GetStackFrameEntries(&to_data); + std::sort(to_data.begin(), to_data.end(), &StackFrameEntryComparator); + + Iterator to_it = to_data.begin(); + + for (Iterator it = from_data.begin(); it != from_data.end(); ++it) { + Module::StackFrameEntry* from_entry = *it; + Module::Address from_entry_end = from_entry->address + from_entry->size; + + // Find the first CFI record in the |to_module| that does not have an + // address less than the entry to be copied. + while (to_it != to_data.end()) { + if (from_entry->address > (*to_it)->address) + ++to_it; + else + break; + } + + // If the entry does not overlap, then it is safe to copy to |to_module|. + if (to_it == to_data.end() || (from_entry->address < (*to_it)->address && + from_entry_end < (*to_it)->address)) { + to_module->AddStackFrameEntry( + std::make_unique<Module::StackFrameEntry>(*from_entry)); + } + } +} + +static bool SetArchitecture(DumpSymbols& dump_symbols, + const ArchInfo& arch, + const std::string& filename) { + if (!dump_symbols.SetArchitecture(arch)) { + fprintf(stderr, "%s: no architecture '%s' is present in file.\n", + filename.c_str(), + GetNameFromCPUType(arch.cputype, arch.cpusubtype)); + size_t available_size; + const SuperFatArch* available = + dump_symbols.AvailableArchitectures(&available_size); + if (available_size == 1) + fprintf(stderr, "the file's architecture is: "); + else + fprintf(stderr, "architectures present in the file are:\n"); + for (size_t i = 0; i < available_size; i++) { + const SuperFatArch* arch = &available[i]; + fprintf(stderr, "%s\n", + GetNameFromCPUType(arch->cputype, arch->cpusubtype)); + } + return false; + } + return true; +} + +static bool Start(const Options& options) { + SymbolData symbol_data = + (options.handle_inlines ? INLINES : NO_DATA) | + (options.cfi ? CFI : NO_DATA) | SYMBOLS_AND_FILES; + DumpSymbols dump_symbols(symbol_data, options.handle_inter_cu_refs, + options.enable_multiple, options.module_name, + options.prefer_extern_name); + + // For x86_64 binaries, the CFI data is in the __TEXT,__eh_frame of the + // Mach-O file, which is not copied into the dSYM. Whereas in i386, the CFI + // data is in the __DWARF,__debug_frame section, which is moved into the + // dSYM. Therefore, to get x86_64 CFI data, dump_syms needs to look at both + // the dSYM and the Mach-O file. If both paths are present and CFI was + // requested, then consider the Module as "split" and dump all the debug data + // from the primary debug info file, the dSYM, and then dump additional CFI + // data from the source Mach-O file. + bool split_module = + !options.dsymPath.empty() && !options.srcPath.empty() && options.cfi; + const string& primary_file = + split_module ? options.dsymPath : options.srcPath; + + if (!dump_symbols.Read(primary_file)) + return false; + + if (options.arch && + !SetArchitecture(dump_symbols, *options.arch, primary_file)) { + return false; + } + + if (options.header_only) + return dump_symbols.WriteSymbolFileHeader(std::cout); + + // Read the primary file into a Breakpad Module. + Module* module = NULL; + if (!dump_symbols.ReadSymbolData(&module)) + return false; + scoped_ptr<Module> scoped_module(module); + + // If this is a split module, read the secondary Mach-O file, from which the + // CFI data will be extracted. + if (split_module && primary_file == options.dsymPath) { + if (!dump_symbols.Read(options.srcPath)) + return false; + + if (options.arch && + !SetArchitecture(dump_symbols, *options.arch, options.srcPath)) { + return false; + } + Module* cfi_module = NULL; + if (!dump_symbols.ReadSymbolData(&cfi_module)) + return false; + scoped_ptr<Module> scoped_cfi_module(cfi_module); + + bool name_matches; + if (!options.module_name.empty()) { + // Ignore the basename of the dSYM and binary and use the passed-in module + // name. + name_matches = true; + } else { + name_matches = cfi_module->name() == module->name(); + } + + // Ensure that the modules are for the same debug code file. + if (!name_matches || cfi_module->os() != module->os() || + cfi_module->architecture() != module->architecture() || + cfi_module->identifier() != module->identifier()) { + fprintf(stderr, "Cannot generate a symbol file from split sources that do" + " not match.\n"); + if (!name_matches) { + fprintf(stderr, "Name mismatch: binary=[%s], dSYM=[%s]\n", + cfi_module->name().c_str(), module->name().c_str()); + } + if (cfi_module->os() != module->os()) { + fprintf(stderr, "OS mismatch: binary=[%s], dSYM=[%s]\n", + cfi_module->os().c_str(), module->os().c_str()); + } + if (cfi_module->architecture() != module->architecture()) { + fprintf(stderr, "Architecture mismatch: binary=[%s], dSYM=[%s]\n", + cfi_module->architecture().c_str(), + module->architecture().c_str()); + } + if (cfi_module->identifier() != module->identifier()) { + fprintf(stderr, "Identifier mismatch: binary=[%s], dSYM=[%s]\n", + cfi_module->identifier().c_str(), module->identifier().c_str()); + } + return false; + } + + CopyCFIDataBetweenModules(module, cfi_module); + } + + return module->Write(std::cout, symbol_data); +} + +//============================================================================= +static void Usage(int argc, const char *argv[]) { + fprintf(stderr, "Output a Breakpad symbol file from a Mach-o file.\n"); + fprintf(stderr, + "Usage: %s [-a ARCHITECTURE] [-c] [-g dSYM path] " + "[-n MODULE] [-x] <Mach-o file>\n", + argv[0]); + fprintf(stderr, "\t-i: Output module header information only.\n"); + fprintf(stderr, "\t-a: Architecture type [default: native, or whatever is\n"); + fprintf(stderr, "\t in the file, if it contains only one architecture]\n"); + fprintf(stderr, "\t-g: Debug symbol file (dSYM) to dump in addition to the " + "Mach-o file\n"); + fprintf(stderr, "\t-c: Do not generate CFI section\n"); + fprintf(stderr, "\t-r: Do not handle inter-compilation unit references\n"); + fprintf(stderr, "\t-d: Generate INLINE and INLINE_ORIGIN records\n"); + fprintf(stderr, + "\t-m: Enable writing the optional 'm' field on FUNC " + "and PUBLIC, denoting multiple symbols for the address.\n"); + fprintf(stderr, + "\t-n: Use MODULE as the name of the module rather than \n" + "the basename of the Mach-O file/dSYM.\n"); + fprintf(stderr, + "\t-x: Prefer the PUBLIC (extern) name over the FUNC if\n" + "they do not match.\n"); + fprintf(stderr, "\t-h: Usage\n"); + fprintf(stderr, "\t-?: Usage\n"); +} + +//============================================================================= +static void SetupOptions(int argc, const char *argv[], Options *options) { + extern int optind; + signed char ch; + + while ((ch = getopt(argc, (char* const*)argv, "ia:g:crdm?hn:x")) != -1) { + switch (ch) { + case 'i': + options->header_only = true; + break; + case 'a': { + std::optional<ArchInfo> arch_info = GetArchInfoFromName(optarg); + if (!arch_info) { + fprintf(stderr, "%s: Invalid architecture: %s\n", argv[0], optarg); + Usage(argc, argv); + exit(1); + } + options->arch = arch_info; + break; + } + case 'g': + options->dsymPath = optarg; + break; + case 'c': + options->cfi = false; + break; + case 'r': + options->handle_inter_cu_refs = false; + break; + case 'd': + options->handle_inlines = true; + break; + case 'm': + options->enable_multiple = true; + break; + case 'n': + options->module_name = optarg; + break; + case 'x': + options->prefer_extern_name = true; + break; + case '?': + case 'h': + Usage(argc, argv); + exit(0); + break; + } + } + + if ((argc - optind) != 1) { + fprintf(stderr, "Must specify Mach-o file\n"); + Usage(argc, argv); + exit(1); + } + + options->srcPath = argv[optind]; +} + +//============================================================================= +int main (int argc, const char * argv[]) { + Options options; + bool result; + + SetupOptions(argc, argv, &options); + result = Start(options); + + return !result; +} diff --git a/externals/breakpad/src/tools/mac/symupload/symupload.mm b/externals/breakpad/src/tools/mac/symupload/symupload.mm new file mode 100644 index 0000000000..521b811f09 --- /dev/null +++ b/externals/breakpad/src/tools/mac/symupload/symupload.mm @@ -0,0 +1,474 @@ +// Copyright 2006 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// symupload.mm: Upload a symbol file to a HTTP server. The upload is sent as +// a multipart/form-data POST request with the following parameters: +// code_file: the basename of the module, e.g. "app" +// debug_file: the basename of the debugging file, e.g. "app" +// debug_identifier: the debug file's identifier, usually consisting of +// the guid and age embedded in the pdb, e.g. +// "11111111BBBB3333DDDD555555555555F" +// os: the operating system that the module was built for +// cpu: the CPU that the module was built for (x86 or ppc) +// symbol_file: the contents of the breakpad-format symbol file + +#include <fcntl.h> +#include <sys/stat.h> +#include <unistd.h> + +#include <Foundation/Foundation.h> + +#include "HTTPMultipartUpload.h" +#include "HTTPPutRequest.h" +#include "SymbolCollectorClient.h" +#include "common/mac/dump_syms.h" + +using google_breakpad::DumpSymbols; + +NSString* const kBreakpadSymbolType = @"BREAKPAD"; +NSString* const kMachOSymbolType = @"MACHO"; +NSString* const kDSYMSymbolType = @"DSYM"; + +typedef enum { kSymUploadProtocolV1, kSymUploadProtocolV2 } SymUploadProtocol; + +typedef enum { + kResultSuccess = 0, + kResultFailure = 1, + kResultAlreadyExists = 2 +} Result; + +typedef struct { + NSString* symbolsPath; + NSString* uploadURLStr; + SymUploadProtocol symUploadProtocol; + NSString* apiKey; + BOOL force; + Result result; + NSString* type; + NSString* codeFile; + NSString* debugID; + NSString* productName; +} Options; + +//============================================================================= +static NSArray* ModuleDataForSymbolFile(NSString* file) { + NSFileHandle* fh = [NSFileHandle fileHandleForReadingAtPath:file]; + NSData* data = [fh readDataOfLength:1024]; + NSString* str = [[NSString alloc] initWithData:data + encoding:NSUTF8StringEncoding]; + NSScanner* scanner = [NSScanner scannerWithString:str]; + NSString* line; + NSMutableArray* parts = nil; + const int MODULE_ID_INDEX = 3; + + if ([scanner scanUpToString:@"\n" intoString:&line]) { + parts = [[NSMutableArray alloc] init]; + NSScanner* moduleInfoScanner = [NSScanner scannerWithString:line]; + NSString* moduleInfo; + // Get everything BEFORE the module name. None of these properties + // can have spaces. + for (int i = 0; i <= MODULE_ID_INDEX; i++) { + [moduleInfoScanner scanUpToString:@" " intoString:&moduleInfo]; + [parts addObject:moduleInfo]; + } + + // Now get the module name. This can have a space so we scan to + // the end of the line. + [moduleInfoScanner scanUpToString:@"\n" intoString:&moduleInfo]; + [parts addObject:moduleInfo]; + } + + [str release]; + + return parts; +} + +//============================================================================= +static void StartSymUploadProtocolV1(Options* options, + NSString* OS, + NSString* CPU, + NSString* debugID, + NSString* debugFile) { + NSURL* url = [NSURL URLWithString:options->uploadURLStr]; + HTTPMultipartUpload* ul = [[HTTPMultipartUpload alloc] initWithURL:url]; + NSMutableDictionary* parameters = [NSMutableDictionary dictionary]; + + // Add parameters + [parameters setObject:debugID forKey:@"debug_identifier"]; + [parameters setObject:OS forKey:@"os"]; + [parameters setObject:CPU forKey:@"cpu"]; + [parameters setObject:debugFile forKey:@"debug_file"]; + [parameters setObject:debugFile forKey:@"code_file"]; + [ul setParameters:parameters]; + + NSArray* keys = [parameters allKeys]; + int count = [keys count]; + for (int i = 0; i < count; ++i) { + NSString* key = [keys objectAtIndex:i]; + NSString* value = [parameters objectForKey:key]; + fprintf(stdout, "'%s' = '%s'\n", [key UTF8String], [value UTF8String]); + } + + // Add file + [ul addFileAtPath:options->symbolsPath name:@"symbol_file"]; + + // Send it + NSError* error = nil; + NSData* data = [ul send:&error]; + NSString* result = [[NSString alloc] initWithData:data + encoding:NSUTF8StringEncoding]; + int status = [[ul response] statusCode]; + + fprintf(stdout, "Send: %s\n", + error ? [[error description] UTF8String] : "No Error"); + fprintf(stdout, "Response: %d\n", status); + fprintf(stdout, "Result: %lu bytes\n%s\n", (unsigned long)[data length], + [result UTF8String]); + + [result release]; + [ul release]; + options->result = (!error && status == 200) ? kResultSuccess : kResultFailure; +} + +//============================================================================= +static void StartSymUploadProtocolV2(Options* options, + NSString* debugID, + NSString* debugFile) { + options->result = kResultFailure; + + // Only check status of BREAKPAD symbols, because the v2 protocol doesn't + // (yet) have a way to check status of other symbol types. + if (!options->force && [options->type isEqualToString:kBreakpadSymbolType]) { + SymbolStatus symbolStatus = + [SymbolCollectorClient checkSymbolStatusOnServer:options->uploadURLStr + withAPIKey:options->apiKey + withDebugFile:debugFile + withDebugID:debugID]; + if (symbolStatus == SymbolStatusFound) { + fprintf(stdout, "Symbol file already exists, upload aborted." + " Use \"-f\" to overwrite.\n"); + options->result = kResultAlreadyExists; + return; + } else if (symbolStatus == SymbolStatusUnknown) { + fprintf(stdout, "Failed to get check for existing symbol.\n"); + return; + } + } + + UploadURLResponse* URLResponse = + [SymbolCollectorClient createUploadURLOnServer:options->uploadURLStr + withAPIKey:options->apiKey]; + if (URLResponse == nil) { + return; + } + + NSURL* uploadURL = [NSURL URLWithString:[URLResponse uploadURL]]; + HTTPPutRequest* putRequest = [[HTTPPutRequest alloc] initWithURL:uploadURL]; + [putRequest setFile:options->symbolsPath]; + + NSError* error = nil; + NSData* data = [putRequest send:&error]; + NSString* result = [[NSString alloc] initWithData:data + encoding:NSUTF8StringEncoding]; + int responseCode = [[putRequest response] statusCode]; + [putRequest release]; + + if (error || responseCode != 200) { + fprintf(stdout, "Failed to upload symbol file.\n"); + fprintf(stdout, "Response code: %d\n", responseCode); + fprintf(stdout, "Response:\n"); + fprintf(stdout, "%s\n", [result UTF8String]); + return; + } + + CompleteUploadResult completeUploadResult = + [SymbolCollectorClient completeUploadOnServer:options->uploadURLStr + withAPIKey:options->apiKey + withUploadKey:[URLResponse uploadKey] + withDebugFile:debugFile + withDebugID:debugID + withType:options->type + withProductName:options->productName]; + [URLResponse release]; + if (completeUploadResult == CompleteUploadResultError) { + fprintf(stdout, "Failed to complete upload.\n"); + return; + } else if (completeUploadResult == CompleteUploadResultDuplicateData) { + fprintf(stdout, "Uploaded file checksum matched existing file checksum," + " no change necessary.\n"); + } else { + fprintf(stdout, "Successfully sent the symbol file.\n"); + } + options->result = kResultSuccess; +} + +//============================================================================= +static void Start(Options* options) { + // If non-BREAKPAD upload special-case. + if (![options->type isEqualToString:kBreakpadSymbolType]) { + StartSymUploadProtocolV2(options, options->debugID, options->codeFile); + return; + } + + NSArray* moduleParts = ModuleDataForSymbolFile(options->symbolsPath); + // MODULE <os> <cpu> <uuid> <module-name> + // 0 1 2 3 4 + NSString* OS = [moduleParts objectAtIndex:1]; + NSString* CPU = [moduleParts objectAtIndex:2]; + NSMutableString* debugID = + [NSMutableString stringWithString:[moduleParts objectAtIndex:3]]; + [debugID replaceOccurrencesOfString:@"-" + withString:@"" + options:0 + range:NSMakeRange(0, [debugID length])]; + NSString* debugFile = [moduleParts objectAtIndex:4]; + + if (options->symUploadProtocol == kSymUploadProtocolV1) { + StartSymUploadProtocolV1(options, OS, CPU, debugID, debugFile); + } else if (options->symUploadProtocol == kSymUploadProtocolV2) { + StartSymUploadProtocolV2(options, debugID, debugFile); + } +} + +//============================================================================= +static void Usage(int argc, const char* argv[]) { + fprintf(stderr, "Submit symbol information.\n"); + fprintf(stderr, "Usage: %s [options] <symbol-file> <upload-URL>\n", argv[0]); + fprintf(stderr, "<symbol-file> should be created by using the dump_syms " + "tool.\n"); + fprintf(stderr, "<upload-URL> is the destination for the upload.\n"); + fprintf(stderr, "Options:\n"); + fprintf(stderr, "\t-p <protocol>: protocol to use for upload, accepts " + "[\"sym-upload-v1\", \"sym-upload-v2\"]. Default is " + "\"sym-upload-v1\".\n"); + fprintf(stderr, "\t-k <api-key>: secret for authentication with upload " + "server. [Only in sym-upload-v2 protocol mode]\n"); + fprintf(stderr, "\t-f: Overwrite symbol file on server if already present. " + "[Only in sym-upload-v2 protocol mode]\n"); + fprintf( + stderr, + "\t-t: <symbol-type> Explicitly set symbol upload type (" + "default is 'breakpad').\n" + "\t One of ['breakpad', 'elf', 'pe', 'macho', 'debug_only', 'dwp', " + "'dsym', 'pdb'].\n" + "\t Note: When this flag is set to anything other than 'breakpad', then " + "the '-c' and '-i' flags must also be set.\n"); + fprintf(stderr, "\t-c: <code-file> Explicitly set 'code_file' for symbol " + "upload (basename of executable).\n"); + fprintf(stderr, "\t-i: <debug-id> Explicitly set 'debug_id' for symbol " + "upload (typically build ID of executable). The debug-id for " + "symbol-types 'dsym' and 'macho' will be determined " + "automatically. \n"); + fprintf(stderr, "\t-n: <product-name> Optionally set 'product_name' for " + "symbol upload\n"); + fprintf(stderr, "\t-h: Usage\n"); + fprintf(stderr, "\t-?: Usage\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "Exit codes:\n"); + fprintf(stderr, "\t%d: Success\n", kResultSuccess); + fprintf(stderr, "\t%d: Failure\n", kResultFailure); + fprintf(stderr, + "\t%d: Symbol file already exists on server (and -f was not " + "specified).\n", + kResultAlreadyExists); + fprintf(stderr, + "\t [This exit code will only be returned by the sym-upload-v2 " + "protocol.\n"); + fprintf(stderr, + "\t The sym-upload-v1 protocol can return either Success or " + "Failure\n"); + fprintf(stderr, "\t in this case, and the action taken by the server is " + "unspecified.]\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "Examples:\n"); + fprintf(stderr, " With 'sym-upload-v1':\n"); + fprintf(stderr, " %s path/to/symbol_file http://myuploadserver\n", + argv[0]); + fprintf(stderr, " With 'sym-upload-v2':\n"); + fprintf(stderr, " [Defaulting to symbol type 'BREAKPAD']\n"); + fprintf(stderr, + " %s -p sym-upload-v2 -k mysecret123! " + "path/to/symbol_file http://myuploadserver\n", + argv[0]); + fprintf(stderr, " [Explicitly set symbol type to 'macho']\n"); + fprintf(stderr, + " %s -p sym-upload-v2 -k mysecret123! -t macho " + "-c app -i 11111111BBBB3333DDDD555555555555F " + "path/to/symbol_file http://myuploadserver\n", + argv[0]); +} + +//============================================================================= +static void SetupOptions(int argc, const char* argv[], Options* options) { + // Set default options values. + options->symUploadProtocol = kSymUploadProtocolV1; + options->apiKey = nil; + options->type = kBreakpadSymbolType; + options->codeFile = nil; + options->debugID = nil; + options->force = NO; + options->productName = nil; + + extern int optind; + int ch; + + while ((ch = getopt(argc, (char* const*)argv, "p:k:t:c:i:n:hf?")) != -1) { + switch (ch) { + case 'p': + if (strcmp(optarg, "sym-upload-v2") == 0) { + options->symUploadProtocol = kSymUploadProtocolV2; + break; + } else if (strcmp(optarg, "sym-upload-v1") == 0) { + // This is already the default but leave in case that changes. + options->symUploadProtocol = kSymUploadProtocolV1; + break; + } + Usage(argc, argv); + exit(0); + break; + case 'k': + options->apiKey = [NSString stringWithCString:optarg + encoding:NSASCIIStringEncoding]; + break; + case 't': { + // This is really an enum, so treat as upper-case for consistency with + // enum naming convention on server-side. + options->type = [[NSString stringWithCString:optarg + encoding:NSASCIIStringEncoding] + uppercaseString]; + break; + } + case 'c': + options->codeFile = [NSString stringWithCString:optarg + encoding:NSASCIIStringEncoding]; + break; + case 'i': + options->debugID = [NSString stringWithCString:optarg + encoding:NSASCIIStringEncoding]; + break; + case 'n': + options->productName = + [NSString stringWithCString:optarg + encoding:NSASCIIStringEncoding]; + break; + case 'f': + options->force = YES; + break; + default: + Usage(argc, argv); + exit(0); + break; + } + } + + if ((argc - optind) != 2) { + fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); + Usage(argc, argv); + exit(1); + } + + int fd = open(argv[optind], O_RDONLY); + if (fd < 0) { + fprintf(stderr, "%s: %s: %s\n", argv[0], argv[optind], strerror(errno)); + exit(1); + } + + struct stat statbuf; + if (fstat(fd, &statbuf) < 0) { + fprintf(stderr, "%s: %s: %s\n", argv[0], argv[optind], strerror(errno)); + close(fd); + exit(1); + } + close(fd); + + if (!S_ISREG(statbuf.st_mode)) { + fprintf(stderr, "%s: %s: not a regular file\n", argv[0], argv[optind]); + exit(1); + } + + bool isBreakpadUpload = [options->type isEqualToString:kBreakpadSymbolType]; + bool hasCodeFile = options->codeFile != nil; + bool hasDebugID = options->debugID != nil; + if (isBreakpadUpload && (hasCodeFile || hasDebugID)) { + fprintf(stderr, "\n"); + fprintf(stderr, + "%s: -c and -i should only be specified for non-breakpad " + "symbol upload types.\n", + argv[0]); + fprintf(stderr, "\n"); + Usage(argc, argv); + exit(1); + } + + if (!isBreakpadUpload && hasCodeFile && !hasDebugID && + ([options->type isEqualToString:kMachOSymbolType] || + [options->type isEqualToString:kDSYMSymbolType])) { + DumpSymbols dump_symbols(SYMBOLS_AND_FILES | INLINES, false); + if (dump_symbols.Read(argv[optind])) { + std::string identifier = dump_symbols.Identifier(); + if (identifier.empty()) { + fprintf(stderr, "\n"); + fprintf(stderr, + "%s: Unable to determine debug-id. Please specify with '-i'.\n", + argv[0]); + fprintf(stderr, "\n"); + Usage(argc, argv); + exit(1); + } + options->debugID = [NSString stringWithUTF8String:identifier.c_str()]; + hasDebugID = true; + } + } + + if (!isBreakpadUpload && (!hasCodeFile || !hasDebugID)) { + fprintf(stderr, "\n"); + fprintf(stderr, + "%s: -c and -i must be specified for non-breakpad " + "symbol upload types.\n", + argv[0]); + fprintf(stderr, "\n"); + Usage(argc, argv); + exit(1); + } + + options->symbolsPath = [NSString stringWithUTF8String:argv[optind]]; + options->uploadURLStr = [NSString stringWithUTF8String:argv[optind + 1]]; +} + +//============================================================================= +int main(int argc, const char* argv[]) { + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + Options options; + + bzero(&options, sizeof(Options)); + SetupOptions(argc, argv, &options); + Start(&options); + + [pool release]; + return options.result; +} diff --git a/externals/breakpad/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj b/externals/breakpad/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b1dd6a112f --- /dev/null +++ b/externals/breakpad/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj @@ -0,0 +1,466 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 5B6060BD222716FC0015F0A0 /* HTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060BC222716FC0015F0A0 /* HTTPRequest.m */; }; + 5B6060C02227201B0015F0A0 /* HTTPPutRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060BF2227201B0015F0A0 /* HTTPPutRequest.m */; }; + 5B6060C7222735E50015F0A0 /* HTTPGetRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060C6222735E50015F0A0 /* HTTPGetRequest.m */; }; + 5B6060CA2227374E0015F0A0 /* HTTPSimplePostRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060C92227374E0015F0A0 /* HTTPSimplePostRequest.m */; }; + 5B6060D022273BDA0015F0A0 /* SymbolCollectorClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060CF22273BDA0015F0A0 /* SymbolCollectorClient.m */; }; + 5B97447524D0AA5F000C71F5 /* encoding_util.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B97447424D0AA5F000C71F5 /* encoding_util.m */; }; + 8B31022C11F0CEBD00FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; + 8DD76F9A0486AA7600D96B5E /* symupload.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* symupload.mm */; settings = {ATTRIBUTES = (); }; }; + 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; + 930DA19225ED543A008558E3 /* dump_syms.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA19025ED543A008558E3 /* dump_syms.cc */; }; + 930DA22C25ED55A9008558E3 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA21F25ED55A8008558E3 /* module.cc */; }; + 930DA22D25ED55A9008558E3 /* dwarf_cfi_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */; }; + 930DA22E25ED55A9008558E3 /* stabs_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22525ED55A8008558E3 /* stabs_to_module.cc */; }; + 930DA22F25ED55A9008558E3 /* language.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22625ED55A9008558E3 /* language.cc */; }; + 930DA23125ED55A9008558E3 /* dwarf_line_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */; }; + 930DA23225ED55A9008558E3 /* dwarf_cu_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */; }; + 930DA23725ED55B6008558E3 /* stabs_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23625ED55B6008558E3 /* stabs_reader.cc */; }; + 930DA24225ED55BF008558E3 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23A25ED55BF008558E3 /* macho_id.cc */; }; + 930DA24325ED55BF008558E3 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23C25ED55BF008558E3 /* macho_utilities.cc */; }; + 930DA24425ED55BF008558E3 /* macho_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23F25ED55BF008558E3 /* macho_reader.cc */; }; + 930DA24525ED55BF008558E3 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24125ED55BF008558E3 /* macho_walker.cc */; }; + 930DA25C25ED56DB008558E3 /* dwarf_range_list_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */; }; + 930DA25D25ED56DB008558E3 /* cfi_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24E25ED56DB008558E3 /* cfi_assembler.cc */; }; + 930DA25E25ED56DB008558E3 /* elf_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25225ED56DB008558E3 /* elf_reader.cc */; }; + 930DA25F25ED56DB008558E3 /* dwarf2diehandler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */; }; + 930DA26025ED56DB008558E3 /* dwarf2reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25625ED56DB008558E3 /* dwarf2reader.cc */; }; + 930DA26125ED56DB008558E3 /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25925ED56DB008558E3 /* bytereader.cc */; }; + 930DA26925ED56FF008558E3 /* test_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA26825ED56FF008558E3 /* test_assembler.cc */; }; + 930DA26E25ED571F008558E3 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA26D25ED571F008558E3 /* arch_utilities.cc */; }; + 930DA27825ED572D008558E3 /* path_helper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27125ED572C008558E3 /* path_helper.cc */; }; + 930DA27925ED572D008558E3 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27525ED572C008558E3 /* file_id.cc */; }; + 930DA27A25ED572D008558E3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27725ED572D008558E3 /* md5.cc */; }; + 9BC1D49E0B37427A00F2A2B4 /* minidump_upload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD836000B0544BA0055103E /* minidump_upload.m */; }; + 9BD8336A0B03E4080055103E /* HTTPMultipartUpload.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */; }; + 9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */; }; + 9BD836180B0549F70055103E /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 8DD76F9E0486AA7600D96B5E /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + 9BD8336A0B03E4080055103E /* HTTPMultipartUpload.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 08FB7796FE84155DC02AAC07 /* symupload.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.objcpp; path = symupload.mm; sourceTree = "<group>"; tabWidth = 2; }; + 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 5B6060BB222716FC0015F0A0 /* HTTPRequest.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = HTTPRequest.h; path = ../../../common/mac/HTTPRequest.h; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060BC222716FC0015F0A0 /* HTTPRequest.m */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPRequest.m; path = ../../../common/mac/HTTPRequest.m; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060BE2227201B0015F0A0 /* HTTPPutRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HTTPPutRequest.h; path = ../../../common/mac/HTTPPutRequest.h; sourceTree = "<group>"; }; + 5B6060BF2227201B0015F0A0 /* HTTPPutRequest.m */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPPutRequest.m; path = ../../../common/mac/HTTPPutRequest.m; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060C22227303A0015F0A0 /* encoding_util.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = encoding_util.h; path = ../../../common/mac/encoding_util.h; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060C5222735E50015F0A0 /* HTTPGetRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HTTPGetRequest.h; path = ../../../common/mac/HTTPGetRequest.h; sourceTree = "<group>"; }; + 5B6060C6222735E50015F0A0 /* HTTPGetRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = HTTPGetRequest.m; path = ../../../common/mac/HTTPGetRequest.m; sourceTree = "<group>"; }; + 5B6060C82227374E0015F0A0 /* HTTPSimplePostRequest.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = HTTPSimplePostRequest.h; path = ../../../common/mac/HTTPSimplePostRequest.h; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060C92227374E0015F0A0 /* HTTPSimplePostRequest.m */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPSimplePostRequest.m; path = ../../../common/mac/HTTPSimplePostRequest.m; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060CE22273BDA0015F0A0 /* SymbolCollectorClient.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = SymbolCollectorClient.h; path = ../../../common/mac/SymbolCollectorClient.h; sourceTree = "<group>"; tabWidth = 2; }; + 5B6060CF22273BDA0015F0A0 /* SymbolCollectorClient.m */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = SymbolCollectorClient.m; path = ../../../common/mac/SymbolCollectorClient.m; sourceTree = "<group>"; tabWidth = 2; }; + 5B97447424D0AA5F000C71F5 /* encoding_util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = encoding_util.m; path = ../../../common/mac/encoding_util.m; sourceTree = "<group>"; }; + 8B31022B11F0CE6900FCF3E4 /* Breakpad.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Breakpad.xcconfig; path = ../../../common/mac/Breakpad.xcconfig; sourceTree = SOURCE_ROOT; }; + 8B3102B611F0D5CE00FCF3E4 /* BreakpadDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadDebug.xcconfig; path = ../../../common/mac/BreakpadDebug.xcconfig; sourceTree = SOURCE_ROOT; }; + 8B3102B711F0D5CE00FCF3E4 /* BreakpadRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadRelease.xcconfig; path = ../../../common/mac/BreakpadRelease.xcconfig; sourceTree = SOURCE_ROOT; }; + 8DD76FA10486AA7600D96B5E /* symupload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = symupload; sourceTree = BUILT_PRODUCTS_DIR; }; + 930DA19025ED543A008558E3 /* dump_syms.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dump_syms.cc; path = ../../../common/mac/dump_syms.cc; sourceTree = "<group>"; }; + 930DA19125ED543A008558E3 /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = "<group>"; }; + 930DA21F25ED55A8008558E3 /* module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = module.cc; path = ../../../common/module.cc; sourceTree = "<group>"; }; + 930DA22025ED55A8008558E3 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../../common/module.h; sourceTree = "<group>"; }; + 930DA22125ED55A8008558E3 /* dwarf_cfi_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cfi_to_module.h; path = ../../../common/dwarf_cfi_to_module.h; sourceTree = "<group>"; }; + 930DA22225ED55A8008558E3 /* dwarf_cu_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cu_to_module.h; path = ../../../common/dwarf_cu_to_module.h; sourceTree = "<group>"; }; + 930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cfi_to_module.cc; path = ../../../common/dwarf_cfi_to_module.cc; sourceTree = "<group>"; }; + 930DA22425ED55A8008558E3 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = language.h; path = ../../../common/language.h; sourceTree = "<group>"; }; + 930DA22525ED55A8008558E3 /* stabs_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_to_module.cc; path = ../../../common/stabs_to_module.cc; sourceTree = "<group>"; }; + 930DA22625ED55A9008558E3 /* language.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = language.cc; path = ../../../common/language.cc; sourceTree = "<group>"; }; + 930DA22725ED55A9008558E3 /* dwarf_line_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_line_to_module.h; path = ../../../common/dwarf_line_to_module.h; sourceTree = "<group>"; }; + 930DA22825ED55A9008558E3 /* stabs_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_to_module.h; path = ../../../common/stabs_to_module.h; sourceTree = "<group>"; }; + 930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_line_to_module.cc; path = ../../../common/dwarf_line_to_module.cc; sourceTree = "<group>"; }; + 930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cu_to_module.cc; path = ../../../common/dwarf_cu_to_module.cc; sourceTree = "<group>"; }; + 930DA23525ED55B6008558E3 /* stabs_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_reader.h; path = ../../../common/stabs_reader.h; sourceTree = "<group>"; }; + 930DA23625ED55B6008558E3 /* stabs_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_reader.cc; path = ../../../common/stabs_reader.cc; sourceTree = "<group>"; }; + 930DA23A25ED55BF008558E3 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = "<group>"; }; + 930DA23B25ED55BF008558E3 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = "<group>"; }; + 930DA23C25ED55BF008558E3 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = "<group>"; }; + 930DA23D25ED55BF008558E3 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = "<group>"; }; + 930DA23E25ED55BF008558E3 /* macho_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_reader.h; path = ../../../common/mac/macho_reader.h; sourceTree = "<group>"; }; + 930DA23F25ED55BF008558E3 /* macho_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_reader.cc; path = ../../../common/mac/macho_reader.cc; sourceTree = "<group>"; }; + 930DA24025ED55BF008558E3 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = "<group>"; }; + 930DA24125ED55BF008558E3 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = "<group>"; }; + 930DA24C25ED56DB008558E3 /* line_state_machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = line_state_machine.h; path = ../../../common/dwarf/line_state_machine.h; sourceTree = "<group>"; }; + 930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_range_list_handler.cc; path = ../../../common/dwarf_range_list_handler.cc; sourceTree = "<group>"; }; + 930DA24E25ED56DB008558E3 /* cfi_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cfi_assembler.cc; path = ../../../common/dwarf/cfi_assembler.cc; sourceTree = "<group>"; }; + 930DA24F25ED56DB008558E3 /* dwarf2enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2enums.h; path = ../../../common/dwarf/dwarf2enums.h; sourceTree = "<group>"; }; + 930DA25025ED56DB008558E3 /* bytereader-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "bytereader-inl.h"; path = "../../../common/dwarf/bytereader-inl.h"; sourceTree = "<group>"; }; + 930DA25125ED56DB008558E3 /* dwarf_range_list_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_range_list_handler.h; path = ../../../common/dwarf_range_list_handler.h; sourceTree = "<group>"; }; + 930DA25225ED56DB008558E3 /* elf_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = elf_reader.cc; path = ../../../common/dwarf/elf_reader.cc; sourceTree = "<group>"; }; + 930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2diehandler.cc; path = ../../../common/dwarf/dwarf2diehandler.cc; sourceTree = "<group>"; }; + 930DA25425ED56DB008558E3 /* elf_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elf_reader.h; path = ../../../common/dwarf/elf_reader.h; sourceTree = "<group>"; }; + 930DA25525ED56DB008558E3 /* bytereader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bytereader.h; path = ../../../common/dwarf/bytereader.h; sourceTree = "<group>"; }; + 930DA25625ED56DB008558E3 /* dwarf2reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2reader.cc; path = ../../../common/dwarf/dwarf2reader.cc; sourceTree = "<group>"; }; + 930DA25725ED56DB008558E3 /* dwarf2reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2reader.h; path = ../../../common/dwarf/dwarf2reader.h; sourceTree = "<group>"; }; + 930DA25825ED56DB008558E3 /* dwarf2diehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2diehandler.h; path = ../../../common/dwarf/dwarf2diehandler.h; sourceTree = "<group>"; }; + 930DA25925ED56DB008558E3 /* bytereader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bytereader.cc; path = ../../../common/dwarf/bytereader.cc; sourceTree = "<group>"; }; + 930DA25A25ED56DB008558E3 /* cfi_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfi_assembler.h; path = ../../../common/dwarf/cfi_assembler.h; sourceTree = "<group>"; }; + 930DA26725ED56FF008558E3 /* test_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = test_assembler.h; path = ../../../common/test_assembler.h; sourceTree = "<group>"; }; + 930DA26825ED56FF008558E3 /* test_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = test_assembler.cc; path = ../../../common/test_assembler.cc; sourceTree = "<group>"; }; + 930DA26C25ED571F008558E3 /* arch_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = arch_utilities.h; path = ../../../common/mac/arch_utilities.h; sourceTree = "<group>"; }; + 930DA26D25ED571F008558E3 /* arch_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = arch_utilities.cc; path = ../../../common/mac/arch_utilities.cc; sourceTree = "<group>"; }; + 930DA27125ED572C008558E3 /* path_helper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = path_helper.cc; path = ../../../common/path_helper.cc; sourceTree = "<group>"; }; + 930DA27225ED572C008558E3 /* byteswap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byteswap.h; path = ../../../common/mac/byteswap.h; sourceTree = "<group>"; }; + 930DA27325ED572C008558E3 /* path_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = path_helper.h; path = ../../../common/path_helper.h; sourceTree = "<group>"; }; + 930DA27425ED572C008558E3 /* byte_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byte_cursor.h; path = ../../../common/byte_cursor.h; sourceTree = "<group>"; }; + 930DA27525ED572C008558E3 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = "<group>"; }; + 930DA27625ED572C008558E3 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = "<group>"; }; + 930DA27725ED572D008558E3 /* md5.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = md5.cc; path = ../../../common/md5.cc; sourceTree = "<group>"; }; + 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = HTTPMultipartUpload.h; path = ../../../common/mac/HTTPMultipartUpload.h; sourceTree = "<group>"; tabWidth = 2; }; + 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPMultipartUpload.m; path = ../../../common/mac/HTTPMultipartUpload.m; sourceTree = "<group>"; tabWidth = 2; }; + 9BD835FB0B0544950055103E /* minidump_upload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_upload; sourceTree = BUILT_PRODUCTS_DIR; }; + 9BD836000B0544BA0055103E /* minidump_upload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = minidump_upload.m; path = ../../../common/mac/minidump_upload.m; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9BD835F90B0544950055103E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B31022C11F0CEBD00FCF3E4 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 08FB7794FE84155DC02AAC07 /* symupload */ = { + isa = PBXGroup; + children = ( + 930DA21E25ED5586008558E3 /* dump_syms */, + 5B6060CE22273BDA0015F0A0 /* SymbolCollectorClient.h */, + 5B6060CF22273BDA0015F0A0 /* SymbolCollectorClient.m */, + 5B6060C82227374E0015F0A0 /* HTTPSimplePostRequest.h */, + 5B6060C92227374E0015F0A0 /* HTTPSimplePostRequest.m */, + 5B6060C5222735E50015F0A0 /* HTTPGetRequest.h */, + 5B6060C6222735E50015F0A0 /* HTTPGetRequest.m */, + 5B6060C22227303A0015F0A0 /* encoding_util.h */, + 5B97447424D0AA5F000C71F5 /* encoding_util.m */, + 5B6060BE2227201B0015F0A0 /* HTTPPutRequest.h */, + 5B6060BF2227201B0015F0A0 /* HTTPPutRequest.m */, + 5B6060BB222716FC0015F0A0 /* HTTPRequest.h */, + 5B6060BC222716FC0015F0A0 /* HTTPRequest.m */, + 8B31022B11F0CE6900FCF3E4 /* Breakpad.xcconfig */, + 8B3102B611F0D5CE00FCF3E4 /* BreakpadDebug.xcconfig */, + 8B3102B711F0D5CE00FCF3E4 /* BreakpadRelease.xcconfig */, + 08FB7796FE84155DC02AAC07 /* symupload.mm */, + 9BD836000B0544BA0055103E /* minidump_upload.m */, + 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */, + 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */, + 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, + 1AB674ADFE9D54B511CA2CBB /* Products */, + ); + name = symupload; + sourceTree = "<group>"; + }; + 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 08FB779EFE84155DC02AAC07 /* Foundation.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = "<group>"; + }; + 1AB674ADFE9D54B511CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8DD76FA10486AA7600D96B5E /* symupload */, + 9BD835FB0B0544950055103E /* minidump_upload */, + ); + name = Products; + sourceTree = "<group>"; + }; + 930DA21E25ED5586008558E3 /* dump_syms */ = { + isa = PBXGroup; + children = ( + 930DA23A25ED55BF008558E3 /* macho_id.cc */, + 930DA23B25ED55BF008558E3 /* macho_id.h */, + 930DA23F25ED55BF008558E3 /* macho_reader.cc */, + 930DA23E25ED55BF008558E3 /* macho_reader.h */, + 930DA23C25ED55BF008558E3 /* macho_utilities.cc */, + 930DA24025ED55BF008558E3 /* macho_utilities.h */, + 930DA24125ED55BF008558E3 /* macho_walker.cc */, + 930DA23D25ED55BF008558E3 /* macho_walker.h */, + 930DA19025ED543A008558E3 /* dump_syms.cc */, + 930DA19125ED543A008558E3 /* dump_syms.h */, + 930DA23625ED55B6008558E3 /* stabs_reader.cc */, + 930DA23525ED55B6008558E3 /* stabs_reader.h */, + 930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */, + 930DA22125ED55A8008558E3 /* dwarf_cfi_to_module.h */, + 930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */, + 930DA22225ED55A8008558E3 /* dwarf_cu_to_module.h */, + 930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */, + 930DA22725ED55A9008558E3 /* dwarf_line_to_module.h */, + 930DA22625ED55A9008558E3 /* language.cc */, + 930DA22425ED55A8008558E3 /* language.h */, + 930DA21F25ED55A8008558E3 /* module.cc */, + 930DA22025ED55A8008558E3 /* module.h */, + 930DA22525ED55A8008558E3 /* stabs_to_module.cc */, + 930DA22825ED55A9008558E3 /* stabs_to_module.h */, + 930DA25025ED56DB008558E3 /* bytereader-inl.h */, + 930DA25925ED56DB008558E3 /* bytereader.cc */, + 930DA25525ED56DB008558E3 /* bytereader.h */, + 930DA24E25ED56DB008558E3 /* cfi_assembler.cc */, + 930DA25A25ED56DB008558E3 /* cfi_assembler.h */, + 930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */, + 930DA25125ED56DB008558E3 /* dwarf_range_list_handler.h */, + 930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */, + 930DA25825ED56DB008558E3 /* dwarf2diehandler.h */, + 930DA24F25ED56DB008558E3 /* dwarf2enums.h */, + 930DA25625ED56DB008558E3 /* dwarf2reader.cc */, + 930DA25725ED56DB008558E3 /* dwarf2reader.h */, + 930DA25225ED56DB008558E3 /* elf_reader.cc */, + 930DA25425ED56DB008558E3 /* elf_reader.h */, + 930DA24C25ED56DB008558E3 /* line_state_machine.h */, + 930DA26825ED56FF008558E3 /* test_assembler.cc */, + 930DA26725ED56FF008558E3 /* test_assembler.h */, + 930DA26D25ED571F008558E3 /* arch_utilities.cc */, + 930DA26C25ED571F008558E3 /* arch_utilities.h */, + 930DA27425ED572C008558E3 /* byte_cursor.h */, + 930DA27225ED572C008558E3 /* byteswap.h */, + 930DA27525ED572C008558E3 /* file_id.cc */, + 930DA27625ED572C008558E3 /* file_id.h */, + 930DA27725ED572D008558E3 /* md5.cc */, + 930DA27125ED572C008558E3 /* path_helper.cc */, + 930DA27325ED572C008558E3 /* path_helper.h */, + ); + name = dump_syms; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8DD76F960486AA7600D96B5E /* symupload */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "symupload" */; + buildPhases = ( + 8DD76F990486AA7600D96B5E /* Sources */, + 8DD76F9B0486AA7600D96B5E /* Frameworks */, + 8DD76F9E0486AA7600D96B5E /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = symupload; + productInstallPath = "$(HOME)/bin"; + productName = symupload; + productReference = 8DD76FA10486AA7600D96B5E /* symupload */; + productType = "com.apple.product-type.tool"; + }; + 9BD835FA0B0544950055103E /* minidump_upload */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9BD836020B0544BB0055103E /* Build configuration list for PBXNativeTarget "minidump_upload" */; + buildPhases = ( + 9BD835F80B0544950055103E /* Sources */, + 9BD835F90B0544950055103E /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = minidump_upload; + productName = minidump_upload; + productReference = 9BD835FB0B0544950055103E /* minidump_upload */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + }; + buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "symupload" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + ); + mainGroup = 08FB7794FE84155DC02AAC07 /* symupload */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8DD76F960486AA7600D96B5E /* symupload */, + 9BD835FA0B0544950055103E /* minidump_upload */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 8DD76F990486AA7600D96B5E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8DD76F9A0486AA7600D96B5E /* symupload.mm in Sources */, + 930DA19225ED543A008558E3 /* dump_syms.cc in Sources */, + 930DA24525ED55BF008558E3 /* macho_walker.cc in Sources */, + 930DA22E25ED55A9008558E3 /* stabs_to_module.cc in Sources */, + 5B6060CA2227374E0015F0A0 /* HTTPSimplePostRequest.m in Sources */, + 930DA25F25ED56DB008558E3 /* dwarf2diehandler.cc in Sources */, + 930DA27825ED572D008558E3 /* path_helper.cc in Sources */, + 930DA27A25ED572D008558E3 /* md5.cc in Sources */, + 930DA22D25ED55A9008558E3 /* dwarf_cfi_to_module.cc in Sources */, + 930DA24425ED55BF008558E3 /* macho_reader.cc in Sources */, + 930DA24325ED55BF008558E3 /* macho_utilities.cc in Sources */, + 5B6060D022273BDA0015F0A0 /* SymbolCollectorClient.m in Sources */, + 5B6060C7222735E50015F0A0 /* HTTPGetRequest.m in Sources */, + 930DA27925ED572D008558E3 /* file_id.cc in Sources */, + 930DA26925ED56FF008558E3 /* test_assembler.cc in Sources */, + 930DA22F25ED55A9008558E3 /* language.cc in Sources */, + 930DA25E25ED56DB008558E3 /* elf_reader.cc in Sources */, + 930DA26E25ED571F008558E3 /* arch_utilities.cc in Sources */, + 930DA24225ED55BF008558E3 /* macho_id.cc in Sources */, + 5B6060C02227201B0015F0A0 /* HTTPPutRequest.m in Sources */, + 930DA25C25ED56DB008558E3 /* dwarf_range_list_handler.cc in Sources */, + 5B6060BD222716FC0015F0A0 /* HTTPRequest.m in Sources */, + 930DA25D25ED56DB008558E3 /* cfi_assembler.cc in Sources */, + 930DA23225ED55A9008558E3 /* dwarf_cu_to_module.cc in Sources */, + 930DA23125ED55A9008558E3 /* dwarf_line_to_module.cc in Sources */, + 930DA26125ED56DB008558E3 /* bytereader.cc in Sources */, + 930DA22C25ED55A9008558E3 /* module.cc in Sources */, + 5B97447524D0AA5F000C71F5 /* encoding_util.m in Sources */, + 930DA23725ED55B6008558E3 /* stabs_reader.cc in Sources */, + 9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */, + 930DA26025ED56DB008558E3 /* dwarf2reader.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9BD835F80B0544950055103E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9BD836180B0549F70055103E /* HTTPMultipartUpload.m in Sources */, + 9BC1D49E0B37427A00F2A2B4 /* minidump_upload.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1DEB927508733DD40010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H; + HEADER_SEARCH_PATHS = ( + ../../.., + ../../../common/mac/include, + ../../../third_party/musl/include/, + ); + PRODUCT_NAME = symupload; + }; + name = Debug; + }; + 1DEB927608733DD40010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + NDEBUG, + HAVE_MACH_O_NLIST_H, + ); + HEADER_SEARCH_PATHS = ( + ../../.., + ../../../common/mac/include, + ../../../third_party/musl/include/, + ); + PRODUCT_NAME = symupload; + }; + name = Release; + }; + 1DEB927908733DD40010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8B3102B611F0D5CE00FCF3E4 /* BreakpadDebug.xcconfig */; + buildSettings = { + }; + name = Debug; + }; + 1DEB927A08733DD40010E9CD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8B3102B711F0D5CE00FCF3E4 /* BreakpadRelease.xcconfig */; + buildSettings = { + }; + name = Release; + }; + 9BD836030B0544BB0055103E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ../../..; + PRODUCT_NAME = minidump_upload; + }; + name = Debug; + }; + 9BD836040B0544BB0055103E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ../../..; + PRODUCT_NAME = minidump_upload; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "symupload" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB927508733DD40010E9CD /* Debug */, + 1DEB927608733DD40010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "symupload" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB927908733DD40010E9CD /* Debug */, + 1DEB927A08733DD40010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9BD836020B0544BB0055103E /* Build configuration list for PBXNativeTarget "minidump_upload" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9BD836030B0544BB0055103E /* Debug */, + 9BD836040B0544BB0055103E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/externals/breakpad/src/tools/mac/upload_system_symbols/arch_constants.h b/externals/breakpad/src/tools/mac/upload_system_symbols/arch_constants.h new file mode 100644 index 0000000000..b6dbc89a05 --- /dev/null +++ b/externals/breakpad/src/tools/mac/upload_system_symbols/arch_constants.h @@ -0,0 +1,66 @@ +/* Copyright 2014 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include <mach-o/arch.h> +#include <mach-o/loader.h> +#include <mach/machine.h> + +// Go/Cgo does not support #define constants, so turn them into symbols +// that are reachable from Go. + +#ifndef CPU_TYPE_ARM64 +#define CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) +#endif + +#ifndef CPU_SUBTYPE_ARM64_ALL +#define CPU_SUBTYPE_ARM64_ALL 0 +#endif + +#ifndef CPU_SUBTYPE_ARM64_E +#define CPU_SUBTYPE_ARM64_E 2 +#endif + +const cpu_type_t kCPU_TYPE_ARM = CPU_TYPE_ARM; +const cpu_type_t kCPU_TYPE_ARM64 = CPU_TYPE_ARM64; + +const cpu_subtype_t kCPU_SUBTYPE_ARM64_ALL = CPU_SUBTYPE_ARM64_ALL; +const cpu_subtype_t kCPU_SUBTYPE_ARM64_E = CPU_SUBTYPE_ARM64_E; +const cpu_subtype_t kCPU_SUBTYPE_ARM_V7S = CPU_SUBTYPE_ARM_V7S; + +const char* GetNXArchInfoName(cpu_type_t cpu_type, cpu_subtype_t cpu_subtype) { + const NXArchInfo* arch_info = NXGetArchInfoFromCpuType(cpu_type, cpu_subtype); + if (!arch_info) + return 0; + return arch_info->name; +} + +const uint32_t kMachHeaderFtypeDylib = MH_DYLIB; +const uint32_t kMachHeaderFtypeBundle = MH_BUNDLE; +const uint32_t kMachHeaderFtypeExe = MH_EXECUTE; +const uint32_t kMachHeaderFtypeDylinker = MH_DYLINKER; diff --git a/externals/breakpad/src/tools/mac/upload_system_symbols/arch_reader.go b/externals/breakpad/src/tools/mac/upload_system_symbols/arch_reader.go new file mode 100644 index 0000000000..03a764215a --- /dev/null +++ b/externals/breakpad/src/tools/mac/upload_system_symbols/arch_reader.go @@ -0,0 +1,68 @@ +/* Copyright 2014 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package main + +import ( + "debug/macho" +) + +/* +#include "arch_constants.h" +*/ +import "C" + +// getArchStringFromHeader takes a MachO FileHeader and returns a string that +// represents the CPU type and subtype. +// This function is a Go version of src/common/mac/arch_utilities.cc:BreakpadGetArchInfoFromCpuType(). +func getArchStringFromHeader(header macho.FileHeader) string { + // TODO(rsesek): As of 10.9.4, OS X doesn't list these in /usr/include/mach/machine.h. + if header.Cpu == C.kCPU_TYPE_ARM64 && header.SubCpu == C.kCPU_SUBTYPE_ARM64_ALL { + return "arm64" + } + if header.Cpu == C.kCPU_TYPE_ARM64 && header.SubCpu == C.kCPU_SUBTYPE_ARM64_E { + return "arm64e" + } + if header.Cpu == C.kCPU_TYPE_ARM && header.SubCpu == C.kCPU_SUBTYPE_ARM_V7S { + return "armv7s" + } + + cstr := C.GetNXArchInfoName(C.cpu_type_t(header.Cpu), C.cpu_subtype_t(header.SubCpu)) + if cstr == nil { + return "" + } + return C.GoString(cstr) +} + +const ( + MachODylib macho.Type = C.kMachHeaderFtypeDylib + MachOBundle = C.kMachHeaderFtypeBundle + MachOExe = C.kMachHeaderFtypeExe + MachODylinker = C.kMachHeaderFtypeDylinker +) diff --git a/externals/breakpad/src/tools/mac/upload_system_symbols/go.mod b/externals/breakpad/src/tools/mac/upload_system_symbols/go.mod new file mode 100644 index 0000000000..ff21bba9fd --- /dev/null +++ b/externals/breakpad/src/tools/mac/upload_system_symbols/go.mod @@ -0,0 +1,3 @@ +module upload_system_symbols + +go 1.17 diff --git a/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.go b/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.go new file mode 100644 index 0000000000..f34c288ae9 --- /dev/null +++ b/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.go @@ -0,0 +1,484 @@ +/* Copyright 2014 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +Tool upload_system_symbols generates and uploads Breakpad symbol files for OS X system libraries. + +This tool shells out to the dump_syms and symupload Breakpad tools. In its default mode, this +will find all dynamic libraries on the system, run dump_syms to create the Breakpad symbol files, +and then upload them to Google's crash infrastructure. + +The tool can also be used to only dump libraries or upload from a directory. See -help for more +information. + +Both i386 and x86_64 architectures will be dumped and uploaded. +*/ +package main + +import ( + "debug/macho" + "flag" + "fmt" + "io" + "io/ioutil" + "log" + "os" + "os/exec" + "path" + "regexp" + "strings" + "sync" + "time" +) + +var ( + breakpadTools = flag.String("breakpad-tools", "out/Release/", "Path to the Breakpad tools directory, containing dump_syms and symupload.") + uploadOnlyPath = flag.String("upload-from", "", "Upload a directory of symbol files that has been dumped independently.") + dumpOnlyPath = flag.String("dump-to", "", "Dump the symbols to the specified directory, but do not upload them.") + systemRoot = flag.String("system-root", "", "Path to the root of the Mac OS X system whose symbols will be dumped.") + dumpArchitecture = flag.String("arch", "", "The CPU architecture for which symbols should be dumped. If not specified, dumps all architectures.") + apiKey = flag.String("api-key", "", "API key to use. If this is present, the `sym-upload-v2` protocol is used.\nSee https://chromium.googlesource.com/breakpad/breakpad/+/HEAD/docs/sym_upload_v2_protocol.md or\n`symupload`'s help for more information.") +) + +var ( + // pathsToScan are the subpaths in the systemRoot that should be scanned for shared libraries. + pathsToScan = []string{ + "/System/Library/Frameworks", + "/System/Library/PrivateFrameworks", + "/usr/lib", + } + + // optionalPathsToScan is just like pathsToScan, but the paths are permitted to be absent. + optionalPathsToScan = []string{ + // Gone in 10.15. + "/Library/QuickTime", + // Not present in dumped dyld_shared_caches + "/System/Library/Components", + } + + // uploadServersV1 are the list of servers to which symbols should be + // uploaded when using the V1 protocol. + uploadServersV1 = []string{ + "https://clients2.google.com/cr/symbol", + "https://clients2.google.com/cr/staging_symbol", + } + // uploadServersV2 are the list of servers to which symbols should be + // uploaded when using the V2 protocol. + uploadServersV2 = []string{ + "https://staging-crashsymbolcollector-pa.googleapis.com", + "https://prod-crashsymbolcollector-pa.googleapis.com", + } + + // uploadServers are the list of servers that should be used, accounting + // for whether v1 or v2 protocol is used. + uploadServers = uploadServersV1 + + // blacklistRegexps match paths that should be excluded from dumping. + blacklistRegexps = []*regexp.Regexp{ + regexp.MustCompile(`/System/Library/Frameworks/Python\.framework/`), + regexp.MustCompile(`/System/Library/Frameworks/Ruby\.framework/`), + regexp.MustCompile(`_profile\.dylib$`), + regexp.MustCompile(`_debug\.dylib$`), + regexp.MustCompile(`\.a$`), + regexp.MustCompile(`\.dat$`), + } +) + +func main() { + flag.Parse() + log.SetFlags(0) + + // If `apiKey` is set, we're using the v2 protocol. + if len(*apiKey) > 0 { + uploadServers = uploadServersV2 + } + + var uq *UploadQueue + + if *uploadOnlyPath != "" { + // -upload-from specified, so handle that case early. + uq = StartUploadQueue() + uploadFromDirectory(*uploadOnlyPath, uq) + uq.Wait() + return + } + + if *systemRoot == "" { + log.Fatal("Need a -system-root to dump symbols for") + } + + if *dumpOnlyPath != "" { + // -dump-to specified, so make sure that the path is a directory. + if fi, err := os.Stat(*dumpOnlyPath); err != nil { + log.Fatalf("-dump-to location: %v", err) + } else if !fi.IsDir() { + log.Fatal("-dump-to location is not a directory") + } + } + + dumpPath := *dumpOnlyPath + if *dumpOnlyPath == "" { + // If -dump-to was not specified, then run the upload pipeline and create + // a temporary dump output directory. + uq = StartUploadQueue() + + if p, err := ioutil.TempDir("", "upload_system_symbols"); err != nil { + log.Fatalf("Failed to create temporary directory: %v", err) + } else { + dumpPath = p + defer os.RemoveAll(p) + } + } + + dq := StartDumpQueue(*systemRoot, dumpPath, uq) + dq.Wait() + if uq != nil { + uq.Wait() + } +} + +// manglePath reduces an absolute filesystem path to a string suitable as the +// base for a file name which encodes some of the original path. The result +// concatenates the leading initial from each path component except the last to +// the last path component; for example /System/Library/Frameworks/AppKit +// becomes SLFAppKit. +// Assumes ASCII. +func manglePath(path string) string { + components := strings.Split(path, "/") + n := len(components) + builder := strings.Builder{} + for i, component := range components { + if len(component) == 0 { + continue + } + if i < n-1 { + builder.WriteString(component[:1]) + } else { + builder.WriteString(component) + } + } + return builder.String() +} + +type WorkerPool struct { + wg sync.WaitGroup +} + +// StartWorkerPool will launch numWorkers goroutines all running workerFunc. +// When workerFunc exits, the goroutine will terminate. +func StartWorkerPool(numWorkers int, workerFunc func()) *WorkerPool { + p := new(WorkerPool) + for i := 0; i < numWorkers; i++ { + p.wg.Add(1) + go func() { + workerFunc() + p.wg.Done() + }() + } + return p +} + +// Wait for all the workers in the pool to complete the workerFunc. +func (p *WorkerPool) Wait() { + p.wg.Wait() +} + +type UploadQueue struct { + *WorkerPool + queue chan string +} + +// StartUploadQueue creates a new worker pool and queue, to which paths to +// Breakpad symbol files may be sent for uploading. +func StartUploadQueue() *UploadQueue { + uq := &UploadQueue{ + queue: make(chan string, 10), + } + uq.WorkerPool = StartWorkerPool(5, uq.worker) + return uq +} + +// Upload enqueues the contents of filepath to be uploaded. +func (uq *UploadQueue) Upload(filepath string) { + uq.queue <- filepath +} + +// Done tells the queue that no more files need to be uploaded. This must be +// called before WorkerPool.Wait. +func (uq *UploadQueue) Done() { + close(uq.queue) +} + +func (uq *UploadQueue) runSymUpload(symfile, server string) *exec.Cmd { + symUpload := path.Join(*breakpadTools, "symupload") + args := []string{symfile, server} + if len(*apiKey) > 0 { + args = append([]string{"-p", "sym-upload-v2", "-k", *apiKey}, args...) + } + return exec.Command(symUpload, args...) +} + +func (uq *UploadQueue) worker() { + for symfile := range uq.queue { + for _, server := range uploadServers { + for i := 0; i < 3; i++ { // Give each upload 3 attempts to succeed. + cmd := uq.runSymUpload(symfile, server) + if output, err := cmd.Output(); err == nil { + // Success. No retry needed. + fmt.Printf("Uploaded %s to %s\n", symfile, server) + break + } else if exitError, ok := err.(*exec.ExitError); ok && exitError.ExitCode() == 2 && *apiKey != "" { + // Exit code 2 in protocol v2 means the file already exists on the server. + // No point retrying. + fmt.Printf("File %s already exists on %s\n", symfile, server) + break + } else { + log.Printf("Error running symupload(%s, %s), attempt %d: %v: %s\n", symfile, server, i, err, output) + time.Sleep(1 * time.Second) + } + } + } + } +} + +type DumpQueue struct { + *WorkerPool + dumpPath string + queue chan dumpRequest + uq *UploadQueue +} + +type dumpRequest struct { + path string + arch string +} + +// StartDumpQueue creates a new worker pool to find all the Mach-O libraries in +// root and dump their symbols to dumpPath. If an UploadQueue is passed, the +// path to the symbol file will be enqueued there, too. +func StartDumpQueue(root, dumpPath string, uq *UploadQueue) *DumpQueue { + dq := &DumpQueue{ + dumpPath: dumpPath, + queue: make(chan dumpRequest), + uq: uq, + } + dq.WorkerPool = StartWorkerPool(12, dq.worker) + + findLibsInRoot(root, dq) + + return dq +} + +// DumpSymbols enqueues the filepath to have its symbols dumped in the specified +// architecture. +func (dq *DumpQueue) DumpSymbols(filepath string, arch string) { + dq.queue <- dumpRequest{ + path: filepath, + arch: arch, + } +} + +func (dq *DumpQueue) Wait() { + dq.WorkerPool.Wait() + if dq.uq != nil { + dq.uq.Done() + } +} + +func (dq *DumpQueue) done() { + close(dq.queue) +} + +func (dq *DumpQueue) worker() { + dumpSyms := path.Join(*breakpadTools, "dump_syms") + + for req := range dq.queue { + filebase := path.Join(dq.dumpPath, manglePath(req.path)) + symfile := fmt.Sprintf("%s_%s.sym", filebase, req.arch) + f, err := os.Create(symfile) + if err != nil { + log.Fatalf("Error creating symbol file: %v", err) + } + + cmd := exec.Command(dumpSyms, "-a", req.arch, req.path) + cmd.Stdout = f + err = cmd.Run() + f.Close() + + if err != nil { + os.Remove(symfile) + log.Printf("Error running dump_syms(%s, %s): %v\n", req.arch, req.path, err) + } else if dq.uq != nil { + dq.uq.Upload(symfile) + } + } +} + +// uploadFromDirectory handles the upload-only case and merely uploads all files in +// a directory. +func uploadFromDirectory(directory string, uq *UploadQueue) { + d, err := os.Open(directory) + if err != nil { + log.Fatalf("Could not open directory to upload: %v", err) + } + defer d.Close() + + entries, err := d.Readdirnames(0) + if err != nil { + log.Fatalf("Could not read directory: %v", err) + } + + for _, entry := range entries { + uq.Upload(path.Join(directory, entry)) + } + + uq.Done() +} + +// findQueue is an implementation detail of the DumpQueue that finds all the +// Mach-O files and their architectures. +type findQueue struct { + *WorkerPool + queue chan string + dq *DumpQueue +} + +// findLibsInRoot looks in all the pathsToScan in the root and manages the +// interaction between findQueue and DumpQueue. +func findLibsInRoot(root string, dq *DumpQueue) { + fq := &findQueue{ + queue: make(chan string, 10), + dq: dq, + } + fq.WorkerPool = StartWorkerPool(12, fq.worker) + + for _, p := range pathsToScan { + fq.findLibsInPath(path.Join(root, p), true) + } + + for _, p := range optionalPathsToScan { + fq.findLibsInPath(path.Join(root, p), false) + } + + close(fq.queue) + fq.Wait() + dq.done() +} + +// findLibsInPath recursively walks the directory tree, sending file paths to +// test for being Mach-O to the findQueue. +func (fq *findQueue) findLibsInPath(loc string, mustExist bool) { + d, err := os.Open(loc) + if err != nil { + if !mustExist && os.IsNotExist(err) { + return + } + log.Fatalf("Could not open %s: %v", loc, err) + } + defer d.Close() + + for { + fis, err := d.Readdir(100) + if err != nil && err != io.EOF { + log.Fatalf("Error reading directory %s: %v", loc, err) + } + + for _, fi := range fis { + fp := path.Join(loc, fi.Name()) + if fi.IsDir() { + fq.findLibsInPath(fp, true) + continue + } else if fi.Mode()&os.ModeSymlink != 0 { + continue + } + + // Test the blacklist in the worker to not slow down this main loop. + + fq.queue <- fp + } + + if err == io.EOF { + break + } + } +} + +func (fq *findQueue) worker() { + for fp := range fq.queue { + blacklisted := false + for _, re := range blacklistRegexps { + blacklisted = blacklisted || re.MatchString(fp) + } + if blacklisted { + continue + } + + f, err := os.Open(fp) + if err != nil { + log.Printf("%s: %v", fp, err) + continue + } + + fatFile, err := macho.NewFatFile(f) + if err == nil { + // The file is fat, so dump its architectures. + for _, fatArch := range fatFile.Arches { + fq.dumpMachOFile(fp, fatArch.File) + } + fatFile.Close() + } else if err == macho.ErrNotFat { + // The file isn't fat but may still be MachO. + thinFile, err := macho.NewFile(f) + if err != nil { + log.Printf("%s: %v", fp, err) + continue + } + fq.dumpMachOFile(fp, thinFile) + thinFile.Close() + } else { + f.Close() + } + } +} + +func (fq *findQueue) dumpMachOFile(fp string, image *macho.File) { + if image.Type != MachODylib && image.Type != MachOBundle && image.Type != MachODylinker { + return + } + + arch := getArchStringFromHeader(image.FileHeader) + if arch == "" { + // Don't know about this architecture type. + return + } + + if (*dumpArchitecture != "" && *dumpArchitecture == arch) || *dumpArchitecture == "" { + fq.dq.DumpSymbols(fp, arch) + } +} diff --git a/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.sh b/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.sh new file mode 100755 index 0000000000..43fd98ed52 --- /dev/null +++ b/externals/breakpad/src/tools/mac/upload_system_symbols/upload_system_symbols.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +# Copyright 2023 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Finds the dyld_shared_cache on a system, extracts it, and dumps the symbols +# in Breakpad format to the directory passed as the first argument +# The script must be in the same directory as `dump_syms`, +# `upload_system_symbols` and `dsc_extractor` binaries. +# Exits with 0 if all supported architectures for this OS version were found and +# dumped, and nonzero otherwise. + +set -ex + +if [[ $# -ne 1 ]]; then + echo "usage: $0 <destination_directory>" >& 2 + exit 1 +fi + +destination_dir="$1" + +dir="$(dirname "$0")" +dir="$(cd "${dir}"; pwd)" +major_version=$(sw_vers -productVersion | cut -d . -f 1) +if [[ "${major_version}" -lt 13 ]]; then + dsc_directory="/System/Library/dyld" +else + dsc_directory="/System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld" +fi + +working_dir=$(mktemp -d) +mkdir "${destination_dir}" +trap 'rm -rf "${working_dir}" "${destination_dir}"' EXIT + +architectures=(x86_64h) +missing_architectures=() +# macOS >= 13 on arm64 still has a x86_64 cache for Rosetta. +if [[ "${major_version}" -lt 13 ]] || [[ $(uname -p) == "arm" ]]; then + architectures+=( x86_64 ) +fi +if [[ "${major_version}" -ge 11 ]]; then + architectures+=( arm64e ) +fi + +for arch in "${architectures[@]}"; do + cache="${dsc_directory}/dyld_shared_cache_${arch}" + if [[ ! -f "${cache}" ]]; then + missing_architectures+=("${arch}") + continue + fi + "${dir}/dsc_extractor" \ + "${cache}" \ + "${working_dir}/${arch}" + "${dir}/upload_system_symbols" \ + --breakpad-tools="${dir}" \ + --system-root="${working_dir}/${arch}" \ + --dump-to="${destination_dir}" +done +if [[ "${#missing_architectures[@]}" -eq "${#architectures[@]}" ]]; then + echo "Couldn't locate dyld_shared_cache for any architectures" >& 2 + echo "in ${dsc_directory}. Exiting." >& 2 + exit 1 +fi + +rm -rf "${working_dir}" +# We have results now, so let's keep `destination_dir`. +trap '' EXIT + +"${dir}/upload_system_symbols" \ + --breakpad-tools="${dir}" \ + --system-root=/ \ + --dump-to="${destination_dir}" + +set +x +echo +echo "Dumped!" +echo "To upload, run:" +echo +echo "'${dir}/upload_system_symbols'" \\ +echo " --breakpad-tools='${dir}'" \\ +echo " --api-key=<YOUR API KEY>" \\ +echo " --upload-from='${destination_dir}'" + +if [[ "${#missing_architectures[@]}" -gt 0 ]]; then + echo "dyld_shared_cache not found for architecture(s):" >& 2 + echo " " "${missing_architectures[@]}" >& 2 + echo "You'll need to get symbols for them elsewhere." >& 2 + exit 1 +fi diff --git a/externals/breakpad/src/tools/python/deps-to-manifest.py b/externals/breakpad/src/tools/python/deps-to-manifest.py new file mode 100755 index 0000000000..b614f94fdd --- /dev/null +++ b/externals/breakpad/src/tools/python/deps-to-manifest.py @@ -0,0 +1,165 @@ +#!/usr/bin/env python3 +# Copyright 2016 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Convert gclient's DEPS file to repo's manifest xml file.""" + +import argparse +import os +import sys + + +REMOTES = { + 'chromium': 'https://chromium.googlesource.com/', + 'github': 'https://github.com/', +} +REVIEWS = { + 'chromium': 'https://chromium-review.googlesource.com', +} + +MANIFEST_HEAD = """<?xml version='1.0' encoding='UTF-8'?> +<!-- AUTOGENERATED BY %(prog)s; DO NOT EDIT --> +<manifest> + + <default revision='refs/heads/main' + remote='chromium' + sync-c='true' + sync-j='8' /> +""" + +MANIFEST_REMOTE = """ + <remote name='%(name)s' + fetch='%(fetch)s' + review='%(review)s' /> +""" + +MANIFEST_PROJECT = """ + <project path='%(path)s' + name='%(name)s' + revision='%(revision)s' + remote='%(remote)s' /> +""" + +MANIFEST_TAIL = """ +</manifest> +""" + + +def ConvertDepsToManifest(deps, manifest): + """Convert the |deps| file to the |manifest|.""" + # Load the DEPS file data. + ctx = {} + with open(deps, 'rb') as file: + exec(compile(file.read(), deps, 'exec'), ctx) + + new_contents = '' + + # Write out the common header. + data = { + 'prog': os.path.basename(__file__), + } + new_contents += MANIFEST_HEAD % data + + # Write out the <remote> sections. + for name, fetch in REMOTES.items(): + data = { + 'name': name, + 'fetch': fetch, + 'review': REVIEWS.get(name, ''), + } + new_contents += MANIFEST_REMOTE % data + + # Write out the main repo itself. + data = { + 'path': 'src', + 'name': 'breakpad/breakpad', + 'revision': 'refs/heads/main', + 'remote': 'chromium', + } + new_contents += MANIFEST_PROJECT % data + + # Write out the <project> sections. + for path, url in ctx['deps'].items(): + for name, fetch in REMOTES.items(): + if url.startswith(fetch): + remote = name + break + else: + raise ValueError('Unknown DEPS remote: %s: %s' % (path, url)) + + # The DEPS url will look like: + # https://chromium.googlesource.com/external/gyp/@e8ab0833a42691cd2 + remote_path, rev = url.split('@') + remote_path = remote_path[len(fetch):] + + # If it's not a revision, assume it's a tag. Repo wants full ref names. + if len(rev) != 40: + rev = 'refs/tags/%s' % rev + + data = { + 'path': path, + 'name': remote_path, + 'revision': rev, + 'remote': remote, + } + new_contents += MANIFEST_PROJECT % data + + # Write out the common footer. + new_contents += MANIFEST_TAIL + + # See if the manifest has actually changed contents to avoid thrashing. + try: + old_contents = open(manifest).read() + except IOError: + # In case the file doesn't exist yet. + old_contents = '' + if old_contents != new_contents: + print('Updating %s due to changed %s' % (manifest, deps)) + with open(manifest, 'w') as fp: + fp.write(new_contents) + + +def GetParser(): + """Return a CLI parser.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('deps', + help='The DEPS file to convert') + parser.add_argument('manifest', + help='The manifest xml to generate') + return parser + + +def main(argv): + """The main func!""" + parser = GetParser() + opts = parser.parse_args(argv) + ConvertDepsToManifest(opts.deps, opts.manifest) + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/externals/breakpad/src/tools/python/filter_syms.py b/externals/breakpad/src/tools/python/filter_syms.py new file mode 100644 index 0000000000..8537769e90 --- /dev/null +++ b/externals/breakpad/src/tools/python/filter_syms.py @@ -0,0 +1,202 @@ +#!/usr/bin/env python3 +# Copyright 2012 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Normalizes and de-duplicates paths within Breakpad symbol files. + +When using DWARF for storing debug symbols, some file information will be +stored relative to the current working directory of the current compilation +unit, and may be further relativized based upon how the file was #included. + +This helper can be used to parse the Breakpad symbol file generated from such +DWARF files and normalize and de-duplicate the FILE records found within, +updating any references to the FILE records in the other record types. +""" + +import ntpath +import optparse +import os +import posixpath +import sys + +class BreakpadParseError(Exception): + """Unsupported Breakpad symbol record exception class.""" + pass + +class SymbolFileParser(object): + """Parser for Breakpad symbol files. + + The format of these files is documented at + https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/symbol_files.md + """ + + def __init__(self, input_stream, output_stream, ignored_prefixes=None, + path_handler=os.path): + """Inits a SymbolFileParser to read symbol records from |input_stream| and + write the processed output to |output_stream|. + + |ignored_prefixes| contains a list of optional path prefixes that + should be stripped from the final, normalized path outputs. + + For example, if the Breakpad symbol file had all paths starting with a + common prefix, such as: + FILE 1 /b/build/src/foo.cc + FILE 2 /b/build/src/bar.cc + Then adding "/b/build/src" as an ignored prefix would result in an output + file that contained: + FILE 1 foo.cc + FILE 2 bar.cc + + Note that |ignored_prefixes| does not necessarily contain file system + paths, as the contents of the DWARF DW_AT_comp_dir attribute is dependent + upon the host system and compiler, and may contain additional information + such as hostname or compiler version. + """ + + self.unique_files = {} + self.duplicate_files = {} + self.input_stream = input_stream + self.output_stream = output_stream + self.ignored_prefixes = ignored_prefixes or [] + self.path_handler = path_handler + + def Process(self): + """Processes the Breakpad symbol file.""" + for line in self.input_stream: + parsed = self._ParseRecord(line.rstrip()) + if parsed: + self.output_stream.write(parsed + '\n') + + def _ParseRecord(self, record): + """Parses a single Breakpad symbol record - a single line from the symbol + file. + + Returns: + The modified string to write to the output file, or None if no line + should be written. + """ + record_type = record.partition(' ')[0] + if record_type == 'FILE': + return self._ParseFileRecord(record) + elif self._IsLineRecord(record_type): + return self._ParseLineRecord(record) + else: + # Simply pass the record through unaltered. + return record + + def _NormalizePath(self, path): + """Normalizes a file path to its canonical form. + + As this may not execute on the machine or file system originally + responsible for compilation, it may be necessary to further correct paths + for symlinks, junctions, or other such file system indirections. + + Returns: + A unique, canonical representation for the the file path. + """ + return self.path_handler.normpath(path) + + def _AdjustPath(self, path): + """Adjusts the supplied path after performing path de-duplication. + + This may be used to perform secondary adjustments, such as removing a + common prefix, such as "/D/build", or replacing the file system path with + information from the version control system. + + Returns: + The actual path to use when writing the FILE record. + """ + return path[len(next(filter(path.startswith, + self.ignored_prefixes + ['']))):] + + def _ParseFileRecord(self, file_record): + """Parses and corrects a FILE record.""" + file_info = file_record[5:].split(' ', 3) + if len(file_info) > 2: + raise BreakpadParseError('Unsupported FILE record: ' + file_record) + file_index = int(file_info[0]) + file_name = self._NormalizePath(file_info[1]) + existing_file_index = self.unique_files.get(file_name) + if existing_file_index is None: + self.unique_files[file_name] = file_index + file_info[1] = self._AdjustPath(file_name) + return 'FILE ' + ' '.join(file_info) + else: + self.duplicate_files[file_index] = existing_file_index + return None + + def _IsLineRecord(self, record_type): + """Determines if the current record type is a Line record""" + try: + line = int(record_type, 16) + except (ValueError, TypeError): + return False + return True + + def _ParseLineRecord(self, line_record): + """Parses and corrects a Line record.""" + line_info = line_record.split(' ', 5) + if len(line_info) > 4: + raise BreakpadParseError('Unsupported Line record: ' + line_record) + file_index = int(line_info[3]) + line_info[3] = str(self.duplicate_files.get(file_index, file_index)) + return ' '.join(line_info) + +def main(): + option_parser = optparse.OptionParser() + option_parser.add_option("-p", "--prefix", + action="append", dest="prefixes", type="string", + default=[], + help="A path prefix that should be removed from " + "all FILE lines. May be repeated to specify " + "multiple prefixes.") + option_parser.add_option("-t", "--path_type", + action="store", type="choice", dest="path_handler", + choices=['win32', 'posix'], + help="Indicates how file paths should be " + "interpreted. The default is to treat paths " + "the same as the OS running Python (eg: " + "os.path)") + options, args = option_parser.parse_args() + if args: + option_parser.error('Unknown argument: %s' % args) + + path_handler = { 'win32': ntpath, + 'posix': posixpath }.get(options.path_handler, os.path) + try: + symbol_parser = SymbolFileParser(sys.stdin, sys.stdout, options.prefixes, + path_handler) + symbol_parser.Process() + except BreakpadParseError as e: + print >> sys.stderr, 'Got an error while processing symbol file' + print >> sys.stderr, str(e) + return 1 + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/externals/breakpad/src/tools/python/tests/filter_syms_unittest.py b/externals/breakpad/src/tools/python/tests/filter_syms_unittest.py new file mode 100644 index 0000000000..f6364b8b32 --- /dev/null +++ b/externals/breakpad/src/tools/python/tests/filter_syms_unittest.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +# Copyright 2012 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Unit tests for filter_syms.py""" + +import io +import ntpath +import os +import sys +import unittest + +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, os.path.join(ROOT_DIR, '..')) + +# In root +import filter_syms + +class FilterSysmsTest(unittest.TestCase): + def assertParsed(self, input_data, ignored_prefixes, expected): + input_io = io.StringIO(input_data) + output_io = io.StringIO() + parser = filter_syms.SymbolFileParser(input_io, output_io, + ignored_prefixes, ntpath) + parser.Process() + self.assertEqual(output_io.getvalue(), expected) + + def testDuplicateFiles(self): + """Tests that duplicate files in FILE records are correctly removed and + that Line records are updated.""" + + INPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 foo/../file1_1.cc +FILE 2 bar/../file1_1.cc +FILE 3 baz/../file1_1.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 2 +1008 4 46 3 +100c 4 44 1 +""" + EXPECTED_OUTPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 file1_1.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 1 +1008 4 46 1 +100c 4 44 1 +""" + self.assertParsed(INPUT, [], EXPECTED_OUTPUT) + + def testIgnoredPrefix(self): + """Tests that prefixes in FILE records are correctly removed.""" + + INPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 /src/build/foo/../file1_1.cc +FILE 2 /src/build/bar/../file1_2.cc +FILE 3 /src/build/baz/../file1_2.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 2 +1008 4 46 3 +100c 4 44 1 +""" + EXPECTED_OUTPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 file1_1.cc +FILE 2 file1_2.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 2 +1008 4 46 2 +100c 4 44 1 +""" + IGNORED_PREFIXES = ['\\src\\build\\'] + self.assertParsed(INPUT, IGNORED_PREFIXES, EXPECTED_OUTPUT) + + def testIgnoredPrefixesDuplicateFiles(self): + """Tests that de-duplication of FILE records happens BEFORE prefixes + are removed.""" + + INPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 /src/build/foo/../file1_1.cc +FILE 2 /src/build/bar/../file1_2.cc +FILE 3 D:/src/build2/baz/../file1_2.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 2 +1008 4 46 3 +100c 4 44 1 +""" + EXPECTED_OUTPUT = \ +"""MODULE windows x86 111111111111111111111111111111111 module1.pdb +INFO CODE_ID FFFFFFFF module1.exe +FILE 1 file1_1.cc +FILE 2 file1_2.cc +FILE 3 file1_2.cc +FUNC 1000 c 0 Function1_1 +1000 8 45 2 +1008 4 46 3 +100c 4 44 1 +""" + IGNORED_PREFIXES = ['\\src\\build\\', 'D:\\src\\build2\\'] + self.assertParsed(INPUT, IGNORED_PREFIXES, EXPECTED_OUTPUT) + +if __name__ == '__main__': + unittest.main() diff --git a/externals/breakpad/src/tools/solaris/dump_syms/Makefile b/externals/breakpad/src/tools/solaris/dump_syms/Makefile new file mode 100644 index 0000000000..c5f48240e3 --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/Makefile @@ -0,0 +1,63 @@ +# Copyright 2007 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Author: Alfred Peng + +CXX=CC +CC=cc + +CXXFLAGS=-g -xs -xdebugformat=stabs -I../../.. -I../../../common/solaris -lelf -ldemangle -D_REENTRANT + +.PHONY:all clean + +BIN=dump_syms + +all:$(BIN) + +DUMP_OBJ=dump_symbols.o guid_creator.o dump_syms.o file_id.o md5.o + +dump_syms:$(DUMP_OBJ) + $(CXX) $(CXXFLAGS) -o $@ $^ + +dump_symbols.o:../../../common/solaris/dump_symbols.cc + $(CXX) $(CXXFLAGS) -c $^ + +guid_creator.o:../../../common/solaris/guid_creator.cc + $(CXX) $(CXXFLAGS) -c $^ + +file_id.o:../../../common/solaris/file_id.cc + $(CXX) $(CXXFLAGS) -c $^ + +md5.o:../../../common/md5.cc + $(CXX) $(CXXFLAGS) -c $^ + +test:all + ./run_regtest.sh + +clean: + rm -f $(BIN) $(DUMP_OBJ) diff --git a/externals/breakpad/src/tools/solaris/dump_syms/dump_syms.cc b/externals/breakpad/src/tools/solaris/dump_syms/dump_syms.cc new file mode 100644 index 0000000000..ead1600116 --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/dump_syms.cc @@ -0,0 +1,57 @@ +// Copyright 2007 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: Alfred Peng + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <string> +#include <cstdio> + +#include "common/solaris/dump_symbols.h" + +using namespace google_breakpad; + +int main(int argc, char** argv) { + if (argc != 2) { + fprintf(stderr, "Usage: %s <binary-with-stab-symbol>\n", argv[0]); + return 1; + } + + const char* binary = argv[1]; + + DumpSymbols dumper; + if (!dumper.WriteSymbolFile(binary, fileno(stdout))) { + fprintf(stderr, "Failed to write symbol file.\n"); + return 1; + } + + return 0; +} diff --git a/externals/breakpad/src/tools/solaris/dump_syms/run_regtest.sh b/externals/breakpad/src/tools/solaris/dump_syms/run_regtest.sh new file mode 100644 index 0000000000..27710d9ac5 --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/run_regtest.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# Copyright 2007 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +./dump_syms testdata/dump_syms_regtest.o > testdata/dump_syms_regtest.new +status=$? + +if [ $status -ne 0 ] ; then + echo "FAIL, dump_syms failed" + exit $status +fi + +diff -u testdata/dump_syms_regtest.new testdata/dump_syms_regtest.sym > \ + testdata/dump_syms_regtest.diff +status=$? + +if [ $status -eq 0 ] ; then + rm testdata/dump_syms_regtest.diff testdata/dump_syms_regtest.new + echo "PASS" +else + echo "FAIL, see testdata/dump_syms_regtest.[new|diff]" +fi + +exit $status diff --git a/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.cc b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.cc new file mode 100644 index 0000000000..fb6c883b5c --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.cc @@ -0,0 +1,67 @@ +// Copyright 2007 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ./dump_syms dump_syms_regtest.pdb > dump_syms_regtest.sym + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +namespace google_breakpad { + +class C { + public: + C() : member_(1) {} + virtual ~C() {} + + void set_member(int value) { member_ = value; } + int member() const { return member_; } + + void f() { member_ = g(); } + virtual int g() { return 2; } + static char* h(const C& that) { return 0; } + + private: + int member_; +}; + +static int i() { + return 3; +} + +} // namespace google_breakpad + +int main(int argc, char** argv) { + google_breakpad::C object; + object.set_member(google_breakpad::i()); + object.f(); + int value = object.g(); + char* nothing = object.h(object); + + return 0; +} diff --git a/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.stabs b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.stabs new file mode 100644 index 0000000000..c5f93ef78c --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.stabs @@ -0,0 +1,129 @@ + + +Debugging Stab table -- 104 entries + + 0: .stabs "dump_syms_regtest.cc",N_UNDF,0x0,0x67,0x71c + 1: .stabs "/export/home/alfred/cvs/breakpad/google-breakpad20070927/src/tools/solaris/dump_syms/testdata/",N_SO,0x0,0x0,0x0 + 2: .stabs "dump_syms_regtest.cc",N_SO,0x0,0x4,0x0 + 3: .stabs "",N_OBJ,0x0,0x0,0x0 + 4: .stabs "",N_OBJ,0x0,0x0,0x0 + 5: .stabs "V=9.0;DBG_GEN=5.0.8;dm;cd;backend;ptf;ptx;ptk;s;g;R=5.8<<Sun C++ 5.8 Patch 121018-07 2006/11/01 (ccfe)>>;G=.XAB6Z2hOiL$Gl1b.;A=2",N_OPT,0x0,0x0,0x46fcb88e + 6: .stabs "dump_syms_regtest.cc",N_SOL,0x0,0x0,0x0 + 7: .stabs "char:t(0,1)=bsc1;0;8",N_ISYM,0x0,0x0,0x0 + 8: .stabs "short:t(0,2)=bs2;0;16",N_ISYM,0x0,0x0,0x0 + 9: .stabs "int:t(0,3)=bs4;0;32",N_ISYM,0x0,0x0,0x0 + 10: .stabs "long:t(0,4)=bs4;0;32",N_ISYM,0x0,0x0,0x0 + 11: .stabs "long long:t(0,5)=bs8;0;64",N_ISYM,0x0,0x0,0x0 + 12: .stabs "unsigned char:t(0,6)=buc1;0;8",N_ISYM,0x0,0x0,0x0 + 13: .stabs "unsigned short:t(0,7)=bu2;0;16",N_ISYM,0x0,0x0,0x0 + 14: .stabs "unsigned:t(0,8)=bu4;0;32",N_ISYM,0x0,0x0,0x0 + 15: .stabs "unsigned long:t(0,9)=bu4;0;32",N_ISYM,0x0,0x0,0x0 + 16: .stabs "unsigned long long:t(0,10)=bu8;0;64",N_ISYM,0x0,0x0,0x0 + 17: .stabs "signed char:t(0,11)=bsc1;0;8",N_ISYM,0x0,0x0,0x0 + 18: .stabs "wchar_t:t(0,12)=buc4;0;32",N_ISYM,0x0,0x0,0x0 + 19: .stabs "void:t(0,13)=bs0;0;0",N_ISYM,0x0,0x0,0x0 + 20: .stabs "float:t(0,14)=R1;4",N_ISYM,0x0,0x0,0x0 + 21: .stabs "double:t(0,15)=R2;8",N_ISYM,0x0,0x0,0x0 + 22: .stabs "long double:t(0,16)=R6;12",N_ISYM,0x0,0x0,0x0 + 23: .stabs "...:t(0,17)=buv4;0;32",N_ISYM,0x0,0x0,0x0 + 24: .stabs "bool:t(0,18)=bub1;0;8",N_ISYM,0x0,0x0,0x0 + 25: .stabs "__1nPgoogle_breakpad_:T(0,19)=Yn0google_breakpad;",N_ISYM,0x0,0x0,0x0 + 26: .stabs "nBC(0,19):U(0,20)",N_ESYM,0x0,0x0,0x0 + 27: .stabs "nBC(0,19):T(0,20)=Yc8C;;AcHmember_:(0,3),32,32;;Cc2t6M_v K2c2T6M_v CcKset_member6Mi_v CcGmember6kM_i CcBf6M_v K3cBg6M_i GcBh6Frk1_pc;;;2 0;;;;110;",N_ESYM,0x0,0x8,0x0 + 28: .stabs "main:F(0,3);(0,3);(0,21)=*(0,22)=*(0,1)",N_FUN,0x0,0x38,0x0 + 29: .stabs "main",N_MAIN,0x0,0x0,0x0 + 30: .stabs "argc:p(0,3)",N_PSYM,0x0,0x4,0x8 + 31: .stabs "argv:p(0,21)",N_PSYM,0x0,0x4,0xc + 32: .stabn N_LBRAC,0x0,0x1,0x12 + 33: .stabs "object:(0,20)",N_LSYM,0x0,0x8,0xfffffff4 + 34: .stabs "value:(0,3)",N_LSYM,0x0,0x4,0xfffffff0 + 35: .stabs "nothing:(0,22)",N_LSYM,0x0,0x4,0xffffffec + 36: .stabn N_SLINE,0x0,0x39,0x12 + 37: .stabs "object:2",N_CONSTRUCT,0x0,0xc,0x12 + 38: .stabn N_SLINE,0x2,0x3a,0x1e + 39: .stabn N_SLINE,0x0,0x3b,0x36 + 40: .stabn N_SLINE,0x0,0x3c,0x42 + 41: .stabn N_SLINE,0x0,0x3d,0x57 + 42: .stabn N_SLINE,0x0,0x3f,0x6c + 43: .stabs "2:0",N_DESTRUCT,0x0,0xc,0x73 + 44: .stabn N_SLINE,0xfffffffe,0x40,0x9c + 45: .stabn N_RBRAC,0x0,0x1,0x9c + 46: .stabs "__1cPgoogle_breakpadBi6F_i_:f(0,3)",N_FUN,0x0,0x32,0x0 + 47: .stabn N_LBRAC,0x0,0x1,0x6 + 48: .stabn N_SLINE,0x0,0x33,0x6 + 49: .stabn N_SLINE,0x0,0x34,0x10 + 50: .stabn N_RBRAC,0x0,0x1,0x10 + 51: .stabs "__1cPgoogle_breakpadBC2t6M_v_:F(0,13);(0,23)=*(0,20)",N_FUN,0x0,0x24,0x0 + 52: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 53: .stabn N_LBRAC,0x0,0x1,0x3 + 54: .stabn N_SLINE,0x0,0x24,0x25 + 55: .stabn N_RBRAC,0x0,0x1,0x25 + 56: .stabs "__1cPgoogle_breakpadBC2T6M_v_:F(0,13);(0,23)",N_FUN,0x0,0x25,0x0 + 57: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 58: .stabn N_LBRAC,0x0,0x1,0x3 + 59: .stabn N_SLINE,0x0,0x25,0x3 + 60: .stabn N_RBRAC,0x0,0x1,0x3 + 61: .stabs "__1cPgoogle_breakpadBCKset_member6Mi_v_:F(0,13);(0,23);(0,3)",N_FUN,0x0,0x27,0x0 + 62: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 63: .stabs "value:p(0,3)",N_PSYM,0x0,0x4,0xc + 64: .stabn N_LBRAC,0x0,0x1,0x3 + 65: .stabn N_SLINE,0x0,0x27,0x3 + 66: .stabn N_SLINE,0x0,0x27,0xc + 67: .stabn N_RBRAC,0x0,0x1,0xc + 68: .stabs "__1cPgoogle_breakpadBCBf6M_v_:F(0,13);(0,23)",N_FUN,0x0,0x2a,0x0 + 69: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 70: .stabn N_LBRAC,0x0,0x1,0x3 + 71: .stabn N_SLINE,0x0,0x2a,0x3 + 72: .stabn N_SLINE,0x0,0x2a,0x1d + 73: .stabn N_RBRAC,0x0,0x1,0x1d + 74: .stabs "__1cPgoogle_breakpadBCBg6M_i_:F(0,3);(0,23)",N_FUN,0x0,0x2b,0x0 + 75: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 76: .stabn N_LBRAC,0x0,0x1,0x6 + 77: .stabn N_SLINE,0x0,0x2b,0x6 + 78: .stabn N_SLINE,0x0,0x2b,0x10 + 79: .stabn N_RBRAC,0x0,0x1,0x10 + 80: .stabs "__1cPgoogle_breakpadBCBh6Frk1_pc_:F(0,22);(0,24)=&(0,25)=k(0,20)",N_FUN,0x0,0x2c,0x0 + 81: .stabs "that:p(0,24)",N_PSYM,0x0,0x4,0x8 + 82: .stabn N_LBRAC,0x0,0x1,0x6 + 83: .stabn N_SLINE,0x0,0x2c,0x6 + 84: .stabn N_SLINE,0x0,0x2c,0x10 + 85: .stabn N_RBRAC,0x0,0x1,0x10 + 86: .stabs "__1cPgoogle_breakpadBC2T5B6M_v_:F(0,13);(0,23)",N_FUN,0x0,0x25,0x0 + 87: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 88: .stabn N_LBRAC,0x0,0x1,0x3 + 89: .stabn N_SLINE,0x0,0x25,0xf + 90: .stabn N_RBRAC,0x0,0x1,0xf + 91: .stabs "__SLIP.DELETER__A:f(0,13);(0,23);(0,3)",N_FUN,0x0,0x25,0x0 + 92: .stabs "this:p(0,23)",N_PSYM,0x0,0x4,0x8 + 93: .stabs "delete:p(0,3)",N_PSYM,0x0,0x4,0xc + 94: .stabn N_LBRAC,0x0,0x1,0x3 + 95: .stabn N_LBRAC,0x0,0x2,0x3 + 96: .stabn N_RBRAC,0x0,0x2,0x28 + 97: .stabn N_RBRAC,0x0,0x1,0x28 + 98: .stabs "true:l(0,18);1",N_LSYM,0x0,0x4,0x0 + 99: .stabs "false:l(0,18);0",N_LSYM,0x0,0x4,0x0 + 100: .stabs "__1c2k6Fpv_v_:P(0,13);(0,26)=*(0,13)",N_FUN,0x0,0x0,0x0 + 101: .stabs "__1cPgoogle_breakpadBC2t5B6M_v_:F__1cPgoogle_breakpadBC2t6M_v_",N_ALIAS,0x0,0x0,0x0 + 102: .stabs "cbD__RTTI__1nPgoogle_breakpadBC_(0,19):YR(0,20)",N_LSYM,0x0,0x0,0x0 + 103: .stabn N_ENDM,0x0,0x0,0x0 + + +Index Stab table -- 17 entries + + 0: .stabs "dump_syms_regtest.cc",N_UNDF,0x0,0x10,0x3b1 + 1: .stabs "/export/home/alfred/cvs/breakpad/google-breakpad20070927/src/tools/solaris/dump_syms/testdata/",N_SO,0x0,0x0,0x0 + 2: .stabs "dump_syms_regtest.cc",N_SO,0x0,0x4,0x0 + 3: .stabs "/export/home/alfred/cvs/breakpad/google-breakpad20070927/src/tools/solaris/dump_syms/testdata",N_OBJ,0x0,0x0,0x0 + 4: .stabs "dump_syms_regtest.o",N_OBJ,0x0,0x0,0x0 + 5: .stabs "V=9.0;DBG_GEN=5.0.8;dm;cd;backend;ptf;ptx;ptk;s;g;R=5.8<<Sun C++ 5.8 Patch 121018-07 2006/11/01 (ccfe)>>;G=.XAB6Z2hOiL$Gl1b.;A=2",N_OPT,0x0,0x0,0x46fcb88e + 6: .stabs "/export/home/alfred/cvs/breakpad/google-breakpad20070927/src/tools/solaris/dump_syms/testdata/; /ws/on10-tools-prc/SUNWspro/SS11/prod/bin/CC -g -xs -xdebugformat=stabs -I../../.. -I../../../common/solaris -D_REENTRANT -xs dump_syms_regtest.cc -Qoption ccfe -prefix -Qoption ccfe .XAB6Z2hOiL\$Gl1b.",N_CMDLINE,0x0,0x0,0x0 + 7: .stabs "__1nPgoogle_breakpadBC_:U",N_ESYM,0x0,0x0,0x0 + 8: .stabs "main",N_MAIN,0x0,0x0,0x0 + 9: .stabs "main",N_FUN,0x0,0x0,0x0 + 10: .stabs "__1cPgoogle_breakpadBC2t6M_v_",N_FUN,0x0,0x0,0x0 + 11: .stabs "__1cPgoogle_breakpadBC2T6M_v_",N_FUN,0x0,0x0,0x0 + 12: .stabs "__1cPgoogle_breakpadBCKset_member6Mi_v_",N_FUN,0x0,0x0,0x0 + 13: .stabs "__1cPgoogle_breakpadBCBf6M_v_",N_FUN,0x0,0x0,0x0 + 14: .stabs "__1cPgoogle_breakpadBCBg6M_i_",N_FUN,0x0,0x0,0x0 + 15: .stabs "__1cPgoogle_breakpadBCBh6Frk1_pc_",N_FUN,0x0,0x0,0x0 + 16: .stabs "__1cPgoogle_breakpadBC2T5B6M_v_",N_FUN,0x0,0x0,0x0 diff --git a/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.sym b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.sym new file mode 100644 index 0000000000..44d3c5391c --- /dev/null +++ b/externals/breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.sym @@ -0,0 +1,33 @@ +MODULE solaris x86 3DC8191474338D8587339B5FB3E2C62A0 dump_syms_regtest.o +FILE 0 dump_syms_regtest.cc +FUNC 0 156 0 main +12 18 57 0 +1e 12 58 0 +36 24 59 0 +42 12 60 0 +57 21 61 0 +6c 21 63 0 +9c 48 64 0 +FUNC 0 16 0 int google_breakpad::i() +6 6 51 0 +10 10 52 0 +FUNC 0 37 0 google_breakpad::C::C() +25 37 36 0 +FUNC 0 3 0 google_breakpad::C::~C() +3 3 37 0 +FUNC 0 12 0 void google_breakpad::C::set_member(int) +3 3 39 0 +c 9 39 0 +FUNC 0 29 0 void google_breakpad::C::f() +3 3 42 0 +1d 26 42 0 +FUNC 0 16 0 int google_breakpad::C::g() +6 6 43 0 +10 10 43 0 +FUNC 0 16 0 char*google_breakpad::C::h(const google_breakpad::C&) +6 6 44 0 +10 10 44 0 +FUNC 0 15 0 google_breakpad::C::~C #Nvariant 1() +f 15 37 0 +FUNC 0 0 0 __SLIP.DELETER__A +FUNC 0 0 0 void operator delete(void*) diff --git a/externals/breakpad/src/tools/windows/binaries/dump_syms.exe b/externals/breakpad/src/tools/windows/binaries/dump_syms.exe Binary files differnew file mode 100644 index 0000000000..3a2dfd8e50 --- /dev/null +++ b/externals/breakpad/src/tools/windows/binaries/dump_syms.exe diff --git a/externals/breakpad/src/tools/windows/binaries/symupload.exe b/externals/breakpad/src/tools/windows/binaries/symupload.exe Binary files differnew file mode 100644 index 0000000000..09d2a55b5c --- /dev/null +++ b/externals/breakpad/src/tools/windows/binaries/symupload.exe diff --git a/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.cc b/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.cc new file mode 100644 index 0000000000..f7d9d9431f --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.cc @@ -0,0 +1,770 @@ +// Copyright 2007 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ms_symbol_server_converter.cc: Obtain symbol files from a Microsoft +// symbol server, and convert them to Breakpad's dumped format. +// +// See ms_symbol_server_converter.h for documentation. +// +// Author: Mark Mentovai + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <windows.h> +#include <dbghelp.h> +#include <pathcch.h> + +#include <cassert> +#include <cstdio> + +#include "tools/windows/converter/ms_symbol_server_converter.h" +#include "common/windows/pdb_source_line_writer.h" +#include "common/windows/pe_source_line_writer.h" +#include "common/windows/string_utils-inl.h" + +// SYMOPT_NO_PROMPTS is not defined in earlier platform SDKs. Define it +// in that case, in the event that this code is used with a newer version +// of DbgHelp at runtime that recognizes the option. The presence of this +// bit in the symbol options should not harm earlier versions of DbgHelp. +#ifndef SYMOPT_NO_PROMPTS +#define SYMOPT_NO_PROMPTS 0x00080000 +#endif // SYMOPT_NO_PROMPTS + +namespace { + +std::wstring GetExeDirectory() { + wchar_t directory[MAX_PATH]; + + // Get path to this process exe. + DWORD result = GetModuleFileName(/*hModule=*/nullptr, directory, MAX_PATH); + if (result <= 0 || result == MAX_PATH) { + fprintf(stderr, + "GetExeDirectory: failed to get path to process exe.\n"); + return L""; + } + HRESULT hr = PathCchRemoveFileSpec(directory, result + 1); + if (hr != S_OK) { + fprintf(stderr, + "GetExeDirectory: failed to remove basename from path '%ls'.\n", + directory); + return L""; + } + + return std::wstring(directory); +} + +} // namespace + +namespace google_breakpad { + +// Use sscanf_s if it is available, to quench the warning about scanf being +// deprecated. Use scanf where sscanf_is not available. Note that the +// parameters passed to sscanf and sscanf_s are only compatible as long as +// fields of type c, C, s, S, and [ are not used. +#if _MSC_VER >= 1400 // MSVC 2005/8 +#define SSCANF sscanf_s +#else // _MSC_VER >= 1400 +#define SSCANF sscanf +#endif // _MSC_VER >= 1400 + +bool GUIDOrSignatureIdentifier::InitializeFromString( + const string& identifier) { + type_ = TYPE_NONE; + + size_t length = identifier.length(); + + if (length > 32 && length <= 40) { + // GUID + if (SSCANF(identifier.c_str(), + "%08X%04hX%04hX%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX%X", + &guid_.Data1, &guid_.Data2, &guid_.Data3, + &guid_.Data4[0], &guid_.Data4[1], + &guid_.Data4[2], &guid_.Data4[3], + &guid_.Data4[4], &guid_.Data4[5], + &guid_.Data4[6], &guid_.Data4[7], + &age_) != 12) { + return false; + } + + type_ = TYPE_GUID; + } else if (length > 8 && length <= 15) { + // Signature + if (SSCANF(identifier.c_str(), "%08X%x", &signature_, &age_) != 2) { + return false; + } + + type_ = TYPE_SIGNATURE; + } else { + return false; + } + + return true; +} + +#undef SSCANF + +MSSymbolServerConverter::MSSymbolServerConverter( + const string& local_cache, + const vector<string>& symbol_servers, + bool trace_symsrv) + : symbol_path_(), + fail_dns_(false), + fail_timeout_(false), + fail_http_https_redir_(false), + fail_not_found_(false), + trace_symsrv_(trace_symsrv) { + // Setting local_cache can be done without verifying that it exists because + // SymSrv will create it if it is missing - any creation failures will occur + // at that time, so there's nothing to check here, making it safe to + // assign this in the constructor. + + assert(symbol_servers.size() > 0); + +#if !defined(NDEBUG) + // These are characters that are interpreted as having special meanings in + // symbol_path_. + const char kInvalidCharacters[] = "*;"; + assert(local_cache.find_first_of(kInvalidCharacters) == string::npos); +#endif // !defined(NDEBUG) + + for (vector<string>::const_iterator symbol_server = symbol_servers.begin(); + symbol_server != symbol_servers.end(); + ++symbol_server) { + // The symbol path format is explained by + // http://msdn.microsoft.com/library/en-us/debug/base/using_symsrv.asp . + // "srv*" is the same as "symsrv*symsrv.dll*", which means that + // symsrv.dll is to be responsible for locating symbols. symsrv.dll + // interprets the rest of the string as a series of symbol stores separated + // by '*'. "srv*local_cache*symbol_server" means to check local_cache + // first for the symbol file, and if it is not found there, to check + // symbol_server. Symbol files found on the symbol server will be placed + // in the local cache, decompressed. + // + // Multiple specifications in this format may be presented, separated by + // semicolons. + + assert((*symbol_server).find_first_of(kInvalidCharacters) == string::npos); + symbol_path_ += "srv*" + local_cache + "*" + *symbol_server + ";"; + } + + // Strip the trailing semicolon. + symbol_path_.erase(symbol_path_.length() - 1); +} + +// A stack-based class that manages SymInitialize and SymCleanup calls. +class AutoSymSrv { + public: + AutoSymSrv() : initialized_(false) {} + + ~AutoSymSrv() { + if (!Cleanup()) { + // Print the error message here, because destructors have no return + // value. + fprintf(stderr, "~AutoSymSrv: SymCleanup: error %lu\n", GetLastError()); + } + } + + bool Initialize(HANDLE process, char* path, bool invade_process) { + process_ = process; + + // TODO(nbilling): Figure out why dbghelp.dll is being loaded from + // system32/SysWOW64 before exe folder. + + // Attempt to locate and load dbghelp.dll beside the process exe. This is + // somewhat of a workaround to loader delay load behavior that is occurring + // when we call into symsrv APIs. dbghelp.dll must be loaded from beside + // the process exe so that we are guaranteed to find symsrv.dll alongside + // dbghelp.dll (a security requirement of dbghelp.dll) and so that the + // symsrv.dll file that is loaded has a symsrv.yes file alongside it (a + // requirement of symsrv.dll when accessing Microsoft-owned symbol + // servers). + // 'static local' because we don't care about the value but we need the + // initialization to happen exactly once. + static HMODULE dbghelp_module = [] () -> HMODULE { + std::wstring exe_directory = GetExeDirectory(); + if (exe_directory.empty()) { + return nullptr; + } + std::wstring dbghelp_path = exe_directory + L"\\dbghelp.dll"; + return LoadLibrary(dbghelp_path.c_str()); + }(); + if (dbghelp_module == nullptr) { + fprintf(stderr, + "AutoSymSrv::Initialize: failed to load dbghelp.dll beside exe."); + return false; + } + + initialized_ = SymInitialize(process, path, invade_process) == TRUE; + return initialized_; + } + + bool Cleanup() { + if (initialized_) { + if (SymCleanup(process_)) { + initialized_ = false; + return true; + } + return false; + } + + return true; + } + + private: + HANDLE process_; + bool initialized_; +}; + +// A stack-based class that "owns" a pathname and deletes it when destroyed, +// unless told not to by having its Release() method called. Early deletions +// are supported by calling Delete(). +class AutoDeleter { + public: + explicit AutoDeleter(const string& path) : path_(path) {} + + ~AutoDeleter() { + int error; + if ((error = Delete()) != 0) { + // Print the error message here, because destructors have no return + // value. + fprintf(stderr, "~AutoDeleter: Delete: error %d for %s\n", + error, path_.c_str()); + } + } + + int Delete() { + if (path_.empty()) + return 0; + + int error = remove(path_.c_str()); + Release(); + return error; + } + + void Release() { + path_.clear(); + } + + private: + string path_; +}; + +MSSymbolServerConverter::LocateResult +MSSymbolServerConverter::LocateFile(const string& debug_or_code_file, + const string& debug_or_code_id, + const string& version, + string* file_name) { + assert(file_name); + file_name->clear(); + + GUIDOrSignatureIdentifier identifier; + if (!identifier.InitializeFromString(debug_or_code_id)) { + fprintf(stderr, + "LocateFile: Unparseable identifier for %s %s %s\n", + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_FAILURE; + } + + HANDLE process = GetCurrentProcess(); // CloseHandle is not needed. + AutoSymSrv symsrv; + if (!symsrv.Initialize(process, + const_cast<char*>(symbol_path_.c_str()), + false)) { + fprintf(stderr, "LocateFile: SymInitialize: error %lu for %s %s %s\n", + GetLastError(), + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_FAILURE; + } + + if (!SymRegisterCallback64(process, SymCallback, + reinterpret_cast<ULONG64>(this))) { + fprintf(stderr, + "LocateFile: SymRegisterCallback64: error %lu for %s %s %s\n", + GetLastError(), + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_FAILURE; + } + + // SYMOPT_DEBUG arranges for SymCallback to be called with additional + // debugging information. This is used to determine the nature of failures. + DWORD options = SymGetOptions() | SYMOPT_DEBUG | SYMOPT_NO_PROMPTS | + SYMOPT_FAIL_CRITICAL_ERRORS | SYMOPT_SECURE; + SymSetOptions(options); + + // SymCallback will set these as needed inisde the SymFindFileInPath call. + fail_dns_ = false; + fail_timeout_ = false; + fail_not_found_ = false; + + // Do the lookup. + char path[MAX_PATH]; + if (!SymFindFileInPath( + process, NULL, + const_cast<char*>(debug_or_code_file.c_str()), + const_cast<void*>(identifier.guid_or_signature_pointer()), + identifier.age(), 0, + identifier.type() == GUIDOrSignatureIdentifier::TYPE_GUID ? + SSRVOPT_GUIDPTR : SSRVOPT_DWORDPTR, + path, SymFindFileInPathCallback, this)) { + DWORD error = GetLastError(); + if (error == ERROR_FILE_NOT_FOUND) { + // This can be returned for a number of reasons. Use the crumbs + // collected by SymCallback to determine which one is relevant. + + // These errors are possibly transient. + if (fail_dns_ || fail_timeout_) { + return LOCATE_RETRY; + } + + if (fail_http_https_redir_) { + return LOCATE_HTTP_HTTPS_REDIR; + } + + // This is an authoritiative file-not-found message. + if (fail_not_found_) { + fprintf(stderr, + "LocateFile: SymFindFileInPath: LOCATE_NOT_FOUND error " + "for %s %s %s\n", + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_NOT_FOUND; + } + + // If the error is FILE_NOT_FOUND but none of the known error + // conditions are matched, fall through to LOCATE_FAILURE. + } + + fprintf(stderr, + "LocateFile: SymFindFileInPath: error %lu for %s %s %s\n", + error, + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_FAILURE; + } + + // Making sure path is null-terminated. + path[MAX_PATH - 1] = '\0'; + + // The AutoDeleter ensures that the file is only kept when returning + // LOCATE_SUCCESS. + AutoDeleter deleter(path); + + // Do the cleanup here even though it will happen when symsrv goes out of + // scope, to allow it to influence the return value. + if (!symsrv.Cleanup()) { + fprintf(stderr, "LocateFile: SymCleanup: error %lu for %s %s %s\n", + GetLastError(), + debug_or_code_file.c_str(), + debug_or_code_id.c_str(), + version.c_str()); + return LOCATE_FAILURE; + } + + deleter.Release(); + + printf("Downloaded: %s\n", path); + *file_name = path; + return LOCATE_SUCCESS; +} + + +MSSymbolServerConverter::LocateResult +MSSymbolServerConverter::LocatePEFile(const MissingSymbolInfo& missing, + string* pe_file) { + return LocateFile(missing.code_file, missing.code_identifier, + missing.version, pe_file); +} + +MSSymbolServerConverter::LocateResult +MSSymbolServerConverter::LocateSymbolFile(const MissingSymbolInfo& missing, + string* symbol_file) { + return LocateFile(missing.debug_file, missing.debug_identifier, + missing.version, symbol_file); +} + + +// static +BOOL CALLBACK MSSymbolServerConverter::SymCallback(HANDLE process, + ULONG action, + ULONG64 data, + ULONG64 context) { + MSSymbolServerConverter* self = + reinterpret_cast<MSSymbolServerConverter*>(context); + + switch (action) { + case CBA_EVENT: { + IMAGEHLP_CBA_EVENT* cba_event = + reinterpret_cast<IMAGEHLP_CBA_EVENT*>(data); + + // Put the string into a string object to be able to use string::find + // for substring matching. This is important because the not-found + // message does not use the entire string but is appended to the URL + // that SymSrv attempted to retrieve. + string desc(cba_event->desc); + if (self->trace_symsrv_) { + fprintf(stderr, "LocateFile: SymCallback: action desc '%s'\n", + desc.c_str()); + } + + // desc_action maps strings (in desc) to boolean pointers that are to + // be set to true if the string matches. + struct desc_action { + const char* desc; // The substring to match. + bool* action; // On match, this pointer will be set to true. + }; + + static const desc_action desc_actions[] = { + // When a DNS error occurs, it could be indiciative of network + // problems. + {"SYMSRV: The server name or address could not be resolved\n", + &self->fail_dns_}, + + // This message is produced if no connection is opened. + {"SYMSRV: A connection with the server could not be established\n", + &self->fail_timeout_}, + + // This message is produced if a connection is established but the + // server fails to respond to the HTTP request. + {"SYMSRV: The operation timed out\n", &self->fail_timeout_}, + + // This message is produced if the server is redirecting us from http + // to https. When this happens SymSrv will fail and we need to use + // the https URL in our call-- we've made a mistake. + {"ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR\n", + &self->fail_http_https_redir_}, + + // This message is produced when the requested file is not found, + // even if one or more of the above messages are also produced. + // It's trapped to distinguish between not-found and unknown-failure + // conditions. Note that this message will not be produced if a + // connection is established and the server begins to respond to the + // HTTP request but does not finish transmitting the file. + {" not found\n", &self->fail_not_found_}}; + + for (int desc_action_index = 0; + desc_action_index < + static_cast<int>(sizeof(desc_actions) / sizeof(desc_action)); + ++desc_action_index) { + if (desc.find(desc_actions[desc_action_index].desc) != string::npos) { + *(desc_actions[desc_action_index].action) = true; + break; + } + } + + break; + } + } + + // This function is a mere fly on the wall. Treat everything as unhandled. + return FALSE; +} + +// static +BOOL CALLBACK MSSymbolServerConverter::SymFindFileInPathCallback( + const char* filename, void* context) { + // FALSE ends the search, indicating that the located symbol file is + // satisfactory. + return FALSE; +} + +MSSymbolServerConverter::LocateResult +MSSymbolServerConverter::LocateAndConvertSymbolFile( + const MissingSymbolInfo& missing, + bool keep_symbol_file, + bool keep_pe_file, + string* converted_symbol_file, + string* symbol_file, + string* out_pe_file) { + assert(converted_symbol_file); + converted_symbol_file->clear(); + if (symbol_file) { + symbol_file->clear(); + } + + string pdb_file; + LocateResult result = LocateSymbolFile(missing, &pdb_file); + if (result != LOCATE_SUCCESS) { + fprintf(stderr, "Fallback to PE-only symbol generation for: %s\n", + missing.debug_file.c_str()); + return LocateAndConvertPEFile(missing, keep_pe_file, converted_symbol_file, + out_pe_file); + } + + if (symbol_file && keep_symbol_file) { + *symbol_file = pdb_file; + } + + // The conversion of a symbol file for a Windows 64-bit module requires + // loading of the executable file. If there is no executable file, convert + // using only the PDB file. Without an executable file, the conversion will + // fail for 64-bit modules but it should succeed for 32-bit modules. + string pe_file; + result = LocatePEFile(missing, &pe_file); + if (result != LOCATE_SUCCESS) { + fprintf(stderr, "WARNING: Could not download: %s\n", pe_file.c_str()); + } + + if (out_pe_file && keep_pe_file) { + *out_pe_file = pe_file; + } + + // Conversion may fail because the file is corrupt. If a broken file is + // kept in the local cache, LocateSymbolFile will not hit the network again + // to attempt to locate it. To guard against problems like this, the + // symbol file in the local cache will be removed if conversion fails. + AutoDeleter pdb_deleter(pdb_file); + AutoDeleter pe_deleter(pe_file); + + // Be sure that it's a .pdb file, since we'll be replacing .pdb with .sym + // for the converted file's name. + string pdb_extension = pdb_file.substr(pdb_file.length() - 4); + // strcasecmp is called _stricmp here. + if (_stricmp(pdb_extension.c_str(), ".pdb") != 0) { + fprintf(stderr, "LocateAndConvertSymbolFile: " + "no .pdb extension for %s %s %s %s\n", + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + pdb_file.c_str()); + return LOCATE_FAILURE; + } + + PDBSourceLineWriter writer; + wstring pe_file_w; + if (!WindowsStringUtils::safe_mbstowcs(pe_file, &pe_file_w)) { + fprintf(stderr, + "LocateAndConvertSymbolFile: " + "WindowsStringUtils::safe_mbstowcs failed for %s\n", + pe_file.c_str()); + return LOCATE_FAILURE; + } + wstring pdb_file_w; + if (!WindowsStringUtils::safe_mbstowcs(pdb_file, &pdb_file_w)) { + fprintf(stderr, + "LocateAndConvertSymbolFile: " + "WindowsStringUtils::safe_mbstowcs failed for %ws\n", + pdb_file_w.c_str()); + return LOCATE_FAILURE; + } + if (!writer.Open(pdb_file_w, PDBSourceLineWriter::PDB_FILE)) { + fprintf(stderr, + "ERROR: PDBSourceLineWriter::Open failed for %s %s %s %ws\n", + missing.debug_file.c_str(), missing.debug_identifier.c_str(), + missing.version.c_str(), pdb_file_w.c_str()); + return LOCATE_FAILURE; + } + if (!writer.SetCodeFile(pe_file_w)) { + fprintf(stderr, + "ERROR: PDBSourceLineWriter::SetCodeFile failed for %s %s %s %ws\n", + missing.debug_file.c_str(), missing.debug_identifier.c_str(), + missing.version.c_str(), pe_file_w.c_str()); + return LOCATE_FAILURE; + } + + *converted_symbol_file = pdb_file.substr(0, pdb_file.length() - 4) + ".sym"; + + FILE* converted_output = NULL; +#if _MSC_VER >= 1400 // MSVC 2005/8 + errno_t err; + if ((err = fopen_s(&converted_output, converted_symbol_file->c_str(), "w")) + != 0) { +#else // _MSC_VER >= 1400 + // fopen_s and errno_t were introduced in MSVC8. Use fopen for earlier + // environments. Don't use fopen with MSVC8 and later, because it's + // deprecated. fopen does not provide reliable error codes, so just use + // -1 in the event of a failure. + int err; + if (!(converted_output = fopen(converted_symbol_file->c_str(), "w"))) { + err = -1; +#endif // _MSC_VER >= 1400 + fprintf(stderr, "LocateAndConvertSymbolFile: " + "fopen_s: error %d for %s %s %s %s\n", + err, + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + converted_symbol_file->c_str()); + return LOCATE_FAILURE; + } + + AutoDeleter sym_deleter(*converted_symbol_file); + + bool success = writer.WriteSymbols(converted_output); + fclose(converted_output); + + if (!success) { + fprintf(stderr, "LocateAndConvertSymbolFile: " + "PDBSourceLineWriter::WriteMap failed for %s %s %s %s\n", + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + pdb_file.c_str()); + return LOCATE_FAILURE; + } + + if (keep_symbol_file) { + pdb_deleter.Release(); + } + + if (keep_pe_file) { + pe_deleter.Release(); + } + + sym_deleter.Release(); + + return LOCATE_SUCCESS; +} + +MSSymbolServerConverter::LocateResult +MSSymbolServerConverter::LocateAndConvertPEFile( + const MissingSymbolInfo& missing, + bool keep_pe_file, + string* converted_symbol_file, + string* out_pe_file) { + assert(converted_symbol_file); + converted_symbol_file->clear(); + + string pe_file; + MSSymbolServerConverter::LocateResult result = LocatePEFile(missing, + &pe_file); + if (result != LOCATE_SUCCESS) { + fprintf(stderr, "WARNING: Could not download: %s\n", pe_file.c_str()); + return result; + } + + if (out_pe_file && keep_pe_file) { + *out_pe_file = pe_file; + } + + // Conversion may fail because the file is corrupt. If a broken file is + // kept in the local cache, LocatePEFile will not hit the network again + // to attempt to locate it. To guard against problems like this, the + // PE file in the local cache will be removed if conversion fails. + AutoDeleter pe_deleter(pe_file); + + // Be sure that it's a .exe or .dll file, since we'll be replacing extension + // with .sym for the converted file's name. + string pe_extension = pe_file.substr(pe_file.length() - 4); + // strcasecmp is called _stricmp here. + if (_stricmp(pe_extension.c_str(), ".exe") != 0 && + _stricmp(pe_extension.c_str(), ".dll") != 0) { + fprintf(stderr, "LocateAndConvertPEFile: " + "no .dll/.exe extension for %s %s %s %s\n", + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + pe_file.c_str()); + return LOCATE_FAILURE; + } + + *converted_symbol_file = pe_file.substr(0, pe_file.length() - 4) + ".sym"; + + FILE* converted_output = NULL; +#if _MSC_VER >= 1400 // MSVC 2005/8 + errno_t err; + if ((err = fopen_s(&converted_output, converted_symbol_file->c_str(), "w")) + != 0) { +#else // _MSC_VER >= 1400 + // fopen_s and errno_t were introduced in MSVC8. Use fopen for earlier + // environments. Don't use fopen with MSVC8 and later, because it's + // deprecated. fopen does not provide reliable error codes, so just use + // -1 in the event of a failure. + int err; + if (!(converted_output = fopen(converted_symbol_file->c_str(), "w"))) { + err = -1; +#endif // _MSC_VER >= 1400 + fprintf(stderr, "LocateAndConvertPEFile: " + "fopen_s: error %d for %s %s %s %s\n", + err, + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + converted_symbol_file->c_str()); + return LOCATE_FAILURE; + } + AutoDeleter sym_deleter(*converted_symbol_file); + + wstring pe_file_w; + if (!WindowsStringUtils::safe_mbstowcs(pe_file, &pe_file_w)) { + fprintf(stderr, + "LocateAndConvertPEFile: " + "WindowsStringUtils::safe_mbstowcs failed for %s\n", + pe_file.c_str()); + return LOCATE_FAILURE; + } + PESourceLineWriter writer(pe_file_w); + PDBModuleInfo module_info; + if (!writer.GetModuleInfo(&module_info)) { + fprintf(stderr, "LocateAndConvertPEFile: " + "PESourceLineWriter::GetModuleInfo failed for %s %s %s %s\n", + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + pe_file.c_str()); + return LOCATE_FAILURE; + } + if (module_info.cpu.compare(L"x86_64") != 0) { + // This module is not x64 so we cannot generate Breakpad symbols from the + // PE alone. Don't delete PE-- no need to retry download. + pe_deleter.Release(); + return LOCATE_FAILURE; + } + + bool success = writer.WriteSymbols(converted_output); + fclose(converted_output); + + if (!success) { + fprintf(stderr, "LocateAndConvertPEFile: " + "PESourceLineWriter::WriteMap failed for %s %s %s %s\n", + missing.debug_file.c_str(), + missing.debug_identifier.c_str(), + missing.version.c_str(), + pe_file.c_str()); + return LOCATE_FAILURE; + } + + if (keep_pe_file) { + pe_deleter.Release(); + } + + sym_deleter.Release(); + + return LOCATE_SUCCESS; +} + +} // namespace google_breakpad diff --git a/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.h b/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.h new file mode 100644 index 0000000000..ffdea7c0a6 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter/ms_symbol_server_converter.h @@ -0,0 +1,242 @@ +// Copyright 2007 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ms_symbol_server_converter.h: Obtain symbol files from a Microsoft +// symbol server, and convert them to Breakpad's dumped format. +// +// At runtime, MSSymbolServerConverter and code that it calls depend on being +// able to locate suitable versions of dbghelp.dll and symsrv.dll. For best +// results, place these files in the same directory as the executable. +// dbghelp.dll and symsrv.dll as supplied with Debugging Tools for Windows are +// both redistributable, as indicated by the package's redist.txt file. +// +// When connecting to Microsoft's symbol server at +// http://msdl.microsoft.com/download/symbols/, which provides access to +// symbols for the operating system itself, symsrv.dll requires agreement to +// Microsoft's "Terms of Use for Microsoft Symbols and Binaries." Because this +// library places the symbol engine into a promptless mode, the dialog with the +// terms will not appear, and use of Microsoft's symbol server will not be +// possible. To indicate agreement to the terms, create a file called +// symsrv.yes in the same directory as symsrv.dll. (Note that symsrv.dll will +// also recognize a symsrv.no file as indicating that you do not accept the +// terms; the .yes file takes priority over the .no file.) The terms of use +// are contained within symsrv.dll; they were formerly available online at +// http://www.microsoft.com/whdc/devtools/debugging/symsrvTOU2.mspx , but +// do not appear to be available online any longer as of January, 2007. It is +// possible to view the terms from within WinDbg (Debugging Tools for Windows) +// by removing any symsrv.yes and symsrv.no files from WinDbg's directory, +// setting the symbol path to include Microsoft's symbol server (.sympath), and +// attempting to load symbols from their server (.reload). +// +// This code has been tested with dbghelp.dll 6.5.3.7 and symsrv.dll 6.5.3.8, +// included with Microsoft Visual Studio 8 in Common7/IDE. This has also been +// tested with dbghelp.dll and symsrv.dll versions 6.6.7.5 and 6.12.2.633, +// included with the same versions of Debugging Tools for Windows, available at +// http://www.microsoft.com/whdc/devtools/debugging/ . +// +// Author: Mark Mentovai + +#ifndef TOOLS_WINDOWS_MS_SYMBOL_SERVER_CONVERTER_H_ +#define TOOLS_WINDOWS_MS_SYMBOL_SERVER_CONVERTER_H_ + +#include <windows.h> + +#include <string> +#include <vector> + +namespace google_breakpad { + +using std::string; +using std::vector; + +// MissingSymbolInfo contains the subset of the information in the processor's +// CodeModule structure relevant to obtaining a missing symbol file. Only +// debug_file and debug_identifier are relevant in actually obtaining the +// missing file; the other fields are for convenience. +struct MissingSymbolInfo { + string code_file; + string code_identifier; + string debug_file; + string debug_identifier; + string version; +}; + +class GUIDOrSignatureIdentifier { + public: + enum GUIDOrSignatureType { + TYPE_NONE = 0, + TYPE_GUID, + TYPE_SIGNATURE + }; + + GUIDOrSignatureIdentifier() : type_(TYPE_NONE) {} + + // Converts |identifier|, a debug_identifier-formatted string, into its + // component fields: either a GUID and age, or signature and age. If + // successful, sets the relevant fields in the object, including the type + // field, and returns true. On error, returns false. + bool InitializeFromString(const string& identifier); + + GUIDOrSignatureType type() const { return type_; } + GUID guid() const { return guid_; } + DWORD signature() const { return signature_; } + int age() const { return age_; } + const void* guid_or_signature_pointer() const { return &guid_; } + + private: + GUIDOrSignatureType type_; + + // An identifier contains either a 128-bit uuid or a 32-bit signature. + union { + GUID guid_; + DWORD signature_; + }; + + // All identifiers used here have age fields, which indicate a specific + // revision given a uuid or signature. + int age_; +}; + +class MSSymbolServerConverter { + public: + enum LocateResult { + LOCATE_FAILURE = 0, + LOCATE_NOT_FOUND, // Authoritative: the file is not present. + LOCATE_RETRY, // Transient (network?) error, try again later. + LOCATE_SUCCESS, + LOCATE_HTTP_HTTPS_REDIR + }; + + // Create a new object. local_cache is the location (pathname) of a local + // symbol store used to hold downloaded and converted symbol files. This + // directory will be created by LocateSymbolFile when it successfully + // retrieves a symbol file. symbol_servers contains a list of locations (URLs + // or pathnames) of the upstream symbol server stores, given in order of + // preference, with the first string in the vector identifying the first + // store to try. The vector must contain at least one string. None of the + // strings passed to this constructor may contain asterisk ('*') or semicolon + // (';') characters, as the symbol engine uses these characters as separators. + // If |trace_symsrv| is set then callbacks from SymSrv will be logged to + // stderr. + MSSymbolServerConverter(const string& local_cache, + const vector<string>& symbol_servers, + bool trace_symsrv); + + // Locates the PE file (DLL or EXE) specified by the identifying information + // in |missing|, by checking the symbol stores identified when the object + // was created. When returning LOCATE_SUCCESS, pe_file is set to + // the pathname of the decompressed PE file as it is stored in the + // local cache. + LocateResult LocatePEFile(const MissingSymbolInfo& missing, string* pe_file); + + // Locates the symbol file specified by the identifying information in + // |missing|, by checking the symbol stores identified when the object + // was created. When returning LOCATE_SUCCESS, symbol_file is set to + // the pathname of the decompressed symbol file as it is stored in the + // local cache. + LocateResult LocateSymbolFile(const MissingSymbolInfo& missing, + string* symbol_file); + + // Calls LocateSymbolFile and converts the returned symbol file to the + // dumped-symbol format, storing it adjacent to the symbol file. The + // only conversion supported is from pdb files. Returns the return + // value of LocateSymbolFile, or if LocateSymbolFile succeeds but + // conversion fails, returns LOCATE_FAILURE. The pathname to the + // pdb file and to the converted symbol file are returned in + // |converted_symbol_file|, |symbol_file|, and |pe_file|. |symbol_file| and + // |pe_file| are optional and may be NULL. If only the converted symbol file + // is desired, set |keep_symbol_file| and |keep_pe_file| to false to indicate + // that the original symbol file (pdb) and executable file (exe, dll) should + // be deleted after conversion. + LocateResult LocateAndConvertSymbolFile(const MissingSymbolInfo& missing, + bool keep_symbol_file, + bool keep_pe_file, + string* converted_symbol_file, + string* symbol_file, + string* pe_file); + + // Calls LocatePEFile and converts the returned PE file to the + // dumped-symbol format, storing it adjacent to the PE file. The + // only conversion supported is from PE files. Returns the return + // value of LocatePEFile, or if LocatePEFile succeeds but + // conversion fails, returns LOCATE_FAILURE. The pathname to the + // PE file and to the converted symbol file are returned in + // |converted_symbol_file| and |pe_file|. |pe_file| is optional and may be + // NULL. If only the converted symbol file is desired, set |keep_pe_file| + // to false to indicate that the executable file (exe, dll) should be deleted + // after conversion. + // NOTE: Currrently only supports x64 PEs. + LocateResult LocateAndConvertPEFile(const MissingSymbolInfo& missing, + bool keep_pe_file, + string* converted_symbol_file, + string* pe_file); + + private: + // Locates the PDB or PE file (DLL or EXE) specified by the identifying + // information in |debug_or_code_file| and |debug_or_code_id|, by checking + // the symbol stores identified when the object was created. When + // returning LOCATE_SUCCESS, file_name is set to the pathname of the + // decompressed PDB or PE file file as it is stored in the local cache. + LocateResult LocateFile(const string& debug_or_code_file, + const string& debug_or_code_id, + const string& version, string* file_name); + + // Called by various SymSrv functions to report status as progress is made + // and to allow the callback to influence processing. Messages sent to this + // callback can be used to distinguish between the various failure modes + // that SymFindFileInPath might encounter. + static BOOL CALLBACK SymCallback(HANDLE process, ULONG action, ULONG64 data, + ULONG64 context); + + // Called by SymFindFileInPath (in LocateSymbolFile) after a candidate + // symbol file is located, when it's present in the local cache. + // SymFindFileInPath actually seems to accept NULL for a callback function + // and behave properly for our needs in that case, but the documentation + // doesn't mention it, so this little callback is provided. + static BOOL CALLBACK SymFindFileInPathCallback(const char* filename, + void* context); + + // The search path used by SymSrv, built based on the arguments to the + // constructor. + string symbol_path_; + + // SymCallback will set at least one of these failure variables if + // SymFindFileInPath fails for an expected reason. + bool fail_dns_; // DNS failures (fail_not_found_ will also be set). + bool fail_timeout_; // Timeouts (fail_not_found_ will also be set). + bool fail_http_https_redir_; // Bad URL-- we should be using HTTPS. + bool fail_not_found_; // The file could not be found. If this is the only + // fail_* member set, then it is authoritative. + + // If set then callbacks from SymSrv will be logged to stderr. + bool trace_symsrv_; +}; + +} // namespace google_breakpad + +#endif // TOOLS_WINDOWS_MS_SYMBOL_SERVER_CONVERTER_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/configure.cmd b/externals/breakpad/src/tools/windows/converter_exe/configure.cmd new file mode 100644 index 0000000000..5464a61ed7 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/configure.cmd @@ -0,0 +1,33 @@ +@if "%ECHOON%"=="" @echo off
+SETLOCAL
+
+REM ******************************************************************
+REM Please, make sure to run this in an Elevated Command Prompt.
+REM Usage:
+REM configure.cmd
+REM ******************************************************************
+
+REM ******************************************************************
+REM Initialize
+REM ******************************************************************
+SET SCRIPT_LOCATION=%~dp0
+
+REM ******************************************************************
+REM Go to script location
+REM ******************************************************************
+pushd %SCRIPT_LOCATION%
+
+REM ******************************************************************
+REM Register msdia140.dll.
+REM ******************************************************************
+SET MSG=Failed to register msdia140.dll. Make sure to run this in elevated command prompt.
+%systemroot%\SysWoW64\regsvr32.exe /s msdia140.dll & if errorlevel 1 echo %MSG% & goto :fail
+
+:success
+echo Configuration was successful.
+ENDLOCAL
+exit /b 0
+
+:fail
+ENDLOCAL
+exit /b 1
diff --git a/externals/breakpad/src/tools/windows/converter_exe/converter.cc b/externals/breakpad/src/tools/windows/converter_exe/converter.cc new file mode 100644 index 0000000000..92c41774a2 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/converter.cc @@ -0,0 +1,908 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#pragma comment(lib, "winhttp.lib") +#pragma comment(lib, "wininet.lib") +#pragma comment(lib, "diaguids.lib") +#pragma comment(lib, "imagehlp.lib") + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <cassert> +#include <cstdio> +#include <ctime> +#include <map> +#include <regex> +#include <string> +#include <vector> + +#include "common/windows/http_upload.h" +#include "common/windows/string_utils-inl.h" +#include "common/windows/sym_upload_v2_protocol.h" +#include "tools/windows/converter/ms_symbol_server_converter.h" +#include "tools/windows/converter_exe/escaping.h" +#include "tools/windows/converter_exe/http_download.h" +#include "tools/windows/converter_exe/tokenizer.h" + +using strings::WebSafeBase64Unescape; +using strings::WebSafeBase64Escape; + +namespace { + +using std::map; +using std::string; +using std::vector; +using std::wstring; +using crash::HTTPDownload; +using crash::Tokenizer; +using google_breakpad::HTTPUpload; +using google_breakpad::MissingSymbolInfo; +using google_breakpad::MSSymbolServerConverter; +using google_breakpad::WindowsStringUtils; + +const char* kMissingStringDelimiters = "|"; +const char* kLocalCachePath = "c:\\symbols"; +const char* kNoExeMSSSServer = "http://msdl.microsoft.com/download/symbols/"; +const wchar_t* kSymbolUploadTypeBreakpad = L"BREAKPAD"; +const wchar_t* kSymbolUploadTypePE = L"PE"; +const wchar_t* kSymbolUploadTypePDB = L"PDB"; +const wchar_t* kConverterProductName = L"WinSymConv"; + +// Windows stdio doesn't do line buffering. Use this function to flush after +// writing to stdout and stderr so that a log will be available if the +// converter crashes. +static int FprintfFlush(FILE* file, const char* format, ...) { + va_list arguments; + va_start(arguments, format); + int retval = vfprintf(file, format, arguments); + va_end(arguments); + fflush(file); + return retval; +} + +static string CurrentDateAndTime() { + const string kUnknownDateAndTime = R"(????-??-?? ??:??:??)"; + + time_t current_time; + time(¤t_time); + + // localtime_s is safer but is only available in MSVC8. Use localtime + // in earlier environments. + struct tm* time_pointer; +#if _MSC_VER >= 1400 // MSVC 2005/8 + struct tm time_struct; + time_pointer =& time_struct; + if (localtime_s(time_pointer,& current_time) != 0) { + return kUnknownDateAndTime; + } +#else // _MSC_VER >= 1400 + time_pointer = localtime(¤t_time); + if (!time_pointer) { + return kUnknownDateAndTime; + } +#endif // _MSC_VER >= 1400 + + char buffer[256]; + if (!strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", time_pointer)) { + return kUnknownDateAndTime; + } + + return string(buffer); +} + +// ParseMissingString turns |missing_string| into a MissingSymbolInfo +// structure. It returns true on success, and false if no such conversion +// is possible. +static bool ParseMissingString(const string& missing_string, + MissingSymbolInfo* missing_info) { + assert(missing_info); + + vector<string> tokens; + Tokenizer::Tokenize(kMissingStringDelimiters, missing_string,& tokens); + if (tokens.size() != 5) { + return false; + } + + missing_info->debug_file = tokens[0]; + missing_info->debug_identifier = tokens[1]; + missing_info->version = tokens[2]; + missing_info->code_file = tokens[3]; + missing_info->code_identifier = tokens[4]; + + return true; +} + +// StringMapToWStringMap takes each element in a map that associates +// (narrow) strings to strings and converts the keys and values to wstrings. +// Returns true on success and false on failure, printing an error message. +static bool StringMapToWStringMap(const map<string, string>& smap, + map<wstring, wstring>* wsmap) { + assert(wsmap); + wsmap->clear(); + + for (map<string, string>::const_iterator iterator = smap.begin(); + iterator != smap.end(); + ++iterator) { + wstring key; + if (!WindowsStringUtils::safe_mbstowcs(iterator->first,& key)) { + FprintfFlush(stderr, + "StringMapToWStringMap: safe_mbstowcs failed for key %s\n", + iterator->first.c_str()); + return false; + } + + wstring value; + if (!WindowsStringUtils::safe_mbstowcs(iterator->second,& value)) { + FprintfFlush(stderr, "StringMapToWStringMap: safe_mbstowcs failed " + "for value %s\n", + iterator->second.c_str()); + return false; + } + + wsmap->insert(make_pair(key, value)); + } + + return true; +} + +// MissingSymbolInfoToParameters turns a MissingSymbolInfo structure into a +// map of parameters suitable for passing to HTTPDownload or HTTPUpload. +// Returns true on success and false on failure, printing an error message. +static bool MissingSymbolInfoToParameters(const MissingSymbolInfo& missing_info, + map<wstring, wstring>* wparameters) { + assert(wparameters); + + map<string, string> parameters; + string encoded_param; + // Indicate the params are encoded. + parameters["encoded"] = "true"; // The string value here does not matter. + + WebSafeBase64Escape(missing_info.code_file,& encoded_param); + parameters["code_file"] = encoded_param; + + WebSafeBase64Escape(missing_info.code_identifier,& encoded_param); + parameters["code_identifier"] = encoded_param; + + WebSafeBase64Escape(missing_info.debug_file,& encoded_param); + parameters["debug_file"] = encoded_param; + + WebSafeBase64Escape(missing_info.debug_identifier,& encoded_param); + parameters["debug_identifier"] = encoded_param; + + if (!missing_info.version.empty()) { + // The version is optional. + WebSafeBase64Escape(missing_info.version,& encoded_param); + parameters["version"] = encoded_param; + } + + WebSafeBase64Escape("WinSymConv",& encoded_param); + parameters["product"] = encoded_param; + + if (!StringMapToWStringMap(parameters, wparameters)) { + // StringMapToWStringMap will have printed an error. + return false; + } + + return true; +} + +// UploadSymbolFile sends |converted_file| as identified by |debug_file| and +// |debug_identifier|, to the symbol server rooted at |upload_symbol_url|. +// Returns true on success and false on failure, printing an error message. +static bool UploadSymbolFile(const wstring& upload_symbol_url, + const wstring& api_key, + const string& debug_file, + const string& debug_identifier, + const string& symbol_file, + const wstring& symbol_type) { + wstring debug_file_w; + if (!WindowsStringUtils::safe_mbstowcs(debug_file, &debug_file_w)) { + FprintfFlush(stderr, "UploadSymbolFile: safe_mbstowcs failed for %s\n", + symbol_file.c_str()); + return false; + } + + wstring debug_id_w; + if (!WindowsStringUtils::safe_mbstowcs(debug_identifier, &debug_id_w)) { + FprintfFlush(stderr, "UploadSymbolFile: safe_mbstowcs failed for %s\n", + symbol_file.c_str()); + return false; + } + + wstring symbol_file_w; + if (!WindowsStringUtils::safe_mbstowcs(symbol_file, &symbol_file_w)) { + FprintfFlush(stderr, "UploadSymbolFile: safe_mbstowcs failed for %s\n", + symbol_file.c_str()); + return false; + } + + int timeout_ms = 60 * 1000; + FprintfFlush(stderr, "Uploading %s\n", symbol_file.c_str()); + if (!google_breakpad::SymUploadV2ProtocolSend( + upload_symbol_url.c_str(), api_key.c_str(), &timeout_ms, debug_file_w, + debug_id_w, symbol_file_w, symbol_type, kConverterProductName, + /*force=*/true)) { + FprintfFlush(stderr, + "UploadSymbolFile: HTTPUpload::SendRequest failed " + "for %s %s\n", + debug_file.c_str(), debug_identifier.c_str()); + return false; + } + + return true; +} + +// SendFetchFailedPing informs the symbol server based at +// |fetch_symbol_failure_url| that the symbol file identified by +// |missing_info| could authoritatively not be located. Returns +// true on success and false on failure. +static bool SendFetchFailedPing(const wstring& fetch_symbol_failure_url, + const MissingSymbolInfo& missing_info) { + map<wstring, wstring> parameters; + if (!MissingSymbolInfoToParameters(missing_info,& parameters)) { + // MissingSymbolInfoToParameters or a callee will have printed an error. + return false; + } + + string content; + if (!HTTPDownload::Download(fetch_symbol_failure_url, + & parameters, + & content, + NULL)) { + FprintfFlush(stderr, "SendFetchFailedPing: HTTPDownload::Download failed " + "for %s %s %s\n", + missing_info.debug_file.c_str(), + missing_info.debug_identifier.c_str(), + missing_info.version.c_str()); + return false; + } + + return true; +} + +// Returns true if it's safe to make an external request for the symbol +// file described in missing_info. It's considered safe to make an +// external request unless the symbol file's debug_file string matches +// the given blacklist regular expression. +// The debug_file name is used from the MissingSymbolInfo struct, +// matched against the blacklist_regex. +static bool SafeToMakeExternalRequest(const MissingSymbolInfo& missing_info, + std::regex blacklist_regex) { + string file_name = missing_info.debug_file; + // Use regex_search because we want to match substrings. + if (std::regex_search(file_name, blacklist_regex)) { + FprintfFlush(stderr, "Not safe to make external request for file %s\n", + file_name.c_str()); + return false; + } + + return true; +} + +// Converter options derived from command line parameters. +struct ConverterOptions { + ConverterOptions() + : report_fetch_failures(true), trace_symsrv(false), keep_files(false) {} + + ~ConverterOptions() { + } + + // Names of MS Symbol Supplier Servers that are internal to Google, and may + // have symbols for any request. + vector<string> full_internal_msss_servers; + + // Names of MS Symbol Supplier Servers that are internal to Google, and + // shouldn't be checked for symbols for any .exe files. + vector<string> full_external_msss_servers; + + // Names of MS Symbol Supplier Servers that are external to Google, and may + // have symbols for any request. + vector<string> no_exe_internal_msss_servers; + + // Names of MS Symbol Supplier Servers that are external to Google, and + // shouldn't be checked for symbols for any .exe files. + vector<string> no_exe_external_msss_servers; + + // Temporary local storage for symbols. + string local_cache_path; + + // URL for uploading symbols. + wstring upload_symbols_url; + + // API key to use when uploading symbols. + wstring api_key; + + // URL to fetch list of missing symbols. + wstring missing_symbols_url; + + // URL to report symbol fetch failure. + wstring fetch_symbol_failure_url; + + // Are symbol fetch failures reported. + bool report_fetch_failures; + + // File containing the list of missing symbols. Fetch failures are not + // reported if such file is provided. + string missing_symbols_file; + + // Regex used to blacklist files to prevent external symbol requests. + // Owned and cleaned up by this struct. + std::regex blacklist_regex; + + // If set then SymSrv callbacks are logged to stderr. + bool trace_symsrv; + + // If set then Breakpad/PE/PDB files won't be deleted after processing. + bool keep_files; + + private: + // DISABLE_COPY_AND_ASSIGN + ConverterOptions(const ConverterOptions&); + ConverterOptions& operator=(const ConverterOptions&); +}; + +// ConverMissingSymbolFile takes a single MissingSymbolInfo structure and +// attempts to locate it from the symbol servers provided in the +// |options.*_msss_servers| arguments. "Full" servers are those that will be +// queried for all symbol files; "No-EXE" servers will only be queried for +// modules whose missing symbol data indicates are not main program executables. +// Results will be sent to the |options.upload_symbols_url| on success or +// |options.fetch_symbol_failure_url| on failure, and the local cache will be +// stored at |options.local_cache_path|. Because nothing can be done even in +// the event of a failure, this function returns no value, although it +// may result in error messages being printed. +static void ConvertMissingSymbolFile(const MissingSymbolInfo& missing_info, + const ConverterOptions& options) { + string time_string = CurrentDateAndTime(); + FprintfFlush(stdout, "converter: %s: attempting %s %s %s\n", + time_string.c_str(), + missing_info.debug_file.c_str(), + missing_info.debug_identifier.c_str(), + missing_info.version.c_str()); + + // The first lookup is always to internal symbol servers. + // Always ask the symbol servers identified as "full." + vector<string> msss_servers = options.full_internal_msss_servers; + + // If the file is not an .exe file, also ask an additional set of symbol + // servers, such as Microsoft's public symbol server. + bool is_exe = false; + + if (missing_info.code_file.length() >= 4) { + string code_extension = + missing_info.code_file.substr(missing_info.code_file.size() - 4); + + // Firefox is a special case: .dll-only servers should be consulted for + // its symbols. This enables us to get its symbols from Mozilla's + // symbol server when crashes occur in Google extension code hosted by a + // Firefox process. + if (_stricmp(code_extension.c_str(), ".exe") == 0 && + _stricmp(missing_info.code_file.c_str(), "firefox.exe") != 0) { + is_exe = true; + } + } + + if (!is_exe) { + msss_servers.insert(msss_servers.end(), + options.no_exe_internal_msss_servers.begin(), + options.no_exe_internal_msss_servers.end()); + } + + // If there are any suitable internal symbol servers, make a request. + MSSymbolServerConverter::LocateResult located = + MSSymbolServerConverter::LOCATE_FAILURE; + string converted_file; + string symbol_file; + string pe_file; + if (msss_servers.size() > 0) { + // Attempt to fetch the symbol file and convert it. + FprintfFlush(stderr, "Making internal request for %s (%s)\n", + missing_info.debug_file.c_str(), + missing_info.debug_identifier.c_str()); + MSSymbolServerConverter converter(options.local_cache_path, msss_servers, + options.trace_symsrv); + located = converter.LocateAndConvertSymbolFile( + missing_info, + /*keep_symbol_file=*/true, + /*keep_pe_file=*/true, &converted_file, &symbol_file, &pe_file); + switch (located) { + case MSSymbolServerConverter::LOCATE_SUCCESS: + FprintfFlush(stderr, "LocateResult = LOCATE_SUCCESS\n"); + // Upload it. Don't bother checking the return value. If this + // succeeds, it should disappear from the missing symbol list. + // If it fails, something will print an error message indicating + // the cause of the failure, and the item will remain on the + // missing symbol list. + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.debug_file, missing_info.debug_identifier, + converted_file, kSymbolUploadTypeBreakpad); + if (!options.keep_files) + remove(converted_file.c_str()); + + // Upload PDB/PE if we have them + if (!symbol_file.empty()) { + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.debug_file, + missing_info.debug_identifier, symbol_file, + kSymbolUploadTypePDB); + if (!options.keep_files) + remove(symbol_file.c_str()); + } + if (!pe_file.empty()) { + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.code_file, + missing_info.debug_identifier, pe_file, + kSymbolUploadTypePE); + if (!options.keep_files) + remove(pe_file.c_str()); + } + + // Note: this does leave some directories behind that could be + // cleaned up. The directories inside options.local_cache_path for + // debug_file/debug_identifier can be removed at this point. + break; + + case MSSymbolServerConverter::LOCATE_NOT_FOUND: + FprintfFlush(stderr, "LocateResult = LOCATE_NOT_FOUND\n"); + // The symbol file definitively did not exist. Fall through, + // so we can attempt an external query if it's safe to do so. + break; + + case MSSymbolServerConverter::LOCATE_RETRY: + FprintfFlush(stderr, "LocateResult = LOCATE_RETRY\n"); + // Fall through in case we should make an external request. + // If not, or if an external request fails in the same way, + // we'll leave the entry in the symbol file list and + // try again on a future pass. Print a message so that there's + // a record. + break; + + case MSSymbolServerConverter::LOCATE_HTTP_HTTPS_REDIR: + FprintfFlush( + stderr, + "LocateResult = LOCATE_HTTP_HTTPS_REDIR\n" + "One of the specified URLs is using HTTP, which causes a redirect " + "from the server to HTTPS, which causes the SymSrv lookup to " + "fail.\n" + "This URL must be replaced with the correct HTTPS URL.\n"); + break; + + case MSSymbolServerConverter::LOCATE_FAILURE: + FprintfFlush(stderr, "LocateResult = LOCATE_FAILURE\n"); + // LocateAndConvertSymbolFile printed an error message. + break; + + default: + FprintfFlush( + stderr, + "FATAL: Unexpected return value '%d' from " + "LocateAndConvertSymbolFile()\n", + located); + assert(0); + break; + } + } else { + // No suitable internal symbol servers. This is fine because the converter + // is mainly used for downloading and converting of external symbols. + } + + // Make a request to an external server if the internal request didn't + // succeed, and it's safe to do so. + if (located != MSSymbolServerConverter::LOCATE_SUCCESS && + SafeToMakeExternalRequest(missing_info, options.blacklist_regex)) { + msss_servers = options.full_external_msss_servers; + if (!is_exe) { + msss_servers.insert(msss_servers.end(), + options.no_exe_external_msss_servers.begin(), + options.no_exe_external_msss_servers.end()); + } + if (msss_servers.size() > 0) { + FprintfFlush(stderr, "Making external request for %s (%s)\n", + missing_info.debug_file.c_str(), + missing_info.debug_identifier.c_str()); + MSSymbolServerConverter external_converter( + options.local_cache_path, msss_servers, options.trace_symsrv); + located = external_converter.LocateAndConvertSymbolFile( + missing_info, + /*keep_symbol_file=*/true, + /*keep_pe_file=*/true, &converted_file, &symbol_file, &pe_file); + } else { + FprintfFlush(stderr, "ERROR: No suitable external symbol servers.\n"); + } + } + + // Final handling for this symbol file is based on the result from the + // external request (if performed above), or on the result from the + // previous internal lookup. + switch (located) { + case MSSymbolServerConverter::LOCATE_SUCCESS: + FprintfFlush(stderr, "LocateResult = LOCATE_SUCCESS\n"); + // Upload it. Don't bother checking the return value. If this + // succeeds, it should disappear from the missing symbol list. + // If it fails, something will print an error message indicating + // the cause of the failure, and the item will remain on the + // missing symbol list. + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.debug_file, missing_info.debug_identifier, + converted_file, kSymbolUploadTypeBreakpad); + if (!options.keep_files) + remove(converted_file.c_str()); + + // Upload PDB/PE if we have them + if (!symbol_file.empty()) { + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.debug_file, missing_info.debug_identifier, + symbol_file, kSymbolUploadTypePDB); + if (!options.keep_files) + remove(symbol_file.c_str()); + } + if (!pe_file.empty()) { + UploadSymbolFile(options.upload_symbols_url, options.api_key, + missing_info.code_file, missing_info.debug_identifier, + pe_file, kSymbolUploadTypePE); + if (!options.keep_files) + remove(pe_file.c_str()); + } + + // Note: this does leave some directories behind that could be + // cleaned up. The directories inside options.local_cache_path for + // debug_file/debug_identifier can be removed at this point. + break; + + case MSSymbolServerConverter::LOCATE_NOT_FOUND: + // The symbol file definitively didn't exist. Inform the server. + // If this fails, something will print an error message indicating + // the cause of the failure, but there's really nothing more to + // do. If this succeeds, the entry should be removed from the + // missing symbols list. + if (!options.report_fetch_failures) { + FprintfFlush(stderr, "SendFetchFailedPing skipped\n"); + } else if (SendFetchFailedPing(options.fetch_symbol_failure_url, + missing_info)) { + FprintfFlush(stderr, "SendFetchFailedPing succeeded\n"); + } else { + FprintfFlush(stderr, "SendFetchFailedPing failed\n"); + } + break; + + case MSSymbolServerConverter::LOCATE_RETRY: + FprintfFlush(stderr, "LocateResult = LOCATE_RETRY\n"); + // Nothing to do but leave the entry in the symbol file list and + // try again on a future pass. Print a message so that there's + // a record. + FprintfFlush(stderr, "ConvertMissingSymbolFile: deferring retry " + "for %s %s %s\n", + missing_info.debug_file.c_str(), + missing_info.debug_identifier.c_str(), + missing_info.version.c_str()); + break; + + case MSSymbolServerConverter::LOCATE_HTTP_HTTPS_REDIR: + FprintfFlush( + stderr, + "LocateResult = LOCATE_HTTP_HTTPS_REDIR\n" + "One of the specified URLs is using HTTP, which causes a redirect " + "from the server to HTTPS, which causes the SymSrv lookup to fail.\n" + "This URL must be replaced with the correct HTTPS URL.\n"); + break; + + case MSSymbolServerConverter::LOCATE_FAILURE: + FprintfFlush(stderr, "LocateResult = LOCATE_FAILURE\n"); + // LocateAndConvertSymbolFile printed an error message. + + // This is due to a bad debug file name, so fetch failed. + if (!options.report_fetch_failures) { + FprintfFlush(stderr, "SendFetchFailedPing skipped\n"); + } else if (SendFetchFailedPing(options.fetch_symbol_failure_url, + missing_info)) { + FprintfFlush(stderr, "SendFetchFailedPing succeeded\n"); + } else { + FprintfFlush(stderr, "SendFetchFailedPing failed\n"); + } + break; + + default: + FprintfFlush( + stderr, + "FATAL: Unexpected return value '%d' from " + "LocateAndConvertSymbolFile()\n", + located); + assert(0); + break; + } +} + + +// Reads the contents of file |file_name| and populates |contents|. +// Returns true on success. +static bool ReadFile(string file_name, string* contents) { + char buffer[1024 * 8]; + FILE* fp = fopen(file_name.c_str(), "rt"); + if (!fp) { + return false; + } + contents->clear(); + while (fgets(buffer, sizeof(buffer), fp) != NULL) { + contents->append(buffer); + } + fclose(fp); + return true; +} + +// ConvertMissingSymbolsList obtains a missing symbol list from +// |options.missing_symbols_url| or |options.missing_symbols_file| and calls +// ConvertMissingSymbolFile for each missing symbol file in the list. +static bool ConvertMissingSymbolsList(const ConverterOptions& options) { + // Set param to indicate requesting for encoded response. + map<wstring, wstring> parameters; + parameters[L"product"] = kConverterProductName; + parameters[L"encoded"] = L"true"; + // Get the missing symbol list. + string missing_symbol_list; + if (!options.missing_symbols_file.empty()) { + if (!ReadFile(options.missing_symbols_file,& missing_symbol_list)) { + return false; + } + } else if (!HTTPDownload::Download(options.missing_symbols_url,& parameters, + & missing_symbol_list, NULL)) { + return false; + } + + // Tokenize the content into a vector. + vector<string> missing_symbol_lines; + Tokenizer::Tokenize("\n", missing_symbol_list,& missing_symbol_lines); + + FprintfFlush(stderr, "Found %d missing symbol files in list.\n", + missing_symbol_lines.size() - 1); // last line is empty. + int convert_attempts = 0; + for (vector<string>::const_iterator iterator = missing_symbol_lines.begin(); + iterator != missing_symbol_lines.end(); + ++iterator) { + // Decode symbol line. + const string& encoded_line = *iterator; + // Skip lines that are blank. + if (encoded_line.empty()) { + continue; + } + + string line; + if (!WebSafeBase64Unescape(encoded_line,& line)) { + // If decoding fails, assume the line is not encoded. + // This is helpful when the program connects to a debug server without + // encoding. + line = encoded_line; + } + + FprintfFlush(stderr, "\nLine: %s\n", line.c_str()); + + // Turn each element into a MissingSymbolInfo structure. + MissingSymbolInfo missing_info; + if (!ParseMissingString(line,& missing_info)) { + FprintfFlush(stderr, "ConvertMissingSymbols: ParseMissingString failed " + "for %s from %ws\n", + line.c_str(), options.missing_symbols_url.c_str()); + continue; + } + + ++convert_attempts; + ConvertMissingSymbolFile(missing_info, options); + } + + // Say something reassuring, since ConvertMissingSymbolFile was never called + // and therefore never reported any progress. + if (convert_attempts == 0) { + string current_time = CurrentDateAndTime(); + FprintfFlush(stdout, "converter: %s: nothing to convert\n", + current_time.c_str()); + } + + return true; +} + +// usage prints the usage message. It returns 1 as a convenience, to be used +// as a return value from main. +static int usage(const char* program_name) { + FprintfFlush( + stderr, + "usage: %s [options]\n" + " -f <full_msss_server> MS servers to ask for all symbols\n" + " -n <no_exe_msss_server> same, but prevent asking for EXEs\n" + " -l <local_cache_path> Temporary local storage for symbols\n" + " -s <upload_url> URL for uploading symbols\n" + " -k <api_key> API key to use when uploading symbols\n" + " -m <missing_symbols_url> URL to fetch list of missing symbols\n" + " -mf <missing_symbols_file> File containing the list of missing\n" + " symbols. Fetch failures are not\n" + " reported if such file is provided.\n" + " -t <fetch_failure_url> URL to report symbol fetch failure\n" + " -b <regex> Regex used to blacklist files to\n" + " prevent external symbol requests\n" + " -tss If set then SymSrv callbacks will be\n" + " traced to stderr.\n" + " -keep-files If set then don't delete Breakpad/PE/\n" + " PDB files after conversion.\n" + " Note that any server specified by -f or -n that starts with \\filer\n" + " will be treated as internal, and all others as external.\n", + program_name); + + return 1; +} + +// "Internal" servers consist only of those whose names start with +// the literal string "\\filer\". +static bool IsInternalServer(const string& server_name) { + if (server_name.find("\\\\filer\\") == 0) { + return true; + } + return false; +} + +// Adds a server with the given name to the list of internal or external +// servers, as appropriate. +static void AddServer(const string& server_name, + vector<string>* internal_servers, + vector<string>* external_servers) { + if (IsInternalServer(server_name)) { + internal_servers->push_back(server_name); + } else { + external_servers->push_back(server_name); + } +} + +} // namespace + +int main(int argc, char** argv) { + string time_string = CurrentDateAndTime(); + FprintfFlush(stdout, "converter: %s: starting\n", time_string.c_str()); + + ConverterOptions options; + options.report_fetch_failures = true; + + string blacklist_regex_str; + bool have_any_msss_servers = false; + for (int argi = 1; argi < argc; argi++) { + string option = argv[argi]; + if (option == "-tss") { + printf("Tracing SymSrv callbacks to stderr.\n"); + options.trace_symsrv = true; + continue; + } else if (option == "-keep-files") { + printf("Keeping Breakpad/PE/PDB files after conversion.\n"); + options.keep_files = true; + continue; + } + + string value = argv[++argi]; + if (option == "-f") { + AddServer(value,& options.full_internal_msss_servers, + & options.full_external_msss_servers); + have_any_msss_servers = true; + } else if (option == "-n") { + AddServer(value,& options.no_exe_internal_msss_servers, + & options.no_exe_external_msss_servers); + have_any_msss_servers = true; + } else if (option == "-l") { + if (!options.local_cache_path.empty()) { + return usage(argv[0]); + } + options.local_cache_path = value; + } else if (option == "-s") { + if (!WindowsStringUtils::safe_mbstowcs(value, + & options.upload_symbols_url)) { + FprintfFlush(stderr, "main: safe_mbstowcs failed for %s\n", + value.c_str()); + return 1; + } + } else if (option == "-k") { + if (!WindowsStringUtils::safe_mbstowcs(value, &options.api_key)) { + FprintfFlush(stderr, "main: safe_mbstowcs failed for %s\n", + value.c_str()); + return 1; + } + } else if (option == "-m") { + if (!WindowsStringUtils::safe_mbstowcs(value, + & options.missing_symbols_url)) { + FprintfFlush(stderr, "main: safe_mbstowcs failed for %s\n", + value.c_str()); + return 1; + } + } else if (option == "-mf") { + options.missing_symbols_file = value; + printf("Getting the list of missing symbols from a file. Fetch failures" + " will not be reported.\n"); + options.report_fetch_failures = false; + } else if (option == "-t") { + if (!WindowsStringUtils::safe_mbstowcs( + value, + & options.fetch_symbol_failure_url)) { + FprintfFlush(stderr, "main: safe_mbstowcs failed for %s\n", + value.c_str()); + return 1; + } + } else if (option == "-b") { + blacklist_regex_str = value; + } else { + return usage(argv[0]); + } + } + + if (blacklist_regex_str.empty()) { + FprintfFlush(stderr, "No blacklist specified.\n"); + return usage(argv[0]); + } + + // Compile the blacklist regular expression for later use. + options.blacklist_regex = std::regex(blacklist_regex_str.c_str(), + std::regex_constants::icase); + + // Set the defaults. If the user specified any MSSS servers, don't use + // any default. + if (!have_any_msss_servers) { + AddServer(kNoExeMSSSServer,& options.no_exe_internal_msss_servers, + & options.no_exe_external_msss_servers); + } + + if (options.local_cache_path.empty()) { + options.local_cache_path = kLocalCachePath; + } + + if (options.upload_symbols_url.empty()) { + FprintfFlush(stderr, "No upload symbols URL specified.\n"); + return usage(argv[0]); + } + if (options.api_key.empty()) { + FprintfFlush(stderr, "No API key specified.\n"); + return usage(argv[0]); + } + if (options.missing_symbols_url.empty() && + options.missing_symbols_file.empty()) { + FprintfFlush(stderr, "No missing symbols URL or file specified.\n"); + return usage(argv[0]); + } + if (options.fetch_symbol_failure_url.empty()) { + FprintfFlush(stderr, "No fetch symbol failure URL specified.\n"); + return usage(argv[0]); + } + + FprintfFlush(stdout, + "# of Symbol Servers (int/ext): %d/%d full, %d/%d no_exe\n", + options.full_internal_msss_servers.size(), + options.full_external_msss_servers.size(), + options.no_exe_internal_msss_servers.size(), + options.no_exe_external_msss_servers.size()); + + if (!ConvertMissingSymbolsList(options)) { + return 1; + } + + time_string = CurrentDateAndTime(); + FprintfFlush(stdout, "converter: %s: finished\n", time_string.c_str()); + return 0; +} diff --git a/externals/breakpad/src/tools/windows/converter_exe/escaping.cc b/externals/breakpad/src/tools/windows/converter_exe/escaping.cc new file mode 100644 index 0000000000..e399c0f48d --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/escaping.cc @@ -0,0 +1,761 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include "tools/windows/converter_exe/escaping.h" + +#include <assert.h> + +#define kApb kAsciiPropertyBits + +const unsigned char kAsciiPropertyBits[256] = { + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 0x00 + 0x40, 0x68, 0x48, 0x48, 0x48, 0x48, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 0x10 + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 0x20 + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x84, 0x84, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x05, // 0x40 + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x50 + 0x05, 0x05, 0x05, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x05, // 0x60 + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x70 + 0x05, 0x05, 0x05, 0x10, 0x10, 0x10, 0x10, 0x40, +}; + +// Use !! to suppress the warning C4800 of forcing 'int' to 'bool'. +static inline bool ascii_isspace(unsigned char c) { return !!(kApb[c] & 0x08); } + +/////////////////////////////////// +// scoped_array +/////////////////////////////////// +// scoped_array<C> is like scoped_ptr<C>, except that the caller must allocate +// with new [] and the destructor deletes objects with delete []. +// +// As with scoped_ptr<C>, a scoped_array<C> either points to an object +// or is NULL. A scoped_array<C> owns the object that it points to. +// scoped_array<T> is thread-compatible, and once you index into it, +// the returned objects have only the threadsafety guarantees of T. +// +// Size: sizeof(scoped_array<C>) == sizeof(C*) +template <class C> +class scoped_array { + public: + + // The element type + typedef C element_type; + + // Constructor. Defaults to intializing with NULL. + // There is no way to create an uninitialized scoped_array. + // The input parameter must be allocated with new []. + explicit scoped_array(C* p = NULL) : array_(p) { } + + // Destructor. If there is a C object, delete it. + // We don't need to test ptr_ == NULL because C++ does that for us. + ~scoped_array() { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + } + + // Reset. Deletes the current owned object, if any. + // Then takes ownership of a new object, if given. + // this->reset(this->get()) works. + void reset(C* p = NULL) { + if (p != array_) { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + array_ = p; + } + } + + // Get one element of the current object. + // Will assert() if there is no current object, or index i is negative. + C& operator[](std::ptrdiff_t i) const { + assert(i >= 0); + assert(array_ != NULL); + return array_[i]; + } + + // Get a pointer to the zeroth element of the current object. + // If there is no current object, return NULL. + C* get() const { + return array_; + } + + // Comparison operators. + // These return whether a scoped_array and a raw pointer refer to + // the same array, not just to two different but equal arrays. + bool operator==(const C* p) const { return array_ == p; } + bool operator!=(const C* p) const { return array_ != p; } + + // Swap two scoped arrays. + void swap(scoped_array& p2) { + C* tmp = array_; + array_ = p2.array_; + p2.array_ = tmp; + } + + // Release an array. + // The return value is the current pointer held by this object. + // If this object holds a NULL pointer, the return value is NULL. + // After this operation, this object will hold a NULL pointer, + // and will not own the object any more. + C* release() { + C* retVal = array_; + array_ = NULL; + return retVal; + } + + private: + C* array_; + + // Forbid comparison of different scoped_array types. + template <class C2> bool operator==(scoped_array<C2> const& p2) const; + template <class C2> bool operator!=(scoped_array<C2> const& p2) const; + + // Disallow evil constructors + scoped_array(const scoped_array&); + void operator=(const scoped_array&); +}; + + +/////////////////////////////////// +// Escape methods +/////////////////////////////////// + +namespace strings { + +// Return a mutable char* pointing to a string's internal buffer, +// which may not be null-terminated. Writing through this pointer will +// modify the string. +// +// string_as_array(&str)[i] is valid for 0 <= i < str.size() until the +// next call to a string method that invalidates iterators. +// +// As of 2006-04, there is no standard-blessed way of getting a +// mutable reference to a string's internal buffer. However, issue 530 +// (http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-active.html#530) +// proposes this as the method. According to Matt Austern, this should +// already work on all current implementations. +inline char* string_as_array(string* str) { + // DO NOT USE const_cast<char*>(str->data())! See the unittest for why. + return str->empty() ? NULL : &*str->begin(); +} + +int CalculateBase64EscapedLen(int input_len, bool do_padding) { + // these formulae were copied from comments that used to go with the base64 + // encoding functions + int intermediate_result = 8 * input_len + 5; + assert(intermediate_result > 0); // make sure we didn't overflow + int len = intermediate_result / 6; + if (do_padding) len = ((len + 3) / 4) * 4; + return len; +} + +// Base64Escape does padding, so this calculation includes padding. +int CalculateBase64EscapedLen(int input_len) { + return CalculateBase64EscapedLen(input_len, true); +} + +// ---------------------------------------------------------------------- +// int Base64Unescape() - base64 decoder +// int Base64Escape() - base64 encoder +// int WebSafeBase64Unescape() - Google's variation of base64 decoder +// int WebSafeBase64Escape() - Google's variation of base64 encoder +// +// Check out +// http://www.cis.ohio-state.edu/htbin/rfc/rfc2045.html for formal +// description, but what we care about is that... +// Take the encoded stuff in groups of 4 characters and turn each +// character into a code 0 to 63 thus: +// A-Z map to 0 to 25 +// a-z map to 26 to 51 +// 0-9 map to 52 to 61 +// +(- for WebSafe) maps to 62 +// /(_ for WebSafe) maps to 63 +// There will be four numbers, all less than 64 which can be represented +// by a 6 digit binary number (aaaaaa, bbbbbb, cccccc, dddddd respectively). +// Arrange the 6 digit binary numbers into three bytes as such: +// aaaaaabb bbbbcccc ccdddddd +// Equals signs (one or two) are used at the end of the encoded block to +// indicate that the text was not an integer multiple of three bytes long. +// ---------------------------------------------------------------------- + +int Base64UnescapeInternal(const char *src, int szsrc, + char *dest, int szdest, + const signed char* unbase64) { + static const char kPad64 = '='; + + int decode = 0; + int destidx = 0; + int state = 0; + unsigned int ch = 0; + unsigned int temp = 0; + + // The GET_INPUT macro gets the next input character, skipping + // over any whitespace, and stopping when we reach the end of the + // string or when we read any non-data character. The arguments are + // an arbitrary identifier (used as a label for goto) and the number + // of data bytes that must remain in the input to avoid aborting the + // loop. +#define GET_INPUT(label, remain) \ + label: \ + --szsrc; \ + ch = *src++; \ + decode = unbase64[ch]; \ + if (decode < 0) { \ + if (ascii_isspace((char)ch) && szsrc >= remain) \ + goto label; \ + state = 4 - remain; \ + break; \ + } + + // if dest is null, we're just checking to see if it's legal input + // rather than producing output. (I suspect this could just be done + // with a regexp...). We duplicate the loop so this test can be + // outside it instead of in every iteration. + + if (dest) { + // This loop consumes 4 input bytes and produces 3 output bytes + // per iteration. We can't know at the start that there is enough + // data left in the string for a full iteration, so the loop may + // break out in the middle; if so 'state' will be set to the + // number of input bytes read. + + while (szsrc >= 4) { + // We'll start by optimistically assuming that the next four + // bytes of the string (src[0..3]) are four good data bytes + // (that is, no nulls, whitespace, padding chars, or illegal + // chars). We need to test src[0..2] for nulls individually + // before constructing temp to preserve the property that we + // never read past a null in the string (no matter how long + // szsrc claims the string is). + + if (!src[0] || !src[1] || !src[2] || + (temp = ((unbase64[static_cast<int>(src[0])] << 18) | + (unbase64[static_cast<int>(src[1])] << 12) | + (unbase64[static_cast<int>(src[2])] << 6) | + (unbase64[static_cast<int>(src[3])]))) & 0x80000000) { + // Iff any of those four characters was bad (null, illegal, + // whitespace, padding), then temp's high bit will be set + // (because unbase64[] is -1 for all bad characters). + // + // We'll back up and resort to the slower decoder, which knows + // how to handle those cases. + + GET_INPUT(first, 4); + temp = decode; + GET_INPUT(second, 3); + temp = (temp << 6) | decode; + GET_INPUT(third, 2); + temp = (temp << 6) | decode; + GET_INPUT(fourth, 1); + temp = (temp << 6) | decode; + } else { + // We really did have four good data bytes, so advance four + // characters in the string. + + szsrc -= 4; + src += 4; + decode = -1; + ch = '\0'; + } + + // temp has 24 bits of input, so write that out as three bytes. + + if (destidx+3 > szdest) return -1; + dest[destidx+2] = (char)temp; + temp >>= 8; + dest[destidx+1] = (char)temp; + temp >>= 8; + dest[destidx] = (char)temp; + destidx += 3; + } + } else { + while (szsrc >= 4) { + if (!src[0] || !src[1] || !src[2] || + (temp = ((unbase64[static_cast<int>(src[0])] << 18) | + (unbase64[static_cast<int>(src[1])] << 12) | + (unbase64[static_cast<int>(src[2])] << 6) | + (unbase64[static_cast<int>(src[3])]))) & 0x80000000) { + GET_INPUT(first_no_dest, 4); + GET_INPUT(second_no_dest, 3); + GET_INPUT(third_no_dest, 2); + GET_INPUT(fourth_no_dest, 1); + } else { + szsrc -= 4; + src += 4; + decode = -1; + ch = '\0'; + } + destidx += 3; + } + } + +#undef GET_INPUT + + // if the loop terminated because we read a bad character, return + // now. + if (decode < 0 && ch != '\0' && ch != kPad64 && !ascii_isspace((char)ch)) + return -1; + + if (ch == kPad64) { + // if we stopped by hitting an '=', un-read that character -- we'll + // look at it again when we count to check for the proper number of + // equals signs at the end. + ++szsrc; + --src; + } else { + // This loop consumes 1 input byte per iteration. It's used to + // clean up the 0-3 input bytes remaining when the first, faster + // loop finishes. 'temp' contains the data from 'state' input + // characters read by the first loop. + while (szsrc > 0) { + --szsrc; + ch = *src++; + decode = unbase64[ch]; + if (decode < 0) { + if (ascii_isspace((char)ch)) { + continue; + } else if (ch == '\0') { + break; + } else if (ch == kPad64) { + // back up one character; we'll read it again when we check + // for the correct number of equals signs at the end. + ++szsrc; + --src; + break; + } else { + return -1; + } + } + + // Each input character gives us six bits of output. + temp = (temp << 6) | decode; + ++state; + if (state == 4) { + // If we've accumulated 24 bits of output, write that out as + // three bytes. + if (dest) { + if (destidx+3 > szdest) return -1; + dest[destidx+2] = (char)temp; + temp >>= 8; + dest[destidx+1] = (char)temp; + temp >>= 8; + dest[destidx] = (char)temp; + } + destidx += 3; + state = 0; + temp = 0; + } + } + } + + // Process the leftover data contained in 'temp' at the end of the input. + int expected_equals = 0; + switch (state) { + case 0: + // Nothing left over; output is a multiple of 3 bytes. + break; + + case 1: + // Bad input; we have 6 bits left over. + return -1; + + case 2: + // Produce one more output byte from the 12 input bits we have left. + if (dest) { + if (destidx+1 > szdest) return -1; + temp >>= 4; + dest[destidx] = (char)temp; + } + ++destidx; + expected_equals = 2; + break; + + case 3: + // Produce two more output bytes from the 18 input bits we have left. + if (dest) { + if (destidx+2 > szdest) return -1; + temp >>= 2; + dest[destidx+1] = (char)temp; + temp >>= 8; + dest[destidx] = (char)temp; + } + destidx += 2; + expected_equals = 1; + break; + + default: + // state should have no other values at this point. + fprintf(stdout, "This can't happen; base64 decoder state = %d", state); + } + + // The remainder of the string should be all whitespace, mixed with + // exactly 0 equals signs, or exactly 'expected_equals' equals + // signs. (Always accepting 0 equals signs is a google extension + // not covered in the RFC.) + + int equals = 0; + while (szsrc > 0 && *src) { + if (*src == kPad64) + ++equals; + else if (!ascii_isspace(*src)) + return -1; + --szsrc; + ++src; + } + + return (equals == 0 || equals == expected_equals) ? destidx : -1; +} + +int Base64Unescape(const char *src, int szsrc, char *dest, int szdest) { + static const signed char UnBase64[] = { + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 62/*+*/, -1, -1, -1, 63/*/ */, + 52/*0*/, 53/*1*/, 54/*2*/, 55/*3*/, 56/*4*/, 57/*5*/, 58/*6*/, 59/*7*/, + 60/*8*/, 61/*9*/, -1, -1, -1, -1, -1, -1, + -1, 0/*A*/, 1/*B*/, 2/*C*/, 3/*D*/, 4/*E*/, 5/*F*/, 6/*G*/, + 7/*H*/, 8/*I*/, 9/*J*/, 10/*K*/, 11/*L*/, 12/*M*/, 13/*N*/, 14/*O*/, + 15/*P*/, 16/*Q*/, 17/*R*/, 18/*S*/, 19/*T*/, 20/*U*/, 21/*V*/, 22/*W*/, + 23/*X*/, 24/*Y*/, 25/*Z*/, -1, -1, -1, -1, -1, + -1, 26/*a*/, 27/*b*/, 28/*c*/, 29/*d*/, 30/*e*/, 31/*f*/, 32/*g*/, + 33/*h*/, 34/*i*/, 35/*j*/, 36/*k*/, 37/*l*/, 38/*m*/, 39/*n*/, 40/*o*/, + 41/*p*/, 42/*q*/, 43/*r*/, 44/*s*/, 45/*t*/, 46/*u*/, 47/*v*/, 48/*w*/, + 49/*x*/, 50/*y*/, 51/*z*/, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }; + // The above array was generated by the following code + // #include <sys/time.h> + // #include <stdlib.h> + // #include <string.h> + // main() + // { + // static const char Base64[] = + // "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + // char *pos; + // int idx, i, j; + // printf(" "); + // for (i = 0; i < 255; i += 8) { + // for (j = i; j < i + 8; j++) { + // pos = strchr(Base64, j); + // if ((pos == NULL) || (j == 0)) + // idx = -1; + // else + // idx = pos - Base64; + // if (idx == -1) + // printf(" %2d, ", idx); + // else + // printf(" %2d/*%c*/,", idx, j); + // } + // printf("\n "); + // } + // } + + return Base64UnescapeInternal(src, szsrc, dest, szdest, UnBase64); +} + +bool Base64Unescape(const char *src, int slen, string* dest) { + // Determine the size of the output string. Base64 encodes every 3 bytes into + // 4 characters. any leftover chars are added directly for good measure. + // This is documented in the base64 RFC: http://www.ietf.org/rfc/rfc3548.txt + const int dest_len = 3 * (slen / 4) + (slen % 4); + + dest->resize(dest_len); + + // We are getting the destination buffer by getting the beginning of the + // string and converting it into a char *. + const int len = Base64Unescape(src, slen, + string_as_array(dest), dest->size()); + if (len < 0) { + return false; + } + + // could be shorter if there was padding + assert(len <= dest_len); + dest->resize(len); + + return true; +} + +// Base64Escape +// +// NOTE: We have to use an unsigned type for src because code built +// in the the /google tree treats characters as signed unless +// otherwised specified. +// +// TODO(who?): Move this function to use the char* type for "src" +int Base64EscapeInternal(const unsigned char *src, int szsrc, + char *dest, int szdest, const char *base64, + bool do_padding) { + static const char kPad64 = '='; + + if (szsrc <= 0) return 0; + + char *cur_dest = dest; + const unsigned char *cur_src = src; + + // Three bytes of data encodes to four characters of cyphertext. + // So we can pump through three-byte chunks atomically. + while (szsrc > 2) { /* keep going until we have less than 24 bits */ + if ((szdest -= 4) < 0) return 0; + cur_dest[0] = base64[cur_src[0] >> 2]; + cur_dest[1] = base64[((cur_src[0] & 0x03) << 4) + (cur_src[1] >> 4)]; + cur_dest[2] = base64[((cur_src[1] & 0x0f) << 2) + (cur_src[2] >> 6)]; + cur_dest[3] = base64[cur_src[2] & 0x3f]; + + cur_dest += 4; + cur_src += 3; + szsrc -= 3; + } + + /* now deal with the tail (<=2 bytes) */ + switch (szsrc) { + case 0: + // Nothing left; nothing more to do. + break; + case 1: + // One byte left: this encodes to two characters, and (optionally) + // two pad characters to round out the four-character cypherblock. + if ((szdest -= 2) < 0) return 0; + cur_dest[0] = base64[cur_src[0] >> 2]; + cur_dest[1] = base64[(cur_src[0] & 0x03) << 4]; + cur_dest += 2; + if (do_padding) { + if ((szdest -= 2) < 0) return 0; + cur_dest[0] = kPad64; + cur_dest[1] = kPad64; + cur_dest += 2; + } + break; + case 2: + // Two bytes left: this encodes to three characters, and (optionally) + // one pad character to round out the four-character cypherblock. + if ((szdest -= 3) < 0) return 0; + cur_dest[0] = base64[cur_src[0] >> 2]; + cur_dest[1] = base64[((cur_src[0] & 0x03) << 4) + (cur_src[1] >> 4)]; + cur_dest[2] = base64[(cur_src[1] & 0x0f) << 2]; + cur_dest += 3; + if (do_padding) { + if ((szdest -= 1) < 0) return 0; + cur_dest[0] = kPad64; + cur_dest += 1; + } + break; + default: + // Should not be reached: blocks of 3 bytes are handled + // in the while loop before this switch statement. + fprintf(stderr, "Logic problem? szsrc = %d", szsrc); + assert(false); + break; + } + return (cur_dest - dest); +} + +static const char kBase64Chars[] = +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +static const char kWebSafeBase64Chars[] = +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; + +int Base64Escape(const unsigned char *src, int szsrc, char *dest, int szdest) { + return Base64EscapeInternal(src, szsrc, dest, szdest, kBase64Chars, true); +} + +void Base64Escape(const unsigned char *src, int szsrc, + string* dest, bool do_padding) { + const int max_escaped_size = + CalculateBase64EscapedLen(szsrc, do_padding); + dest->clear(); + dest->resize(max_escaped_size + 1, '\0'); + const int escaped_len = Base64EscapeInternal(src, szsrc, + &*dest->begin(), dest->size(), + kBase64Chars, + do_padding); + assert(max_escaped_size <= escaped_len); + dest->resize(escaped_len); +} + +void Base64Escape(const string& src, string* dest) { + Base64Escape(reinterpret_cast<const unsigned char*>(src.c_str()), + src.size(), dest, true); +} + +//////////////////////////////////////////////////// +// WebSafe methods +//////////////////////////////////////////////////// + +int WebSafeBase64Unescape(const char *src, int szsrc, char *dest, int szdest) { + static const signed char UnBase64[] = { + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 62/*-*/, -1, -1, + 52/*0*/, 53/*1*/, 54/*2*/, 55/*3*/, 56/*4*/, 57/*5*/, 58/*6*/, 59/*7*/, + 60/*8*/, 61/*9*/, -1, -1, -1, -1, -1, -1, + -1, 0/*A*/, 1/*B*/, 2/*C*/, 3/*D*/, 4/*E*/, 5/*F*/, 6/*G*/, + 7/*H*/, 8/*I*/, 9/*J*/, 10/*K*/, 11/*L*/, 12/*M*/, 13/*N*/, 14/*O*/, + 15/*P*/, 16/*Q*/, 17/*R*/, 18/*S*/, 19/*T*/, 20/*U*/, 21/*V*/, 22/*W*/, + 23/*X*/, 24/*Y*/, 25/*Z*/, -1, -1, -1, -1, 63/*_*/, + -1, 26/*a*/, 27/*b*/, 28/*c*/, 29/*d*/, 30/*e*/, 31/*f*/, 32/*g*/, + 33/*h*/, 34/*i*/, 35/*j*/, 36/*k*/, 37/*l*/, 38/*m*/, 39/*n*/, 40/*o*/, + 41/*p*/, 42/*q*/, 43/*r*/, 44/*s*/, 45/*t*/, 46/*u*/, 47/*v*/, 48/*w*/, + 49/*x*/, 50/*y*/, 51/*z*/, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }; + // The above array was generated by the following code + // #include <sys/time.h> + // #include <stdlib.h> + // #include <string.h> + // main() + // { + // static const char Base64[] = + // "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; + // char *pos; + // int idx, i, j; + // printf(" "); + // for (i = 0; i < 255; i += 8) { + // for (j = i; j < i + 8; j++) { + // pos = strchr(Base64, j); + // if ((pos == NULL) || (j == 0)) + // idx = -1; + // else + // idx = pos - Base64; + // if (idx == -1) + // printf(" %2d, ", idx); + // else + // printf(" %2d/*%c*/,", idx, j); + // } + // printf("\n "); + // } + // } + + return Base64UnescapeInternal(src, szsrc, dest, szdest, UnBase64); +} + +bool WebSafeBase64Unescape(const char *src, int slen, string* dest) { + int dest_len = 3 * (slen / 4) + (slen % 4); + dest->clear(); + dest->resize(dest_len); + int len = WebSafeBase64Unescape(src, slen, &*dest->begin(), dest->size()); + if (len < 0) { + dest->clear(); + return false; + } + // could be shorter if there was padding + assert(len <= dest_len); + dest->resize(len); + return true; +} + +bool WebSafeBase64Unescape(const string& src, string* dest) { + return WebSafeBase64Unescape(src.data(), src.size(), dest); +} + +int WebSafeBase64Escape(const unsigned char *src, int szsrc, char *dest, + int szdest, bool do_padding) { + return Base64EscapeInternal(src, szsrc, dest, szdest, + kWebSafeBase64Chars, do_padding); +} + +void WebSafeBase64Escape(const unsigned char *src, int szsrc, + string *dest, bool do_padding) { + const int max_escaped_size = + CalculateBase64EscapedLen(szsrc, do_padding); + dest->clear(); + dest->resize(max_escaped_size + 1, '\0'); + const int escaped_len = Base64EscapeInternal(src, szsrc, + &*dest->begin(), dest->size(), + kWebSafeBase64Chars, + do_padding); + assert(max_escaped_size <= escaped_len); + dest->resize(escaped_len); +} + +void WebSafeBase64EscapeInternal(const string& src, + string* dest, + bool do_padding) { + int encoded_len = CalculateBase64EscapedLen(src.size()); + scoped_array<char> buf(new char[encoded_len]); + int len = WebSafeBase64Escape(reinterpret_cast<const unsigned char*>(src.c_str()), + src.size(), buf.get(), + encoded_len, do_padding); + dest->assign(buf.get(), len); +} + +void WebSafeBase64Escape(const string& src, string* dest) { + WebSafeBase64EscapeInternal(src, dest, false); +} + +void WebSafeBase64EscapeWithPadding(const string& src, string* dest) { + WebSafeBase64EscapeInternal(src, dest, true); +} + +} // namespace strings diff --git a/externals/breakpad/src/tools/windows/converter_exe/escaping.h b/externals/breakpad/src/tools/windows/converter_exe/escaping.h new file mode 100644 index 0000000000..bc36bf57c1 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/escaping.h @@ -0,0 +1,99 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Base64 escaping methods to encode/decode strings. + +#ifndef TOOLS_WINDOWS_CONVERTER_EXE_ESCAPING_H_ +#define TOOLS_WINDOWS_CONVERTER_EXE_ESCAPING_H_ + +#include <string> + +namespace strings { + +using std::string; + +// ---------------------------------------------------------------------- +// Base64Escape() +// WebSafeBase64Escape() +// Encode "src" to "dest" using base64 encoding. +// src is not null terminated, instead specify len. +// 'dest' should have at least CalculateBase64EscapedLen() length. +// RETURNS the length of dest. +// The WebSafe variation use '-' instead of '+' and '_' instead of '/' +// so that we can place the out in the URL or cookies without having +// to escape them. It also has an extra parameter "do_padding", +// which when set to false will prevent padding with "=". +// ---------------------------------------------------------------------- +void Base64Escape(const string& src, string* dest); +int Base64Escape(const unsigned char* src, int slen, char* dest, int szdest); +// Encode src into dest with padding. +void Base64Escape(const unsigned char* src, int szsrc, + string* dest, bool do_padding); + +int WebSafeBase64Escape(const unsigned char* src, int slen, char* dest, + int szdest, bool do_padding); +// Encode src into dest web-safely without padding. +void WebSafeBase64Escape(const string& src, string* dest); +// Encode src into dest web-safely with padding. +void WebSafeBase64EscapeWithPadding(const string& src, string* dest); +void WebSafeBase64Escape(const unsigned char* src, int szsrc, + string* dest, bool do_padding); + +// ---------------------------------------------------------------------- +// Base64Unescape() +// WebSafeBase64Unescape() +// Copies "src" to "dest", where src is in base64 and is written to its +// ASCII equivalents. src is not null terminated, instead specify len. +// I recommend that slen<szdest, but we honor szdest anyway. +// RETURNS the length of dest, or -1 if src contains invalid chars. +// The WebSafe variation use '-' instead of '+' and '_' instead of '/'. +// The variations that store into a string clear the string first, and +// return false (with dest empty) if src contains invalid chars; for +// these versions src and dest must be different strings. +// ---------------------------------------------------------------------- +int Base64Unescape(const char* src, int slen, char* dest, int szdest); +bool Base64Unescape(const char* src, int slen, string* dest); +inline bool Base64Unescape(const string& src, string* dest) { + return Base64Unescape(src.data(), src.size(), dest); +} + + +int WebSafeBase64Unescape(const char* src, int slen, char* dest, int szdest); +bool WebSafeBase64Unescape(const char* src, int slen, string* dest); +bool WebSafeBase64Unescape(const string& src, string* dest); + +// Return the length to use for the output buffer given to the base64 escape +// routines. Make sure to use the same value for do_padding in both. +// This function may return incorrect results if given input_len values that +// are extremely high, which should happen rarely. +int CalculateBase64EscapedLen(int input_len, bool do_padding); +// Use this version when calling Base64Escape without a do_padding arg. +int CalculateBase64EscapedLen(int input_len); +} // namespace strings + +#endif // TOOLS_WINDOWS_CONVERTER_EXE_ESCAPING_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/http_client.h b/externals/breakpad/src/tools/windows/converter_exe/http_client.h new file mode 100644 index 0000000000..38ebf2e4ec --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/http_client.h @@ -0,0 +1,96 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef TOOLS_CRASH_CONVERTER_WINDOWS_HTTP_CLIENT_H_ +#define TOOLS_CRASH_CONVERTER_WINDOWS_HTTP_CLIENT_H_ + +#include <tchar.h> +#include <windows.h> +#include <vector> + +typedef void* HttpHandle; + +namespace crash { + +// HttpClient provides an abstract layer for HTTP APIs. The actual +// implementation can be based on either WinHttp or WinInet. +class HttpClient { + public: + enum AccessType { + ACCESS_TYPE_PRECONFIG, + ACCESS_TYPE_DIRECT, + ACCESS_TYPE_PROXY, + }; + + virtual ~HttpClient() {} + + virtual bool CrackUrl(const TCHAR* url, + DWORD flags, + TCHAR* scheme, + size_t scheme_buffer_length, + TCHAR* host, + size_t host_buffer_length, + TCHAR* uri, + size_t uri_buffer_length, + int* port) const = 0; + virtual bool Open(const TCHAR* user_agent, + DWORD access_type, + const TCHAR* proxy_name, + const TCHAR* proxy_bypass, + HttpHandle* session_handle) const = 0; + virtual bool Connect(HttpHandle session_handle, + const TCHAR* server, + int port, + HttpHandle* connection_handle) const = 0; + virtual bool OpenRequest(HttpHandle connection_handle, + const TCHAR* verb, + const TCHAR* uri, + const TCHAR* version, + const TCHAR* referrer, + bool is_secure, + HttpHandle* request_handle) const = 0; + virtual bool SendRequest(HttpHandle request_handle, + const TCHAR* headers, + DWORD headers_length) const = 0; + virtual bool ReceiveResponse(HttpHandle request_handle) const = 0; + virtual bool GetHttpStatusCode(HttpHandle request_handle, + int* status_code) const = 0; + virtual bool GetContentLength(HttpHandle request_handle, + DWORD* content_length) const = 0; + virtual bool ReadData(HttpHandle request_handle, + void* buffer, + DWORD buffer_length, + DWORD* bytes_read) const = 0; + virtual bool Close(HttpHandle handle) const = 0; + + static const DWORD kUnknownContentLength = (DWORD)-1; +}; + +} // namespace crash + +#endif // TOOLS_CRASH_CONVERTER_WINDOWS_HTTP_CLIENT_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/http_download.cc b/externals/breakpad/src/tools/windows/converter_exe/http_download.cc new file mode 100644 index 0000000000..de8241980b --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/http_download.cc @@ -0,0 +1,330 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <assert.h> +#include <stdio.h> +#include <Windows.h> +#include <WinInet.h> + +#include <vector> + +#include "tools/windows/converter_exe/http_download.h" +#include "tools/windows/converter_exe/winhttp_client.h" +#include "tools/windows/converter_exe/wininet_client.h" + +namespace crash { +static const std::vector<char>::size_type kVectorChunkSize = 4096; // 4 KB + +using std::vector; + +// Class that atuo closes the contained HttpHandle when the object +// goes out of scope. +class AutoHttpHandle { + public: + AutoHttpHandle() : handle_(NULL) {} + explicit AutoHttpHandle(HttpHandle handle) : handle_(handle) {} + ~AutoHttpHandle() { + if (handle_) { + InternetCloseHandle(handle_); + } + } + + HttpHandle get() { return handle_; } + HttpHandle* get_handle_addr () { return &handle_; } + + private: + HttpHandle handle_; +}; + +// Template class for auto releasing the contained pointer when +// the object goes out of scope. +template<typename T> +class AutoPtr { + public: + explicit AutoPtr(T* ptr) : ptr_(ptr) {} + ~AutoPtr() { + if (ptr_) { + delete ptr_; + } + } + + T* get() { return ptr_; } + T* operator -> () { return ptr_; } + + private: + T* ptr_; +}; + +// CheckParameters ensures that the parameters in |parameters| are safe for +// use in an HTTP URL. Returns true if they are, false if unsafe characters +// are present. +static bool CheckParameters(const map<wstring, wstring>* parameters) { + for (map<wstring, wstring>::const_iterator iterator = parameters->begin(); + iterator != parameters->end(); + ++iterator) { + const wstring& key = iterator->first; + if (key.empty()) { + // Disallow empty parameter names. + return false; + } + for (unsigned int i = 0; i < key.size(); ++i) { + wchar_t c = key[i]; + if (c < 32 || c == '"' || c == '?' || c == '&' || c > 127) { + return false; + } + } + + const wstring& value = iterator->second; + for (unsigned int i = 0; i < value.size(); ++i) { + wchar_t c = value[i]; + if (c < 32 || c == '"' || c == '?' || c == '&' || c > 127) { + return false; + } + } + } + + return true; +} + +HttpClient* HTTPDownload::CreateHttpClient(const wchar_t* url) { + const TCHAR* kHttpApiPolicyEnvironmentVariable = TEXT("USE_WINHTTP"); + TCHAR buffer[2] = {0}; + HttpClient* http_client = NULL; + + if (::GetEnvironmentVariable(kHttpApiPolicyEnvironmentVariable, + buffer, + sizeof(buffer)/sizeof(buffer[0])) > 0) { + fprintf(stdout, + "Environment variable [%ws] is set, use WinHttp\n", + kHttpApiPolicyEnvironmentVariable); + http_client = CreateWinHttpClient(url); + if (http_client == NULL) { + fprintf(stderr, "WinHttpClient not created, Is the protocol HTTPS? " + "Fall back to WinInet API.\n"); + } + } else { + fprintf(stderr, + "Environment variable [%ws] is NOT set, use WinInet API\n", + kHttpApiPolicyEnvironmentVariable); + } + + if (http_client == NULL) { + return CreateWinInetClient(url); + } + + return http_client; +} + +// static +bool HTTPDownload::Download(const wstring& url, + const map<wstring, wstring>* parameters, + string *content, int *status_code) { + assert(content); + AutoPtr<HttpClient> http_client(CreateHttpClient(url.c_str())); + + if (!http_client.get()) { + fprintf(stderr, "Failed to create any http client.\n"); + return false; + } + + if (status_code) { + *status_code = 0; + } + + wchar_t scheme[16] = {0}; + wchar_t host[256] = {0}; + wchar_t path[256] = {0}; + int port = 0; + if (!http_client->CrackUrl(url.c_str(), + 0, + scheme, + sizeof(scheme)/sizeof(scheme[0]), + host, + sizeof(host)/sizeof(host[0]), + path, + sizeof(path)/sizeof(path[0]), + &port)) { + fprintf(stderr, + "HTTPDownload::Download: InternetCrackUrl: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + + bool secure = false; + if (_wcsicmp(scheme, L"https") == 0) { + secure = true; + } else if (wcscmp(scheme, L"http") != 0) { + fprintf(stderr, + "HTTPDownload::Download: scheme must be http or https for %ws\n", + url.c_str()); + return false; + } + + AutoHttpHandle internet; + if (!http_client->Open(NULL, // user agent + HttpClient::ACCESS_TYPE_PRECONFIG, + NULL, // proxy name + NULL, // proxy bypass + internet.get_handle_addr())) { + fprintf(stderr, + "HTTPDownload::Download: Open: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + + AutoHttpHandle connection; + if (!http_client->Connect(internet.get(), + host, + port, + connection.get_handle_addr())) { + fprintf(stderr, + "HTTPDownload::Download: InternetConnect: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + + wstring request_string = path; + if (parameters) { + // TODO(mmentovai): escape bad characters in parameters instead of + // forbidding them. + if (!CheckParameters(parameters)) { + fprintf(stderr, + "HTTPDownload::Download: invalid characters in parameters\n"); + return false; + } + + bool added_parameter = false; + for (map<wstring, wstring>::const_iterator iterator = parameters->begin(); + iterator != parameters->end(); + ++iterator) { + request_string.append(added_parameter ? L"&" : L"?"); + request_string.append(iterator->first); + request_string.append(L"="); + request_string.append(iterator->second); + added_parameter = true; + } + } + + AutoHttpHandle request; + if (!http_client->OpenRequest(connection.get(), + L"GET", + request_string.c_str(), + NULL, // version + NULL, // referer + secure, + request.get_handle_addr())) { + fprintf(stderr, + "HttpClient::OpenRequest: error %lu for %ws, request: %ws\n", + GetLastError(), url.c_str(), request_string.c_str()); + return false; + } + + if (!http_client->SendRequest(request.get(), NULL, 0)) { + fprintf(stderr, + "HttpClient::SendRequest: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + + if (!http_client->ReceiveResponse(request.get())) { + fprintf(stderr, + "HttpClient::ReceiveResponse: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + + int http_status = 0; + if (!http_client->GetHttpStatusCode(request.get(), &http_status)) { + fprintf(stderr, + "HttpClient::GetHttpStatusCode: error %lu for %ws\n", + GetLastError(), url.c_str()); + return false; + } + if (http_status != 200) { + fprintf(stderr, + "HTTPDownload::Download: HTTP status code %d for %ws\n", + http_status, url.c_str()); + return false; + } + + DWORD content_length = 0; + vector<char>::size_type buffer_size = 0; + http_client->GetContentLength(request.get(), &content_length); + if (content_length == HttpClient::kUnknownContentLength) { + buffer_size = kVectorChunkSize; + } else { + buffer_size = content_length; + } + + if (content_length != 0) { + vector<char> response_buffer = vector<char>(buffer_size+1); + DWORD size_read; + DWORD total_read = 0; + bool read_result; + do { + if (content_length == HttpClient::kUnknownContentLength + && buffer_size == total_read) { + // The content length wasn't specified in the response header, so we + // have to keep growing the buffer until we're done reading. + buffer_size += kVectorChunkSize; + response_buffer.resize(buffer_size); + } + read_result = !!http_client->ReadData( + request.get(), + &response_buffer[total_read], + static_cast<DWORD>(buffer_size) - total_read, + &size_read); + total_read += size_read; + } while (read_result && (size_read != 0)); + + if (!read_result) { + fprintf(stderr, + "HttpClient::ReadData: error %lu for %ws\n", + GetLastError(), + url.c_str()); + return false; + } else if (size_read != 0) { + fprintf(stderr, + "HttpClient::ReadData: error %lu/%lu for %ws\n", + total_read, + content_length, + url.c_str()); + return false; + } + content->assign(&response_buffer[0], total_read); + } else { + content->clear(); + } + return true; +} + +} // namespace crash diff --git a/externals/breakpad/src/tools/windows/converter_exe/http_download.h b/externals/breakpad/src/tools/windows/converter_exe/http_download.h new file mode 100644 index 0000000000..f58a3d0f9f --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/http_download.h @@ -0,0 +1,62 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef TOOLS_WINDOWS_CONVERTER_EXE_HTTP_DOWNLOAD_H_ +#define TOOLS_WINDOWS_CONVERTER_EXE_HTTP_DOWNLOAD_H_ + +#include <map> +#include <string> +#include "tools/windows/converter_exe/winhttp_client.h" + +namespace crash { + +using std::map; +using std::string; +using std::wstring; + +class HTTPDownload { + public: + // Retrieves the resource located at |url|, a http or https URL, via WinInet. + // The request is fetched with GET request; the optional |parameters| are + // appended to the URL. Returns true on success, placing the content of the + // retrieved resource in |content|. Returns false on failure. HTTP status + // codes other than 200 cause Download to return false. If |status_code| is + // supplied, it will be set to the value of the HTTP status code, if an HTTP + // transaction occurs. If Download fails before a transaction can occur, + // |status_code| will be set to 0. Any failures will result in messages + // being printed to stderr. + static bool Download(const wstring& url, + const map<wstring, wstring>* parameters, + string *content, int *status_code); + private: + static HttpClient* CreateHttpClient(const wchar_t*); +}; + +} // namespace crash + +#endif // TOOLS_WINDOWS_CONVERTER_EXE_HTTP_DOWNLOAD_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/missing_symbols_test.txt b/externals/breakpad/src/tools/windows/converter_exe/missing_symbols_test.txt new file mode 100644 index 0000000000..91641fca96 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/missing_symbols_test.txt @@ -0,0 +1,5 @@ +msctf.pdb|6A5BABB8E88644C696530BFE3C90F32F2|6.1.7600.16385|msctf.dll|4A5BDFAA109000
+imm32.pdb|98F27BA5AEE541ECBEE00CD03AD50FEE2|6.1.7600.16385|imm32.dll|4A5BDF402e000
+amd_opencl64.pdb|3D306D0FCCB14F47AF322A5ACDF5EEA81||amd_opencl64.dll|587901FB1E000
+igd10iumd64.pdb|B2B72475BB0846D8ADE4344FAE0CCE361 ||igd10iumd64.dll|568D69FBD99000
+NvCameraWhitelisting64.pdb|3C364C4D3FBF4180B021D52D469C6DAB1||NvCameraWhitelisting64.dll|5B8ED23485000
\ No newline at end of file diff --git a/externals/breakpad/src/tools/windows/converter_exe/symsrv.yes b/externals/breakpad/src/tools/windows/converter_exe/symsrv.yes new file mode 100644 index 0000000000..1d01dda71b --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/symsrv.yes @@ -0,0 +1,2 @@ +See breakpad/tools/windows/converter/ms_symbol_server_converter.h for a
+description of this file's function.
diff --git a/externals/breakpad/src/tools/windows/converter_exe/tokenizer.cc b/externals/breakpad/src/tools/windows/converter_exe/tokenizer.cc new file mode 100644 index 0000000000..08480d7beb --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/tokenizer.cc @@ -0,0 +1,65 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <assert.h> + +#include "tools/windows/converter_exe/tokenizer.h" + +namespace crash { + +// static +void Tokenizer::Tokenize(const string& delimiters, const string& input, + vector<string>* output) { + assert(output); + output->clear(); + + string::size_type position = 0; // Where to begin looking for a delimiter + string::size_type new_position; // Position of found delimiter + string token; + + while ((new_position = input.find_first_of(delimiters, position)) != + string::npos) { + token = input.substr(position, new_position - position); + output->push_back(token); + + // Next time, begin looking right after this delimiter. + position = new_position + 1; + } + + // There are no more delimiters in the string. Take everything from the + // final delimiter up to the end of the string as a token. This may be + // an empty string. + token = input.substr(position); + output->push_back(token); +} + +} // namespace crash diff --git a/externals/breakpad/src/tools/windows/converter_exe/tokenizer.h b/externals/breakpad/src/tools/windows/converter_exe/tokenizer.h new file mode 100644 index 0000000000..d9829f6057 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/tokenizer.h @@ -0,0 +1,51 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef TOOLS_WINDOWS_CONVERTER_EXE_TOKENIZER_H_ +#define TOOLS_WINDOWS_CONVERTER_EXE_TOKENIZER_H_ + +#include <string> +#include <vector> + +namespace crash { + +using std::string; +using std::vector; + +class Tokenizer { + public: + // Splits |input| into a series of tokens delimited in the input string by + // any of the characters in |delimiters|. The tokens are passed back in the + // |output| vector. + static void Tokenize(const string& delimiters, const string& input, + vector<string>* output); +}; + +} // namespace crash + +#endif // TOOLS_WINDOWS_CONVERTER_EXE_TOKENIZER_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.cc b/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.cc new file mode 100644 index 0000000000..425a9daad8 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.cc @@ -0,0 +1,311 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include "tools/windows/converter_exe/winhttp_client.h" + +#include <assert.h> +#include <stdlib.h> +#include <windows.h> +#include <winhttp.h> +#include <vector> + +namespace crash { + +namespace internal { + +// This class implements HttpClient based on WinInet APIs. +class WinHttpClient : public HttpClient { + public: + virtual ~WinHttpClient() {} + virtual bool CrackUrl(const TCHAR* url, + DWORD flags, + TCHAR* scheme, + size_t scheme_buffer_length, + TCHAR* host, + size_t host_buffer_length, + TCHAR* uri, + size_t uri_buffer_length, + int* port) const; + virtual bool Open(const TCHAR* user_agent, + DWORD access_type, + const TCHAR* proxy_name, + const TCHAR* proxy_bypass, + HttpHandle* session_handle) const; + virtual bool Connect(HttpHandle session_handle, + const TCHAR* server, + int port, + HttpHandle* connection_handle) const; + virtual bool OpenRequest(HttpHandle connection_handle, + const TCHAR* verb, + const TCHAR* uri, + const TCHAR* version, + const TCHAR* referrer, + bool is_secure, + HttpHandle* request_handle) const; + virtual bool SendRequest(HttpHandle request_handle, + const TCHAR* headers, + DWORD headers_length) const; + virtual bool ReceiveResponse(HttpHandle request_handle) const; + virtual bool GetHttpStatusCode(HttpHandle request_handle, + int* status_code) const; + virtual bool GetContentLength(HttpHandle request_handle, + DWORD* content_length) const; + virtual bool ReadData(HttpHandle request_handle, + void* buffer, + DWORD buffer_length, + DWORD* bytes_read) const; + virtual bool Close(HttpHandle handle) const; + + private: + static DWORD MapAccessType(DWORD access_type); + static HINTERNET ToHINTERNET(HttpHandle handle); + static HttpHandle FromHINTERNET(HINTERNET handle); +}; + +bool WinHttpClient::CrackUrl(const TCHAR* url, + DWORD flags, + TCHAR* scheme, + size_t scheme_buffer_length, + TCHAR* host, + size_t host_buffer_length, + TCHAR* uri, + size_t uri_buffer_length, + int* port) const { + assert(url); + assert(scheme); + assert(host); + assert(uri); + assert(port); + + URL_COMPONENTS url_comp = {0}; + url_comp.dwStructSize = sizeof(url_comp); + url_comp.lpszScheme = scheme; + url_comp.dwSchemeLength = static_cast<DWORD>(scheme_buffer_length); + url_comp.lpszHostName = host; + url_comp.dwHostNameLength = static_cast<DWORD>(host_buffer_length); + url_comp.lpszUrlPath = uri; + url_comp.dwUrlPathLength = static_cast<DWORD>(uri_buffer_length); + + bool result = !!::WinHttpCrackUrl(url, 0, flags, &url_comp); + if (result) { + *port = static_cast<int>(url_comp.nPort); + } + return result; +} + +bool WinHttpClient::Open(const TCHAR* user_agent, + DWORD access_type, + const TCHAR* proxy_name, + const TCHAR* proxy_bypass, + HttpHandle* session_handle) const { + *session_handle = FromHINTERNET(::WinHttpOpen(user_agent, + MapAccessType(access_type), + proxy_name, + proxy_bypass, + 0)); + + return !!(*session_handle); +} + +bool WinHttpClient::Connect(HttpHandle session_handle, + const TCHAR* server, + int port, + HttpHandle* connection_handle) const { + assert(server); + + // Uses NULL user name and password to connect. + *connection_handle = FromHINTERNET(::WinHttpConnect( + ToHINTERNET(session_handle), + server, + static_cast<INTERNET_PORT>(port), + NULL)); + return !!(*connection_handle); +} + +bool WinHttpClient::OpenRequest(HttpHandle connection_handle, + const TCHAR* verb, + const TCHAR* uri, + const TCHAR* version, + const TCHAR* referrer, + bool is_secure, + HttpHandle* request_handle) const { + assert(connection_handle); + assert(verb); + assert(uri); + assert(request_handle); + + *request_handle = FromHINTERNET(::WinHttpOpenRequest( + ToHINTERNET(connection_handle), + verb, + uri, + version, + referrer, + WINHTTP_DEFAULT_ACCEPT_TYPES, + is_secure ? WINHTTP_FLAG_SECURE : 0)); + return !!(*request_handle); +} + +bool WinHttpClient::SendRequest(HttpHandle request_handle, + const TCHAR* headers, + DWORD headers_length) const { + assert(request_handle); + + return !!::WinHttpSendRequest(ToHINTERNET(request_handle), + headers, + headers_length, + NULL, + 0, + WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH, + NULL); +} + +bool WinHttpClient::ReceiveResponse(HttpHandle request_handle) const { + assert(request_handle); + + return !!::WinHttpReceiveResponse(ToHINTERNET(request_handle), NULL); +} + +bool WinHttpClient::GetHttpStatusCode(HttpHandle request_handle, + int* status_code) const { + TCHAR http_status_string[4] = {0}; + DWORD http_status_string_size = sizeof(http_status_string); + if (!::WinHttpQueryHeaders(ToHINTERNET(request_handle), + WINHTTP_QUERY_STATUS_CODE, + WINHTTP_HEADER_NAME_BY_INDEX, + static_cast<void*>(&http_status_string), + &http_status_string_size, 0)) { + return false; + } + + *status_code = static_cast<DWORD>(_tcstol(http_status_string, NULL, 10)); + return true; +} + +bool WinHttpClient::GetContentLength(HttpHandle request_handle, + DWORD* content_length) const { + assert(request_handle); + assert(content_length); + + TCHAR content_length_string[11] = {0}; + DWORD content_length_string_size = sizeof(content_length_string); + if (!::WinHttpQueryHeaders(ToHINTERNET(request_handle), + WINHTTP_QUERY_CONTENT_LENGTH, + WINHTTP_HEADER_NAME_BY_INDEX, + static_cast<void*>(&content_length_string), + &content_length_string_size, 0)) { + *content_length = kUnknownContentLength; + } else { + *content_length = + static_cast<DWORD>(wcstol(content_length_string, NULL, 10)); + } + return true; +} + +bool WinHttpClient::ReadData(HttpHandle request_handle, + void* buffer, + DWORD buffer_length, + DWORD* bytes_read) const { + assert(request_handle); + assert(buffer); + assert(bytes_read); + + DWORD bytes_read_local = 0; + if (!::WinHttpReadData(ToHINTERNET(request_handle), + buffer, + buffer_length, + &bytes_read_local)) { + return false; + } + *bytes_read = bytes_read_local; + return true; +} + +bool WinHttpClient::Close(HttpHandle handle) const { + assert(handle); + return !!::WinHttpCloseHandle(ToHINTERNET(handle)); +} + +DWORD WinHttpClient::MapAccessType(DWORD access_type) { + switch (static_cast<AccessType>(access_type)) { + case ACCESS_TYPE_PRECONFIG: + default: + return WINHTTP_ACCESS_TYPE_DEFAULT_PROXY; + case ACCESS_TYPE_DIRECT: + return WINHTTP_ACCESS_TYPE_NO_PROXY; + case ACCESS_TYPE_PROXY: + return WINHTTP_ACCESS_TYPE_NAMED_PROXY; + } +} + + +HINTERNET WinHttpClient::ToHINTERNET(HttpHandle handle) { + return static_cast<HINTERNET>(handle); +} + +HttpHandle WinHttpClient::FromHINTERNET(HINTERNET handle) { + return static_cast<HttpHandle>(handle); +} + +} // namespace internal + +HttpClient* CreateWinHttpClient(const TCHAR* url) { + assert(url); + + internal::WinHttpClient winhttp; + wchar_t scheme[16] = {0}; + wchar_t host[256] = {0}; + wchar_t path[256] = {0}; + int port = 0; + + if (!winhttp.CrackUrl(url, + 0, + scheme, + sizeof(scheme)/sizeof(scheme[0]), + host, + sizeof(host)/sizeof(host[0]), + path, + sizeof(path)/sizeof(path[0]), + &port)) { + return NULL; + } + + if (_wcsicmp(scheme, L"https") == 0) { + // Winhttp under WINE doesn't support wildcard certificates, so avoid + // to use it if the scheme is https. The caller should fall back to + // use wininet if NULL is returned. + return NULL; + } + + return new internal::WinHttpClient(); +} + +} // namespace crash diff --git a/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.h b/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.h new file mode 100644 index 0000000000..4ccac7e0be --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/winhttp_client.h @@ -0,0 +1,40 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef TOOLS_WINDOWS_CONVERTER_EXE_WINHTTP_CLIENT_H_ +#define TOOLS_WINDOWS_CONVERTER_EXE_WINHTTP_CLIENT_H_ + +#include "tools/windows/converter_exe/http_client.h" + +namespace crash { + +HttpClient* CreateWinHttpClient(const TCHAR* url); + +} // namespace crash + +#endif // TOOLS_WINDOWS_CONVERTER_EXE_WINHTTP_CLIENT_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/wininet_client.cc b/externals/breakpad/src/tools/windows/converter_exe/wininet_client.cc new file mode 100644 index 0000000000..571ab86c66 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/wininet_client.cc @@ -0,0 +1,282 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include "tools/windows/converter_exe/wininet_client.h" + +#include <assert.h> +#include <stdlib.h> +#include <windows.h> +#include <wininet.h> + +namespace crash { + +namespace internal { + +// This class implements HttpClient based on WinInet APIs. +class WinInetClient : public HttpClient { + public: + virtual ~WinInetClient() {} + virtual bool CrackUrl(const TCHAR* url, + DWORD flags, + TCHAR* scheme, + size_t scheme_buffer_length, + TCHAR* host, + size_t host_buffer_length, + TCHAR* uri, + size_t uri_buffer_length, + int* port) const; + virtual bool Open(const TCHAR* user_agent, + DWORD access_type, + const TCHAR* proxy_name, + const TCHAR* proxy_bypass, + HttpHandle* session_handle) const; + virtual bool Connect(HttpHandle session_handle, + const TCHAR* server, + int port, + HttpHandle* connection_handle) const; + virtual bool OpenRequest(HttpHandle connection_handle, + const TCHAR* verb, + const TCHAR* uri, + const TCHAR* version, + const TCHAR* referrer, + bool is_secure, + HttpHandle* request_handle) const; + virtual bool SendRequest(HttpHandle request_handle, + const TCHAR* headers, + DWORD headers_length) const; + virtual bool ReceiveResponse(HttpHandle request_handle) const; + virtual bool GetHttpStatusCode(HttpHandle request_handle, + int* status_code) const; + virtual bool GetContentLength(HttpHandle request_handle, + DWORD* content_length) const; + virtual bool ReadData(HttpHandle request_handle, + void* buffer, + DWORD buffer_length, + DWORD* bytes_read) const; + virtual bool Close(HttpHandle handle) const; + + private: + static DWORD MapAccessType(DWORD access_type); + static HINTERNET ToHINTERNET(HttpHandle handle); + static HttpHandle FromHINTERNET(HINTERNET handle); +}; + +bool WinInetClient::CrackUrl(const TCHAR* url, + DWORD flags, + TCHAR* scheme, + size_t scheme_buffer_length, + TCHAR* host, + size_t host_buffer_length, + TCHAR* uri, + size_t uri_buffer_length, + int* port) const { + assert(url); + assert(scheme); + assert(host); + assert(uri); + assert(port); + + URL_COMPONENTS url_comp = {0}; + url_comp.dwStructSize = sizeof(url_comp); + url_comp.lpszScheme = scheme; + url_comp.dwSchemeLength = static_cast<DWORD>(scheme_buffer_length); + url_comp.lpszHostName = host; + url_comp.dwHostNameLength = static_cast<DWORD>(host_buffer_length); + url_comp.lpszUrlPath = uri; + url_comp.dwUrlPathLength = static_cast<DWORD>(uri_buffer_length); + + bool result = !!::InternetCrackUrl(url, 0, flags, &url_comp); + if (result) { + *port = static_cast<int>(url_comp.nPort); + } + return result; +} + +bool WinInetClient::Open(const TCHAR* user_agent, + DWORD access_type, + const TCHAR* proxy_name, + const TCHAR* proxy_bypass, + HttpHandle* session_handle) const { + *session_handle = FromHINTERNET(::InternetOpen(user_agent, + MapAccessType(access_type), + proxy_name, + proxy_bypass, + 0)); + return !!(*session_handle); +} + +bool WinInetClient::Connect(HttpHandle session_handle, + const TCHAR* server, + int port, + HttpHandle* connection_handle) const { + assert(server); + + // Uses NULL user name and password to connect. Always uses http service. + *connection_handle = FromHINTERNET(::InternetConnect( + ToHINTERNET(session_handle), + server, + static_cast<INTERNET_PORT>(port), + NULL, + NULL, + INTERNET_SERVICE_HTTP, + 0, + 0)); + return !!(*connection_handle); +} + +bool WinInetClient::OpenRequest(HttpHandle connection_handle, + const TCHAR* verb, + const TCHAR* uri, + const TCHAR* version, + const TCHAR* referrer, + bool is_secure, + HttpHandle* request_handle) const { + assert(connection_handle); + assert(verb); + assert(uri); + + *request_handle = FromHINTERNET(::HttpOpenRequest( + ToHINTERNET(connection_handle), + verb, + uri, + version, + referrer, + NULL, + is_secure ? INTERNET_FLAG_SECURE : 0, + NULL)); + return !!(*request_handle); +} + +bool WinInetClient::SendRequest(HttpHandle request_handle, + const TCHAR* headers, + DWORD headers_length) const { + assert(request_handle); + + return !!::HttpSendRequest(ToHINTERNET(request_handle), + headers, + headers_length, + NULL, + 0); +} + +bool WinInetClient::ReceiveResponse(HttpHandle) const { + return true; +} + +bool WinInetClient::GetHttpStatusCode(HttpHandle request_handle, + int* status_code) const { + assert(request_handle); + + TCHAR http_status_string[4] = {0}; + DWORD http_status_string_size = sizeof(http_status_string); + if (!::HttpQueryInfo(ToHINTERNET(request_handle), + HTTP_QUERY_STATUS_CODE, + static_cast<void*>(&http_status_string), + &http_status_string_size, + 0)) { + return false; + } + + *status_code = _tcstol(http_status_string, NULL, 10); + return true; +} + +bool WinInetClient::GetContentLength(HttpHandle request_handle, + DWORD* content_length) const { + assert(request_handle); + assert(content_length); + + TCHAR content_length_string[11]; + DWORD content_length_string_size = sizeof(content_length_string); + if (!::HttpQueryInfo(ToHINTERNET(request_handle), + HTTP_QUERY_CONTENT_LENGTH, + static_cast<void*>(&content_length_string), + &content_length_string_size, + 0)) { + *content_length = kUnknownContentLength; + } else { + *content_length = wcstol(content_length_string, NULL, 10); + } + return true; +} + +bool WinInetClient::ReadData(HttpHandle request_handle, + void* buffer, + DWORD buffer_length, + DWORD* bytes_read) const { + assert(request_handle); + assert(buffer); + assert(bytes_read); + + DWORD bytes_read_local = 0; + if (!::InternetReadFile(ToHINTERNET(request_handle), + buffer, + buffer_length, + &bytes_read_local)) { + return false; + } + *bytes_read = bytes_read_local; + return true; +} + +bool WinInetClient::Close(HttpHandle handle) const { + assert(handle); + return !!::InternetCloseHandle(ToHINTERNET(handle)); +} + +DWORD WinInetClient::MapAccessType(DWORD access_type) { + switch (static_cast<AccessType>(access_type)) { + case ACCESS_TYPE_PRECONFIG: + default: + return INTERNET_OPEN_TYPE_PRECONFIG; + case ACCESS_TYPE_DIRECT: + return INTERNET_OPEN_TYPE_DIRECT; + case ACCESS_TYPE_PROXY: + return INTERNET_OPEN_TYPE_PROXY; + } +} + +HINTERNET WinInetClient::ToHINTERNET(HttpHandle handle) { + return static_cast<HINTERNET>(handle); +} + +HttpHandle WinInetClient::FromHINTERNET(HINTERNET handle) { + return static_cast<HttpHandle>(handle); +} + +} // namespace internal + +HttpClient* CreateWinInetClient(const TCHAR*) { + return new internal::WinInetClient(); +} + +} // namespace crash diff --git a/externals/breakpad/src/tools/windows/converter_exe/wininet_client.h b/externals/breakpad/src/tools/windows/converter_exe/wininet_client.h new file mode 100644 index 0000000000..8b4c61b572 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/wininet_client.h @@ -0,0 +1,40 @@ +// Copyright 2019 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef TOOLS_WINDOWS_CONVERTER_EXE_WININET_CLIENT_H_ +#define TOOLS_WINDOWS_CONVERTER_EXE_WININET_CLIENT_H_ + +#include "tools/windows/converter_exe/http_client.h" + +namespace crash { + +HttpClient* CreateWinInetClient(const TCHAR* url); + +} // namespace crash + +#endif // TOOLS_WINDOWS_CONVERTER_EXE_WININET_CLIENT_H_ diff --git a/externals/breakpad/src/tools/windows/converter_exe/winsymconv.cmd b/externals/breakpad/src/tools/windows/converter_exe/winsymconv.cmd new file mode 100644 index 0000000000..bea84b589f --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/winsymconv.cmd @@ -0,0 +1,86 @@ +@if "%ECHOON%"=="" @echo off
+SETLOCAL
+
+REM ******************************************************************
+REM Usage:
+REM winsymconv
+REM ******************************************************************
+
+REM ******************************************************************
+REM Initialize
+REM ******************************************************************
+SET SCRIPT_LOCATION=%~dp0
+SET DBGHELP_WINHTTP=
+SET USE_WINHTTP=
+
+REM ******************************************************************
+REM Go to script location
+REM ******************************************************************
+pushd %SCRIPT_LOCATION%
+
+REM ******************************************************************
+REM Make sure the symbol file directory exists
+REM ******************************************************************
+SET SYMBOL_DIR=%SCRIPT_LOCATION%symbol
+if NOT EXIST %SYMBOL_DIR% MKDIR %SYMBOL_DIR%
+if NOT EXIST %SYMBOL_DIR% echo Failed to create directory '%SYMBOL_DIR%' & goto :fail
+
+:restart
+
+REM ******************************************************************
+REM Convert missing Windows symbols on the staging instance.
+REM ******************************************************************
+echo Converting missing Windows symbols on staging instance ...
+
+google_converter.exe ^
+ -n http://msdl.microsoft.com/download/symbols ^
+ -n http://symbols.mozilla.org/firefox ^
+ -n http://chromium-browser-symsrv.commondatastorage.googleapis.com ^
+ -n https://download.amd.com/dir/bin ^
+ -n https://driver-symbols.nvidia.com ^
+ -n https://software.intel.com/sites/downloads/symbols ^
+ -l %SYMBOL_DIR% ^
+ -s https://clients2.google.com/cr/staging_symbol ^
+ -m https://clients2.google.com/cr/staging_symbol/missingsymbols ^
+ -t https://clients2.google.com/cr/staging_symbol/fetchfailed ^
+ -b "google|chrome|internal|private" ^
+ > %SCRIPT_LOCATION%last_cycle_staging.txt
+
+REM ******************************************************************
+REM Convert missing Windows symbols on the production instance.
+REM ******************************************************************
+echo Converting missing Windows symbols on production instance ...
+
+google_converter.exe ^
+ -n http://msdl.microsoft.com/download/symbols ^
+ -n http://symbols.mozilla.org/firefox ^
+ -n http://chromium-browser-symsrv.commondatastorage.googleapis.com ^
+ -n https://download.amd.com/dir/bin ^
+ -n https://driver-symbols.nvidia.com ^
+ -n https://software.intel.com/sites/downloads/symbols ^
+ -l %SYMBOL_DIR% ^
+ -s https://clients2.google.com/cr/symbol ^
+ -m https://clients2.google.com/cr/symbol/missingsymbols ^
+ -t https://clients2.google.com/cr/symbol/fetchfailed ^
+ -b "google|chrome|internal|private" ^
+ > %SCRIPT_LOCATION%last_cycle_prod.txt
+
+REM ******************************************************************
+REM Sleep for 5 minutes ...
+REM ******************************************************************
+echo Sleeping for 5 minutes ...
+
+%SCRIPT_LOCATION%sleep.exe 300
+
+REM ******************************************
+REM Restart work loop ...
+REM ******************************************
+goto :restart
+
+:success
+ENDLOCAL
+exit /b 0
+
+:fail
+ENDLOCAL
+exit /b 1
diff --git a/externals/breakpad/src/tools/windows/converter_exe/winsymconv_test.cmd b/externals/breakpad/src/tools/windows/converter_exe/winsymconv_test.cmd new file mode 100644 index 0000000000..c177706608 --- /dev/null +++ b/externals/breakpad/src/tools/windows/converter_exe/winsymconv_test.cmd @@ -0,0 +1,72 @@ +@if "%ECHOON%"=="" @echo off
+SETLOCAL
+
+REM ******************************************************************
+REM Usage:
+REM winsymconv_test
+REM ******************************************************************
+
+REM ******************************************************************
+REM Initialize
+REM ******************************************************************
+SET SCRIPT_LOCATION=%~dp0
+SET DBGHELP_WINHTTP=
+SET USE_WINHTTP=
+
+REM ******************************************************************
+REM Go to script location
+REM ******************************************************************
+pushd %SCRIPT_LOCATION%
+
+REM ******************************************************************
+REM Make sure the symbol file directory exists
+REM ******************************************************************
+SET SYMBOL_DIR=%SCRIPT_LOCATION%symbol
+if NOT EXIST %SYMBOL_DIR% MKDIR %SYMBOL_DIR%
+if NOT EXIST %SYMBOL_DIR% echo Failed to create directory '%SYMBOL_DIR%' & goto :fail
+
+REM ******************************************************************
+REM Testing on the staging instance.
+REM ******************************************************************
+echo Testing on the staging instance ...
+
+google_converter.exe ^
+ -n http://msdl.microsoft.com/download/symbols ^
+ -n http://symbols.mozilla.org/firefox ^
+ -n http://chromium-browser-symsrv.commondatastorage.googleapis.com ^
+ -n https://download.amd.com/dir/bin ^
+ -n https://driver-symbols.nvidia.com ^
+ -n https://software.intel.com/sites/downloads/symbols ^
+ -l %SYMBOL_DIR% ^
+ -s https://clients2.google.com/cr/staging_symbol ^
+ -mf %SCRIPT_LOCATION%missing_symbols_test.txt ^
+ -t https://clients2.google.com/cr/staging_symbol/fetchfailed ^
+ -b "google|chrome|internal|private" ^
+ > %SCRIPT_LOCATION%last_cycle_staging.txt
+
+REM ******************************************************************
+REM Testing on the production instance.
+REM ******************************************************************
+echo Testing on the production instance ...
+
+google_converter.exe ^
+ -n http://msdl.microsoft.com/download/symbols ^
+ -n http://symbols.mozilla.org/firefox ^
+ -n http://chromium-browser-symsrv.commondatastorage.googleapis.com ^
+ -n https://download.amd.com/dir/bin ^
+ -n https://driver-symbols.nvidia.com ^
+ -n https://software.intel.com/sites/downloads/symbols ^
+ -l %SYMBOL_DIR% ^
+ -s https://clients2.google.com/cr/symbol ^
+ -mf %SCRIPT_LOCATION%missing_symbols_test.txt ^
+ -t https://clients2.google.com/cr/symbol/fetchfailed ^
+ -b "google|chrome|internal|private" ^
+ > %SCRIPT_LOCATION%last_cycle_prod.txt
+
+:success
+ENDLOCAL
+exit /b 0
+
+:fail
+ENDLOCAL
+exit /b 1
diff --git a/externals/breakpad/src/tools/windows/dump_syms/dump_syms.cc b/externals/breakpad/src/tools/windows/dump_syms/dump_syms.cc new file mode 100644 index 0000000000..1979d43066 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/dump_syms.cc @@ -0,0 +1,102 @@ +// Copyright 2006 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Windows utility to dump the line number data from a pdb file to +// a text-based format that we can use from the minidump processor. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <stdio.h> +#include <wchar.h> + +#include <memory> +#include <string> + +#include "common/windows/pdb_source_line_writer.h" +#include "common/windows/pe_source_line_writer.h" + +using google_breakpad::PDBSourceLineWriter; +using google_breakpad::PESourceLineWriter; +using std::unique_ptr; +using std::wstring; + +int usage(const wchar_t* self) { + fprintf(stderr, "Usage: %ws [--pe] [--i] <file.[pdb|exe|dll]>\n", self); + fprintf(stderr, "Options:\n"); + fprintf(stderr, + "--pe:\tRead debugging information from PE file and do " + "not attempt to locate matching PDB file.\n" + "\tThis is only supported for PE32+ (64 bit) PE files.\n"); + fprintf(stderr, + "--i:\tOutput INLINE/INLINE_ORIGIN record\n" + "\tThis cannot be used with [--pe].\n"); + return 1; +} + +int wmain(int argc, wchar_t** argv) { + bool success = false; + bool pe = false; + bool handle_inline = false; + int arg_index = 1; + while (arg_index < argc && wcslen(argv[arg_index]) > 0 && + wcsncmp(L"--", argv[arg_index], 2) == 0) { + if (wcscmp(L"--pe", argv[arg_index]) == 0) { + pe = true; + } else if (wcscmp(L"--i", argv[arg_index]) == 0) { + handle_inline = true; + } + ++arg_index; + } + + if ((pe && handle_inline) || arg_index == argc) { + usage(argv[0]); + return 1; + } + + wchar_t* file_path = argv[arg_index]; + if (pe) { + PESourceLineWriter pe_writer(file_path); + success = pe_writer.WriteSymbols(stdout); + } else { + PDBSourceLineWriter pdb_writer(handle_inline); + if (!pdb_writer.Open(wstring(file_path), PDBSourceLineWriter::ANY_FILE)) { + fprintf(stderr, "Open failed.\n"); + return 1; + } + success = pdb_writer.WriteSymbols(stdout); + } + + if (!success) { + fprintf(stderr, "WriteSymbols failed.\n"); + return 1; + } + + return 0; +} diff --git a/externals/breakpad/src/tools/windows/dump_syms/dump_syms_unittest.cc b/externals/breakpad/src/tools/windows/dump_syms/dump_syms_unittest.cc new file mode 100644 index 0000000000..73c48a2f40 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/dump_syms_unittest.cc @@ -0,0 +1,248 @@ +// Copyright 2003 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <Windows.h> +#include <shellapi.h> + +#include <string> +#include <utility> + +#include "breakpad_googletest_includes.h" + +namespace tools { +namespace windows { +namespace dump_syms { + +namespace { + +// Root names of PDB and dumped symbol files to be regression tested. These are +// specified in complexity of the resulting dumped symbol files. +const wchar_t* kRootNames[] = { + // A PDB file with no OMAP data. + L"dump_syms_regtest", + // A PDB file with OMAP data for an image that has been function-level + // reordered. + L"omap_reorder_funcs", + // A PDB file with OMAP data for an image that had new content injected, all + // of it with source data. + L"omap_stretched_filled", + // A PDB file with OMAP data for an image that had new content injected, but + // without source data. + L"omap_stretched", + // A PDB file with OMAP data for an image that has been basic block reordered. + L"omap_reorder_bbs", + // A 64bit PDB file with no OMAP data. + L"dump_syms_regtest64", +}; + +const wchar_t* kPEOnlyRootNames[] = { + L"pe_only_symbol_test", +}; + +void TrimLastComponent(const std::wstring& path, + std::wstring* trimmed, + std::wstring* component) { + size_t len = path.size(); + while (len > 0 && path[len - 1] != '\\') + --len; + + if (component != NULL) + component->assign(path.c_str() + len, path.c_str() + path.size()); + + while (len > 0 && path[len - 1] == '\\') + --len; + + if (trimmed != NULL) + trimmed->assign(path.c_str(), len); +} + +// Get the directory of the current executable. +bool GetSelfDirectory(std::wstring* self_dir) { + std::wstring command_line = GetCommandLineW(); + + int num_args = 0; + wchar_t** args = NULL; + args = ::CommandLineToArgvW(command_line.c_str(), &num_args); + if (args == NULL) + return false; + + *self_dir = args[0]; + TrimLastComponent(*self_dir, self_dir, NULL); + + return true; +} + +void RunCommand(const std::wstring& command_line, + std::string* stdout_string) { + // Create a PIPE for the child process stdout. + HANDLE child_stdout_read = 0; + HANDLE child_stdout_write = 0; + SECURITY_ATTRIBUTES sec_attr_stdout = {}; + sec_attr_stdout.nLength = sizeof(sec_attr_stdout); + sec_attr_stdout.bInheritHandle = TRUE; + ASSERT_TRUE(::CreatePipe(&child_stdout_read, &child_stdout_write, + &sec_attr_stdout, 0)); + ASSERT_TRUE(::SetHandleInformation(child_stdout_read, HANDLE_FLAG_INHERIT, + 0)); + + // Create a PIPE for the child process stdin. + HANDLE child_stdin_read = 0; + HANDLE child_stdin_write = 0; + SECURITY_ATTRIBUTES sec_attr_stdin = {}; + sec_attr_stdin.nLength = sizeof(sec_attr_stdin); + sec_attr_stdin.bInheritHandle = TRUE; + ASSERT_TRUE(::CreatePipe(&child_stdin_read, &child_stdin_write, + &sec_attr_stdin, 0)); + ASSERT_TRUE(::SetHandleInformation(child_stdin_write, HANDLE_FLAG_INHERIT, + 0)); + + // Startup the child. + STARTUPINFO startup_info = {}; + PROCESS_INFORMATION process_info = {}; + startup_info.cb = sizeof(STARTUPINFO); + startup_info.hStdError = NULL; + startup_info.hStdInput = child_stdin_read; + startup_info.hStdOutput = child_stdout_write; + startup_info.dwFlags = STARTF_USESTDHANDLES; + ASSERT_TRUE(::CreateProcessW(NULL, (LPWSTR)command_line.c_str(), NULL, NULL, + TRUE, 0, NULL, NULL, + &startup_info, &process_info)); + + // Collect the output. + ASSERT_TRUE(::CloseHandle(child_stdout_write)); + char buffer[4096] = {}; + DWORD bytes_read = 0; + while (::ReadFile(child_stdout_read, buffer, sizeof(buffer), &bytes_read, + NULL) && bytes_read > 0) { + stdout_string->append(buffer, bytes_read); + } + + // Wait for the process to finish. + ::WaitForSingleObject(process_info.hProcess, INFINITE); + + // Shut down all of our handles. + ASSERT_TRUE(::CloseHandle(process_info.hThread)); + ASSERT_TRUE(::CloseHandle(process_info.hProcess)); + ASSERT_TRUE(::CloseHandle(child_stdin_write)); + ASSERT_TRUE(::CloseHandle(child_stdin_read)); + ASSERT_TRUE(::CloseHandle(child_stdout_read)); +} + +void GetFileContents(const std::wstring& path, std::string* content) { + FILE* f = ::_wfopen(path.c_str(), L"rb"); + ASSERT_TRUE(f != NULL); + + char buffer[4096] = {}; + while (true) { + size_t bytes_read = ::fread(buffer, 1, sizeof(buffer), f); + if (bytes_read == 0) + break; + content->append(buffer, bytes_read); + } +} + +class DumpSymsRegressionTest : public testing::TestWithParam<const wchar_t*> { + public: + virtual void SetUp() { + std::wstring self_dir; + ASSERT_TRUE(GetSelfDirectory(&self_dir)); + dump_syms_exe = self_dir + L"\\dump_syms.exe"; + + TrimLastComponent(self_dir, &testdata_dir, NULL); + testdata_dir += L"\\testdata"; + } + + std::wstring dump_syms_exe; + std::wstring testdata_dir; +}; + +class DumpSymsPEOnlyRegressionTest : public testing::TestWithParam<const wchar_t*> { +public: + virtual void SetUp() { + std::wstring self_dir; + ASSERT_TRUE(GetSelfDirectory(&self_dir)); + dump_syms_exe = self_dir + L"\\dump_syms.exe"; + + TrimLastComponent(self_dir, &testdata_dir, NULL); + testdata_dir += L"\\testdata"; + } + + std::wstring dump_syms_exe; + std::wstring testdata_dir; +}; + +} //namespace + +TEST_P(DumpSymsRegressionTest, EnsureDumpedSymbolsMatch) { + const wchar_t* root_name = GetParam(); + std::wstring root_path = testdata_dir + L"\\" + root_name; + + std::wstring sym_path = root_path + L".sym"; + std::string expected_symbols; + ASSERT_NO_FATAL_FAILURE(GetFileContents(sym_path, &expected_symbols)); + + std::wstring pdb_path = root_path + L".pdb"; + std::wstring command_line = L"\"" + dump_syms_exe + L"\" \"" + + pdb_path + L"\""; + std::string symbols; + ASSERT_NO_FATAL_FAILURE(RunCommand(command_line, &symbols)); + + EXPECT_EQ(expected_symbols, symbols); +} + +INSTANTIATE_TEST_SUITE_P(DumpSyms, DumpSymsRegressionTest, + testing::ValuesIn(kRootNames)); + +TEST_P(DumpSymsPEOnlyRegressionTest, EnsurePEOnlyDumpedSymbolsMatch) { + const wchar_t* root_name = GetParam(); + std::wstring root_path = testdata_dir + L"\\" + root_name; + + std::wstring sym_path = root_path + L".sym"; + std::string expected_symbols; + ASSERT_NO_FATAL_FAILURE(GetFileContents(sym_path, &expected_symbols)); + + std::wstring dll_path = root_path + L".dll"; + std::wstring command_line = L"\"" + dump_syms_exe + L"\" --pe \"" + + dll_path + L"\""; + std::string symbols; + ASSERT_NO_FATAL_FAILURE(RunCommand(command_line, &symbols)); + + EXPECT_EQ(expected_symbols, symbols); +} + +INSTANTIATE_TEST_SUITE_P(PEOnlyDumpSyms, DumpSymsPEOnlyRegressionTest, + testing::ValuesIn(kPEOnlyRootNames)); + + +} // namespace dump_syms +} // namespace windows +} // namespace tools diff --git a/externals/breakpad/src/tools/windows/dump_syms/run_regtest.sh b/externals/breakpad/src/tools/windows/dump_syms/run_regtest.sh new file mode 100755 index 0000000000..2401edd14c --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/run_regtest.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# Copyright 2006 Google LLC +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google LLC nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Release/dump_syms.exe testdata/dump_syms_regtest.pdb | \ + tr -d '\015' > \ + testdata/dump_syms_regtest.new +status=$? + +if [ $status -ne 0 ] ; then + echo "FAIL, dump_syms.exe failed" + exit $status +fi + +diff -u testdata/dump_syms_regtest.new testdata/dump_syms_regtest.sym > \ + testdata/dump_syms_regtest.diff +status=$? + +if [ $status -eq 0 ] ; then + rm testdata/dump_syms_regtest.diff testdata/dump_syms_regtest.new + echo "PASS" +else + echo "FAIL, see testdata/dump_syms_regtest.[new|diff]" +fi + +exit $status diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc new file mode 100644 index 0000000000..90d00af2e5 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc @@ -0,0 +1,75 @@ +// Copyright 2007 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// with 32-bit cl +// cl /Zi dump_syms_regtest.cc /link /PROFILE +// dump_syms dump_syms_regtest.pdb > dump_syms_regtest.sym + +// with 64-bit cl +// cp dump_syms_regtest.cc dump_syms_regtest64.cc +// cl /Zi dump_syms_regtest64.cc /link /PROFILE +// dump_syms dump_syms_regtest64.pdb > dump_syms_regtest64.sym + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + + +namespace google_breakpad { + +class C { + public: + C() : member_(1) {} + virtual ~C() {} + + void set_member(int value) { member_ = value; } + int member() const { return member_; } + + void f() { member_ = g(); } + virtual int g() { return 2; } + static char* h(const C& that) { return 0; } + + private: + int member_; +}; + +static int i() { + return 3; +} + +} // namespace google_breakpad + +int main(int argc, char** argv) { + google_breakpad::C object; + object.set_member(google_breakpad::i()); + object.f(); + int value = object.g(); + char* nothing = object.h(object); + + return 0; +} diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb Binary files differnew file mode 100644 index 0000000000..04c42a78ff --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym new file mode 100644 index 0000000000..696155dd18 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym @@ -0,0 +1,2945 @@ +MODULE windows x86 9214611565FA4C538FE724A797B860F71 dump_syms_regtest.pdb
+FILE 1 c:\src\breakpad\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\public\sdk\inc\internal\pebteb.h
+FILE 3 f:\dd\public\sdk\inc\internal\ntldr.h
+FILE 4 f:\dd\public\sdk\inc\internal\ntconfig.h
+FILE 5 f:\dd\public\sdk\inc\internal\ntregapi.h
+FILE 6 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h
+FILE 7 f:\dd\public\ddk\inc\ntdef.h
+FILE 8 f:\dd\public\sdk\inc\internal\ntmmapi.h
+FILE 9 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h
+FILE 10 f:\dd\public\sdk\inc\pshpack1.h
+FILE 11 f:\dd\public\sdk\inc\internal\nxi386.h
+FILE 12 f:\dd\public\ddk\inc\poppack.h
+FILE 13 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\process.h
+FILE 14 f:\dd\public\sdk\inc\pshpack8.h
+FILE 15 f:\dd\public\ddk\inc\ntpoapi.h
+FILE 16 f:\dd\public\sdk\inc\internal\ntexapi.h
+FILE 17 f:\dd\public\sdk\inc\poppack.h
+FILE 18 f:\dd\public\ddk\inc\ntimage.h
+FILE 19 f:\dd\public\ddk\inc\pshpack4.h
+FILE 20 f:\dd\public\sdk\inc\pshpack2.h
+FILE 21 f:\dd\public\ddk\inc\ntnls.h
+FILE 22 f:\dd\public\sdk\inc\internal\ntelfapi.h
+FILE 23 f:\dd\public\sdk\inc\internal\ntpsapi.h
+FILE 24 f:\dd\public\sdk\inc\internal\nti386.h
+FILE 25 f:\dd\public\sdk\inc\specstrings.h
+FILE 26 f:\dd\public\sdk\inc\sal_supp.h
+FILE 27 f:\dd\public\sdk\inc\specstrings_supp.h
+FILE 28 f:\dd\public\sdk\inc\specstrings_strict.h
+FILE 29 f:\dd\public\sdk\inc\specstrings_undef.h
+FILE 30 f:\dd\public\sdk\inc\driverspecs.h
+FILE 31 f:\dd\public\sdk\inc\sdv_driverspecs.h
+FILE 32 f:\dd\public\sdk\inc\basetsd.h
+FILE 33 f:\dd\public\sdk\inc\internal\ntpnpapi.h
+FILE 34 f:\dd\public\sdk\inc\cfg.h
+FILE 35 f:\dd\public\sdk\inc\internal\ntxcapi.h
+FILE 36 f:\dd\public\sdk\inc\guiddef.h
+FILE 37 f:\dd\public\sdk\inc\internal\nt.h
+FILE 38 f:\dd\public\sdk\inc\ntstatus.h
+FILE 39 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h
+FILE 40 f:\dd\public\sdk\inc\internal\ntkeapi.h
+FILE 41 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h
+FILE 42 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h
+FILE 43 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\codeanalysis\sourceannotations.h
+FILE 44 f:\dd\public\sdk\inc\internal\ntobapi.h
+FILE 45 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\string.h
+FILE 46 f:\dd\public\sdk\inc\internal\ntioapi.h
+FILE 47 f:\dd\public\ddk\inc\devioctl.h
+FILE 48 f:\dd\public\sdk\inc\internal\ntseapi.h
+FILE 49 f:\dd\public\ddk\inc\mce.h
+FILE 50 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c
+FILE 51 f:\dd\public\sdk\inc\pshpack4.h
+FILE 52 f:\dd\public\devdiv\inc\ddbanned.h
+FILE 53 f:\dd\public\sdk\inc\internal\ntlpcapi.h
+FILE 54 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
+FILE 55 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
+FILE 56 f:\dd\public\sdk\inc\internal\ntiolog.h
+FILE 57 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm
+FILE 58 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc
+FILE 59 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc
+FILE 60 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc
+FILE 61 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm
+FILE 62 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm
+FILE 64 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm
+FILE 65 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c
+FILE 69 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c
+FILE 73 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c
+FILE 77 f:\dd\public\sdk\inc\winreg.h
+FILE 78 f:\dd\public\sdk\inc\imm.h
+FILE 79 f:\dd\public\sdk\inc\wingdi.h
+FILE 80 f:\dd\vctools\crt_bld\self_x86\crt\src\stdlib.h
+FILE 81 f:\dd\public\sdk\inc\winerror.h
+FILE 82 f:\dd\public\sdk\inc\ktmtypes.h
+FILE 84 f:\dd\vctools\crt_bld\self_x86\crt\src\stdarg.h
+FILE 85 f:\dd\public\sdk\inc\windef.h
+FILE 86 f:\dd\public\sdk\inc\winbase.h
+FILE 88 f:\dd\vctools\crt_bld\self_x86\crt\src\string.h
+FILE 89 f:\dd\public\sdk\inc\winuser.h
+FILE 91 f:\dd\public\sdk\inc\winnetwk.h
+FILE 92 f:\dd\public\sdk\inc\winnt.h
+FILE 93 f:\dd\public\sdk\inc\wnnc.h
+FILE 94 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.h
+FILE 96 f:\dd\public\sdk\inc\winnls.h
+FILE 98 f:\dd\vctools\crt_bld\self_x86\crt\src\mtdll.h
+FILE 99 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdefs.h
+FILE 100 f:\dd\vctools\crt_bld\self_x86\crt\src\sal.h
+FILE 101 f:\dd\vctools\crt_bld\self_x86\crt\src\codeanalysis\sourceannotations.h
+FILE 102 f:\dd\public\sdk\inc\winver.h
+FILE 103 f:\dd\public\sdk\inc\verrsrc.h
+FILE 104 f:\dd\public\sdk\inc\wincon.h
+FILE 105 f:\dd\public\sdk\inc\stralign.h
+FILE 107 f:\dd\public\sdk\inc\mcx.h
+FILE 108 f:\dd\vctools\crt_bld\self_x86\crt\src\atox.c
+FILE 109 f:\dd\vctools\crt_bld\self_x86\crt\src\limits.h
+FILE 110 f:\dd\public\sdk\inc\windows.h
+FILE 111 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.h
+FILE 112 f:\dd\public\sdk\inc\sdkddkver.h
+FILE 113 f:\dd\vctools\crt_bld\self_x86\crt\src\oscalls.h
+FILE 114 f:\dd\vctools\crt_bld\self_x86\crt\src\excpt.h
+FILE 120 f:\dd\public\sdk\inc\reason.h
+FILE 123 f:\dd\public\sdk\inc\kernelspecs.h
+FILE 125 f:\dd\vctools\crt_bld\self_x86\crt\src\tchar.h
+FILE 126 f:\dd\vctools\crt_bld\self_x86\crt\src\mbstring.h
+FILE 127 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.h
+FILE 128 f:\dd\public\sdk\inc\ime_cmodes.h
+FILE 130 f:\dd\vctools\crt_bld\self_x86\crt\src\vadefs.h
+FILE 131 f:\dd\vctools\crt_bld\self_x86\crt\src\cruntime.h
+FILE 132 f:\dd\public\sdk\inc\tvout.h
+FILE 145 f:\dd\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h
+FILE 152 f:\dd\vctools\crt_bld\self_x86\crt\src\internal.h
+FILE 164 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdbg.h
+FILE 165 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoa.c
+FILE 178 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoas.c
+FILE 182 f:\dd\vctools\crt_bld\self_x86\crt\src\errno.h
+FILE 224 f:\dd\vctools\crt_bld\self_x86\crt\src\dosmap.c
+FILE 250 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcsup.h
+FILE 251 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcapi.h
+FILE 265 f:\dd\vctools\crt_bld\self_x86\crt\src\winheap.h
+FILE 281 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.h
+FILE 291 f:\dd\vctools\crt_bld\self_x86\crt\src\calloc_impl.c
+FILE 299 f:\dd\vctools\crt_bld\self_x86\crt\src\dbgint.h
+FILE 333 f:\dd\vctools\crt_bld\self_x86\crt\src\crtheap.c
+FILE 389 f:\dd\vctools\crt_bld\self_x86\crt\src\free.c
+FILE 453 f:\dd\vctools\crt_bld\self_x86\crt\src\heapinit.c
+FILE 498 f:\dd\vctools\crt_bld\self_x86\crt\src\rterr.h
+FILE 504 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c
+FILE 561 f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c
+FILE 618 f:\dd\vctools\crt_bld\self_x86\crt\src\realloc.c
+FILE 677 f:\dd\vctools\crt_bld\self_x86\crt\src\recalloc.c
+FILE 731 f:\dd\vctools\crt_bld\self_x86\crt\src\_newmode.c
+FILE 774 f:\dd\vctools\crt_bld\self_x86\crt\src\msdos.h
+FILE 777 f:\dd\vctools\crt_bld\self_x86\crt\src\stddef.h
+FILE 792 f:\dd\vctools\crt_bld\self_x86\crt\src\ioinit.c
+FILE 844 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c
+FILE 892 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\secchk.c
+FILE 904 f:\dd\vctools\crt_bld\self_x86\crt\src\process.h
+FILE 943 f:\dd\vctools\crt_bld\self_x86\crt\src\a_env.c
+FILE 960 f:\dd\vctools\crt_bld\self_x86\crt\src\awint.h
+FILE 975 f:\dd\vctools\crt_bld\self_x86\crt\src\signal.h
+FILE 1011 f:\dd\vctools\crt_bld\self_x86\crt\src\abort.c
+FILE 1039 f:\dd\vctools\crt_bld\self_x86\crt\src\swprintf.inl
+FILE 1053 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmbox.c
+FILE 1063 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmboxw.c
+FILE 1065 f:\dd\vctools\crt_bld\self_x86\crt\src\wchar.h
+FILE 1069 f:\dd\vctools\crt_bld\self_x86\crt\src\wtime.inl
+FILE 1120 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.c
+FILE 1145 f:\dd\vctools\crt_bld\self_x86\crt\src\dbghook.c
+FILE 1181 f:\dd\vctools\crt_bld\self_x86\crt\src\errmode.c
+FILE 1244 f:\dd\vctools\crt_bld\self_x86\crt\src\getqloc.c
+FILE 1288 f:\dd\vctools\crt_bld\self_x86\crt\src\locale.h
+FILE 1301 f:\dd\vctools\crt_bld\self_x86\crt\src\glstatus.c
+FILE 1344 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_cookie.c
+FILE 1392 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_report.c
+FILE 1413 f:\binaries.x86ret\inc\mm3dnow.h
+FILE 1415 f:\binaries.x86ret\inc\ammintrin.h
+FILE 1424 f:\binaries.x86ret\inc\immintrin.h
+FILE 1426 f:\binaries.x86ret\inc\wmmintrin.h
+FILE 1427 f:\binaries.x86ret\inc\nmmintrin.h
+FILE 1428 f:\binaries.x86ret\inc\smmintrin.h
+FILE 1429 f:\binaries.x86ret\inc\tmmintrin.h
+FILE 1430 f:\binaries.x86ret\inc\pmmintrin.h
+FILE 1431 f:\binaries.x86ret\inc\emmintrin.h
+FILE 1432 f:\binaries.x86ret\inc\xmmintrin.h
+FILE 1433 f:\binaries.x86ret\inc\mmintrin.h
+FILE 1455 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_support.c
+FILE 1467 f:\dd\vctools\crt_bld\self_x86\crt\src\intrin.h
+FILE 1468 f:\dd\vctools\crt_bld\self_x86\crt\src\setjmp.h
+FILE 1508 f:\dd\vctools\crt_bld\self_x86\crt\src\initcoll.c
+FILE 1568 f:\dd\vctools\crt_bld\self_x86\crt\src\initctyp.c
+FILE 1627 f:\dd\vctools\crt_bld\self_x86\crt\src\inithelp.c
+FILE 1685 f:\dd\vctools\crt_bld\self_x86\crt\src\initmon.c
+FILE 1737 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsint.h
+FILE 1742 f:\dd\vctools\crt_bld\self_x86\crt\src\initnum.c
+FILE 1800 f:\dd\vctools\crt_bld\self_x86\crt\src\inittime.c
+FILE 1855 f:\dd\vctools\crt_bld\self_x86\crt\src\lconv.c
+FILE 1913 f:\dd\vctools\crt_bld\self_x86\crt\src\localref.c
+FILE 1962 f:\dd\vctools\crt_bld\self_x86\crt\src\sect_attribs.h
+FILE 1969 f:\dd\vctools\crt_bld\self_x86\crt\src\onexit.c
+FILE 1989 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata1.c
+FILE 2036 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata2.c
+FILE 2079 f:\dd\vctools\crt_bld\self_x86\crt\src\pesect.c
+FILE 2128 f:\dd\vctools\crt_bld\self_x86\crt\src\purevirt.c
+FILE 2186 f:\dd\vctools\crt_bld\self_x86\crt\src\rand_s.c
+FILE 2250 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.c
+FILE 2311 f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
+FILE 2314 f:\dd\vctools\crt_bld\self_x86\crt\src\float.h
+FILE 2315 f:\dd\vctools\crt_bld\self_x86\crt\src\crtwrn.h
+FILE 2369 f:\dd\vctools\crt_bld\self_x86\crt\src\winxfltr.c
+FILE 2394 f:\dd\vctools\crt_bld\self_x86\crt\src\fltintrn.h
+FILE 2419 f:\dd\vctools\crt_bld\self_x86\crt\src\cmiscdat.c
+FILE 2445 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c
+FILE 2468 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl
+FILE 2493 f:\dd\vctools\crt_bld\self_x86\crt\src\strcat_s.c
+FILE 2523 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl
+FILE 2548 f:\dd\vctools\crt_bld\self_x86\crt\src\strcpy_s.c
+FILE 2578 f:\dd\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl
+FILE 2603 f:\dd\vctools\crt_bld\self_x86\crt\src\strncpy_s.c
+FILE 2658 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscat_s.c
+FILE 2713 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscpy_s.c
+FILE 2728 f:\dd\vctools\crt_bld\self_x86\crt\src\wcslen.c
+FILE 2776 f:\dd\vctools\crt_bld\self_x86\crt\src\wcsncpy_s.c
+FILE 2787 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
+FILE 2788 f:\dd\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc
+FILE 2789 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memset.asm
+FILE 2791 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcmp.asm
+FILE 2793 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcspn.asm
+FILE 2794 f:\dd\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM
+FILE 2796 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strlen.asm
+FILE 2798 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\_strnicm.asm
+FILE 2800 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strpbrk.asm
+FILE 2803 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\llmul.asm
+FILE 2805 f:\dd\vctools\crt_bld\SELF_X86\crt\src\mm.inc
+FILE 2806 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\ulldvrm.asm
+FILE 2820 f:\dd\vctools\crt_bld\self_x86\crt\src\handler.cpp
+FILE 2841 f:\dd\vctools\crt_bld\self_x86\crt\src\new.h
+FILE 2875 f:\dd\vctools\crt_bld\self_x86\crt\src\delete.cpp
+FILE 2931 f:\dd\vctools\crt_bld\self_x86\crt\src\_wctype.c
+FILE 2987 f:\dd\vctools\crt_bld\self_x86\crt\src\iswctype.c
+FILE 2998 f:\dd\vctools\crt_bld\self_x86\crt\src\stdio.h
+FILE 3045 f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
+FILE 3106 f:\dd\vctools\crt_bld\self_x86\crt\src\strtol.c
+FILE 3163 f:\dd\vctools\crt_bld\self_x86\crt\src\strtoq.c
+FILE 3218 f:\dd\vctools\crt_bld\self_x86\crt\src\tolower.c
+FILE 3271 f:\dd\vctools\crt_bld\self_x86\crt\src\ismbbyte.c
+FILE 3305 f:\dd\vctools\crt_bld\self_x86\crt\src\mbdata.h
+FILE 3326 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.c
+FILE 3386 f:\dd\vctools\crt_bld\self_x86\crt\src\a_loc.c
+FILE 3447 f:\dd\vctools\crt_bld\self_x86\crt\src\a_map.c
+FILE 3507 f:\dd\vctools\crt_bld\self_x86\crt\src\a_str.c
+FILE 3583 f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c
+FILE 3626 f:\dd\vctools\crt_bld\self_x86\crt\src\stricmp.c
+FILE 3682 f:\dd\vctools\crt_bld\self_x86\crt\src\strnicmp.c
+FILE 3774 f:\dd\vctools\crt_bld\self_x86\crt\src\tidtable.c
+FILE 3778 f:\dd\vctools\crt_bld\self_x86\crt\src\memory.h
+FILE 3838 f:\dd\vctools\crt_bld\self_x86\crt\src\stdenvp.c
+FILE 3860 f:\dd\vctools\crt_bld\self_x86\crt\src\dos.h
+FILE 3891 f:\dd\vctools\crt_bld\self_x86\crt\src\stdargv.c
+FILE 3954 f:\dd\vctools\crt_bld\self_x86\crt\src\mlock.c
+FILE 3998 f:\dd\vctools\crt_bld\self_x86\crt\src\cmsgs.h
+FILE 4012 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0msg.c
+FILE 4072 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0init.c
+FILE 4123 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0fp.c
+FILE 4186 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c
+FILE 4250 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c
+FILE 4274 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\alloca16.asm
+FILE 4276 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\chkstk.asm
+FILE 4289 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h
+FILE 4293 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h
+FILE 4294 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h
+FILE 4295 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h
+FILE 4309 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h
+FILE 4315 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c
+FILE 4327 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h
+FILE 4340 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 4345 f:\dd\vctools\langapi\undname\undname.inl
+FILE 4347 f:\dd\vctools\langapi\undname\utf8.h
+FILE 4355 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl
+FILE 4365 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 4366 f:\dd\vctools\langapi\undname\undname.h
+FILE 4367 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h
+FILE 4368 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h
+FILE 4396 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h
+FILE 4397 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp
+FILE 4401 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h
+FILE 4405 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h
+FILE 4427 f:\dd\vctools\langapi\include\ehdata.h
+FILE 4429 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h
+FILE 4449 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception
+FILE 4472 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h
+FILE 4473 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp
+FILE 4475 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef
+FILE 4487 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h
+FILE 4488 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo
+FILE 4490 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef
+FILE 4491 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h
+FILE 4492 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h
+FILE 4493 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h
+FILE 4496 f:\dd\public\internal\vctools\include\undname.h
+FILE 4531 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp
+FILE 4591 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp
+FILE 4643 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp
+FILE 4664 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h
+FILE 4680 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h
+FUNC 1000 54 0 main
+1000 6 57 1
+1006 8 58 1
+100e e 59 1
+101c 8 60 1
+1024 b 61 1
+102f f 62 1
+103e 12 64 1
+1050 4 65 1
+FUNC 1060 a 0 static int google_breakpad::i()
+1060 3 51 1
+1063 5 52 1
+1068 2 53 1
+FUNC 1070 21 0 google_breakpad::C::C()
+1070 21 37 1
+FUNC 10a0 14 0 google_breakpad::C::~C()
+10a0 14 38 1
+FUNC 10c0 16 0 google_breakpad::C::set_member(int)
+10c0 16 40 1
+FUNC 10e0 1e 0 google_breakpad::C::f()
+10e0 1e 43 1
+FUNC 1100 10 0 google_breakpad::C::g()
+1100 10 44 1
+FUNC 1110 7 0 google_breakpad::C::h(google_breakpad::C const &)
+1110 7 45 1
+FUNC 1120 2c 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 114c 10 0 type_info::~type_info()
+114c 2 49 4531
+114e d 50 4531
+115b 1 51 4531
+FUNC 115c 21 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 117d b 0 operator delete(void *)
+117d 5 20 2875
+1182 1 24 2875
+1183 5 23 2875
+FUNC 1188 29 0 static void fast_error_exit(int)
+1188 5 326 4250
+118d 9 335 4250
+1196 5 337 4250
+119b 8 339 4250
+11a3 c 340 4250
+11af 2 341 4250
+FUNC 11b1 161 0 static int __tmainCRTStartup()
+11b1 c 196 4250
+11bd a 214 4250
+11c7 b 216 4250
+11d2 49 223 4250
+121b 9 225 4250
+1224 8 226 4250
+122c 9 228 4250
+1235 8 229 4250
+123d 5 238 4250
+1242 3 246 4250
+1245 9 248 4250
+124e 8 249 4250
+1256 b 252 4250
+1261 a 255 4250
+126b 9 257 4250
+1274 8 258 4250
+127c 9 259 4250
+1285 8 260 4250
+128d 8 262 4250
+1295 4 263 4250
+1299 7 264 4250
+12a0 a 277 4250
+12aa 18 278 4250
+12c2 5 281 4250
+12c7 6 282 4250
+12cd 5 284 4250
+12d2 2 286 4250
+12d4 17 287 4250
+12eb 6 293 4250
+12f1 6 295 4250
+12f7 6 296 4250
+12fd 5 298 4250
+1302 7 300 4250
+1309 3 302 4250
+130c 6 303 4250
+FUNC 1312 a 0 mainCRTStartup
+1312 0 179 4250
+1312 5 186 4250
+1317 5 188 4250
+FUNC 131c 70 0 type_info::_Type_info_dtor(type_info *)
+131c c 62 4473
+1328 8 63 4473
+1330 4 64 4473
+1334 a 65 4473
+133e d 70 4473
+134b 4 72 4473
+134f 4 74 4473
+1353 6 79 4473
+1359 7 80 4473
+1360 9 94 4473
+1369 4 101 4473
+136d c 103 4473
+1379 6 107 4473
+137f 2 83 4473
+1381 2 72 4473
+1383 9 104 4473
+FUNC 1390 88 0 strcmp
+1390 0 65 2791
+1390 4 73 2791
+1394 4 74 2791
+1398 6 76 2791
+139e 2 77 2791
+13a0 2 81 2791
+13a2 2 83 2791
+13a4 2 84 2791
+13a6 2 85 2791
+13a8 2 86 2791
+13aa 3 87 2791
+13ad 2 88 2791
+13af 2 89 2791
+13b1 2 90 2791
+13b3 3 92 2791
+13b6 3 94 2791
+13b9 2 95 2791
+13bb 2 96 2791
+13bd 2 97 2791
+13bf 3 98 2791
+13c2 2 99 2791
+13c4 3 100 2791
+13c7 3 101 2791
+13ca 2 102 2791
+13cc 4 103 2791
+13d0 2 107 2791
+13d2 2 108 2791
+13d4 2 115 2791
+13d6 2 116 2791
+13d8 3 117 2791
+13db 1 118 2791
+13dc 6 122 2791
+13e2 2 123 2791
+13e4 2 125 2791
+13e6 3 126 2791
+13e9 2 127 2791
+13eb 2 128 2791
+13ed 3 129 2791
+13f0 2 130 2791
+13f2 2 131 2791
+13f4 6 133 2791
+13fa 2 134 2791
+13fc 3 139 2791
+13ff 3 140 2791
+1402 2 141 2791
+1404 2 142 2791
+1406 2 143 2791
+1408 2 144 2791
+140a 3 145 2791
+140d 2 146 2791
+140f 2 147 2791
+1411 2 148 2791
+1413 3 149 2791
+1416 2 150 2791
+FUNC 1418 3a 0 free
+1418 5 40 389
+141d 6 45 389
+1423 11 50 389
+1434 4 51 389
+1438 18 53 389
+1450 2 55 389
+FUNC 1452 42 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+1452 5 67 4397
+1457 32 68 4397
+1489 5 69 4397
+148e 2 72 4397
+1490 4 73 4397
+FUNC 1494 e 0 __CxxSetUnhandledExceptionFilter
+1494 0 86 4397
+1494 b 89 4397
+149f 2 90 4397
+14a1 1 91 4397
+FUNC 14a2 2b 0 __crtCorExitProcess
+14a2 5 675 4186
+14a7 b 679 4186
+14b2 4 680 4186
+14b6 c 681 4186
+14c2 4 682 4186
+14c6 5 683 4186
+14cb 2 693 4186
+FUNC 14cd 18 0 __crtExitProcess
+14cd 5 698 4186
+14d2 9 699 4186
+14db a 708 4186
+FUNC 14e5 9 0 _lockexit
+14e5 0 758 4186
+14e5 8 759 4186
+14ed 1 760 4186
+FUNC 14ee 9 0 _unlockexit
+14ee 0 784 4186
+14ee 8 785 4186
+14f6 1 786 4186
+FUNC 14f7 33 0 _init_pointers
+14f7 3 809 4186
+14fa 7 810 4186
+1501 6 812 4186
+1507 6 813 4186
+150d 6 814 4186
+1513 6 815 4186
+1519 6 816 4186
+151f a 817 4186
+1529 1 818 4186
+FUNC 152a 24 0 _initterm_e
+152a 6 908 4186
+1530 b 917 4186
+153b 6 922 4186
+1541 2 923 4186
+1543 3 924 4186
+1546 6 917 4186
+154c 2 928 4186
+FUNC 154e 97 0 _cinit
+154e 5 258 4186
+1553 18 268 4186
+156b a 270 4186
+1575 5 272 4186
+157a 11 278 4186
+158b 2 279 4186
+158d 2 280 4186
+158f c 283 4186
+159b 20 288 4186
+15bb 1a 301 4186
+15d5 c 303 4186
+15e1 2 307 4186
+15e3 2 308 4186
+FUNC 15e5 140 0 static void doexit(int, int, int)
+15e5 c 489 4186
+15f1 8 507 4186
+15f9 4 508 4186
+15fd f 510 4186
+160c 5 511 4186
+1611 8 514 4186
+1619 a 516 4186
+1623 13 532 4186
+1636 4 533 4186
+163a d 534 4186
+1647 3 538 4186
+164a 3 539 4186
+164d 11 547 4186
+165e 2 550 4186
+1660 4 552 4186
+1664 6 559 4186
+166a 7 562 4186
+1671 2 565 4186
+1673 a 567 4186
+167d 8 568 4186
+1685 a 570 4186
+168f 6 573 4186
+1695 8 574 4186
+169d 5 576 4186
+16a2 21 582 4186
+16c3 21 590 4186
+16e4 c 608 4186
+16f0 6 613 4186
+16f6 a 617 4186
+1700 8 619 4186
+1708 8 621 4186
+1710 6 609 4186
+1716 9 610 4186
+171f 6 622 4186
+FUNC 1725 16 0 exit
+1725 5 392 4186
+172a f 393 4186
+1739 2 394 4186
+FUNC 173b 16 0 _exit
+173b 5 400 4186
+1740 f 401 4186
+174f 2 402 4186
+FUNC 1751 f 0 _cexit
+1751 0 407 4186
+1751 e 408 4186
+175f 1 409 4186
+FUNC 1760 f 0 _c_exit
+1760 0 414 4186
+1760 e 415 4186
+176e 1 416 4186
+FUNC 176f 1e 0 _amsg_exit
+176f 5 439 4186
+1774 5 440 4186
+1779 9 441 4186
+1782 b 442 4186
+FUNC 178d 26 0 _GET_RTERRMSG
+178d 5 165 4012
+1792 2 168 4012
+1794 c 169 4012
+17a0 6 168 4012
+17a6 2 172 4012
+17a8 2 173 4012
+17aa 7 170 4012
+17b1 2 173 4012
+FUNC 17b3 1af 0 _NMSG_WRITE
+17b3 1b 196 4012
+17ce 8 197 4012
+17d6 11 199 4012
+17e7 2a 226 4012
+1811 c 263 4012
+181d 20 272 4012
+183d 21 275 4012
+185e 1f 276 4012
+187d d 279 4012
+188a d 281 4012
+1897 1d 282 4012
+18b4 18 285 4012
+18cc 14 286 4012
+18e0 15 290 4012
+18f5 a 272 4012
+18ff a 228 4012
+1909 9 229 4012
+1912 2 244 4012
+1914 a 246 4012
+191e 6 248 4012
+1924 8 244 4012
+192c 27 260 4012
+1953 f 294 4012
+FUNC 1962 39 0 _FF_MSGBANNER
+1962 0 134 4012
+1962 22 138 4012
+1984 a 140 4012
+198e c 141 4012
+199a 1 143 4012
+FUNC 199b 14a 0 _XcptFilter
+199b 6 195 2369
+19a1 7 202 2369
+19a8 8 203 2369
+19b0 2a 208 2369
+19da 4 210 2369
+19de 3 216 2369
+19e1 4 223 2369
+19e5 7 224 2369
+19ec 5 232 2369
+19f1 4 237 2369
+19f5 8 238 2369
+19fd 3 244 2369
+1a00 6 248 2369
+1a06 a 263 2369
+1a10 c 272 2369
+1a1c 3 280 2369
+1a1f 13 283 2369
+1a32 c 310 2369
+1a3e 9 312 2369
+1a47 7 314 2369
+1a4e 9 316 2369
+1a57 7 318 2369
+1a5e 9 320 2369
+1a67 7 322 2369
+1a6e 9 324 2369
+1a77 7 326 2369
+1a7e 9 328 2369
+1a87 7 330 2369
+1a8e 9 332 2369
+1a97 7 334 2369
+1a9e 9 336 2369
+1aa7 7 338 2369
+1aae 9 340 2369
+1ab7 7 342 2369
+1abe 7 344 2369
+1ac5 8 353 2369
+1acd 3 358 2369
+1ad0 2 360 2369
+1ad2 4 365 2369
+1ad6 4 366 2369
+1ada 4 372 2369
+1ade 5 374 2369
+1ae3 2 376 2369
+FUNC 1ae5 dc 0 _setenvp
+1ae5 0 77 3838
+1ae5 9 85 3838
+1aee 6 86 3838
+1af4 9 91 3838
+1afd 4 98 3838
+1b01 8 99 3838
+1b09 4 110 3838
+1b0d 1 111 3838
+1b0e b 112 3838
+1b19 6 108 3838
+1b1f 15 117 3838
+1b34 2 118 3838
+1b36 9 121 3838
+1b3f 6 123 3838
+1b45 9 125 3838
+1b4e 10 127 3838
+1b5e f 133 3838
+1b6d 3 134 3838
+1b70 7 121 3838
+1b77 b 138 3838
+1b82 7 139 3838
+1b89 3 142 3838
+1b8c a 149 3838
+1b96 2 152 3838
+1b98 2 138 3838
+1b9a 3 153 3838
+1b9d b 129 3838
+1ba8 7 130 3838
+1baf 5 131 3838
+1bb4 d 133 3838
+FUNC 1bc1 19a 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+1bc1 6 221 3891
+1bc7 9 229 3891
+1bd0 2 232 3891
+1bd2 17 234 3891
+1be9 3 253 3891
+1bec 5 255 3891
+1bf1 5 257 3891
+1bf6 9 258 3891
+1bff 2 259 3891
+1c01 2 261 3891
+1c03 4 262 3891
+1c07 8 263 3891
+1c0f 2 265 3891
+1c11 f 267 3891
+1c20 2 268 3891
+1c22 6 269 3891
+1c28 a 270 3891
+1c32 1 271 3891
+1c33 1a 275 3891
+1c4d 4 280 3891
+1c51 4 281 3891
+1c55 4 284 3891
+1c59 9 289 3891
+1c62 a 290 3891
+1c6c 3 291 3891
+1c6f 1 278 3891
+1c70 2 279 3891
+1c72 9 294 3891
+1c7b 6 298 3891
+1c81 9 299 3891
+1c8a 2 300 3891
+1c8c 3 314 3891
+1c8f 4 318 3891
+1c93 1 321 3891
+1c94 1 322 3891
+1c95 5 319 3891
+1c9a 5 324 3891
+1c9f 5 327 3891
+1ca4 e 328 3891
+1cb2 2 329 3891
+1cb4 2 330 3891
+1cb6 d 332 3891
+1cc3 2 335 3891
+1cc5 5 339 3891
+1cca 4 340 3891
+1cce 4 341 3891
+1cd2 6 342 3891
+1cd8 3 341 3891
+1cdb 14 346 3891
+1cef 4 351 3891
+1cf3 12 353 3891
+1d05 b 354 3891
+1d10 2 355 3891
+1d12 a 357 3891
+1d1c 2 358 3891
+1d1e a 359 3891
+1d28 1 360 3891
+1d29 2 361 3891
+1d2b 5 364 3891
+1d30 1 366 3891
+1d31 5 375 3891
+1d36 4 379 3891
+1d3a 7 380 3891
+1d41 2 381 3891
+1d43 8 382 3891
+1d4b 9 385 3891
+1d54 3 386 3891
+1d57 2 387 3891
+1d59 2 388 3891
+FUNC 1d5b bb 0 _setargv
+1d5b 9 88 3891
+1d64 c 97 3891
+1d70 5 98 3891
+1d75 18 104 3891
+1d8d 19 120 3891
+1da6 11 127 3891
+1db7 15 134 3891
+1dcc a 138 3891
+1dd6 2 140 3891
+1dd8 9 142 3891
+1de1 2 143 3891
+1de3 2 144 3891
+1de5 13 151 3891
+1df8 c 156 3891
+1e04 6 160 3891
+1e0a 4 175 3891
+1e0e 6 136 3891
+1e14 2 176 3891
+FUNC 1e16 97 0 __crtGetEnvironmentStringsA
+1e16 a 40 943
+1e20 e 49 943
+1e2e 4 50 943
+1e32 5 54 943
+1e37 8 55 943
+1e3f 9 56 943
+1e48 1b 70 943
+1e63 12 74 943
+1e75 12 88 943
+1e87 9 90 943
+1e90 3 91 943
+1e93 7 94 943
+1e9a 5 95 943
+1e9f 7 76 943
+1ea6 5 77 943
+1eab 2 96 943
+FUNC 1ead 245 0 _ioinit
+1ead 9 111 792
+1eb6 a 122 792
+1ec0 13 129 792
+1ed3 8 131 792
+1edb 15 137 792
+1ef0 3 134 792
+1ef3 a 139 792
+1efd 3 141 792
+1f00 6 143 792
+1f06 4 145 792
+1f0a 3 146 792
+1f0d 1b 147 792
+1f28 15 155 792
+1f3d 2 160 792
+1f3f 6 166 792
+1f45 2 167 792
+1f47 e 173 792
+1f55 d 179 792
+1f62 f 185 792
+1f71 7 199 792
+1f78 c 201 792
+1f84 3 198 792
+1f87 4 203 792
+1f8b 4 205 792
+1f8f 4 206 792
+1f93 10 209 792
+1fa3 12 210 792
+1fb5 b 179 792
+1fc0 2 280 792
+1fc2 6 191 792
+1fc8 6 217 792
+1fce 29 230 792
+1ff7 14 232 792
+200b 7 233 792
+2012 8 234 792
+201a 17 237 792
+2031 3 239 792
+2034 c 217 792
+2040 2 249 792
+2042 b 251 792
+204d c 254 792
+2059 6 302 792
+205f 4 258 792
+2063 30 262 792
+2093 c 273 792
+209f 6 274 792
+20a5 5 275 792
+20aa 4 276 792
+20ae 13 280 792
+20c1 3 282 792
+20c4 2 284 792
+20c6 4 293 792
+20ca 6 294 792
+20d0 a 249 792
+20da c 309 792
+20e6 5 311 792
+20eb 2 312 792
+20ed 5 281 792
+FUNC 20f2 26 0 _RTC_Initialize
+FUNC 2118 26 0 _RTC_Terminate
+FUNC 213e 9 0 _encoded_null
+213e 0 79 3774
+213e 8 80 3774
+2146 1 81 3774
+FUNC 2147 9 4 __crtTlsAlloc
+2147 0 95 3774
+2147 6 96 3774
+214d 3 97 3774
+FUNC 2150 34 0 __set_flsgetvalue
+2150 3 143 3774
+2153 e 145 3774
+2161 4 146 3774
+2165 e 148 3774
+2173 d 149 3774
+2180 3 151 3774
+2183 1 155 3774
+FUNC 2184 3d 0 _mtterm
+2184 0 329 3774
+2184 a 336 3774
+218e f 337 3774
+219d 7 338 3774
+21a4 a 342 3774
+21ae 7 343 3774
+21b5 7 344 3774
+21bc 5 352 3774
+FUNC 21c1 b4 0 _initptd
+21c1 c 379 3774
+21cd b 381 3774
+21d8 a 384 3774
+21e2 4 385 3774
+21e6 6 386 3774
+21ec 3 391 3774
+21ef 7 395 3774
+21f6 7 396 3774
+21fd 7 397 3774
+2204 8 399 3774
+220c 4 400 3774
+2210 9 402 3774
+2219 c 404 3774
+2225 8 411 3774
+222d 3 412 3774
+2230 6 413 3774
+2236 4 421 3774
+223a 8 422 3774
+2242 9 423 3774
+224b c 425 3774
+2257 6 428 3774
+225d 6 404 3774
+2263 9 406 3774
+226c 9 426 3774
+FUNC 2275 79 0 _getptd_noexit
+2275 4 448 3774
+2279 6 452 3774
+227f 15 460 3774
+2294 14 472 3774
+22a8 19 475 3774
+22c1 a 481 3774
+22cb 6 483 3774
+22d1 6 484 3774
+22d7 2 486 3774
+22d9 7 492 3774
+22e0 2 493 3774
+22e2 8 498 3774
+22ea 3 500 3774
+22ed 1 501 3774
+FUNC 22ee 1a 0 _getptd
+22ee 3 522 3774
+22f1 7 523 3774
+22f8 4 524 3774
+22fc 8 525 3774
+2304 3 527 3774
+2307 1 528 3774
+FUNC 2308 12f 4 _freefls
+2308 c 556 3774
+2314 b 567 3774
+231f 7 568 3774
+2326 7 569 3774
+232d 7 571 3774
+2334 7 572 3774
+233b 7 574 3774
+2342 7 575 3774
+2349 7 577 3774
+2350 7 578 3774
+2357 7 580 3774
+235e 7 581 3774
+2365 7 583 3774
+236c 7 584 3774
+2373 7 586 3774
+237a 7 587 3774
+2381 a 589 3774
+238b 7 590 3774
+2392 8 592 3774
+239a 4 593 3774
+239e 1a 596 3774
+23b8 7 597 3774
+23bf c 599 3774
+23cb 8 603 3774
+23d3 7 605 3774
+23da 7 606 3774
+23e1 7 608 3774
+23e8 15 611 3774
+23fd 7 612 3774
+2404 c 615 3774
+2410 7 619 3774
+2417 8 622 3774
+241f 3 599 3774
+2422 9 600 3774
+242b 3 615 3774
+242e 9 616 3774
+FUNC 2437 17b 0 _mtinit
+2437 3 203 3774
+243a d 211 3774
+2447 4 212 3774
+244b 5 213 3774
+2450 3 214 3774
+2453 2 300 3774
+2455 e 218 3774
+2463 d 221 3774
+2470 d 224 3774
+247d d 227 3774
+248a 2a 228 3774
+24b4 a 231 3774
+24be 1a 235 3774
+24d8 25 244 3774
+24fd 5 249 3774
+2502 e 256 3774
+2510 d 257 3774
+251d d 258 3774
+252a 12 259 3774
+253c 7 266 3774
+2543 2 268 3774
+2545 1d 274 3774
+2562 2 276 3774
+2564 29 284 3774
+258d a 294 3774
+2597 6 296 3774
+259d 6 297 3774
+25a3 5 299 3774
+25a8 5 286 3774
+25ad 4 245 3774
+25b1 1 300 3774
+FUNC 25b2 1e 0 _heap_init
+25b2 0 40 453
+25b2 1d 44 453
+25cf 1 60 453
+FUNC 25d0 45 0 _SEH_prolog4
+FUNC 2615 14 0 _SEH_epilog4
+FUNC 2630 18f 0 _except_handler4
+FUNC 27bf 9b 0 __security_init_cookie
+27bf 8 97 1455
+27c7 21 114 1455
+27e8 7 116 1455
+27ef 3 117 1455
+27f2 a 127 1455
+27fc 6 132 1455
+2802 8 135 1455
+280a 8 136 1455
+2812 8 137 1455
+281a a 139 1455
+2824 8 144 1455
+282c 4 161 1455
+2830 7 163 1455
+2837 4 166 1455
+283b c 168 1455
+2847 6 172 1455
+284d b 173 1455
+2858 2 175 1455
+FUNC 285a f 0 _initp_misc_invarg
+285a 5 64 3583
+285f 8 65 3583
+2867 2 66 3583
+FUNC 2869 129 0 _call_reportfault
+2869 16 164 3583
+287f 9 166 3583
+2888 7 167 3583
+288f 17 170 3583
+28a6 1b 172 3583
+28c1 6 179 3583
+28c7 6 180 3583
+28cd 6 181 3583
+28d3 6 182 3583
+28d9 6 183 3583
+28df 6 184 3583
+28e5 7 185 3583
+28ec 7 186 3583
+28f3 7 187 3583
+28fa 7 188 3583
+2901 7 189 3583
+2908 7 190 3583
+290f 1 191 3583
+2910 6 192 3583
+2916 3 198 3583
+2919 19 199 3583
+2932 9 201 3583
+293b 9 240 3583
+2944 9 241 3583
+294d 6 242 3583
+2953 6 245 3583
+2959 a 248 3583
+2963 d 250 3583
+2970 d 254 3583
+297d 7 255 3583
+2984 e 257 3583
+FUNC 2992 25 0 _invoke_watson
+2992 3 146 3583
+2995 12 155 3583
+29a7 f 156 3583
+29b6 1 157 3583
+FUNC 29b7 2d 0 _invalid_parameter
+29b7 5 96 3583
+29bc c 103 3583
+29c8 4 104 3583
+29cc 1 111 3583
+29cd 2 106 3583
+29cf 15 110 3583
+FUNC 29e4 10 0 _invalid_parameter_noinfo
+29e4 0 120 3583
+29e4 f 121 3583
+29f3 1 122 3583
+FUNC 29f4 4a 0 _mtinitlocks
+29f4 4 136 3954
+29f8 7 143 3954
+29ff a 144 3954
+2a09 9 145 3954
+2a12 14 147 3954
+2a26 6 143 3954
+2a2c 3 156 3954
+2a2f 3 157 3954
+2a32 c 150 3954
+FUNC 2a3e 57 0 _mtdeletelocks
+2a3e 3 187 3954
+2a41 d 193 3954
+2a4e c 195 3954
+2a5a 3 199 3954
+2a5d 6 205 3954
+2a63 4 206 3954
+2a67 b 193 3954
+2a72 6 214 3954
+2a78 c 216 3954
+2a84 3 220 3954
+2a87 b 214 3954
+2a92 3 223 3954
+FUNC 2a95 17 0 _unlock
+2a95 5 370 3954
+2a9a 10 374 3954
+2aaa 2 375 3954
+FUNC 2aac c2 0 _mtinitlocknum
+2aac c 258 3954
+2ab8 6 260 3954
+2abe a 268 3954
+2ac8 5 269 3954
+2acd 7 270 3954
+2ad4 c 271 3954
+2ae0 e 275 3954
+2aee 4 276 3954
+2af2 e 278 3954
+2b00 b 279 3954
+2b0b 4 280 3954
+2b0f 8 283 3954
+2b17 3 284 3954
+2b1a 4 286 3954
+2b1e 10 287 3954
+2b2e 7 288 3954
+2b35 b 289 3954
+2b40 3 290 3954
+2b43 2 291 3954
+2b45 2 292 3954
+2b47 2 295 3954
+2b49 7 296 3954
+2b50 c 299 3954
+2b5c 3 303 3954
+2b5f 6 304 3954
+2b65 9 300 3954
+FUNC 2b6e 33 0 _lock
+2b6e 5 332 3954
+2b73 10 337 3954
+2b83 b 339 3954
+2b8e 8 340 3954
+2b96 9 347 3954
+2b9f 2 348 3954
+FUNC 2ba1 5f 0 strcpy_s
+2ba1 5 13 2523
+2ba6 23 18 2523
+2bc9 b 19 2523
+2bd4 11 23 2523
+2be5 4 27 2523
+2be9 3 29 2523
+2bec e 30 2523
+2bfa 4 33 2523
+2bfe 2 34 2523
+FUNC 2c00 8b 0 strlen
+2c00 0 54 2796
+2c00 4 63 2796
+2c04 6 64 2796
+2c0a 2 65 2796
+2c0c 2 69 2796
+2c0e 3 70 2796
+2c11 2 71 2796
+2c13 2 72 2796
+2c15 6 73 2796
+2c1b 2 74 2796
+2c1d 13 76 2796
+2c30 2 81 2796
+2c32 5 82 2796
+2c37 2 83 2796
+2c39 3 84 2796
+2c3c 2 85 2796
+2c3e 3 86 2796
+2c41 5 87 2796
+2c46 2 88 2796
+2c48 3 90 2796
+2c4b 2 91 2796
+2c4d 2 92 2796
+2c4f 2 93 2796
+2c51 2 94 2796
+2c53 5 95 2796
+2c58 2 96 2796
+2c5a 5 97 2796
+2c5f 2 98 2796
+2c61 2 99 2796
+2c63 3 103 2796
+2c66 4 104 2796
+2c6a 2 105 2796
+2c6c 1 106 2796
+2c6d 3 108 2796
+2c70 4 109 2796
+2c74 2 110 2796
+2c76 1 111 2796
+2c77 3 113 2796
+2c7a 4 114 2796
+2c7e 2 115 2796
+2c80 1 116 2796
+2c81 3 118 2796
+2c84 4 119 2796
+2c88 2 120 2796
+2c8a 1 121 2796
+FUNC 2c8b 94 0 malloc
+2c8b 6 81 504
+2c91 a 85 504
+2c9b 3d 89 504
+2cd8 4 94 504
+2cdc b 98 504
+2ce7 b 105 504
+2cf2 2 109 504
+2cf4 7 100 504
+2cfb 7 119 504
+2d02 6 121 504
+2d08 7 111 504
+2d0f b 112 504
+2d1a 3 113 504
+2d1d 2 122 504
+FUNC 2d20 90 0 _local_unwind4
+FUNC 2db0 46 0 static void _unwind_handler4()
+FUNC 2df6 1c 4 _seh_longjmp_unwind4
+FUNC 2e12 17 0 _EH4_CallFilterFunc
+FUNC 2e29 19 0 _EH4_TransferToHandler
+FUNC 2e42 19 0 _EH4_GlobalUnwind2
+FUNC 2e5b 17 8 _EH4_LocalUnwind
+FUNC 2e72 42 0 _get_errno_from_oserr
+2e72 5 119 224
+2e77 5 123 224
+2e7c 9 124 224
+2e85 6 123 224
+2e8b 8 133 224
+2e93 3 134 224
+2e96 2 139 224
+2e98 7 125 224
+2e9f 2 139 224
+2ea1 11 135 224
+2eb2 2 139 224
+FUNC 2eb4 13 0 _errno
+2eb4 0 279 224
+2eb4 5 280 224
+2eb9 4 281 224
+2ebd 5 282 224
+2ec2 1 287 224
+2ec3 3 284 224
+2ec6 1 287 224
+FUNC 2ec7 39 0 terminate()
+2ec7 c 84 4591
+2ed3 8 89 4591
+2edb 4 90 4591
+2edf 4 95 4591
+2ee3 2 99 4591
+2ee5 2 100 4591
+2ee7 7 101 4591
+2eee 7 106 4591
+2ef5 5 114 4591
+2efa 6 115 4591
+FUNC 2f00 11 0 _initp_eh_hooks
+2f00 0 69 4591
+2f00 10 70 4591
+2f10 1 71 4591
+FUNC 2f11 1e 0 _initp_misc_winsig
+2f11 5 57 2311
+2f16 8 58 2311
+2f1e 5 59 2311
+2f23 5 60 2311
+2f28 5 61 2311
+2f2d 2 62 2311
+FUNC 2f2f 37 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+2f2f 5 629 2311
+2f34 a 630 2311
+2f3e 14 639 2311
+2f52 e 642 2311
+2f60 2 646 2311
+2f62 2 651 2311
+2f64 2 652 2311
+FUNC 2f66 d 0 __get_sigabrt
+2f66 0 669 2311
+2f66 c 670 2311
+2f72 1 671 2311
+FUNC 2f73 1a3 0 raise
+2f73 c 450 2311
+2f7f 5 457 2311
+2f84 3 458 2311
+2f87 1f 460 2311
+2fa6 a 486 2311
+2fb0 4 487 2311
+2fb4 8 488 2311
+2fbc a 463 2311
+2fc6 2 465 2311
+2fc8 10 490 2311
+2fd8 2 491 2311
+2fda f 460 2311
+2fe9 12 498 2311
+2ffb a 474 2311
+3005 2 476 2311
+3007 a 468 2311
+3011 2 470 2311
+3013 a 479 2311
+301d 7 480 2311
+3024 a 500 2311
+302e 2 508 2311
+3030 4 507 2311
+3034 6 508 2311
+303a 5 513 2311
+303f 7 518 2311
+3046 5 525 2311
+304b 7 526 2311
+3052 5 528 2311
+3057 f 539 2311
+3066 6 540 2311
+306c 3 541 2311
+306f 5 547 2311
+3074 6 548 2311
+307a 7 549 2311
+3081 5 557 2311
+3086 1a 564 2311
+30a0 d 567 2311
+30ad 5 564 2311
+30b2 7 570 2311
+30b9 c 573 2311
+30c5 5 578 2311
+30ca 8 584 2311
+30d2 2 585 2311
+30d4 6 573 2311
+30da 6 574 2311
+30e0 9 575 2311
+30e9 5 586 2311
+30ee f 593 2311
+30fd 6 594 2311
+3103 5 599 2311
+3108 6 600 2311
+310e 2 603 2311
+3110 6 604 2311
+FUNC 3116 f 0 _initp_misc_rand_s
+3116 5 58 2186
+311b 8 59 2186
+3123 2 60 2186
+FUNC 3125 f 0 _initp_misc_purevirt
+3125 5 179 1627
+312a 8 180 1627
+3132 2 181 1627
+FUNC 3134 f 0 _initp_heap_handler
+3134 5 31 2820
+3139 8 32 2820
+3141 2 33 2820
+FUNC 3143 28 0 _callnewh
+3143 5 131 2820
+3148 c 133 2820
+3154 e 135 2820
+3162 3 138 2820
+3165 2 139 2820
+3167 2 136 2820
+3169 2 139 2820
+FUNC 316b b6 0 static * _onexit_nolock( *)
+316b 8 100 1969
+3173 f 103 1969
+3182 f 104 1969
+3191 14 108 1969
+31a5 10 118 1969
+31b5 d 123 1969
+31c2 13 125 1969
+31d5 3 130 1969
+31d8 13 132 1969
+31eb 3 143 1969
+31ee f 145 1969
+31fd 10 152 1969
+320d 8 153 1969
+3215 5 155 1969
+321a 5 110 1969
+321f 2 156 1969
+FUNC 3221 31 0 __onexitinit
+3221 3 201 1969
+3224 d 204 1969
+3231 11 205 1969
+3242 4 207 1969
+3246 4 212 1969
+324a 1 217 1969
+324b 3 214 1969
+324e 3 216 1969
+3251 1 217 1969
+FUNC 3252 3c 0 _onexit
+3252 c 81 1969
+325e 5 84 1969
+3263 4 86 1969
+3267 c 87 1969
+3273 c 89 1969
+327f 3 93 1969
+3282 6 94 1969
+3288 6 90 1969
+FUNC 328e 17 0 atexit
+328e 5 161 1969
+3293 10 162 1969
+32a3 2 163 1969
+FUNC 32a5 23 0 _initp_misc_cfltcvt_tab
+32a5 4 54 2419
+32a9 2 56 2419
+32ab 1a 58 2419
+32c5 3 60 2419
+FUNC 32d0 35 0 _ValidateImageBase
+32d0 5 44 2079
+32d5 d 50 2079
+32e2 2 52 2079
+32e4 2 68 2079
+32e6 5 55 2079
+32eb 6 56 2079
+32f1 2 58 2079
+32f3 10 62 2079
+3303 2 68 2079
+FUNC 3310 44 0 _FindPESection
+3310 5 92 2079
+3315 8 99 2079
+331d 18 108 2079
+3335 10 111 2079
+3345 8 108 2079
+334d 5 123 2079
+3352 2 124 2079
+FUNC 3360 bc 0 _IsNonwritableInCurrentImage
+3360 35 149 2079
+3395 7 156 2079
+339c f 164 2079
+33ab 2 166 2079
+33ad 8 174 2079
+33b5 e 175 2079
+33c3 2 176 2079
+33c5 2 178 2079
+33c7 12 185 2079
+33d9 12 195 2079
+33eb 16 187 2079
+3401 9 193 2079
+340a 12 195 2079
+FUNC 341c 16c 0 __crtMessageBoxW
+341c 12 41 1053
+342e 14 49 1053
+3442 4 56 1053
+3446 c 62 1053
+3452 d 64 1053
+345f 2 65 1053
+3461 6 67 1053
+3467 10 72 1053
+3477 6 76 1053
+347d 9 78 1053
+3486 10 81 1053
+3496 10 84 1053
+34a6 d 88 1053
+34b3 8 93 1053
+34bb 4 95 1053
+34bf 10 97 1053
+34cf 1a 110 1053
+34e9 3 113 1053
+34ec c 114 1053
+34f8 8 116 1053
+3500 1f 121 1053
+351f 7 130 1053
+3526 2 132 1053
+3528 a 134 1053
+3532 3 136 1053
+3535 4 137 1053
+3539 5 139 1053
+353e e 143 1053
+354c 3 145 1053
+354f 4 146 1053
+3553 8 148 1053
+355b 8 155 1053
+3563 4 156 1053
+3567 10 158 1053
+3577 2 163 1053
+3579 f 166 1053
+FUNC 3588 75 0 wcscat_s
+3588 6 13 2468
+358e 22 18 2468
+35b0 2 46 2468
+35b2 e 19 2468
+35c0 2 21 2468
+35c2 6 23 2468
+35c8 3 25 2468
+35cb 3 26 2468
+35ce 2 29 2468
+35d0 2 32 2468
+35d2 14 35 2468
+35e6 9 41 2468
+35ef e 42 2468
+FUNC 35fd cd 0 wcsncpy_s
+35fd 5 13 2578
+3602 16 17 2578
+3618 5 65 2578
+361d 2 66 2578
+361f 1e 24 2578
+363d 4 25 2578
+3641 5 28 2578
+3646 2 29 2578
+3648 e 31 2578
+3656 2 33 2578
+3658 5 35 2578
+365d 16 37 2578
+3673 2 41 2578
+3675 19 45 2578
+368e 4 48 2578
+3692 5 50 2578
+3697 8 54 2578
+369f a 58 2578
+36a9 d 59 2578
+36b6 3 61 2578
+36b9 11 62 2578
+FUNC 36ca 1b 0 wcslen
+36ca 5 41 2728
+36cf 3 42 2728
+36d2 b 44 2728
+36dd 6 46 2728
+36e3 2 47 2728
+FUNC 36e5 63 0 wcscpy_s
+36e5 6 13 2523
+36eb 22 18 2523
+370d 2 34 2523
+370f c 19 2523
+371b 16 23 2523
+3731 9 29 2523
+373a e 30 2523
+FUNC 3748 3f 0 _set_error_mode
+3748 5 43 1181
+374d 11 46 1181
+375e 5 54 1181
+3763 2 61 1181
+3765 5 50 1181
+376a 6 51 1181
+3770 2 61 1181
+3772 13 57 1181
+3785 2 61 1181
+FUNC 3787 f 0 __security_check_cookie
+3787 0 52 892
+3787 6 55 892
+378d 2 56 892
+378f 2 57 892
+3791 5 59 892
+FUNC 3796 45 0 _malloc_crt
+3796 7 39 333
+379d 2 40 333
+379f b 44 333
+37aa c 45 333
+37b6 1a 46 333
+37d0 5 47 333
+37d5 4 50 333
+37d9 2 51 333
+FUNC 37db 4c 0 _calloc_crt
+37db 7 54 333
+37e2 2 55 333
+37e4 12 61 333
+37f6 c 62 333
+3802 1a 63 333
+381c 5 64 333
+3821 4 67 333
+3825 2 68 333
+FUNC 3827 4e 0 _realloc_crt
+3827 7 71 333
+382e 2 72 333
+3830 f 76 333
+383f 11 77 333
+3850 1a 78 333
+386a 5 79 333
+386f 4 82 333
+3873 2 83 333
+FUNC 3875 2f 0 static int CPtoLCID(int)
+3875 0 329 3326
+3875 14 330 3326
+3889 2 345 3326
+388b 1 346 3326
+388c 5 342 3326
+3891 1 346 3326
+3892 5 339 3326
+3897 1 346 3326
+3898 5 336 3326
+389d 1 346 3326
+389e 5 333 3326
+38a3 1 346 3326
+FUNC 38a4 64 0 static void setSBCS(struct threadmbcinfostruct *)
+38a4 6 363 3326
+38aa 11 368 3326
+38bb 1b 379 3326
+38d6 12 381 3326
+38e8 9 382 3326
+38f1 b 384 3326
+38fc 9 385 3326
+3905 3 386 3326
+FUNC 3908 190 0 static void setSBUpLow(struct threadmbcinfostruct *)
+3908 17 402 3326
+391f 10 412 3326
+392f f 415 3326
+393e c 416 3326
+394a 11 420 3326
+395b 6 419 3326
+3961 20 421 3326
+3981 a 420 3326
+398b 20 427 3326
+39ab 23 432 3326
+39ce 25 437 3326
+39f3 2 442 3326
+39f5 d 443 3326
+3a02 5 445 3326
+3a07 9 446 3326
+3a10 5 448 3326
+3a15 5 450 3326
+3a1a e 451 3326
+3a28 2 453 3326
+3a2a 7 454 3326
+3a31 5 442 3326
+3a36 8 456 3326
+3a3e 12 472 3326
+3a50 17 461 3326
+3a67 5 463 3326
+3a6c 5 464 3326
+3a71 5 466 3326
+3a76 5 468 3326
+3a7b 5 469 3326
+3a80 2 471 3326
+3a82 3 472 3326
+3a85 5 460 3326
+3a8a e 474 3326
+FUNC 3a98 a4 0 __updatetmbcinfo
+3a98 c 495 3326
+3aa4 7 498 3326
+3aab 10 499 3326
+3abb 3 532 3326
+3abe 4 535 3326
+3ac2 8 537 3326
+3aca 2 540 3326
+3acc 6 541 3326
+3ad2 8 500 3326
+3ada 4 502 3326
+3ade e 505 3326
+3aec 17 511 3326
+3b03 7 516 3326
+3b0a 11 523 3326
+3b1b 7 524 3326
+3b22 11 527 3326
+3b33 9 529 3326
+FUNC 3b3c 87 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+3b3c 5 240 111
+3b41 e 241 111
+3b4f 8 243 111
+3b57 5 244 111
+3b5c 6 245 111
+3b62 1c 247 111
+3b7e 21 248 111
+3b9f 9 249 111
+3ba8 4 251 111
+3bac 4 252 111
+3bb0 2 255 111
+3bb2 a 257 111
+3bbc 7 259 111
+FUNC 3bc3 7c 0 static int getSystemCP(int)
+3bc3 9 282 3326
+3bcc b 284 3326
+3bd7 6 285 3326
+3bdd 5 289 3326
+3be2 a 291 3326
+3bec 14 292 3326
+3c00 5 295 3326
+3c05 a 297 3326
+3c0f 8 298 3326
+3c17 5 302 3326
+3c1c 12 305 3326
+3c2e f 308 3326
+3c3d 2 309 3326
+FUNC 3c3f 1e9 0 _setmbcp_nolock
+3c3f 17 684 3326
+3c56 b 691 3326
+3c61 9 694 3326
+3c6a 7 696 3326
+3c71 7 697 3326
+3c78 3 701 3326
+3c7b 2 703 3326
+3c7d c 706 3326
+3c89 d 703 3326
+3c96 2a 741 3326
+3cc0 13 749 3326
+3cd3 f 754 3326
+3ce2 15 759 3326
+3cf7 17 762 3326
+3d0e c 764 3326
+3d1a f 710 3326
+3d29 15 713 3326
+3d3e 9 718 3326
+3d47 8 721 3326
+3d4f 12 722 3326
+3d61 4 721 3326
+3d65 b 718 3326
+3d70 12 713 3326
+3d82 20 729 3326
+3da2 f 731 3326
+3db1 7 734 3326
+3db8 5 735 3326
+3dbd 6 765 3326
+3dc3 4 764 3326
+3dc7 d 762 3326
+3dd4 8 769 3326
+3ddc 7 770 3326
+3de3 b 773 3326
+3dee 3 776 3326
+3df1 2 778 3326
+3df3 3 780 3326
+3df6 12 783 3326
+3e08 2 787 3326
+3e0a 6 792 3326
+3e10 6 795 3326
+3e16 3 744 3326
+3e19 f 800 3326
+FUNC 3e28 19a 0 _setmbcp
+3e28 c 572 3326
+3e34 4 573 3326
+3e38 a 577 3326
+3e42 5 579 3326
+3e47 3 580 3326
+3e4a b 582 3326
+3e55 9 584 3326
+3e5e d 590 3326
+3e6b 8 592 3326
+3e73 c 594 3326
+3e7f 3 605 3326
+3e82 16 610 3326
+3e98 1a 612 3326
+3eb2 7 613 3326
+3eb9 3 617 3326
+3ebc 9 618 3326
+3ec5 17 620 3326
+3edc 8 622 3326
+3ee4 4 623 3326
+3ee8 8 628 3326
+3ef0 8 629 3326
+3ef8 8 630 3326
+3f00 a 631 3326
+3f0a d 632 3326
+3f17 3 631 3326
+3f1a c 633 3326
+3f26 a 634 3326
+3f30 3 633 3326
+3f33 c 635 3326
+3f3f d 636 3326
+3f4c 3 635 3326
+3f4f 1c 638 3326
+3f6b 7 639 3326
+3f72 6 643 3326
+3f78 3 644 3326
+3f7b e 646 3326
+3f89 9 648 3326
+3f92 2 651 3326
+3f94 5 652 3326
+3f99 8 658 3326
+3fa1 7 659 3326
+3fa8 b 660 3326
+3fb3 2 666 3326
+3fb5 4 671 3326
+3fb9 3 680 3326
+3fbc 6 681 3326
+FUNC 3fc2 1e 0 __initmbctable
+3fc2 0 841 3326
+3fc2 9 851 3326
+3fcb 8 852 3326
+3fd3 a 853 3326
+3fdd 2 858 3326
+3fdf 1 859 3326
+FUNC 3fe0 53 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+3fe0 8 213 3271
+3fe8 b 214 3271
+3ff3 4 219 3271
+3ff7 3a 222 3271
+4031 2 223 3271
+FUNC 4033 18 0 _ismbblead
+4033 5 171 3271
+4038 11 172 3271
+4049 2 173 3271
+FUNC 404b 8f 0 __addlocaleref
+404b 7 36 1913
+4052 d 39 1913
+405f a 41 1913
+4069 3 42 1913
+406c a 44 1913
+4076 3 45 1913
+4079 a 47 1913
+4083 3 48 1913
+4086 a 50 1913
+4090 3 51 1913
+4093 a 53 1913
+409d f 55 1913
+40ac 3 56 1913
+40af d 59 1913
+40bc 3 60 1913
+40bf 8 53 1913
+40c7 11 63 1913
+40d8 2 64 1913
+FUNC 40da 99 0 __removelocaleref
+40da 6 74 1913
+40e0 b 77 1913
+40eb b 79 1913
+40f6 a 81 1913
+4100 3 82 1913
+4103 a 84 1913
+410d 3 85 1913
+4110 a 87 1913
+411a 3 88 1913
+411d a 90 1913
+4127 3 91 1913
+412a a 93 1913
+4134 f 95 1913
+4143 3 96 1913
+4146 d 99 1913
+4153 3 100 1913
+4156 8 93 1913
+415e 10 103 1913
+416e 3 106 1913
+4171 2 107 1913
+FUNC 4173 14b 0 __freetlocinfo
+4173 7 129 1913
+417a 25 137 1913
+419f e 140 1913
+41ad 6 142 1913
+41b3 d 143 1913
+41c0 e 147 1913
+41ce 6 149 1913
+41d4 d 150 1913
+41e1 b 153 1913
+41ec d 154 1913
+41f9 e 161 1913
+4207 11 163 1913
+4218 13 164 1913
+422b e 165 1913
+4239 e 166 1913
+4247 15 173 1913
+425c 6 175 1913
+4262 d 176 1913
+426f a 179 1913
+4279 13 182 1913
+428c 7 184 1913
+4293 10 192 1913
+42a3 7 194 1913
+42aa 8 179 1913
+42b2 a 201 1913
+42bc 2 202 1913
+FUNC 42be 4d 0 _updatetlocinfoEx_nolock
+42be 6 216 1913
+42c4 e 219 1913
+42d2 3 222 1913
+42d5 4 223 1913
+42d9 9 230 1913
+42e2 4 236 1913
+42e6 6 238 1913
+42ec e 248 1913
+42fa 7 249 1913
+4301 5 253 1913
+4306 3 220 1913
+4309 2 254 1913
+FUNC 430b 79 0 __updatetlocinfo
+430b c 281 1913
+4317 7 283 1913
+431e 10 285 1913
+432e 8 297 1913
+4336 4 300 1913
+433a 8 302 1913
+4342 2 305 1913
+4344 6 306 1913
+434a 8 286 1913
+4352 4 288 1913
+4356 14 290 1913
+436a e 292 1913
+4378 8 294 1913
+4380 4 295 1913
+FUNC 4384 8 0 _crt_debugger_hook
+4384 0 62 1145
+4384 7 65 1145
+438b 1 66 1145
+FUNC 4390 7a 0 memset
+4390 0 59 2789
+4390 4 68 2789
+4394 4 69 2789
+4398 2 71 2789
+439a 2 72 2789
+439c 2 74 2789
+439e 4 75 2789
+43a2 2 78 2789
+43a4 2 79 2789
+43a6 6 80 2789
+43ac 2 81 2789
+43ae 7 82 2789
+43b5 2 83 2789
+43b7 5 85 2789
+43bc 1 91 2789
+43bd 2 92 2789
+43bf 3 94 2789
+43c2 2 95 2789
+43c4 2 97 2789
+43c6 3 98 2789
+43c9 2 99 2789
+43cb 2 101 2789
+43cd 2 103 2789
+43cf 3 104 2789
+43d2 3 105 2789
+43d5 2 106 2789
+43d7 2 110 2789
+43d9 3 111 2789
+43dc 2 113 2789
+43de 2 115 2789
+43e0 3 117 2789
+43e3 2 119 2789
+43e5 2 122 2789
+43e7 3 123 2789
+43ea 3 124 2789
+43ed 2 125 2789
+43ef 2 127 2789
+43f1 2 129 2789
+43f3 2 130 2789
+43f5 2 134 2789
+43f7 3 135 2789
+43fa 3 137 2789
+43fd 2 138 2789
+43ff 4 142 2789
+4403 1 143 2789
+4404 1 145 2789
+4405 4 148 2789
+4409 1 150 2789
+FUNC 4410 95 0 _aulldvrm
+4410 0 45 2806
+4410 1 48 2806
+4411 4 80 2806
+4415 2 81 2806
+4417 2 82 2806
+4419 4 83 2806
+441d 4 84 2806
+4421 2 85 2806
+4423 2 86 2806
+4425 2 87 2806
+4427 4 88 2806
+442b 2 89 2806
+442d 2 90 2806
+442f 2 95 2806
+4431 4 96 2806
+4435 2 97 2806
+4437 2 98 2806
+4439 4 99 2806
+443d 2 100 2806
+443f 2 101 2806
+4441 2 108 2806
+4443 4 109 2806
+4447 4 110 2806
+444b 4 111 2806
+444f 2 113 2806
+4451 2 114 2806
+4453 2 115 2806
+4455 2 116 2806
+4457 2 117 2806
+4459 2 118 2806
+445b 2 119 2806
+445d 2 120 2806
+445f 4 129 2806
+4463 2 130 2806
+4465 4 131 2806
+4469 2 132 2806
+446b 2 133 2806
+446d 2 134 2806
+446f 4 142 2806
+4473 2 143 2806
+4475 2 144 2806
+4477 4 145 2806
+447b 2 146 2806
+447d 1 148 2806
+447e 4 149 2806
+4482 4 150 2806
+4486 2 152 2806
+4488 4 161 2806
+448c 4 162 2806
+4490 2 163 2806
+4492 2 164 2806
+4494 3 165 2806
+4497 2 170 2806
+4499 2 171 2806
+449b 2 172 2806
+449d 2 173 2806
+449f 2 174 2806
+44a1 1 180 2806
+44a2 3 182 2806
+FUNC 44b0 20 0 _global_unwind2
+FUNC 44d0 45 0 static void __unwind_handler()
+FUNC 4515 84 0 _local_unwind2
+FUNC 4599 23 0 _abnormal_termination
+FUNC 45bc 9 0 _NLG_Notify1
+FUNC 45c5 1f 0 _NLG_Notify
+PUBLIC m 45dc 0 _NLG_Dispatch
+FUNC 45e4 3 0 _NLG_Call
+PUBLIC 45e6 0 _NLG_Return2
+FUNC 45e7 33 0 abort
+45e7 0 54 1011
+45e7 5 71 1011
+45ec 4 72 1011
+45f0 8 74 1011
+45f8 9 81 1011
+4601 11 83 1011
+4612 8 92 1011
+FUNC 4620 361 0 memcpy
+4620 3 101 2787
+4623 1 113 2787
+4624 1 114 2787
+4625 3 116 2787
+4628 3 117 2787
+462b 3 119 2787
+462e 2 129 2787
+4630 2 131 2787
+4632 2 132 2787
+4634 2 134 2787
+4636 2 135 2787
+4638 2 137 2787
+463a 6 138 2787
+4640 6 147 2787
+4646 2 148 2787
+4648 7 150 2787
+464f 2 151 2787
+4651 1 153 2787
+4652 1 154 2787
+4653 3 155 2787
+4656 3 156 2787
+4659 2 157 2787
+465b 1 158 2787
+465c 1 159 2787
+465d 2 160 2787
+465f 5 163 2787
+4664 6 176 2787
+466a 2 177 2787
+466c 3 179 2787
+466f 3 180 2787
+4672 3 182 2787
+4675 2 183 2787
+4677 2 185 2787
+4679 7 187 2787
+4680 2 205 2787
+4682 5 206 2787
+4687 3 208 2787
+468a 2 209 2787
+468c 3 211 2787
+468f 2 212 2787
+4691 7 214 2787
+4698 8 218 2787
+46a0 14 222 2787
+46b4 2 229 2787
+46b6 2 230 2787
+46b8 2 232 2787
+46ba 3 233 2787
+46bd 3 235 2787
+46c0 3 236 2787
+46c3 3 238 2787
+46c6 3 239 2787
+46c9 3 241 2787
+46cc 3 242 2787
+46cf 3 244 2787
+46d2 2 245 2787
+46d4 2 247 2787
+46d6 a 249 2787
+46e0 2 253 2787
+46e2 2 254 2787
+46e4 2 256 2787
+46e6 3 257 2787
+46e9 3 259 2787
+46ec 3 260 2787
+46ef 3 262 2787
+46f2 3 263 2787
+46f5 3 265 2787
+46f8 2 266 2787
+46fa 2 268 2787
+46fc 8 270 2787
+4704 2 274 2787
+4706 2 275 2787
+4708 2 277 2787
+470a 3 278 2787
+470d 3 280 2787
+4710 3 281 2787
+4713 3 283 2787
+4716 2 284 2787
+4718 2 286 2787
+471a 2a 288 2787
+4744 4 295 2787
+4748 4 297 2787
+474c 4 299 2787
+4750 4 301 2787
+4754 4 303 2787
+4758 4 305 2787
+475c 4 307 2787
+4760 4 309 2787
+4764 4 311 2787
+4768 4 313 2787
+476c 4 315 2787
+4770 4 317 2787
+4774 4 319 2787
+4778 4 321 2787
+477c 7 323 2787
+4783 2 325 2787
+4785 2 326 2787
+4787 19 328 2787
+47a0 3 337 2787
+47a3 1 338 2787
+47a4 1 339 2787
+47a5 3 341 2787
+47a8 2 345 2787
+47aa 2 347 2787
+47ac 3 348 2787
+47af 1 349 2787
+47b0 1 350 2787
+47b1 3 351 2787
+47b4 2 355 2787
+47b6 2 357 2787
+47b8 3 358 2787
+47bb 3 359 2787
+47be 3 360 2787
+47c1 1 361 2787
+47c2 1 362 2787
+47c3 5 363 2787
+47c8 2 367 2787
+47ca 2 369 2787
+47cc 3 370 2787
+47cf 3 371 2787
+47d2 3 372 2787
+47d5 3 373 2787
+47d8 3 374 2787
+47db 1 375 2787
+47dc 1 376 2787
+47dd 3 377 2787
+47e0 4 388 2787
+47e4 4 389 2787
+47e8 6 394 2787
+47ee 2 395 2787
+47f0 3 397 2787
+47f3 3 398 2787
+47f6 3 400 2787
+47f9 2 401 2787
+47fb 1 403 2787
+47fc 2 404 2787
+47fe 1 405 2787
+47ff 9 407 2787
+4808 2 411 2787
+480a a 414 2787
+4814 2 419 2787
+4816 5 420 2787
+481b 3 422 2787
+481e 2 423 2787
+4820 3 425 2787
+4823 2 426 2787
+4825 7 428 2787
+482c 14 432 2787
+4840 3 439 2787
+4843 2 440 2787
+4845 3 442 2787
+4848 3 443 2787
+484b 3 445 2787
+484e 3 446 2787
+4851 3 448 2787
+4854 2 449 2787
+4856 1 451 2787
+4857 2 452 2787
+4859 1 453 2787
+485a a 455 2787
+4864 3 459 2787
+4867 2 460 2787
+4869 3 462 2787
+486c 3 463 2787
+486f 3 465 2787
+4872 3 466 2787
+4875 3 468 2787
+4878 3 469 2787
+487b 3 471 2787
+487e 2 472 2787
+4880 1 474 2787
+4881 2 475 2787
+4883 1 476 2787
+4884 8 478 2787
+488c 3 482 2787
+488f 2 483 2787
+4891 3 485 2787
+4894 3 486 2787
+4897 3 488 2787
+489a 3 489 2787
+489d 3 491 2787
+48a0 3 492 2787
+48a3 3 494 2787
+48a6 3 495 2787
+48a9 3 497 2787
+48ac 6 498 2787
+48b2 1 500 2787
+48b3 2 501 2787
+48b5 1 502 2787
+48b6 2a 504 2787
+48e0 4 513 2787
+48e4 4 515 2787
+48e8 4 517 2787
+48ec 4 519 2787
+48f0 4 521 2787
+48f4 4 523 2787
+48f8 4 525 2787
+48fc 4 527 2787
+4900 4 529 2787
+4904 4 531 2787
+4908 4 533 2787
+490c 4 535 2787
+4910 4 537 2787
+4914 4 539 2787
+4918 7 541 2787
+491f 2 543 2787
+4921 2 544 2787
+4923 19 546 2787
+493c 3 555 2787
+493f 1 557 2787
+4940 1 558 2787
+4941 3 559 2787
+4944 3 563 2787
+4947 3 565 2787
+494a 3 566 2787
+494d 1 567 2787
+494e 1 568 2787
+494f 5 569 2787
+4954 3 573 2787
+4957 3 575 2787
+495a 3 576 2787
+495d 3 577 2787
+4960 3 578 2787
+4963 1 579 2787
+4964 1 580 2787
+4965 3 581 2787
+4968 3 585 2787
+496b 3 587 2787
+496e 3 588 2787
+4971 3 589 2787
+4974 3 590 2787
+4977 3 591 2787
+497a 3 592 2787
+497d 1 593 2787
+497e 1 594 2787
+497f 2 595 2787
+FUNC 4981 20 0 _freea
+4981 5 235 281
+4986 7 237 281
+498d 3 239 281
+4990 8 241 281
+4998 7 243 281
+499f 2 252 281
+FUNC 49a1 33 0 _msize
+49a1 5 39 561
+49a6 19 43 561
+49bf 2 50 561
+49c1 11 46 561
+49d2 2 50 561
+FUNC 49d4 9 0 _fptrap
+49d4 0 46 4123
+49d4 8 47 4123
+49dc 1 48 4123
+FUNC 49dd 106 0 __report_gsfailure
+49dd b 140 1392
+49e8 5 170 1392
+49ed 6 171 1392
+49f3 6 172 1392
+49f9 6 173 1392
+49ff 6 174 1392
+4a05 6 175 1392
+4a0b 7 176 1392
+4a12 7 177 1392
+4a19 7 178 1392
+4a20 7 179 1392
+4a27 7 180 1392
+4a2e 7 181 1392
+4a35 1 182 1392
+4a36 6 183 1392
+4a3c 3 190 1392
+4a3f 5 191 1392
+4a44 3 192 1392
+4a47 5 193 1392
+4a4c 3 194 1392
+4a4f 5 195 1392
+4a54 6 201 1392
+4a5a a 204 1392
+4a64 a 206 1392
+4a6e a 285 1392
+4a78 a 286 1392
+4a82 b 293 1392
+4a8d b 294 1392
+4a98 b 297 1392
+4aa3 8 298 1392
+4aab 8 302 1392
+4ab3 b 304 1392
+4abe 9 313 1392
+4ac7 8 315 1392
+4acf 12 319 1392
+4ae1 2 320 1392
+FUNC 4ae3 82 0 _calloc_impl
+4ae3 5 21 291
+4ae8 7 26 291
+4aef 19 28 291
+4b08 2 69 291
+4b0a 7 30 291
+4b11 4 34 291
+4b15 1 35 291
+4b16 2 39 291
+4b18 5 41 291
+4b1d f 44 291
+4b2c d 47 291
+4b39 b 59 291
+4b44 7 61 291
+4b4b 6 62 291
+4b51 4 63 291
+4b55 7 52 291
+4b5c 7 53 291
+4b63 2 69 291
+FUNC 4b65 ad 0 realloc
+4b65 5 62 618
+4b6a 6 67 618
+4b70 9 68 618
+4b79 3 117 618
+4b7c 7 71 618
+4b83 9 73 618
+4b8c 5 74 618
+4b91 2 109 618
+4b93 4 83 618
+4b97 1 84 618
+4b98 14 85 618
+4bac c 94 618
+4bb8 b 109 618
+4bc3 5 81 618
+4bc8 7 89 618
+4bcf b 90 618
+4bda 4 91 618
+4bde 2 117 618
+4be0 16 111 618
+4bf6 2 112 618
+4bf8 16 103 618
+4c0e 4 105 618
+FUNC 4c12 1e7 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+4c12 12 96 3447
+4c24 c 101 3447
+4c30 17 102 3447
+4c47 4 106 3447
+4c4b 1 107 3447
+4c4c 3 109 3447
+4c4f 3 113 3447
+4c52 5 133 3447
+4c57 b 134 3447
+4c62 2c 145 3447
+4c8e 7 146 3447
+4c95 48 149 3447
+4cdd 3 150 3447
+4ce0 2 151 3447
+4ce2 19 160 3447
+4cfb 1f 169 3447
+4d1a a 172 3447
+4d24 b 175 3447
+4d2f 9 177 3447
+4d38 10 186 3447
+4d48 5 190 3447
+4d4d 4b 196 3447
+4d98 4 197 3447
+4d9c 16 207 3447
+4db2 9 220 3447
+4dbb 2 223 3447
+4dbd 17 233 3447
+4dd4 7 240 3447
+4ddb 8 242 3447
+4de3 4 244 3447
+4de7 12 245 3447
+FUNC 4df9 46 0 __crtLCMapStringA
+4df9 8 258 3447
+4e01 b 259 3447
+4e0c 31 271 3447
+4e3d 2 272 3447
+FUNC 4e3f e7 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+4e3f 12 63 3507
+4e51 7 67 3507
+4e58 5 83 3507
+4e5d b 84 3507
+4e68 29 95 3507
+4e91 4 96 3507
+4e95 3e 99 3507
+4ed3 2 100 3507
+4ed5 2 101 3507
+4ed7 f 103 3507
+4ee6 13 111 3507
+4ef9 11 116 3507
+4f0a 6 118 3507
+4f10 4 120 3507
+4f14 12 121 3507
+FUNC 4f26 40 0 __crtGetStringTypeA
+4f26 8 133 3507
+4f2e b 134 3507
+4f39 2b 145 3507
+4f64 2 146 3507
+FUNC 4f66 377 0 __free_lc_time
+4f66 6 228 1800
+4f6c b 229 1800
+4f77 8 232 1800
+4f7f 8 233 1800
+4f87 8 234 1800
+4f8f 8 235 1800
+4f97 8 236 1800
+4f9f 8 237 1800
+4fa7 7 238 1800
+4fae 8 240 1800
+4fb6 8 241 1800
+4fbe 8 242 1800
+4fc6 8 243 1800
+4fce 8 244 1800
+4fd6 8 245 1800
+4fde 8 246 1800
+4fe6 8 248 1800
+4fee b 249 1800
+4ff9 8 250 1800
+5001 8 251 1800
+5009 8 252 1800
+5011 8 253 1800
+5019 8 254 1800
+5021 8 255 1800
+5029 8 256 1800
+5031 8 257 1800
+5039 8 258 1800
+5041 8 259 1800
+5049 8 261 1800
+5051 8 262 1800
+5059 8 263 1800
+5061 8 264 1800
+5069 8 265 1800
+5071 b 266 1800
+507c b 267 1800
+5087 b 268 1800
+5092 b 269 1800
+509d b 270 1800
+50a8 b 271 1800
+50b3 b 272 1800
+50be b 274 1800
+50c9 b 275 1800
+50d4 b 277 1800
+50df b 278 1800
+50ea b 279 1800
+50f5 b 282 1800
+5100 b 283 1800
+510b b 284 1800
+5116 b 285 1800
+5121 e 286 1800
+512f b 287 1800
+513a b 288 1800
+5145 b 290 1800
+5150 b 291 1800
+515b b 292 1800
+5166 b 293 1800
+5171 b 294 1800
+517c b 295 1800
+5187 b 296 1800
+5192 b 298 1800
+519d b 299 1800
+51a8 b 300 1800
+51b3 b 301 1800
+51be b 302 1800
+51c9 b 303 1800
+51d4 e 304 1800
+51e2 b 305 1800
+51ed b 306 1800
+51f8 b 307 1800
+5203 b 308 1800
+520e b 309 1800
+5219 b 311 1800
+5224 b 312 1800
+522f b 313 1800
+523a b 314 1800
+5245 b 315 1800
+5250 b 316 1800
+525b b 317 1800
+5266 b 318 1800
+5271 b 319 1800
+527c b 320 1800
+5287 e 321 1800
+5295 b 322 1800
+52a0 b 324 1800
+52ab b 325 1800
+52b6 b 327 1800
+52c1 b 328 1800
+52cc f 329 1800
+52db 2 332 1800
+FUNC 52dd 69 0 __free_lconv_num
+52dd 6 218 1742
+52e3 7 219 1742
+52ea a 222 1742
+52f4 7 223 1742
+52fb b 225 1742
+5306 7 226 1742
+530d b 228 1742
+5318 7 229 1742
+531f b 231 1742
+532a 7 232 1742
+5331 b 234 1742
+533c 8 235 1742
+5344 2 236 1742
+FUNC 5346 fe 0 __free_lconv_mon
+5346 6 270 1685
+534c b 271 1685
+5357 b 274 1685
+5362 7 275 1685
+5369 b 277 1685
+5374 7 278 1685
+537b b 280 1685
+5386 7 281 1685
+538d b 283 1685
+5398 7 284 1685
+539f b 286 1685
+53aa 7 287 1685
+53b1 b 289 1685
+53bc 7 290 1685
+53c3 b 292 1685
+53ce 7 293 1685
+53d5 b 295 1685
+53e0 7 296 1685
+53e7 b 298 1685
+53f2 7 299 1685
+53f9 b 301 1685
+5404 7 302 1685
+540b b 304 1685
+5416 7 305 1685
+541d b 307 1685
+5428 7 308 1685
+542f b 310 1685
+543a 8 311 1685
+5442 2 312 1685
+FUNC 5444 ba 0 _VEC_memzero
+FUNC 54fe 10 0 __sse2_available_init
+54fe 0 30 4315
+54fe d 31 4315
+550b 2 32 4315
+550d 1 33 4315
+FUNC 550e 103 0 _VEC_memcpy
+FUNC 5620 2c 0 _alloca_probe_16
+5620 0 44 4274
+5620 1 46 4274
+5621 4 47 4274
+5625 2 48 4274
+5627 3 49 4274
+562a 2 50 4274
+562c 2 51 4274
+562e 2 52 4274
+5630 1 53 4274
+5631 5 54 4274
+5636 1 59 4274
+5637 4 60 4274
+563b 2 61 4274
+563d 3 62 4274
+5640 2 63 4274
+5642 2 64 4274
+5644 2 65 4274
+5646 1 66 4274
+5647 5 67 4274
+PUBLIC 5636 0 _alloca_probe_8
+FUNC 5650 34 0 _allmul
+5650 0 47 2803
+5650 4 63 2803
+5654 4 64 2803
+5658 2 65 2803
+565a 4 66 2803
+565e 2 67 2803
+5660 4 69 2803
+5664 2 70 2803
+5666 3 72 2803
+5669 1 75 2803
+566a 2 83 2803
+566c 2 84 2803
+566e 4 86 2803
+5672 4 87 2803
+5676 2 88 2803
+5678 4 90 2803
+567c 2 91 2803
+567e 2 92 2803
+5680 1 94 2803
+5681 3 96 2803
+FUNC 5690 2b 0 _chkstk
+5690 0 65 4276
+5690 1 69 4276
+5691 4 73 4276
+5695 2 74 4276
+5697 2 79 4276
+5699 2 80 4276
+569b 2 81 4276
+569d 2 83 4276
+569f 5 84 4276
+56a4 2 87 4276
+56a6 2 88 4276
+56a8 2 89 4276
+56aa 1 90 4276
+56ab 1 91 4276
+56ac 2 92 4276
+56ae 3 93 4276
+56b1 1 94 4276
+56b2 5 98 4276
+56b7 2 99 4276
+56b9 2 100 4276
+FUNC 56c0 46 0 strcspn
+56c0 4 191 2794
+56c4 2 198 2794
+56c6 1 199 2794
+56c7 1 200 2794
+56c8 1 201 2794
+56c9 1 202 2794
+56ca 1 203 2794
+56cb 1 204 2794
+56cc 1 205 2794
+56cd 1 206 2794
+56ce 6 212 2794
+56d4 2 216 2794
+56d6 2 217 2794
+56d8 2 218 2794
+56da 3 219 2794
+56dd 4 220 2794
+56e1 2 221 2794
+56e3 3 227 2794
+56e6 6 229 2794
+56ec 3 234 2794
+56ef 2 236 2794
+56f1 2 237 2794
+56f3 2 238 2794
+56f5 3 239 2794
+56f8 4 240 2794
+56fc 2 245 2794
+56fe 2 255 2794
+5700 3 257 2794
+5703 3 259 2794
+FUNC 5710 40 0 strpbrk
+5710 4 191 2794
+5714 2 198 2794
+5716 1 199 2794
+5717 1 200 2794
+5718 1 201 2794
+5719 1 202 2794
+571a 1 203 2794
+571b 1 204 2794
+571c 1 205 2794
+571d 1 206 2794
+571e 6 212 2794
+5724 2 216 2794
+5726 2 217 2794
+5728 2 218 2794
+572a 3 219 2794
+572d 4 220 2794
+5731 2 221 2794
+5733 5 227 2794
+5738 2 236 2794
+573a 2 237 2794
+573c 2 238 2794
+573e 3 239 2794
+5741 4 240 2794
+5745 2 247 2794
+5747 3 248 2794
+574a 3 257 2794
+574d 3 259 2794
+FUNC 5750 61 0 __ascii_strnicmp
+5750 6 69 2798
+5756 3 75 2798
+5759 2 76 2798
+575b 2 77 2798
+575d 3 79 2798
+5760 3 80 2798
+5763 2 82 2798
+5765 2 83 2798
+5767 5 84 2798
+576c 2 89 2798
+576e 2 91 2798
+5770 2 93 2798
+5772 2 95 2798
+5774 2 97 2798
+5776 2 98 2798
+5778 3 100 2798
+577b 3 101 2798
+577e 2 103 2798
+5780 2 104 2798
+5782 2 106 2798
+5784 2 107 2798
+5786 2 109 2798
+5788 2 112 2798
+578a 2 113 2798
+578c 2 115 2798
+578e 2 116 2798
+5790 2 118 2798
+5792 2 121 2798
+5794 2 122 2798
+5796 3 124 2798
+5799 2 125 2798
+579b 2 128 2798
+579d 2 129 2798
+579f 2 130 2798
+57a1 5 133 2798
+57a6 2 134 2798
+57a8 2 135 2798
+57aa 2 138 2798
+57ac 5 140 2798
+PUBLIC 57b2 10 RtlUnwind
+STACK WIN 4 1000 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1060 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1070 21 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10a0 14 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10c0 16 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10e0 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1100 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1110 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1120 2c 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 114c 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 115c 21 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1162 17 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 117d b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1188 29 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11b1 161 c 0 0 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 12d4 14 0 0 0 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1312 a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 131c 70 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 1383 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1418 3a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1439 17 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1452 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1494 e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14a2 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14cd 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14e5 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14ee 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14f7 33 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14fa 2f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 152a 24 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1530 1c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 154e 97 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1590 34 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1591 32 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 15e5 140 c 0 c 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 1710 e 0 0 c 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1725 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 173b 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1751 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1760 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 176f 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 178d 26 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17b3 1af 1b 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17c9 192 5 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 17ca 18e 4 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 17ce 189 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 1962 39 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 199b 14a 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19a1 142 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 19b9 129 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1a0a d4 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1ae5 dc 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1af4 a8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1afb a0 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1b3d 5d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1bc1 19a d 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1bcb 185 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1bce 181 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 1d5b bb d 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d64 b0 4 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 1d67 ac 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 1d68 aa 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 1e16 97 a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1e1f 8c 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 1e20 8a 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 1e48 61 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 1ead 245 9 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1eb6 235 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1f27 1c3 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1f28 1c1 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 20f2 26 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 20f5 22 b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2100 16 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2118 26 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 211b 22 b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2126 16 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 213e 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2147 9 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2150 34 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2153 30 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2184 3d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 21c1 b4 c 0 8 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 225d e 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 226c 8 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2275 79 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2278 75 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2279 71 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 22ee 1a 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 22f1 16 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2308 12f c 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 241f b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 242b b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2437 17b 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 243a 177 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 2455 15b 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 25b2 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2630 18f 17 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2639 c9 e 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 263d c4 a 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 2647 b9 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 27bf 9b 17 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 27d5 83 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 27d6 81 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 27f2 64 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 285a f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2869 129 1a 0 c 8 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 812 - ^ = $24 $T0 816 - ^ =
+STACK WIN 4 2992 25 3 0 14 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2995 21 0 0 14 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 29b7 2d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 29e4 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 29f4 4a 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 29f7 3a 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 29f8 38 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2a3e 57 a 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2a41 53 7 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 2a48 4b 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2a4e 2a 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2a95 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2aac c2 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 2b65 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2b6e 33 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b77 28 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2ba1 5f a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2baa 54 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2bab 52 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2c8b 94 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2c91 8c 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2c9a 6c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2c9b 6a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2e72 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2eb4 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2ec7 39 c 0 0 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2ee7 4 0 0 0 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2f00 11 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2f11 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2f2f 37 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2f3e 1b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2f66 d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2f73 1a3 c 0 4 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 30d4 14 0 0 4 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3116 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3125 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3134 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3143 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 316b b6 f 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3172 ad 8 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3173 ab 7 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 317a a3 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 3221 31 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3224 2d 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3252 3c c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3288 5 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 328e 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 32a5 23 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 32a8 1f 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 32a9 1d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 32d0 35 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3310 44 1a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3322 30 8 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3323 2e 7 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 332a 26 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3360 bc 35 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 33eb 13 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 341c 16c 1e 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3432 14f 8 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 3439 145 1 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 343a 143 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3588 75 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 358e 22 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3592 1d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 35fd cd e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3606 17 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 360a 28 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 360b 10 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 36ca 1b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 36e5 63 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 36eb 22 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 36ef 1d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3748 3f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3787 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3796 45 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 379c 3d 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 379d 3b 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 37db 4c 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37e1 44 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 37e2 42 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3827 4e 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 382d 46 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 382e 44 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3875 2f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 38a4 64 6 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 38a7 60 3 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 38a8 5e 2 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3908 190 17 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 391e 173 1 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 391f 16f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 3a98 a4 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3b30 b 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3b3c 87 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b45 7a 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3bc3 7c 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3bcc 71 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 3c3f 1e9 1b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c52 1cf 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 3c56 1c8 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 3c5a 1c3 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 3e28 19a c 0 4 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3f89 8 0 0 4 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3fc2 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3fe0 53 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4033 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 404b 8f e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4051 87 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4052 85 7 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4059 7d 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 40da 99 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 40e0 91 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 40ec 82 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 40ed 80 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4173 14b 13 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4179 143 d 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 417a 141 c 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4186 134 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 42be 4d 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42c4 45 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 42d3 31 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 430b 79 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 4378 8 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4384 8 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 45e7 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4981 20 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49a1 33 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49d4 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 49dd 106 b 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ae3 82 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b0f 54 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4b65 ad 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b7c 62 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4b91 4c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4c12 1e7 1a 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4df9 46 8 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e3f e7 16 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 4f26 40 8 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f66 377 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f6c 36f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 52dd 69 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 52e3 61 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5346 fe 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 534c f6 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5444 ba 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 54fe 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 550e 103 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 0 12d4 14 0 0 0 0 0 0 0 0
+STACK WIN 0 1383 9 0 0 0 0 0 0 0 0
+STACK WIN 0 1390 88 0 0 8 0 0 0 0 0
+STACK WIN 0 1710 f 0 0 0 0 0 0 0 0
+STACK WIN 0 225d f 0 0 0 0 0 0 0 0
+STACK WIN 0 226c 9 0 0 0 0 0 0 0 0
+STACK WIN 0 241f c 0 0 0 0 0 0 0 0
+STACK WIN 0 242b c 0 0 0 0 0 0 0 0
+STACK WIN 0 2b65 9 0 0 0 0 0 0 0 0
+STACK WIN 0 2c00 8b 0 0 4 0 0 0 0 0
+STACK WIN 0 2d20 90 3 0 c c 0 0 0 0
+STACK WIN 0 2db0 46 0 0 10 4 0 0 0 1
+STACK WIN 0 2e12 17 4 0 0 10 0 0 0 1
+STACK WIN 0 2e29 19 0 0 0 0 0 0 0 0
+STACK WIN 0 2e5b 17 1 0 8 4 0 0 0 1
+STACK WIN 0 2ee7 4 0 0 0 0 0 0 0 0
+STACK WIN 0 30d4 15 0 0 0 0 0 0 0 0
+STACK WIN 0 3288 6 0 0 0 0 0 0 0 0
+STACK WIN 0 33eb 13 0 0 0 0 0 0 0 0
+STACK WIN 0 3b30 c 0 0 0 0 0 0 0 0
+STACK WIN 0 3f89 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4378 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4390 7a 0 0 c 0 0 0 0 0
+STACK WIN 0 4410 95 0 0 10 0 4 0 0 0
+STACK WIN 0 4515 84 3 0 8 c 0 0 0 0
+STACK WIN 0 4599 23 0 0 0 0 0 0 0 0
+STACK WIN 0 45e4 3 0 0 0 0 0 0 0 0
+STACK WIN 0 5650 1a 0 0 10 0 0 0 0 0
+STACK WIN 0 566a 1a 0 0 10 0 4 0 0 0
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe Binary files differnew file mode 100755 index 0000000000..6f6d5d1396 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.exe diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb Binary files differnew file mode 100644 index 0000000000..8257eb724d --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym new file mode 100644 index 0000000000..eb8391659d --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym @@ -0,0 +1,4561 @@ +MODULE windows x86_64 72E103A85CB249078B76B2E7C06257B13 dump_syms_regtest64.pdb
+INFO CODE_ID 589DFD111A000 dump_syms_regtest64.exe
+FILE 1 c:\cygwin64\wip\breakpad-depot\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\vctools\crt\crtw32\misc\amd64\amdsecgs.asm
+FILE 3 f:\dd\ExternalAPIs\Windows\WinBlue\sdk\inc\ksamd64.inc
+FILE 4 f:\dd\ExternalAPIs\Windows\WinBlue\sdk\inc\kxamd64.inc
+FILE 5 f:\dd\ExternalAPIs\Windows\WinBlue\sdk\inc\macamd64.inc
+FILE 6 f:\dd\vctools\crt\crtw32\misc\amd64\chandler.c
+FILE 7 f:\dd\externalapis\windows\winblue\sdk\inc\pshpack8.h
+FILE 8 f:\dd\vctools\crt\crtw32\h\excpt.h
+FILE 9 f:\dd\externalapis\windows\winblue\sdk\inc\ktmtypes.h
+FILE 10 f:\dd\externalapis\windows\winblue\sdk\inc\winternl.h
+FILE 11 f:\dd\externalapis\windows\winblue\sdk\inc\winapifamily.h
+FILE 12 f:\dd\externalapis\windows\winblue\sdk\inc\windef.h
+FILE 13 f:\dd\externalapis\windows\winblue\sdk\inc\minwindef.h
+FILE 14 f:\dd\externalapis\windows\winblue\sdk\inc\specstrings.h
+FILE 15 f:\dd\externalapis\windows\winblue\sdk\inc\specstrings_strict.h
+FILE 16 f:\dd\externalapis\windows\winblue\sdk\inc\specstrings_undef.h
+FILE 17 f:\dd\externalapis\windows\winblue\sdk\inc\driverspecs.h
+FILE 18 f:\dd\externalapis\windows\winblue\sdk\inc\sdv_driverspecs.h
+FILE 19 f:\dd\externalapis\windows\winblue\sdk\inc\apiset.h
+FILE 20 f:\dd\vctools\inc\vcwininternls.h
+FILE 21 f:\dd\tools\devdiv\inc\ddbanned.h
+FILE 22 f:\dd\vctools\crt\crtw32\h\vadefs.h
+FILE 23 f:\dd\vctools\crt\crtw32\h\cruntime.h
+FILE 24 f:\dd\vctools\crt\crtw32\h\sal.h
+FILE 25 f:\dd\vctools\crt\crtw32\h\concurrencysal.h
+FILE 26 f:\dd\externalapis\windows\winblue\sdk\inc\guiddef.h
+FILE 27 f:\dd\externalapis\windows\winblue\sdk\inc\winnt.h
+FILE 28 f:\dd\externalapis\windows\winblue\sdk\inc\kernelspecs.h
+FILE 29 f:\dd\externalapis\windows\winblue\sdk\inc\basetsd.h
+FILE 30 f:\dd\vctools\crt\crtw32\h\ctype.h
+FILE 31 f:\dd\vctools\crt\crtw32\h\crtdefs.h
+FILE 32 f:\dd\vctools\crt\crtw32\h\string.h
+FILE 33 f:\dd\externalapis\windows\winblue\sdk\inc\pshpack2.h
+FILE 34 f:\dd\externalapis\windows\winblue\sdk\inc\pshpack4.h
+FILE 35 f:\dd\externalapis\windows\winblue\sdk\inc\sdkddkver.h
+FILE 36 f:\dd\externalapis\windows\winblue\sdk\inc\poppack.h
+FILE 37 f:\dd\vctools\crt\crtw32\misc\amd64\gshandler.c
+FILE 58 f:\dd\vctools\crt\crtw32\h\process.h
+FILE 69 f:\dd\vctools\crt\crtw32\misc\amd64\jmpuwind.asm
+FILE 73 f:\dd\externalapis\windows\winblue\sdk\inc\processtopologyapi.h
+FILE 74 f:\dd\externalapis\windows\winblue\sdk\inc\securityappcontainer.h
+FILE 75 f:\dd\externalapis\windows\winblue\sdk\inc\pshpack1.h
+FILE 76 f:\dd\externalapis\windows\winblue\sdk\inc\realtimeapiset.h
+FILE 77 f:\dd\externalapis\windows\winblue\sdk\inc\profileapi.h
+FILE 78 f:\dd\externalapis\windows\winblue\sdk\inc\timezoneapi.h
+FILE 79 f:\dd\externalapis\windows\winblue\sdk\inc\jobapi.h
+FILE 80 f:\dd\externalapis\windows\winblue\sdk\inc\heapapi.h
+FILE 82 f:\dd\externalapis\windows\winblue\sdk\inc\wincon.h
+FILE 83 f:\dd\externalapis\windows\winblue\sdk\inc\wow64apiset.h
+FILE 85 f:\dd\externalapis\windows\winblue\sdk\inc\threadpoolapiset.h
+FILE 87 f:\dd\externalapis\windows\winblue\sdk\inc\winver.h
+FILE 88 f:\dd\externalapis\windows\winblue\sdk\inc\debugapi.h
+FILE 89 f:\dd\externalapis\windows\winblue\sdk\inc\winnetwk.h
+FILE 90 f:\dd\externalapis\windows\winblue\sdk\inc\verrsrc.h
+FILE 91 f:\dd\externalapis\windows\winblue\sdk\inc\wnnc.h
+FILE 92 f:\dd\externalapis\windows\winblue\sdk\inc\libloaderapi.h
+FILE 93 f:\dd\externalapis\windows\winblue\sdk\inc\fibersapi.h
+FILE 94 f:\dd\vctools\langapi\include\isa_availability.h
+FILE 95 f:\dd\vctools\crt\crtw32\convert\_fptostr.c
+FILE 96 f:\dd\externalapis\windows\winblue\sdk\inc\winnls.h
+FILE 97 f:\dd\externalapis\windows\winblue\sdk\inc\datetimeapi.h
+FILE 98 f:\dd\externalapis\windows\winblue\sdk\inc\securitybaseapi.h
+FILE 99 f:\dd\externalapis\windows\winblue\sdk\inc\namedpipeapi.h
+FILE 103 f:\dd\vctools\crt\crtw32\h\stddef.h
+FILE 104 f:\dd\externalapis\windows\winblue\sdk\inc\fileapi.h
+FILE 105 f:\dd\vctools\crt\crtw32\h\internal.h
+FILE 106 f:\dd\externalapis\windows\winblue\sdk\inc\interlockedapi.h
+FILE 107 f:\dd\externalapis\windows\winblue\sdk\inc\utilapiset.h
+FILE 108 f:\dd\vctools\crt\crtw32\h\limits.h
+FILE 110 f:\dd\externalapis\windows\winblue\sdk\inc\windows.h
+FILE 111 f:\dd\externalapis\windows\winblue\sdk\inc\processenv.h
+FILE 115 f:\dd\vctools\crt\crtw32\h\fltintrn.h
+FILE 116 f:\dd\externalapis\windows\winblue\sdk\inc\stringapiset.h
+FILE 118 f:\dd\externalapis\windows\winblue\sdk\inc\stralign.h
+FILE 121 f:\dd\externalapis\windows\winblue\sdk\inc\memoryapi.h
+FILE 124 f:\dd\externalapis\windows\winblue\sdk\inc\mcx.h
+FILE 125 f:\dd\externalapis\windows\winblue\sdk\inc\processthreadsapi.h
+FILE 126 f:\dd\externalapis\windows\winblue\sdk\inc\handleapi.h
+FILE 128 f:\dd\externalapis\windows\winblue\sdk\inc\tvout.h
+FILE 129 f:\dd\externalapis\windows\winblue\sdk\inc\winreg.h
+FILE 130 f:\dd\externalapis\windows\winblue\sdk\inc\reason.h
+FILE 131 f:\dd\externalapis\windows\winblue\sdk\inc\consoleapi.h
+FILE 132 f:\dd\externalapis\windows\winblue\sdk\inc\wingdi.h
+FILE 133 f:\dd\externalapis\windows\winblue\sdk\inc\synchapi.h
+FILE 134 f:\dd\externalapis\windows\winblue\sdk\inc\winbase.h
+FILE 135 f:\dd\externalapis\windows\winblue\sdk\inc\apisetcconv.h
+FILE 137 f:\dd\externalapis\windows\winblue\sdk\inc\minwinbase.h
+FILE 140 f:\dd\externalapis\windows\winblue\sdk\inc\namespaceapi.h
+FILE 141 f:\dd\vctools\crt\crtw32\h\crtdbg.h
+FILE 142 f:\dd\externalapis\windows\winblue\sdk\inc\bemapiset.h
+FILE 143 f:\dd\externalapis\windows\winblue\sdk\inc\threadpoollegacyapiset.h
+FILE 144 f:\dd\externalapis\windows\winblue\sdk\inc\ime_cmodes.h
+FILE 145 f:\dd\vctools\crt\crtw32\h\mtdll.h
+FILE 146 f:\dd\externalapis\windows\winblue\sdk\inc\winuser.h
+FILE 147 f:\dd\externalapis\windows\winblue\sdk\inc\errhandlingapi.h
+FILE 148 f:\dd\vctools\crt\crtw32\h\stdarg.h
+FILE 156 f:\dd\externalapis\windows\winblue\sdk\inc\imm.h
+FILE 158 f:\dd\externalapis\windows\winblue\sdk\inc\ioapiset.h
+FILE 160 f:\dd\vctools\crt\crtw32\h\errno.h
+FILE 161 f:\dd\externalapis\windows\winblue\sdk\inc\winerror.h
+FILE 162 f:\dd\externalapis\windows\winblue\sdk\inc\systemtopologyapi.h
+FILE 163 f:\dd\externalapis\windows\winblue\sdk\inc\sysinfoapi.h
+FILE 181 f:\dd\vctools\crt\crtw32\convert\atox.c
+FILE 208 f:\dd\vctools\crt\crtw32\h\setlocal.h
+FILE 211 f:\dd\vctools\crt\crtw32\h\oscalls.h
+FILE 212 f:\dd\vctools\crt\crtw32\h\mbctype.h
+FILE 218 f:\dd\vctools\crt\crtw32\h\tchar.h
+FILE 220 f:\dd\vctools\crt\crtw32\h\mbstring.h
+FILE 231 f:\dd\vctools\crt\crtw32\h\stdlib.h
+FILE 255 f:\dd\vctools\crt\crtw32\convert\wchtodig.c
+FILE 256 f:\dd\vctools\crt\crtw32\h\wchar.h
+FILE 263 f:\dd\vctools\crt\crtw32\h\swprintf.inl
+FILE 264 f:\dd\vctools\crt\crtw32\h\wtime.inl
+FILE 283 f:\dd\vctools\crt\crtw32\convert\wtox.c
+FILE 377 f:\dd\vctools\crt\crtw32\convert\xtows.c
+FILE 384 f:\dd\vctools\crt\crtw32\h\internal_securecrt.h
+FILE 385 f:\dd\vctools\crt\crtw32\convert\xtoa.c
+FILE 480 f:\dd\vctools\crt\crtw32\dos\dosmap.c
+FILE 556 f:\dd\vctools\crt\crtw32\h\dbgint.h
+FILE 566 f:\dd\vctools\crt\crtw32\heap\calloc_impl.c
+FILE 576 f:\dd\vctools\crt\crtw32\h\rtcsup.h
+FILE 581 f:\dd\vctools\crt\crtw32\h\rtcapi.h
+FILE 583 f:\dd\vctools\crt\crtw32\h\malloc.h
+FILE 597 f:\dd\vctools\crt\crtw32\h\winheap.h
+FILE 658 f:\dd\vctools\crt\crtw32\heap\crtheap.c
+FILE 716 f:\dd\vctools\crt\crtw32\h\awint.h
+FILE 744 f:\dd\vctools\crt\crtw32\heap\free.c
+FILE 828 f:\dd\vctools\crt\crtw32\heap\heapinit.c
+FILE 930 f:\dd\vctools\crt\crtw32\heap\malloc.c
+FILE 997 f:\dd\vctools\crt\crtw32\h\rterr.h
+FILE 1027 f:\dd\vctools\crt\crtw32\heap\msize.c
+FILE 1111 f:\dd\vctools\crt\crtw32\heap\realloc.c
+FILE 1206 f:\dd\vctools\crt\crtw32\heap\recalloc.c
+FILE 1307 f:\dd\vctools\crt\crtw32\heap\_newmode.c
+FILE 1396 f:\dd\vctools\crt\crtw32\lowio\close.c
+FILE 1444 f:\dd\vctools\crt\crtw32\h\msdos.h
+FILE 1451 f:\dd\vctools\crt\crtw32\h\io.h
+FILE 1490 f:\dd\vctools\crt\crtw32\lowio\commit.c
+FILE 1584 f:\dd\vctools\crt\crtw32\lowio\ioinit.c
+FILE 1677 f:\dd\vctools\crt\crtw32\lowio\isatty.c
+FILE 1769 f:\dd\vctools\crt\crtw32\lowio\lseeki64.c
+FILE 1804 f:\dd\vctools\crt\crtw32\h\stdio.h
+FILE 1865 f:\dd\vctools\crt\crtw32\lowio\osfinfo.c
+FILE 1909 f:\dd\vctools\crt\crtw32\h\fcntl.h
+FILE 1964 f:\dd\vctools\crt\crtw32\lowio\write.c
+FILE 1974 f:\dd\vctools\crt\crtw32\h\locale.h
+FILE 2057 f:\dd\vctools\crt\crtw32\lowio\initcon.c
+FILE 2072 f:\dd\vctools\crt\crtw32\h\sect_attribs.h
+FILE 2139 f:\dd\vctools\crt\crtw32\h\file2.h
+FILE 2149 f:\dd\vctools\crt\crtw32\lowio\putwch.c
+FILE 2199 f:\dd\vctools\crt\crtw32\h\conio.h
+FILE 2246 f:\dd\vctools\crt\crtw32\misc\amd64\loadcfg.c
+FILE 2325 f:\dd\vctools\crt\crtw32\misc\abort.c
+FILE 2334 f:\dd\vctools\crt\crtw32\h\signal.h
+FILE 2424 f:\dd\vctools\crt\crtw32\misc\ctype.c
+FILE 2495 f:\dd\vctools\crt\crtw32\misc\dbghook.c
+FILE 2522 f:\dd\vctools\crt\crtw32\misc\errmode.c
+FILE 2602 f:\dd\vctools\crt\crtw32\misc\getqloc.c
+FILE 2706 f:\dd\vctools\crt\crtw32\misc\glstatus.c
+FILE 2794 f:\dd\vctools\crt\crtw32\misc\gs_cookie.c
+FILE 2878 f:\dd\vctools\crt\crtw32\misc\gs_report.c
+FILE 2962 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\immintrin.h
+FILE 2963 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\wmmintrin.h
+FILE 2964 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\nmmintrin.h
+FILE 2965 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\smmintrin.h
+FILE 2966 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\tmmintrin.h
+FILE 2967 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\pmmintrin.h
+FILE 2969 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\emmintrin.h
+FILE 2970 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\xmmintrin.h
+FILE 2971 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\mmintrin.h
+FILE 2974 f:\dd\vctools\crt\crtw32\misc\gs_support.c
+FILE 3018 f:\binaries.amd64ret\interapiscandidates\vctools\inc\vc\ammintrin.h
+FILE 3023 f:\dd\vctools\crt\crtw32\h\intrin.h
+FILE 3024 f:\dd\vctools\crt\crtw32\h\setjmp.h
+FILE 3061 f:\dd\vctools\crt\crtw32\misc\initcoll.c
+FILE 3147 f:\dd\vctools\crt\crtw32\misc\initctyp.c
+FILE 3233 f:\dd\vctools\crt\crtw32\misc\inithelp.c
+FILE 3335 f:\dd\vctools\crt\crtw32\misc\initmon.c
+FILE 3420 f:\dd\vctools\crt\crtw32\misc\initnum.c
+FILE 3462 f:\dd\vctools\crt\crtw32\h\nlsint.h
+FILE 3520 f:\dd\vctools\crt\crtw32\misc\inittime.c
+FILE 3613 f:\dd\vctools\crt\crtw32\misc\lconv.c
+FILE 3702 f:\dd\vctools\crt\crtw32\misc\localref.c
+FILE 3795 f:\dd\vctools\crt\crtw32\misc\onexit.c
+FILE 3889 f:\dd\vctools\crt\crtw32\misc\nlsdata.c
+FILE 3978 f:\dd\vctools\crt\crtw32\misc\pesect.c
+FILE 4060 f:\dd\vctools\crt\crtw32\misc\purevirt.c
+FILE 4150 f:\dd\vctools\crt\crtw32\misc\winsig.c
+FILE 4218 f:\dd\vctools\crt\crtw32\h\float.h
+FILE 4220 f:\dd\vctools\crt\crtw32\h\crtwrn.h
+FILE 4248 f:\dd\vctools\crt\crtw32\misc\winapinls.c
+FILE 4282 f:\dd\vctools\crt\crtw32\h\nlsdownlevel.h
+FILE 4340 f:\dd\vctools\crt\crtw32\misc\winapisupp.c
+FILE 4354 f:\dd\externalapis\windows\winblue\sdk\inc\appmodel.h
+FILE 4355 f:\dd\externalapis\windows\winblue\sdk\inc\minappmodel.h
+FILE 4434 f:\dd\vctools\crt\crtw32\misc\winxfltr.c
+FILE 4530 f:\dd\vctools\crt\crtw32\misc\wsetloca.c
+FILE 4628 f:\dd\vctools\crt\crtw32\misc\rand_s.c
+FILE 4640 f:\dd\externalapis\windows\winblue\sdk\inc\ntsecapi.h
+FILE 4690 f:\dd\externalapis\windows\winblue\sdk\inc\lsalookup.h
+FILE 4721 f:\dd\vctools\crt\crtw32\misc\a_env.c
+FILE 4803 f:\dd\vctools\crt\crtw32\misc\getqloc_downlevel.c
+FILE 4901 f:\dd\vctools\crt\crtw32\misc\crtmboxw.c
+FILE 4913 f:\dd\vctools\crt\crtw32\misc\crtmbox.c
+FILE 5002 f:\dd\vctools\crt\crtw32\misc\cmiscdat.c
+FILE 5093 f:\dd\vctools\crt\crtw32\stdio\fileno.c
+FILE 5182 f:\dd\vctools\crt\crtw32\stdio\_file.c
+FILE 5276 f:\dd\vctools\crt\crtw32\stdio\_freebuf.c
+FILE 5374 f:\dd\vctools\crt\crtw32\stdio\_sftbuf.c
+FILE 5472 f:\dd\vctools\crt\crtw32\stdio\closeall.c
+FILE 5556 f:\dd\vctools\crt\crtw32\stdio\fclose.c
+FILE 5660 f:\dd\vctools\crt\crtw32\stdio\fflush.c
+FILE 5753 f:\dd\vctools\crt\crtw32\stdio\outputformat.c
+FILE 5837 f:\dd\vctools\crt\crtw32\string\amd64\cpu_disp.c
+FILE 5933 f:\dd\vctools\crt\crtw32\string\amd64\strrchr.c
+FILE 6036 f:\dd\vctools\crt\crtw32\string\amd64\wcschr.c
+FILE 6136 f:\dd\vctools\crt\crtw32\string\strcpy_s.c
+FILE 6169 f:\dd\vctools\crt\crtw32\h\tcscpy_s.inl
+FILE 6227 f:\dd\vctools\crt\crtw32\string\strncpy_s.c
+FILE 6260 f:\dd\vctools\crt\crtw32\h\tcsncpy_s.inl
+FILE 6318 f:\dd\vctools\crt\crtw32\string\wcscat_s.c
+FILE 6351 f:\dd\vctools\crt\crtw32\h\tcscat_s.inl
+FILE 6394 f:\dd\vctools\crt\crtw32\string\wcscmp.c
+FILE 6417 f:\dd\vctools\crt\crtw32\string\wcscpy_s.c
+FILE 6493 f:\dd\vctools\crt\crtw32\string\wcscspn.c
+FILE 6501 f:\dd\vctools\crt\crtw32\string\wcslen.c
+FILE 6509 f:\dd\vctools\crt\crtw32\string\wcslen_s.c
+FILE 6517 f:\dd\vctools\crt\crtw32\string\wcsncmp.c
+FILE 6540 f:\dd\vctools\crt\crtw32\string\wcsncpy_s.c
+FILE 6616 f:\dd\vctools\crt\crtw32\string\wcspbrk.c
+FILE 6647 f:\dd\vctools\crt\crtw32\heap\handler.cpp
+FILE 6670 f:\dd\vctools\crt\crtw32\h\new.h
+FILE 6742 f:\dd\vctools\crt\crtw32\heap\delete.cpp
+FILE 6804 f:\dd\vctools\crt\crtw32\string\amd64\memcmp.asm
+FILE 6808 f:\dd\vctools\crt\crtw32\string\amd64\memcpy.asm
+FILE 6812 f:\dd\vctools\crt\crtw32\string\amd64\memset.asm
+FILE 6816 f:\dd\vctools\crt\crtw32\string\amd64\strcmp.asm
+FILE 6820 f:\dd\vctools\crt\crtw32\string\amd64\strlen.asm
+FILE 6847 f:\dd\vctools\crt\crtw32\convert\_ctype.c
+FILE 6940 f:\dd\vctools\crt\crtw32\convert\_wctype.c
+FILE 7006 f:\dd\vctools\crt\crtw32\h\math.h
+FILE 7027 f:\dd\vctools\crt\crtw32\convert\atodbl.c
+FILE 7081 f:\dd\vctools\crt\crtw32\h\atodbl.inl
+FILE 7128 f:\dd\vctools\crt\crtw32\convert\iswctype.c
+FILE 7216 f:\dd\vctools\crt\crtw32\convert\isctype.c
+FILE 7310 f:\dd\vctools\crt\crtw32\convert\mbtowc.c
+FILE 7401 f:\dd\vctools\crt\crtw32\convert\strtod.c
+FILE 7499 f:\dd\vctools\crt\crtw32\convert\strtol.c
+FILE 7592 f:\dd\vctools\crt\crtw32\convert\strtoq.c
+FILE 7593 f:\dd\vctools\crt\crtw32\stdhpp\stdint.h
+FILE 7683 f:\dd\vctools\crt\crtw32\convert\tolower.c
+FILE 7784 f:\dd\vctools\crt\crtw32\convert\towlower.c
+FILE 7874 f:\dd\vctools\crt\crtw32\convert\wcstod.c
+FILE 7970 f:\dd\vctools\crt\crtw32\convert\wcstol.c
+FILE 8064 f:\dd\vctools\crt\crtw32\convert\wcstoq.c
+FILE 8156 f:\dd\vctools\crt\crtw32\h\mbdata.h
+FILE 8159 f:\dd\vctools\crt\crtw32\mbstring\ismbbyte.c
+FILE 8253 f:\dd\vctools\crt\crtw32\mbstring\mbctype.c
+FILE 8352 f:\dd\vctools\crt\crtw32\misc\a_loc.c
+FILE 8449 f:\dd\vctools\crt\crtw32\misc\a_map.c
+FILE 8545 f:\dd\vctools\crt\crtw32\misc\a_str.c
+FILE 8649 f:\dd\vctools\crt\crtw32\misc\invarg.c
+FILE 8749 f:\dd\vctools\crt\crtw32\misc\w_map.c
+FILE 8849 f:\dd\vctools\crt\crtw32\string\wcsicmp.c
+FILE 8936 f:\dd\vctools\crt\crtw32\string\wcsnicmp.c
+FILE 9010 f:\dd\vctools\crt\crtw32\startup\stdenvp.c
+FILE 9116 f:\dd\vctools\crt\crtw32\startup\crt0.c
+FILE 9140 f:\dd\vctools\crt\crtw32\h\dos.h
+FILE 9214 f:\dd\vctools\crt\crtw32\startup\crt0msg.c
+FILE 9217 f:\dd\vctools\crt\crtw32\h\cmsgs.h
+FILE 9313 f:\dd\vctools\crt\crtw32\startup\tidtable.c
+FILE 9391 f:\dd\vctools\crt\crtw32\h\memory.h
+FILE 9411 f:\dd\vctools\crt\crtw32\startup\stdargv.c
+FILE 9509 f:\dd\vctools\crt\crtw32\startup\mlock.c
+FILE 9605 f:\dd\vctools\crt\crtw32\startup\crt0init.c
+FILE 9698 f:\dd\vctools\crt\crtw32\startup\crt0fp.c
+FILE 9790 f:\dd\vctools\crt\crtw32\startup\crt0dat.c
+FILE 9872 f:\dd\vctools\crt\crtw32\startup\amd64\chkstk.asm
+FILE 9904 f:\dd\vctools\crt\fpw32\conv\cvt.c
+FILE 9916 f:\dd\vctools\crt\fpw32\include\cv.inl
+FILE 9930 f:\dd\vctools\crt\fpw32\include\cv.h
+FILE 9988 f:\dd\vctools\crt\fpw32\conv\x10fout.c
+FILE 10087 f:\dd\vctools\crt\fpw32\conv\wstrgtold.c
+FILE 10104 f:\dd\vctools\crt\fpw32\conv\strgtold.c
+FILE 10127 f:\dd\vctools\crt\fpw32\include\strgtold12.inl
+FILE 10173 f:\dd\vctools\crt\fpw32\conv\wcfin.c
+FILE 10176 f:\dd\vctools\crt\fpw32\conv\cfin.c
+FILE 10284 f:\dd\vctools\crt\fpw32\conv\mantold.c
+FILE 10294 f:\dd\vctools\crt\fpw32\include\mantold.inl
+FILE 10297 f:\dd\vctools\crt\fpw32\conv\intrncvt.c
+FILE 10306 f:\dd\vctools\crt\fpw32\include\intrncvt.inl
+FILE 10323 f:\dd\vctools\crt\fpw32\conv\fpinit.c
+FILE 10399 f:\dd\vctools\crt\fpw32\conv\constpow.c
+FILE 10409 f:\dd\vctools\crt\fpw32\include\constpow.inl
+FILE 10420 f:\dd\vctools\crt\fpw32\conv\cfout.c
+FILE 10514 f:\dd\vctools\crt\fpw32\tran\amd64\huge.asm
+FILE 10545 f:\dd\vctools\langapi\undname\undname.inl
+FILE 10546 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 10566 f:\dd\vctools\langapi\undname\utf8.h
+FILE 10584 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 10586 f:\dd\vctools\langapi\undname\undname.h
+FILE 10610 f:\dd\vctools\crt\crtw32\h\eh.h
+FILE 10621 f:\dd\vctools\langapi\include\ehdata.h
+FILE 10632 f:\dd\vctools\crt\crtw32\h\ehhooks.h
+FILE 10634 f:\dd\vctools\crt\crtw32\eh\unhandld.cpp
+FILE 10641 f:\dd\vctools\crt\crtw32\h\ehassert.h
+FILE 10708 f:\dd\vctools\crt\crtw32\stdhpp\exception
+FILE 10741 f:\dd\vctools\crt\crtw32\eh\typname.cpp
+FILE 10756 f:\dd\vctools\crt\crtw32\stdhpp\initializer_list
+FILE 10773 f:\dd\vctools\crt\crtw32\stdhpp\xtr1common
+FILE 10797 f:\dd\vctools\crt\crtw32\h\typeinfo.h
+FILE 10798 f:\dd\vctools\crt\crtw32\stdhpp\typeinfo
+FILE 10799 f:\dd\vctools\crt\crtw32\stdhpp\xstddef
+FILE 10802 f:\dd\vctools\crt\crtw32\stdhpp\cstddef
+FILE 10803 f:\dd\vctools\crt\crtw32\stdhpp\yvals.h
+FILE 10804 f:\dd\vctools\crt\crtw32\stdhpp\xkeycheck.h
+FILE 10807 f:\dd\vctools\crt\crtw32\stdhpp\use_ansi.h
+FILE 10809 f:\binaries.amd64ret\interapiscandidates\vctools\inc\undname.h
+FILE 10842 f:\dd\vctools\crt\crtw32\eh\typinfo.cpp
+FILE 10933 f:\dd\vctools\crt\crtw32\eh\hooks.cpp
+FILE 11032 f:\dd\vctools\crt\crtw32\rtc\initsect.cpp
+FILE 11055 f:\dd\vctools\crt\crtw32\h\rtcpriv.h
+FUNC 1000 6 0 static int google_breakpad::i()
+1000 0 51 1
+1000 5 52 1
+1005 1 53 1
+FUNC 1010 6a 0 main
+1010 d 57 1
+101d a 58 1
+1027 11 59 1
+1038 a 60 1
+1042 e 61 1
+1050 f 62 1
+105f 16 64 1
+1075 5 65 1
+FUNC 1080 26 0 google_breakpad::C::C()
+1080 26 37 1
+FUNC 10b0 15 0 google_breakpad::C::~C()
+10b0 15 38 1
+FUNC 10d0 36 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 1110 26 0 google_breakpad::C::f()
+1110 26 43 1
+FUNC 1140 b 0 google_breakpad::C::g()
+1140 b 44 1
+FUNC 1150 8 0 google_breakpad::C::h(google_breakpad::C const &)
+1150 8 45 1
+FUNC 1160 16 0 google_breakpad::C::set_member(int)
+1160 16 40 1
+FUNC 1178 5 0 operator delete(void *)
+1178 0 20 6742
+1178 5 23 6742
+FUNC 1180 39 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 11bc 180 0 static int __tmainCRTStartup()
+11bc a 172 9116
+11c6 c 188 9116
+11d2 4e 196 9116
+1220 9 198 9116
+1229 22 199 9116
+124b 9 201 9116
+1254 22 202 9116
+1276 6 211 9116
+127c 9 221 9116
+1285 a 222 9116
+128f d 226 9116
+129c c 229 9116
+12a8 9 231 9116
+12b1 a 232 9116
+12bb 9 233 9116
+12c4 a 234 9116
+12ce 7 237 9116
+12d5 4 238 9116
+12d9 7 239 9116
+12e0 e 254 9116
+12ee 18 255 9116
+1306 4 261 9116
+130a 7 262 9116
+1311 5 264 9116
+1316 2 266 9116
+1318 2 267 9116
+131a 7 275 9116
+1321 8 276 9116
+1329 6 278 9116
+132f 2 282 9116
+1331 b 283 9116
+FUNC 133c 2c 0 static void fast_error_exit(int)
+133c 6 305 9116
+1342 b 315 9116
+134d 5 317 9116
+1352 7 319 9116
+1359 5 322 9116
+135e 5 323 9116
+1363 5 322 9116
+FUNC 1368 12 0 mainCRTStartup
+1368 4 155 9116
+136c 5 162 9116
+1371 4 165 9116
+1375 5 164 9116
+FUNC 137c 3d 0 free
+137c 0 40 744
+137c a 45 744
+1386 12 50 744
+1398 4 51 744
+139c 17 53 744
+13b3 6 55 744
+FUNC 13d0 67 0 strcmp
+13d0 0 70 6816
+13d0 3 77 6816
+13d3 3 78 6816
+13d6 2 79 6816
+13d8 3 82 6816
+13db 3 83 6816
+13de 2 84 6816
+13e0 3 86 6816
+13e3 2 88 6816
+13e5 2 89 6816
+13e7 3 91 6816
+13ea 2 92 6816
+13ec a 96 6816
+13f6 a 97 6816
+1400 4 100 6816
+1404 5 101 6816
+1409 5 102 6816
+140e 2 103 6816
+1410 3 105 6816
+1413 4 106 6816
+1417 2 109 6816
+1419 4 112 6816
+141d 3 113 6816
+1420 4 114 6816
+1424 3 115 6816
+1427 3 117 6816
+142a 2 118 6816
+142c 2 121 6816
+142e 1 122 6816
+142f 3 125 6816
+1432 4 126 6816
+1436 1 127 6816
+FUNC 1438 6c 0 type_info::_Type_info_dtor(type_info *)
+1438 9 31 10741
+1441 b 32 10741
+144c 9 34 10741
+1455 13 39 10741
+1468 5 41 10741
+146d 5 43 10741
+1472 8 48 10741
+147a 5 49 10741
+147f 2 50 10741
+1481 3 52 10741
+1484 2 41 10741
+1486 9 63 10741
+148f 5 70 10741
+1494 a 73 10741
+149e 6 76 10741
+FUNC 14a4 38 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+14a4 4 37 10634
+14a8 27 38 10634
+14cf 2 42 10634
+14d1 5 43 10634
+14d6 6 39 10634
+FUNC 14dc 17 0 _CxxSetUnhandledExceptionFilter
+14dc 4 56 10634
+14e0 c 60 10634
+14ec 2 62 10634
+14ee 5 63 10634
+FUNC 14f4 1cc 0 XcptFilter
+14f4 19 195 4434
+150d 5 202 4434
+1512 f 203 4434
+1521 31 208 4434
+1552 9 210 4434
+155b 4 216 4434
+155f 9 223 4434
+1568 6 232 4434
+156e 4 237 4434
+1572 9 238 4434
+157b 6 244 4434
+1581 8 248 4434
+1589 7 262 4434
+1590 7 263 4434
+1597 a 272 4434
+15a1 5 280 4434
+15a6 19 283 4434
+15bf e 310 4434
+15cd f 312 4434
+15dc 8 314 4434
+15e4 f 316 4434
+15f3 8 318 4434
+15fb c 320 4434
+1607 8 322 4434
+160f c 324 4434
+161b 8 326 4434
+1623 c 328 4434
+162f 8 330 4434
+1637 c 332 4434
+1643 8 334 4434
+164b c 336 4434
+1657 8 338 4434
+165f c 340 4434
+166b 8 342 4434
+1673 a 344 4434
+167d e 353 4434
+168b 6 358 4434
+1691 2 360 4434
+1693 4 365 4434
+1697 6 366 4434
+169d 7 372 4434
+16a4 5 374 4434
+16a9 2 224 4434
+16ab 15 376 4434
+FUNC 16c0 133 0 freefls
+16c0 0 370 9313
+16c0 13 381 9313
+16d3 3 370 9313
+16d6 9 382 9313
+16df 5 383 9313
+16e4 9 385 9313
+16ed 5 386 9313
+16f2 9 388 9313
+16fb 5 389 9313
+1700 9 391 9313
+1709 5 392 9313
+170e 9 394 9313
+1717 5 395 9313
+171c 9 397 9313
+1725 5 398 9313
+172a c 400 9313
+1736 5 401 9313
+173b 13 403 9313
+174e 5 404 9313
+1753 d 406 9313
+1760 27 410 9313
+1787 6 411 9313
+178d 7 414 9313
+1794 b 417 9313
+179f c 420 9313
+17ab 8 422 9313
+17b3 1a 425 9313
+17cd 9 426 9313
+17d6 a 430 9313
+17e0 8 433 9313
+17e8 b 436 9313
+FUNC 17f4 24 0 getptd
+17f4 6 336 9313
+17fa 8 337 9313
+1802 5 338 9313
+1807 8 339 9313
+180f 3 341 9313
+1812 6 342 9313
+FUNC 1818 82 0 getptd_noexit
+1818 a 270 9313
+1822 6 274 9313
+1828 15 277 9313
+183d 15 286 9313
+1852 e 289 9313
+1860 e 295 9313
+186e 6 297 9313
+1874 7 298 9313
+187b 2 300 9313
+187d 5 306 9313
+1882 2 307 9313
+1884 8 312 9313
+188c 3 314 9313
+188f b 315 9313
+FUNC 189c c2 0 initptd
+189c 10 203 9313
+18ac e 204 9313
+18ba 4 205 9313
+18be 7 206 9313
+18c5 a 211 9313
+18cf c 215 9313
+18db 7 216 9313
+18e2 e 217 9313
+18f0 8 219 9313
+18f8 b 221 9313
+1903 a 224 9313
+190d a 228 9313
+1917 b 233 9313
+1922 7 235 9313
+1929 5 243 9313
+192e e 244 9313
+193c d 245 9313
+1949 a 248 9313
+1953 b 250 9313
+FUNC 1960 7f 0 mtinit
+1960 6 88 9313
+1966 5 91 9313
+196b 9 97 9313
+1974 17 105 9313
+198b 29 115 9313
+19b4 a 125 9313
+19be 6 127 9313
+19c4 7 128 9313
+19cb 7 130 9313
+19d2 5 117 9313
+19d7 2 118 9313
+19d9 6 131 9313
+FUNC 19e0 24 0 mtterm
+19e0 4 160 9313
+19e4 b 167 9313
+19ef 5 168 9313
+19f4 7 169 9313
+19fb 4 177 9313
+19ff 5 176 9313
+FUNC 1a04 41 0 _crtCorExitProcess
+1a04 8 734 9790
+1a0c 18 738 9790
+1a24 12 739 9790
+1a36 5 740 9790
+1a3b 4 741 9790
+1a3f 6 751 9790
+FUNC 1a48 16 0 _crtExitProcess
+1a48 8 757 9790
+1a50 5 764 9790
+1a55 9 774 9790
+FUNC 1a60 26 0 amsg_exit
+1a60 8 485 9790
+1a68 5 487 9790
+1a6d 7 488 9790
+1a74 12 490 9790
+FUNC 1a88 f 0 c_exit
+1a88 0 454 9790
+1a88 f 455 9790
+FUNC 1a98 d 0 cexit
+1a98 0 447 9790
+1a98 d 448 9790
+FUNC 1aa8 96 0 cinit
+1aa8 6 278 9790
+1aae 1c 288 9790
+1aca 8 290 9790
+1ad2 5 292 9790
+1ad7 13 298 9790
+1aea 4 299 9790
+1aee c 303 9790
+1afa 13 308 9790
+1b0d 1a 321 9790
+1b27 f 323 9790
+1b36 2 327 9790
+1b38 6 328 9790
+FUNC 1b40 c 0 exit
+1b40 0 432 9790
+1b40 c 433 9790
+FUNC 1b4c 4b 0 init_pointers
+1b4c 6 879 9790
+1b52 8 880 9790
+1b5a b 882 9790
+1b65 8 883 9790
+1b6d 8 884 9790
+1b75 8 885 9790
+1b7d 8 886 9790
+1b85 8 889 9790
+1b8d 5 900 9790
+1b92 5 893 9790
+FUNC 1b98 60 0 static void _initterm( * *, * *)
+1b98 30 941 9790
+1bc8 5 948 9790
+1bcd 8 953 9790
+1bd5 2 954 9790
+1bd7 c 955 9790
+1be3 15 957 9790
+FUNC 1bf8 39 0 initterm_e
+1bf8 a 990 9790
+1c02 8 991 9790
+1c0a 9 999 9790
+1c13 8 1004 9790
+1c1b 2 1005 9790
+1c1d 9 1006 9790
+1c26 b 1010 9790
+FUNC 1c34 a 0 lockexit
+1c34 0 825 9790
+1c34 a 826 9790
+FUNC 1c40 a 0 unlockexit
+1c40 0 851 9790
+1c40 a 852 9790
+FUNC 1c4c 195 0 static void doexit(int, int, int)
+1c4c 24 552 9790
+1c70 b 568 9790
+1c7b d 571 9790
+1c88 a 572 9790
+1c92 7 575 9790
+1c99 8 577 9790
+1ca1 15 593 9790
+1cb6 9 594 9790
+1cbf 15 595 9790
+1cd4 8 599 9790
+1cdc 8 600 9790
+1ce4 1b 608 9790
+1cff 2 611 9790
+1d01 5 613 9790
+1d06 c 620 9790
+1d12 b 623 9790
+1d1d 2 626 9790
+1d1f 10 628 9790
+1d2f d 629 9790
+1d3c a 631 9790
+1d46 10 634 9790
+1d56 10 635 9790
+1d66 2 637 9790
+1d68 13 643 9790
+1d7b 14 651 9790
+1d8f 5 666 9790
+1d94 a 667 9790
+1d9e 5 670 9790
+1da3 a 674 9790
+1dad a 676 9790
+1db7 12 678 9790
+1dc9 18 679 9790
+FUNC 1de4 a 0 exit
+1de4 0 416 9790
+1de4 a 417 9790
+FUNC 1df0 20 0 heap_init
+1df0 4 40 828
+1df4 17 42 828
+1e0b 5 46 828
+FUNC 1e10 32d 0 ioinit
+1e10 25 110 1584
+1e35 b 125 1584
+1e40 23 134 1584
+1e63 19 136 1584
+1e7c 7 139 1584
+1e83 7 140 1584
+1e8a b 142 1584
+1e95 6 143 1584
+1e9b 4 144 1584
+1e9f 4 146 1584
+1ea3 7 147 1584
+1eaa 5 148 1584
+1eaf 6 149 1584
+1eb5 4 151 1584
+1eb9 4 152 1584
+1ebd 11 142 1584
+1ece b 160 1584
+1ed9 20 162 1584
+1ef9 9 173 1584
+1f02 b 174 1584
+1f0d d 180 1584
+1f1a 12 186 1584
+1f2c 18 192 1584
+1f44 7 198 1584
+1f4b 2 199 1584
+1f4d e 205 1584
+1f5b 7 206 1584
+1f62 f 208 1584
+1f71 6 209 1584
+1f77 4 210 1584
+1f7b 4 212 1584
+1f7f 4 213 1584
+1f83 6 214 1584
+1f89 4 216 1584
+1f8d 4 217 1584
+1f91 a 208 1584
+1f9b 4 186 1584
+1f9f 14 224 1584
+1fb3 23 237 1584
+1fd6 1b 239 1584
+1ff1 6 240 1584
+1ff7 6 241 1584
+1ffd 11 243 1584
+200e 3 244 1584
+2011 19 224 1584
+202a 18 255 1584
+2042 20 257 1584
+2062 10 320 1584
+2072 4 271 1584
+2076 34 275 1584
+20aa 3 280 1584
+20ad 8 286 1584
+20b5 9 287 1584
+20be 5 288 1584
+20c3 a 289 1584
+20cd 11 292 1584
+20de 3 293 1584
+20e1 2 295 1584
+20e3 a 304 1584
+20ed 3 305 1584
+20f0 c 311 1584
+20fc 8 312 1584
+2104 b 255 1584
+210f a 326 1584
+2119 2 329 1584
+211b 22 330 1584
+FUNC 2140 f3 0 setargv
+2140 f 88 9411
+214f 9 97 9411
+2158 5 98 9411
+215d 1f 105 9411
+217c 7 122 9411
+2183 7 110 9411
+218a d 122 9411
+2197 1c 129 9411
+21b3 1f 136 9411
+21d2 9 140 9411
+21db b 144 9411
+21e6 5 145 9411
+21eb 1e 153 9411
+2209 4 158 9411
+220d f 162 9411
+221c 4 177 9411
+2220 3 138 9411
+2223 10 178 9411
+FUNC 2234 1c7 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+2234 1d 223 9411
+2251 15 230 9411
+2266 7 231 9411
+226d 5 235 9411
+2272 7 236 9411
+2279 2 255 9411
+227b 5 257 9411
+2280 4 259 9411
+2284 b 260 9411
+228f 2 261 9411
+2291 3 263 9411
+2294 5 264 9411
+2299 7 265 9411
+22a0 6 267 9411
+22a6 b 269 9411
+22b1 3 270 9411
+22b4 5 271 9411
+22b9 7 272 9411
+22c0 3 273 9411
+22c3 15 277 9411
+22d8 5 282 9411
+22dd 6 283 9411
+22e3 3 280 9411
+22e6 2 286 9411
+22e8 9 291 9411
+22f1 a 292 9411
+22fb 5 293 9411
+2300 9 296 9411
+2309 5 300 9411
+230e 7 301 9411
+2315 4 302 9411
+2319 5 316 9411
+231e 4 320 9411
+2322 3 323 9411
+2325 2 324 9411
+2327 5 321 9411
+232c 5 326 9411
+2331 4 329 9411
+2335 d 330 9411
+2342 3 331 9411
+2345 2 332 9411
+2347 b 334 9411
+2352 4 337 9411
+2356 2 341 9411
+2358 5 342 9411
+235d 6 343 9411
+2363 3 344 9411
+2366 4 341 9411
+236a 12 348 9411
+237c 4 353 9411
+2380 11 355 9411
+2391 a 356 9411
+239b 3 357 9411
+239e 7 359 9411
+23a5 2 360 9411
+23a7 4 361 9411
+23ab 3 362 9411
+23ae 3 363 9411
+23b1 3 366 9411
+23b4 3 368 9411
+23b7 5 377 9411
+23bc 5 381 9411
+23c1 6 382 9411
+23c7 3 383 9411
+23ca 5 292 9411
+23cf 5 387 9411
+23d4 4 388 9411
+23d8 4 389 9411
+23dc 1f 390 9411
+FUNC 23fc 131 0 setenvp
+23fc 14 77 9010
+2410 9 85 9010
+2419 5 86 9010
+241e 9 91 9010
+2427 5 98 9010
+242c 8 99 9010
+2434 4 110 9010
+2438 2 111 9010
+243a e 112 9010
+2448 6 108 9010
+244e 1f 117 9010
+246d c 121 9010
+2479 8 123 9010
+2481 8 125 9010
+2489 18 127 9010
+24a1 12 133 9010
+24b3 4 134 9010
+24b7 b 121 9010
+24c2 7 131 9010
+24c9 8 138 9010
+24d1 8 139 9010
+24d9 4 142 9010
+24dd a 149 9010
+24e7 2 152 9010
+24e9 15 153 9010
+24fe c 129 9010
+250a 8 130 9010
+2512 5 131 9010
+2517 16 133 9010
+FUNC 2530 43 0 FF_MSGBANNER
+2530 4 143 9214
+2534 26 147 9214
+255a a 149 9214
+2564 a 150 9214
+256e 5 152 9214
+FUNC 2574 2f 0 GET_RTERRMSG
+2574 0 174 9214
+2574 c 177 9214
+2580 5 178 9214
+2585 f 177 9214
+2594 2 181 9214
+2596 1 182 9214
+2597 b 179 9214
+25a2 1 182 9214
+FUNC 25a4 26f 0 NMSG_WRITE
+25a4 2f 205 9214
+25d3 5 206 9214
+25d8 e 208 9214
+25e6 2a 235 9214
+2610 c 272 9214
+261c 1f 281 9214
+263b 2 284 9214
+263d 8 281 9214
+2645 25 284 9214
+266a 19 285 9214
+2683 11 288 9214
+2694 c 290 9214
+26a0 2d 291 9214
+26cd 1a 294 9214
+26e7 16 295 9214
+26fd 17 299 9214
+2714 18 237 9214
+272c 8 253 9214
+2734 4 255 9214
+2738 5 257 9214
+273d 15 253 9214
+2752 2d 269 9214
+277f 2d 303 9214
+27ac 15 285 9214
+27c1 15 291 9214
+27d6 15 295 9214
+27eb 15 294 9214
+2800 13 281 9214
+FUNC 2814 7 0 _set_app_type
+2814 0 94 2522
+2814 6 95 2522
+281a 1 96 2522
+FUNC 281c 40 0 set_error_mode
+281c 4 49 2522
+2820 e 52 2522
+282e 6 60 2522
+2834 2 61 2522
+2836 6 56 2522
+283c 6 57 2522
+2842 2 66 2522
+2844 13 63 2522
+2857 5 67 2522
+FUNC 285c ac 0 _security_init_cookie
+285c d 82 2974
+2869 1b 99 2974
+2884 a 112 2974
+288e 8 114 2974
+2896 c 120 2974
+28a2 6 121 2974
+28a8 10 130 2974
+28b8 7 132 2974
+28bf 1c 149 2974
+28db 11 157 2974
+28ec 7 168 2974
+28f3 15 171 2974
+FUNC 2908 38 0 RTC_Initialize
+2908 a 43 11032
+2912 10 46 11032
+2922 8 48 11032
+292a 2 50 11032
+292c 9 46 11032
+2935 b 53 11032
+FUNC 2940 38 0 RTC_Terminate
+2940 a 57 11032
+294a 10 60 11032
+295a 8 62 11032
+2962 2 64 11032
+2964 9 60 11032
+296d b 67 11032
+FUNC 2978 f4 0 _crtGetEnvironmentStringsA
+2978 19 40 4721
+2991 15 49 4721
+29a6 3 53 4721
+29a9 6 54 4721
+29af a 55 4721
+29b9 a 56 4721
+29c3 2e 70 4721
+29f1 14 74 4721
+2a05 28 88 4721
+2a2d 8 90 4721
+2a35 3 91 4721
+2a38 9 94 4721
+2a41 5 95 4721
+2a46 9 76 4721
+2a4f 2 77 4721
+2a51 1b 96 4721
+FUNC 2a6c 1e1 0 _C_specific_handler
+2a6c 1c 91 6
+2a88 4 112 6
+2a8c 3 113 6
+2a8f 7 114 6
+2a96 13 124 6
+2aa9 14 133 6
+2abd 2a 136 6
+2ae7 7 145 6
+2aee 4 150 6
+2af2 d 152 6
+2aff 4 162 6
+2b03 2 165 6
+2b05 23 176 6
+2b28 e 178 6
+2b36 15 191 6
+2b4b 29 198 6
+2b74 5 204 6
+2b79 7 133 6
+2b80 7 163 6
+2b87 4 216 6
+2b8b c 218 6
+2b97 17 220 6
+2bae 6 222 6
+2bb4 7 238 6
+2bbb 30 242 6
+2beb 8 238 6
+2bf3 5 248 6
+2bf8 8 263 6
+2c00 5 264 6
+2c05 2 267 6
+2c07 3 218 6
+2c0a 14 272 6
+2c1e c 218 6
+2c2a 5 284 6
+2c2f 1e 285 6
+FUNC 2c50 20 0 _doserrno
+2c50 4 292 480
+2c54 5 293 480
+2c59 5 294 480
+2c5e 9 295 480
+2c67 4 297 480
+2c6b 5 299 480
+FUNC 2c70 4e 0 dosmaperr
+2c70 c 110 480
+2c7c 19 111 480
+2c95 1e 113 480
+2cb3 b 114 480
+FUNC 2cc0 20 0 errno
+2cc0 4 279 480
+2cc4 5 280 480
+2cc9 5 281 480
+2cce 9 282 480
+2cd7 4 284 480
+2cdb 5 287 480
+FUNC 2ce0 4d 0 get_errno_from_oserr
+2ce0 0 119 480
+2ce0 10 123 480
+2cf0 5 124 480
+2cf5 e 123 480
+2d03 8 133 480
+2d0b 5 134 480
+2d10 1 139 480
+2d11 12 135 480
+2d23 1 139 480
+2d24 8 125 480
+2d2c 1 139 480
+FUNC 2d30 f2 0 call_reportfault
+2d30 36 148 8649
+2d66 5 150 8649
+2d6b 5 151 8649
+2d70 17 154 8649
+2d87 5 156 8649
+2d8c 17 188 8649
+2da3 e 189 8649
+2db1 7 190 8649
+2db8 8 194 8649
+2dc0 8 195 8649
+2dc8 c 196 8649
+2dd4 6 198 8649
+2dda c 201 8649
+2de6 d 205 8649
+2df3 7 206 8649
+2dfa 28 208 8649
+FUNC 2e24 8 0 initp_misc_invarg
+2e24 0 39 8649
+2e24 7 40 8649
+2e2b 1 41 8649
+FUNC 2e2c 65 0 invalid_parameter
+2e2c 17 71 8649
+2e43 16 78 8649
+2e59 11 81 8649
+2e6a 14 86 8649
+2e7e 3 81 8649
+2e81 10 85 8649
+FUNC 2e94 1e 0 invalid_parameter_noinfo
+2e94 4 95 8649
+2e98 15 96 8649
+2ead 5 97 8649
+FUNC 2eb4 3b 0 invoke_watson
+2eb4 4 121 8649
+2eb8 e 131 8649
+2ec6 7 132 8649
+2ecd 14 136 8649
+2ee1 5 138 8649
+2ee6 4 140 8649
+2eea 5 138 8649
+FUNC 2ef0 61 0 strcpy_s
+2ef0 6 13 6169
+2ef6 a 18 6169
+2f00 8 19 6169
+2f08 13 18 6169
+2f1b 6 34 6169
+2f21 19 23 6169
+2f3a 5 27 6169
+2f3f 2 29 6169
+2f41 c 30 6169
+2f4d 4 33 6169
+FUNC 2f70 a8 0 strlen
+2f70 0 46 6820
+2f70 3 50 6820
+2f73 3 51 6820
+2f76 6 52 6820
+2f7c 4 53 6820
+2f80 2 58 6820
+2f82 3 59 6820
+2f85 2 60 6820
+2f87 2 61 6820
+2f89 2 62 6820
+2f8b 2 63 6820
+2f8d a 66 6820
+2f97 a 67 6820
+2fa1 3 70 6820
+2fa4 3 72 6820
+2fa7 4 73 6820
+2fab 3 74 6820
+2fae 3 75 6820
+2fb1 3 76 6820
+2fb4 3 77 6820
+2fb7 2 78 6820
+2fb9 4 82 6820
+2fbd 2 84 6820
+2fbf 2 85 6820
+2fc1 2 86 6820
+2fc3 2 87 6820
+2fc5 4 88 6820
+2fc9 2 89 6820
+2fcb 2 90 6820
+2fcd 2 91 6820
+2fcf 2 92 6820
+2fd1 4 93 6820
+2fd5 2 94 6820
+2fd7 2 95 6820
+2fd9 2 96 6820
+2fdb 2 97 6820
+2fdd 3 98 6820
+2fe0 2 99 6820
+2fe2 2 100 6820
+2fe4 2 101 6820
+2fe6 2 102 6820
+2fe8 5 105 6820
+2fed 1 106 6820
+2fee 5 108 6820
+2ff3 1 109 6820
+2ff4 5 111 6820
+2ff9 1 112 6820
+2ffa 5 114 6820
+2fff 1 115 6820
+3000 5 117 6820
+3005 1 118 6820
+3006 5 120 6820
+300b 1 121 6820
+300c 5 123 6820
+3011 1 124 6820
+3012 5 126 6820
+3017 1 127 6820
+FUNC 3018 44 0 lock
+3018 a 325 9509
+3022 14 330 9509
+3036 9 332 9509
+303f 8 333 9509
+3047 4 340 9509
+304b a 341 9509
+3055 7 340 9509
+FUNC 305c 87 0 mtdeletelocks
+305c 14 183 9509
+3070 e 189 9509
+307e e 191 9509
+308c 9 195 9509
+3095 8 201 9509
+309d 4 202 9509
+30a1 9 189 9509
+30aa b 210 9509
+30b5 a 212 9509
+30bf 6 216 9509
+30c5 9 210 9509
+30ce 15 219 9509
+FUNC 30e4 bd 0 mtinitlocknum
+30e4 13 254 9509
+30f7 a 264 9509
+3101 5 266 9509
+3106 a 267 9509
+3110 a 269 9509
+311a 11 273 9509
+312b 7 274 9509
+3132 12 276 9509
+3144 b 277 9509
+314f 4 278 9509
+3153 b 281 9509
+315e 3 285 9509
+3161 7 284 9509
+3168 d 285 9509
+3175 4 286 9509
+3179 2 288 9509
+317b 6 289 9509
+3181 d 293 9509
+318e 2 296 9509
+3190 11 297 9509
+FUNC 31a4 61 0 mtinitlocks
+31a4 f 137 9509
+31b3 c 139 9509
+31bf 6 145 9509
+31c5 a 146 9509
+31cf 1a 147 9509
+31e9 9 144 9509
+31f2 13 153 9509
+FUNC 3208 18 0 unlock
+3208 0 363 9509
+3208 18 367 9509
+FUNC 3220 b6 0 malloc
+3220 12 84 930
+3232 b 88 930
+323d 41 92 930
+327e 5 97 930
+3283 8 101 930
+328b c 108 930
+3297 2 112 930
+3299 b 103 930
+32a4 b 122 930
+32af 5 124 930
+32b4 5 114 930
+32b9 b 115 930
+32c4 2 116 930
+32c6 10 125 930
+FUNC 32f0 24 0 local_unwind
+32f0 0 47 69
+32f0 7 49 69
+32f7 3 58 69
+32fa 3 59 69
+32fd 5 65 69
+3302 5 66 69
+3307 5 67 69
+330c 7 68 69
+3313 d 69 69
+FUNC 3320 18 0 NLG_Notify
+3320 0 103 69
+3320 5 105 69
+3325 5 106 69
+332a 5 107 69
+332f 7 108 69
+3336 a 109 69
+FUNC 3340 1 0 _NLG_Dispatch2
+3340 0 113 69
+3340 10 114 69
+FUNC 3350 1 0 _NLG_Return2
+3350 0 137 69
+3350 1 138 69
+FUNC 3354 1f 0 terminate()
+3354 4 66 10933
+3358 c 71 10933
+3364 5 72 10933
+3369 2 81 10933
+336b 2 82 10933
+336d 6 96 10933
+FUNC 3374 1d 0 initp_eh_hooks
+3374 4 51 10933
+3378 14 52 10933
+338c 5 53 10933
+FUNC 3394 6d 0 _crtCaptureCurrentContext
+3394 d 327 4340
+33a1 6 335 4340
+33a7 7 337 4340
+33ae 11 338 4340
+33bf 5 340 4340
+33c4 32 348 4340
+33f6 b 350 4340
+FUNC 3404 71 0 _crtCapturePreviousContext
+3404 b 279 4340
+340f 6 287 4340
+3415 7 289 4340
+341c 2 292 4340
+341e 11 294 4340
+342f 5 296 4340
+3434 39 304 4340
+346d 8 309 4340
+FUNC 3478 1a 0 _crtFlsAlloc
+3478 0 381 4340
+3478 10 386 4340
+3488 3 388 4340
+348b 7 392 4340
+FUNC 3494 1a 0 _crtFlsFree
+3494 0 398 4340
+3494 10 403 4340
+34a4 3 405 4340
+34a7 7 409 4340
+FUNC 34b0 1a 0 _crtFlsGetValue
+34b0 0 415 4340
+34b0 10 420 4340
+34c0 3 422 4340
+34c3 7 426 4340
+FUNC 34cc 1a 0 _crtFlsSetValue
+34cc 0 433 4340
+34cc 10 438 4340
+34dc 3 440 4340
+34df 7 444 4340
+FUNC 34e8 2b 0 _crtInitializeCriticalSectionEx
+34e8 4 457 4340
+34ec 10 459 4340
+34fc 4 467 4340
+3500 3 461 4340
+3503 6 465 4340
+3509 5 466 4340
+350e 5 467 4340
+FUNC 3514 4c 0 _crtIsPackagedApp
+3514 6 126 4340
+351a c 133 4340
+3526 2d 135 4340
+3553 7 138 4340
+355a 6 140 4340
+FUNC 3560 3fa 0 _crtLoadWinApiPointers
+3560 6 749 4340
+3566 d 750 4340
+3573 13 752 4340
+3586 1e 753 4340
+35a4 1e 754 4340
+35c2 1e 755 4340
+35e0 1e 756 4340
+35fe 1e 757 4340
+361c 1e 758 4340
+363a 1e 759 4340
+3658 1e 760 4340
+3676 1e 761 4340
+3694 1e 762 4340
+36b2 1e 763 4340
+36d0 1e 764 4340
+36ee 1e 765 4340
+370c 1e 766 4340
+372a 25 767 4340
+374f 17 768 4340
+3766 1e 769 4340
+3784 1e 770 4340
+37a2 1e 771 4340
+37c0 1e 772 4340
+37de 1e 773 4340
+37fc 1e 774 4340
+381a 1e 775 4340
+3838 1e 776 4340
+3856 1e 777 4340
+3874 1e 778 4340
+3892 1e 779 4340
+38b0 1e 780 4340
+38ce 1e 781 4340
+38ec 1e 782 4340
+390a 25 783 4340
+392f 25 784 4340
+3954 6 785 4340
+FUNC 395c 7 0 _crtSetUnhandledExceptionFilter
+395c 0 194 4340
+395c 7 198 4340
+FUNC 3964 7 0 _crtSleep
+3964 0 727 4340
+3964 7 739 4340
+FUNC 396c 1f 0 _crtTerminateProcess
+396c 8 221 4340
+3974 b 224 4340
+397f 5 225 4340
+3984 7 224 4340
+FUNC 398c 20 0 _crtUnhandledException
+398c 9 253 4340
+3995 8 255 4340
+399d 3 258 4340
+39a0 5 259 4340
+39a5 7 258 4340
+FUNC 39ac 7f 0 calloc_crt
+39ac 19 55 658
+39c5 c 56 658
+39d1 11 62 658
+39e2 d 63 658
+39ef 19 64 658
+3a08 5 65 658
+3a0d 1e 69 658
+FUNC 3a2c 7a 0 malloc_crt
+3a2c 19 40 658
+3a45 f 41 658
+3a54 b 45 658
+3a5f 9 46 658
+3a68 1b 47 658
+3a83 5 48 658
+3a88 1e 52 658
+FUNC 3aa8 81 0 realloc_crt
+3aa8 19 72 658
+3ac1 c 73 658
+3acd e 77 658
+3adb 12 78 658
+3aed 19 79 658
+3b06 5 80 658
+3b0b 1e 84 658
+FUNC 3b2c 8c 0 _addlocaleref
+3b2c 0 36 3702
+3b2c 3 39 3702
+3b2f c 41 3702
+3b3b 3 42 3702
+3b3e c 44 3702
+3b4a 3 45 3702
+3b4d c 47 3702
+3b59 3 48 3702
+3b5c c 50 3702
+3b68 3 51 3702
+3b6b a 53 3702
+3b75 15 55 3702
+3b8a 3 56 3702
+3b8d 10 59 3702
+3b9d 3 60 3702
+3ba0 9 53 3702
+3ba9 e 63 3702
+3bb7 1 64 3702
+FUNC 3bb8 196 0 _freetlocinfo
+3bb8 14 129 3702
+3bcc 2c 137 3702
+3bf8 11 140 3702
+3c09 5 142 3702
+3c0e c 143 3702
+3c1a 11 147 3702
+3c2b 5 149 3702
+3c30 c 150 3702
+3c3c c 153 3702
+3c48 c 154 3702
+3c54 11 161 3702
+3c65 13 163 3702
+3c78 14 164 3702
+3c8c f 165 3702
+3c9b c 166 3702
+3ca7 1c 173 3702
+3cc3 5 175 3702
+3cc8 c 176 3702
+3cd4 10 179 3702
+3ce4 1a 182 3702
+3cfe 5 184 3702
+3d03 8 185 3702
+3d0b 15 193 3702
+3d20 5 195 3702
+3d25 d 179 3702
+3d32 3 202 3702
+3d35 14 203 3702
+3d49 5 202 3702
+FUNC 3d50 a4 0 _removelocaleref
+3d50 0 74 3702
+3d50 9 77 3702
+3d59 8 79 3702
+3d61 c 81 3702
+3d6d 4 82 3702
+3d71 c 84 3702
+3d7d 4 85 3702
+3d81 c 87 3702
+3d8d 4 88 3702
+3d91 c 90 3702
+3d9d 4 91 3702
+3da1 a 93 3702
+3dab 15 95 3702
+3dc0 4 96 3702
+3dc4 10 99 3702
+3dd4 4 100 3702
+3dd8 9 93 3702
+3de1 f 103 3702
+3df0 3 106 3702
+3df3 1 107 3702
+FUNC 3df4 75 0 _updatetlocinfo
+3df4 6 282 3702
+3dfa 8 284 3702
+3e02 18 286 3702
+3e1a e 298 3702
+3e28 b 287 3702
+3e33 16 291 3702
+3e49 a 295 3702
+3e53 5 301 3702
+3e58 8 303 3702
+3e60 3 306 3702
+3e63 6 307 3702
+FUNC 3e6c 62 0 updatetlocinfoEx_nolock
+3e6c d 217 3702
+3e79 a 220 3702
+3e83 3 223 3702
+3e86 5 224 3702
+3e8b 3 230 3702
+3e8e 8 231 3702
+3e96 5 237 3702
+3e9b 8 239 3702
+3ea3 11 249 3702
+3eb4 8 250 3702
+3ebc 5 254 3702
+3ec1 2 221 3702
+3ec3 b 255 3702
+FUNC 3ed0 28 0 _initmbctable
+3ed0 4 854 8253
+3ed4 9 864 8253
+3edd a 865 8253
+3ee7 a 866 8253
+3ef1 2 871 8253
+3ef3 5 872 8253
+FUNC 3ef8 a8 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+3ef8 d 245 208
+3f05 9 246 208
+3f0e 9 248 208
+3f17 a 249 208
+3f21 b 250 208
+3f2c 1f 252 208
+3f4b 28 253 208
+3f73 e 254 208
+3f81 9 256 208
+3f8a 4 257 208
+3f8e 2 260 208
+3f90 7 262 208
+3f97 9 264 208
+FUNC 3fa0 7d 0 static int getSystemCP(int)
+3fa0 8 295 8253
+3fa8 c 297 8253
+3fb4 7 298 8253
+3fbb 5 303 8253
+3fc0 a 305 8253
+3fca 8 306 8253
+3fd2 5 309 8253
+3fd7 a 311 8253
+3fe1 a 312 8253
+3feb 5 317 8253
+3ff0 12 320 8253
+4002 15 323 8253
+4017 6 324 8253
+FUNC 4020 8e 0 static void setSBCS(struct threadmbcinfostruct *)
+4020 14 374 8253
+4034 7 378 8253
+403b 12 379 8253
+404d a 382 8253
+4057 7 387 8253
+405e b 390 8253
+4069 a 392 8253
+4073 d 393 8253
+4080 c 395 8253
+408c d 396 8253
+4099 15 397 8253
+FUNC 40b0 1e1 0 static void setSBUpLow(struct threadmbcinfostruct *)
+40b0 2e 413 8253
+40de e 423 8253
+40ec 14 426 8253
+4100 b 427 8253
+410b 10 431 8253
+411b e 433 8253
+4129 9 434 8253
+4132 5 433 8253
+4137 a 431 8253
+4141 2c 439 8253
+416d 33 444 8253
+41a0 39 449 8253
+41d9 1c 458 8253
+41f5 5 455 8253
+41fa 3 457 8253
+41fd 7 458 8253
+4204 5 460 8253
+4209 3 462 8253
+420c b 463 8253
+4217 2 465 8253
+4219 7 466 8253
+4220 c 454 8253
+422c 2 468 8253
+422e 6 472 8253
+4234 d 473 8253
+4241 3 475 8253
+4244 5 476 8253
+4249 6 478 8253
+424f 3 480 8253
+4252 9 481 8253
+425b 2 483 8253
+425d 7 484 8253
+4264 9 472 8253
+426d 24 486 8253
+FUNC 4294 ba 0 _updatetmbcinfo
+4294 a 507 8253
+429e 8 510 8253
+42a6 18 511 8253
+42be 9 545 8253
+42c7 b 513 8253
+42d2 15 516 8253
+42e7 1b 522 8253
+4302 5 527 8253
+4307 1a 534 8253
+4321 8 535 8253
+4329 a 540 8253
+4333 5 548 8253
+4338 8 550 8253
+4340 3 553 8253
+4343 b 554 8253
+FUNC 4350 244 0 setmbcp
+4350 1b 585 8253
+436b 4 586 8253
+436f 8 590 8253
+4377 5 592 8253
+437c 7 593 8253
+4383 a 595 8253
+438d 9 597 8253
+4396 d 603 8253
+43a3 b 605 8253
+43ae 70 607 8253
+441e 2 618 8253
+4420 16 623 8253
+4436 1f 625 8253
+4455 c 626 8253
+4461 3 631 8253
+4464 1a 633 8253
+447e d 635 8253
+448b 9 641 8253
+4494 9 642 8253
+449d e 643 8253
+44ab 12 644 8253
+44bd 11 645 8253
+44ce 4 644 8253
+44d2 e 646 8253
+44e0 f 647 8253
+44ef 4 646 8253
+44f3 c 648 8253
+44ff 12 649 8253
+4511 4 648 8253
+4515 1e 651 8253
+4533 5 652 8253
+4538 7 656 8253
+453f 3 657 8253
+4542 9 661 8253
+454b 5 665 8253
+4550 c 671 8253
+455c 8 672 8253
+4564 b 673 8253
+456f 2 679 8253
+4571 5 684 8253
+4576 3 693 8253
+4579 1b 694 8253
+FUNC 4594 2ae 0 setmbcp_nolock
+4594 28 697 8253
+45bc 5 704 8253
+45c1 8 707 8253
+45c9 8 709 8253
+45d1 5 710 8253
+45d6 12 714 8253
+45e8 8 719 8253
+45f0 1b 716 8253
+460b 11 754 8253
+461c 15 762 8253
+4631 4 766 8253
+4635 d 767 8253
+4642 3 769 8253
+4645 7 770 8253
+464c b 772 8253
+4657 12 775 8253
+4669 1f 777 8253
+4688 b 778 8253
+4693 9 775 8253
+469c 9 782 8253
+46a5 b 783 8253
+46b0 47 786 8253
+46f7 4 789 8253
+46fb 2 791 8253
+46fd 3 793 8253
+4700 4 795 8253
+4704 b 796 8253
+470f 5 800 8253
+4714 c 805 8253
+4720 8 812 8253
+4728 4 722 8253
+472c d 723 8253
+4739 1e 726 8253
+4757 3 729 8253
+475a b 731 8253
+4765 1a 734 8253
+477f 17 735 8253
+4796 9 731 8253
+479f c 726 8253
+47ab 3 739 8253
+47ae 4 741 8253
+47b2 38 742 8253
+47ea 17 743 8253
+4801 11 744 8253
+4812 8 747 8253
+481a 2 748 8253
+481c 26 813 8253
+FUNC 4850 44 0 FindPESection
+4850 0 86 3978
+4850 4 93 3978
+4854 1f 102 3978
+4873 12 105 3978
+4885 c 102 3978
+4891 2 117 3978
+4893 1 118 3978
+FUNC 48a0 4d 0 IsNonwritableInCurrentImage
+48a0 d 143 3978
+48ad 13 158 3978
+48c0 3 168 3978
+48c3 b 169 3978
+48ce 5 170 3978
+48d3 d 179 3978
+48e0 2 187 3978
+48e2 b 189 3978
+FUNC 48f0 2e 0 ValidateImageBase
+48f0 3 38 3978
+48f3 a 44 3978
+48fd 2 46 3978
+48ff 1 62 3978
+4900 7 49 3978
+4907 a 52 3978
+4911 c 56 3978
+491d 1 62 3978
+FUNC 4920 43 0 _onexitinit
+4920 6 201 3795
+4926 d 204 3795
+4933 1a 205 3795
+494d 5 207 3795
+4952 5 212 3795
+4957 4 214 3795
+495b 2 216 3795
+495d 6 217 3795
+FUNC 4964 10a 0 onexit
+4964 1c 81 3795
+4980 6 84 3795
+4986 c6 87 3795
+4a4c 5 90 3795
+4a51 3 93 3795
+4a54 1a 94 3795
+FUNC 4a70 17 0 atexit
+4a70 4 161 3795
+4a74 e 162 3795
+4a82 5 163 3795
+FUNC 4a88 39 0 initp_misc_cfltcvt_tab
+4a88 a 54 5002
+4a92 9 56 5002
+4a9b 1b 58 5002
+4ab6 b 60 5002
+FUNC 4ac4 33 0 callnewh
+4ac4 9 131 6647
+4acd d 133 6647
+4ada e 135 6647
+4ae8 7 138 6647
+4aef 2 136 6647
+4af1 6 139 6647
+FUNC 4af8 8 0 initp_heap_handler
+4af8 0 31 6647
+4af8 7 32 6647
+4aff 1 33 6647
+FUNC 4b00 8 0 initp_misc_purevirt
+4b00 0 179 3233
+4b00 7 180 3233
+4b07 1 181 3233
+FUNC 4b08 e 0 _get_sigabrt
+4b08 0 670 4150
+4b08 e 671 4150
+FUNC 4b18 1d 0 initp_misc_winsig
+4b18 0 57 4150
+4b18 7 58 4150
+4b1f 7 59 4150
+4b26 7 60 4150
+4b2d 7 61 4150
+4b34 1 62 4150
+FUNC 4b38 233 0 raise
+4b38 19 451 4150
+4b51 3 454 4150
+4b54 5 455 4150
+4b59 6 458 4150
+4b5f 2 459 4150
+4b61 2d 461 4150
+4b8e 12 499 4150
+4ba0 e 469 4150
+4bae 5 471 4150
+4bb3 e 480 4150
+4bc1 2 482 4150
+4bc3 e 475 4150
+4bd1 2 477 4150
+4bd3 8 487 4150
+4bdb 5 488 4150
+4be0 8 489 4150
+4be8 46 491 4150
+4c2e 2 492 4150
+4c30 e 464 4150
+4c3e 9 465 4150
+4c47 9 501 4150
+4c50 6 508 4150
+4c56 7 509 4150
+4c5d 5 514 4150
+4c62 a 519 4150
+4c6c 4 526 4150
+4c70 19 527 4150
+4c89 c 541 4150
+4c95 8 542 4150
+4c9d 5 548 4150
+4ca2 a 549 4150
+4cac a 550 4150
+4cb6 5 558 4150
+4cbb 18 565 4150
+4cd3 13 568 4150
+4ce6 e 565 4150
+4cf4 b 571 4150
+4cff 4 575 4150
+4d03 7 576 4150
+4d0a 5 579 4150
+4d0f b 585 4150
+4d1a 2 586 4150
+4d1c 18 587 4150
+4d34 7 595 4150
+4d3b 9 600 4150
+4d44 a 601 4150
+4d4e 5 604 4150
+4d53 18 605 4150
+FUNC 4d6c 8 0 initp_misc_rand_s
+4d6c 0 52 4628
+4d6c 7 53 4628
+4d73 1 54 4628
+FUNC 4d74 98 0 _initstdio
+4d74 a 109 5182
+4d7e 11 118 5182
+4d8f 7 119 5182
+4d96 5 120 5182
+4d9b 1f 130 5182
+4dba 1d 133 5182
+4dd7 7 134 5182
+4dde 7 141 5182
+4de5 11 142 5182
+4df6 9 141 5182
+4dff 2 144 5182
+4e01 b 145 5182
+FUNC 4e0c 30 0 _endstdio
+4e0c 4 173 5182
+4e10 5 175 5182
+4e15 9 178 5182
+4e1e 5 179 5182
+4e23 c 180 5182
+4e2f 8 181 5182
+4e37 5 182 5182
+FUNC 4e3c 65 0 lock_file
+4e3c 9 203 5182
+4e45 18 208 5182
+4e5d 29 213 5182
+4e86 5 215 5182
+4e8b 6 224 5182
+4e91 4 223 5182
+4e95 5 224 5182
+4e9a 7 223 5182
+FUNC 4ea4 31 0 lock_file2
+4ea4 9 246 5182
+4ead 5 251 5182
+4eb2 8 256 5182
+4eba 5 258 5182
+4ebf 6 267 5182
+4ec5 4 266 5182
+4ec9 5 267 5182
+4ece 7 266 5182
+FUNC 4ed8 4e 0 unlock_file
+4ed8 0 288 5182
+4ed8 18 293 5182
+4ef0 5 299 5182
+4ef5 26 300 5182
+4f1b b 308 5182
+FUNC 4f28 1d 0 unlock_file2
+4f28 0 331 5182
+4f28 5 336 5182
+4f2d 5 342 5182
+4f32 8 343 5182
+4f3a b 351 5182
+FUNC 4f48 79 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+4f48 11 223 8159
+4f59 13 224 8159
+4f6c 45 232 8159
+4fb1 10 233 8159
+FUNC 4fc4 12 0 ismbblead
+4fc4 0 181 8159
+4fc4 12 182 8159
+FUNC 4fd8 85 0 wcscat_s
+4fd8 6 13 6351
+4fde 10 18 6351
+4fee 9 19 6351
+4ff7 13 18 6351
+500a 6 46 6351
+5010 6 23 6351
+5016 4 25 6351
+501a 5 26 6351
+501f 5 29 6351
+5024 6 31 6351
+502a 1a 35 6351
+5044 5 39 6351
+5049 4 41 6351
+504d c 42 6351
+5059 4 45 6351
+FUNC 5060 6b 0 wcscpy_s
+5060 6 13 6169
+5066 d 18 6169
+5073 9 19 6169
+507c 13 18 6169
+508f 6 34 6169
+5095 1d 23 6169
+50b2 5 27 6169
+50b7 4 29 6169
+50bb c 30 6169
+50c7 4 33 6169
+FUNC 50cc 19 0 wcslen
+50cc 0 41 6501
+50cc 3 42 6501
+50cf c 44 6501
+50db 9 46 6501
+50e4 1 47 6501
+FUNC 50e8 cc 0 wcsncpy_s
+50e8 6 13 6260
+50ee 11 17 6260
+50ff 4 20 6260
+5103 a 24 6260
+510d 5 25 6260
+5112 3 28 6260
+5115 2 29 6260
+5117 8 31 6260
+511f 13 24 6260
+5132 6 66 6260
+5138 3 33 6260
+513b 3 34 6260
+513e 6 35 6260
+5144 1a 37 6260
+515e 2 41 6260
+5160 1f 45 6260
+517f 5 48 6260
+5184 4 50 6260
+5188 9 54 6260
+5191 6 56 6260
+5197 5 58 6260
+519c 6 59 6260
+51a2 3 61 6260
+51a5 f 62 6260
+FUNC 51b4 273 0 _crtMessageBoxW
+51b4 21 91 4913
+51d5 e 99 4913
+51e3 5 106 4913
+51e8 5 108 4913
+51ed 10 115 4913
+51fd 18 117 4913
+5215 14 118 4913
+5229 15 122 4913
+523e 9 124 4913
+5247 19 127 4913
+5260 9 130 4913
+5269 20 133 4913
+5289 20 136 4913
+52a9 17 138 4913
+52c0 10 139 4913
+52d0 5 141 4913
+52d5 20 143 4913
+52f5 a 147 4913
+52ff 5 152 4913
+5304 9 153 4913
+530d 5 159 4913
+5312 a 161 4913
+531c 5 166 4913
+5321 d 168 4913
+532e a 181 4913
+5338 15 202 4913
+534d 6 205 4913
+5353 13 206 4913
+5366 a 208 4913
+5370 31 213 4913
+53a1 4 222 4913
+53a5 2 224 4913
+53a7 c 226 4913
+53b3 6 228 4913
+53b9 5 229 4913
+53be 5 231 4913
+53c3 11 235 4913
+53d4 6 237 4913
+53da 5 238 4913
+53df 8 240 4913
+53e7 d 247 4913
+53f4 5 248 4913
+53f9 10 250 4913
+5409 2 255 4913
+540b 1c 258 4913
+FUNC 5428 1d 0 _GSHandlerCheck
+5428 4 75 37
+542c f 84 37
+543b 5 91 37
+5440 5 92 37
+FUNC 5448 63 0 _GSHandlerCheckCommon
+5448 6 126 37
+544e d 140 37
+545b 9 149 37
+5464 13 154 37
+5477 7 162 37
+547e b 171 37
+5489 6 173 37
+548f c 175 37
+549b 3 184 37
+549e 3 185 37
+54a1 5 186 37
+54a6 5 185 37
+FUNC 54c0 1f 0 _security_check_cookie
+54c0 0 45 2
+54c0 7 47 2
+54c7 2 48 2
+54c9 4 49 2
+54cd 5 50 2
+54d2 3 51 2
+54d5 1 53 2
+54d6 4 61 2
+54da 5 65 2
+FUNC 54e0 8 0 _crt_debugger_hook
+54e0 0 57 2495
+54e0 7 60 2495
+54e7 1 61 2495
+FUNC 5500 22a 0 memset
+5500 0 55 6812
+5500 3 59 6812
+5503 3 60 6812
+5506 4 61 6812
+550a 6 62 6812
+5510 8 67 6812
+5518 2 68 6812
+551a 1 71 6812
+551b 3 72 6812
+551e 2 73 6812
+5520 3 74 6812
+5523 2 75 6812
+5525 1 76 6812
+5526 2 77 6812
+5528 a 79 6812
+5532 4 80 6812
+5536 8 82 6812
+553e 6 83 6812
+5544 4 87 6812
+5548 2 88 6812
+554a 3 93 6812
+554d 3 94 6812
+5550 2 95 6812
+5552 3 96 6812
+5555 3 97 6812
+5558 3 98 6812
+555b 3 104 6812
+555e 4 105 6812
+5562 4 106 6812
+5566 2 107 6812
+5568 3 113 6812
+556b 4 114 6812
+556f 4 115 6812
+5573 7 116 6812
+557a 3 120 6812
+557d 4 121 6812
+5581 3 122 6812
+5584 2 123 6812
+5586 3 129 6812
+5589 2 130 6812
+558b 2 131 6812
+558d 3 132 6812
+5590 3 133 6812
+5593 2 134 6812
+5595 3 135 6812
+5598 f 136 6812
+55a7 3 147 6812
+55aa 4 148 6812
+55ae 4 149 6812
+55b2 4 150 6812
+55b6 4 151 6812
+55ba 4 152 6812
+55be 3 153 6812
+55c1 4 154 6812
+55c5 4 155 6812
+55c9 4 156 6812
+55cd 2 157 6812
+55cf 11 158 6812
+55e0 5 170 6812
+55e5 4 171 6812
+55e9 3 172 6812
+55ec 2 173 6812
+55ee 3 183 6812
+55f1 3 184 6812
+55f4 4 185 6812
+55f8 4 186 6812
+55fc 3 187 6812
+55ff 5 188 6812
+5604 3 194 6812
+5607 4 195 6812
+560b 2 196 6812
+560d 3 197 6812
+5610 3 204 6812
+5613 4 205 6812
+5617 7 206 6812
+561e 4 207 6812
+5622 4 208 6812
+5626 3 209 6812
+5629 4 210 6812
+562d 4 211 6812
+5631 4 212 6812
+5635 4 213 6812
+5639 2 214 6812
+563b 4 216 6812
+563f 3 221 6812
+5642 4 222 6812
+5646 a 223 6812
+5650 3 236 6812
+5653 4 237 6812
+5657 3 238 6812
+565a 2 239 6812
+565c 4 242 6812
+5660 2 243 6812
+5662 6 248 6812
+5668 3 251 6812
+566b 1 252 6812
+566c a 263 6812
+5676 4 264 6812
+567a 7 265 6812
+5681 8 266 6812
+5689 3 267 6812
+568c 3 268 6812
+568f 3 269 6812
+5692 4e 270 6812
+56e0 4 296 6812
+56e4 3 299 6812
+56e7 4 302 6812
+56eb 3 305 6812
+56ee 1 307 6812
+56ef 4 309 6812
+56f3 2 310 6812
+56f5 4 312 6812
+56f9 3 315 6812
+56fc 4 318 6812
+5700 1 319 6812
+5701 4 321 6812
+5705 3 324 6812
+5708 3 325 6812
+570b 1 326 6812
+570c 4 328 6812
+5710 3 331 6812
+5713 1 332 6812
+5714 4 334 6812
+5718 4 335 6812
+571c 1 336 6812
+571d 4 338 6812
+5721 3 339 6812
+5724 1 340 6812
+5725 4 342 6812
+5729 1 343 6812
+FUNC 572c 55 0 abort
+572c 4 55 2325
+5730 5 72 2325
+5735 5 73 2325
+573a a 75 2325
+5744 9 82 2325
+574d e 87 2325
+575b 7 88 2325
+5762 14 90 2325
+5776 b 100 2325
+FUNC 5784 d3 0 realloc
+5784 15 62 1111
+5799 5 67 1111
+579e a 68 1111
+57a8 5 71 1111
+57ad 5 73 1111
+57b2 2 74 1111
+57b4 6 81 1111
+57ba 24 85 1111
+57de d 94 1111
+57eb c 109 1111
+57f7 6 81 1111
+57fd 8 89 1111
+5805 b 90 1111
+5810 2 91 1111
+5812 10 117 1111
+5822 17 111 1111
+5839 2 112 1111
+583b 17 103 1111
+5852 5 105 1111
+FUNC 5858 9a 0 calloc_impl
+5858 10 21 566
+5868 5 26 566
+586d 1d 28 566
+588a 4 30 566
+588e c 34 566
+589a 2 39 566
+589c 6 41 566
+58a2 13 44 566
+58b5 e 47 566
+58c3 c 59 566
+58cf 5 61 566
+58d4 6 62 566
+58da 2 63 566
+58dc 5 52 566
+58e1 6 53 566
+58e7 b 69 566
+FUNC 58f4 10a 0 _free_lconv_mon
+58f4 0 270 3335
+58f4 e 271 3335
+5902 3 270 3335
+5905 d 274 3335
+5912 5 275 3335
+5917 d 277 3335
+5924 5 278 3335
+5929 d 280 3335
+5936 5 281 3335
+593b d 283 3335
+5948 5 284 3335
+594d d 286 3335
+595a 5 287 3335
+595f d 289 3335
+596c 5 290 3335
+5971 d 292 3335
+597e 5 293 3335
+5983 d 295 3335
+5990 5 296 3335
+5995 d 298 3335
+59a2 5 299 3335
+59a7 d 301 3335
+59b4 5 302 3335
+59b9 10 304 3335
+59c9 5 305 3335
+59ce 10 307 3335
+59de 5 308 3335
+59e3 10 310 3335
+59f3 5 311 3335
+59f8 6 312 3335
+FUNC 5a00 6c 0 _free_lconv_num
+5a00 0 217 3420
+5a00 a 218 3420
+5a0a 3 217 3420
+5a0d c 221 3420
+5a19 5 222 3420
+5a1e d 224 3420
+5a2b 5 225 3420
+5a30 d 227 3420
+5a3d 5 228 3420
+5a42 d 230 3420
+5a4f 5 231 3420
+5a54 d 233 3420
+5a61 5 234 3420
+5a66 6 235 3420
+FUNC 5a6c 3fa 0 _free_lc_time
+5a6c 0 230 3520
+5a6c e 231 3520
+5a7a 3 230 3520
+5a7d 9 234 3520
+5a86 9 235 3520
+5a8f 9 236 3520
+5a98 9 237 3520
+5aa1 9 238 3520
+5aaa 9 239 3520
+5ab3 8 240 3520
+5abb 9 242 3520
+5ac4 9 243 3520
+5acd 9 244 3520
+5ad6 9 245 3520
+5adf 9 246 3520
+5ae8 9 247 3520
+5af1 9 248 3520
+5afa 9 250 3520
+5b03 9 251 3520
+5b0c c 252 3520
+5b18 c 253 3520
+5b24 c 254 3520
+5b30 c 255 3520
+5b3c c 256 3520
+5b48 c 257 3520
+5b54 c 258 3520
+5b60 c 259 3520
+5b6c c 260 3520
+5b78 c 261 3520
+5b84 c 263 3520
+5b90 c 264 3520
+5b9c c 265 3520
+5ba8 c 266 3520
+5bb4 c 267 3520
+5bc0 c 268 3520
+5bcc c 269 3520
+5bd8 c 270 3520
+5be4 c 271 3520
+5bf0 c 272 3520
+5bfc c 273 3520
+5c08 c 274 3520
+5c14 c 276 3520
+5c20 c 277 3520
+5c2c c 279 3520
+5c38 c 280 3520
+5c44 c 281 3520
+5c50 c 284 3520
+5c5c c 285 3520
+5c68 c 286 3520
+5c74 c 287 3520
+5c80 c 288 3520
+5c8c c 289 3520
+5c98 c 290 3520
+5ca4 c 292 3520
+5cb0 c 293 3520
+5cbc c 294 3520
+5cc8 c 295 3520
+5cd4 c 296 3520
+5ce0 c 297 3520
+5cec c 298 3520
+5cf8 c 300 3520
+5d04 c 301 3520
+5d10 c 302 3520
+5d1c c 303 3520
+5d28 c 304 3520
+5d34 c 305 3520
+5d40 c 306 3520
+5d4c c 307 3520
+5d58 c 308 3520
+5d64 c 309 3520
+5d70 c 310 3520
+5d7c c 311 3520
+5d88 c 313 3520
+5d94 c 314 3520
+5da0 c 315 3520
+5dac c 316 3520
+5db8 c 317 3520
+5dc4 c 318 3520
+5dd0 c 319 3520
+5ddc c 320 3520
+5de8 c 321 3520
+5df4 c 322 3520
+5e00 c 323 3520
+5e0c c 324 3520
+5e18 c 326 3520
+5e24 c 327 3520
+5e30 c 329 3520
+5e3c c 330 3520
+5e48 c 331 3520
+5e54 c 333 3520
+5e60 6 336 3520
+FUNC 5e68 2ec 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, const wchar_t *, unsigned long, const char *, int, char *, int, int, int)
+5e68 2d 96 8449
+5e95 13 101 8449
+5ea8 21 102 8449
+5ec9 2 106 8449
+5ecb 5 107 8449
+5ed0 2 109 8449
+5ed2 b 133 8449
+5edd 7 134 8449
+5ee4 2c 145 8449
+5f10 7 146 8449
+5f17 7c 149 8449
+5f93 9 150 8449
+5f9c 26 160 8449
+5fc2 29 169 8449
+5feb b 172 8449
+5ff6 b 175 8449
+6001 8 177 8449
+6009 1e 186 8449
+6027 5 190 8449
+602c 7d 196 8449
+60a9 5 197 8449
+60ae 20 207 8449
+60ce 3 210 8449
+60d1 1f 220 8449
+60f0 2 223 8449
+60f2 18 233 8449
+610a 11 240 8449
+611b 11 242 8449
+612c 2 244 8449
+612e 26 245 8449
+FUNC 6154 96 0 _crtLCMapStringA
+6154 12 258 8449
+6166 13 259 8449
+6179 5f 271 8449
+61d8 12 272 8449
+FUNC 61ec 176 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int)
+61ec 2d 60 8545
+6219 14 80 8545
+622d 7 81 8545
+6234 23 92 8545
+6257 7 93 8545
+625e 7c 96 8545
+62da 9 97 8545
+62e3 10 100 8545
+62f3 21 108 8545
+6314 15 113 8545
+6329 11 115 8545
+633a 2 117 8545
+633c 26 118 8545
+FUNC 6364 7c 0 _crtGetStringTypeA
+6364 11 129 8545
+6375 13 130 8545
+6388 48 140 8545
+63d0 10 141 8545
+FUNC 63e0 39 0 msize
+63e0 4 39 1027
+63e4 19 43 1027
+63fd 5 50 1027
+6402 c 46 1027
+640e 4 50 1027
+6412 7 46 1027
+FUNC 641c a 0 fptrap
+641c 0 46 9698
+641c a 47 9698
+FUNC 6428 8a 0 GetTableIndexFromLocaleName
+6428 1c 52 4248
+6444 2 54 4248
+6446 c 55 4248
+6452 3 59 4248
+6455 20 60 4248
+6475 4 62 4248
+6479 2 65 4248
+647b 3 66 4248
+647e 2 67 4248
+6480 3 68 4248
+6483 4 57 4248
+6487 5 71 4248
+648c b 63 4248
+6497 1b 72 4248
+FUNC 64b4 32 0 _crtDownlevelLocaleNameToLCID
+64b4 4 107 4248
+64b8 5 110 4248
+64bd 5 113 4248
+64c2 e 115 4248
+64d0 f 118 4248
+64df 2 116 4248
+64e1 5 119 4248
+FUNC 64e8 8f 0 _crtLCMapStringEx
+64e8 10 325 4248
+64f8 18 327 4248
+6510 2a 329 4248
+653a 2d 333 4248
+6567 10 334 4248
+FUNC 6578 55 0 _wcsnicmp_ascii
+6578 0 28 4248
+6578 9 30 4248
+6581 5 32 4248
+6586 3 40 4248
+6589 12 36 4248
+659b 11 37 4248
+65ac 4 39 4248
+65b0 f 40 4248
+65bf a 42 4248
+65c9 3 45 4248
+65cc 1 46 4248
+FUNC 65e0 565 0 memcpy
+65e0 0 101 6808
+65e0 3 107 6808
+65e3 3 108 6808
+65e6 4 109 6808
+65ea 6 110 6808
+65f0 3 111 6808
+65f3 2 112 6808
+65f5 3 113 6808
+65f8 3 114 6808
+65fb 3 115 6808
+65fe 6 116 6808
+6604 8 119 6808
+660c 2 120 6808
+660e 1 123 6808
+660f 1 124 6808
+6610 3 125 6808
+6613 3 126 6808
+6616 3 127 6808
+6619 2 128 6808
+661b 1 129 6808
+661c 1 130 6808
+661d 3 131 6808
+6620 1 132 6808
+6621 8 135 6808
+6629 6 136 6808
+662f 3 142 6808
+6632 2 143 6808
+6634 3 144 6808
+6637 2 145 6808
+6639 3 146 6808
+663c 3 147 6808
+663f 2 148 6808
+6641 3 149 6808
+6644 3 150 6808
+6647 2 151 6808
+6649 4 152 6808
+664d 4 153 6808
+6651 3 154 6808
+6654 4 155 6808
+6658 3 156 6808
+665b 2 157 6808
+665d 3 158 6808
+6660 4 159 6808
+6664 2 160 6808
+6666 4 161 6808
+666a 3 167 6808
+666d 4 168 6808
+6671 6 169 6808
+6677 3 175 6808
+667a 4 176 6808
+667e 2 177 6808
+6680 4 178 6808
+6684 3 179 6808
+6687 4 180 6808
+668b 3 181 6808
+668e 2 182 6808
+6690 4 183 6808
+6694 3 189 6808
+6697 2 190 6808
+6699 3 191 6808
+669c 4 192 6808
+66a0 4 200 6808
+66a4 3 201 6808
+66a7 2 202 6808
+66a9 3 205 6808
+66ac 7 207 6808
+66b3 8 208 6808
+66bb 3 209 6808
+66be 46 210 6808
+6704 3 232 6808
+6707 1 233 6808
+6708 4 236 6808
+670c 3 237 6808
+670f 3 238 6808
+6712 1 239 6808
+6713 4 241 6808
+6717 4 242 6808
+671b 3 243 6808
+671e 1 244 6808
+671f 4 246 6808
+6723 5 247 6808
+6728 3 248 6808
+672b 5 249 6808
+6730 3 250 6808
+6733 1 251 6808
+6734 2 253 6808
+6736 3 254 6808
+6739 3 255 6808
+673c 1 256 6808
+673d 4 258 6808
+6741 3 259 6808
+6744 3 260 6808
+6747 4 261 6808
+674b 3 262 6808
+674e 1 263 6808
+674f 4 265 6808
+6753 3 266 6808
+6756 4 267 6808
+675a 4 268 6808
+675e 3 269 6808
+6761 1 270 6808
+6762 4 272 6808
+6766 5 273 6808
+676b 3 274 6808
+676e 3 275 6808
+6771 5 276 6808
+6776 4 277 6808
+677a 3 278 6808
+677d 1 279 6808
+677e 3 281 6808
+6781 3 282 6808
+6784 3 283 6808
+6787 1 284 6808
+6788 4 286 6808
+678c 4 287 6808
+6790 3 288 6808
+6793 4 289 6808
+6797 3 290 6808
+679a 1 291 6808
+679b 4 293 6808
+679f 4 294 6808
+67a3 4 295 6808
+67a7 4 296 6808
+67ab 3 297 6808
+67ae 1 298 6808
+67af 4 300 6808
+67b3 5 301 6808
+67b8 4 302 6808
+67bc 3 303 6808
+67bf 5 304 6808
+67c4 4 305 6808
+67c8 3 306 6808
+67cb 1 307 6808
+67cc 2 309 6808
+67ce 4 310 6808
+67d2 3 311 6808
+67d5 4 312 6808
+67d9 3 313 6808
+67dc 1 314 6808
+67dd 4 316 6808
+67e1 3 317 6808
+67e4 4 318 6808
+67e8 3 319 6808
+67eb 4 320 6808
+67ef 4 321 6808
+67f3 3 322 6808
+67f6 1 323 6808
+67f7 4 325 6808
+67fb 3 326 6808
+67fe 4 327 6808
+6802 4 328 6808
+6806 4 329 6808
+680a 4 330 6808
+680e 3 331 6808
+6811 1 332 6808
+6812 4 334 6808
+6816 5 335 6808
+681b 3 336 6808
+681e 4 337 6808
+6822 3 338 6808
+6825 5 339 6808
+682a 4 340 6808
+682e 4 341 6808
+6832 3 342 6808
+6835 1 343 6808
+6836 4 345 6808
+683a 5 346 6808
+683f 3 347 6808
+6842 e 348 6808
+6850 4 356 6808
+6854 5 357 6808
+6859 4 358 6808
+685d 4 359 6808
+6861 4 360 6808
+6865 5 361 6808
+686a 5 362 6808
+686f 3 363 6808
+6872 4 364 6808
+6876 4 365 6808
+687a 2 366 6808
+687c 4 367 6808
+6880 5 368 6808
+6885 4 381 6808
+6889 6 382 6808
+688f 3 406 6808
+6892 2 407 6808
+6894 4 411 6808
+6898 4 412 6808
+689c 4 413 6808
+68a0 2 414 6808
+68a2 4 419 6808
+68a6 4 420 6808
+68aa 3 421 6808
+68ad 5 422 6808
+68b2 4 423 6808
+68b6 3 424 6808
+68b9 3 425 6808
+68bc 3 426 6808
+68bf 3 431 6808
+68c2 4 432 6808
+68c6 2 433 6808
+68c8 4 434 6808
+68cc 4 435 6808
+68d0 4 452 6808
+68d4 4 453 6808
+68d8 4 455 6808
+68dc 5 456 6808
+68e1 7 457 6808
+68e8 4 458 6808
+68ec 4 459 6808
+68f0 5 460 6808
+68f5 5 461 6808
+68fa 3 462 6808
+68fd 4 463 6808
+6901 4 464 6808
+6905 5 465 6808
+690a 5 466 6808
+690f 4 467 6808
+6913 4 468 6808
+6917 5 469 6808
+691c 5 470 6808
+6921 2 471 6808
+6923 4 473 6808
+6927 4 474 6808
+692b 3 475 6808
+692e 3 480 6808
+6931 4 481 6808
+6935 b 482 6808
+6940 4 487 6808
+6944 4 489 6808
+6948 4 490 6808
+694c 3 491 6808
+694f 2 492 6808
+6951 4 495 6808
+6955 2 496 6808
+6957 4 505 6808
+695b 5 506 6808
+6960 4 507 6808
+6964 4 511 6808
+6968 3 512 6808
+696b 5 513 6808
+6970 4 538 6808
+6974 5 539 6808
+6979 4 540 6808
+697d 4 541 6808
+6981 3 542 6808
+6984 3 543 6808
+6987 13 544 6808
+699a 8 557 6808
+69a2 6 558 6808
+69a8 3 559 6808
+69ab 3 565 6808
+69ae 2 566 6808
+69b0 3 567 6808
+69b3 2 568 6808
+69b5 3 569 6808
+69b8 3 570 6808
+69bb 3 571 6808
+69be 2 572 6808
+69c0 3 573 6808
+69c3 2 574 6808
+69c5 4 575 6808
+69c9 4 576 6808
+69cd 4 577 6808
+69d1 3 578 6808
+69d4 3 579 6808
+69d7 2 580 6808
+69d9 4 581 6808
+69dd 3 582 6808
+69e0 4 583 6808
+69e4 2 584 6808
+69e6 3 590 6808
+69e9 4 591 6808
+69ed 2 592 6808
+69ef 3 598 6808
+69f2 4 599 6808
+69f6 2 600 6808
+69f8 4 601 6808
+69fc 4 602 6808
+6a00 3 603 6808
+6a03 3 604 6808
+6a06 2 605 6808
+6a08 4 606 6808
+6a0c 3 612 6808
+6a0f 2 613 6808
+6a11 3 614 6808
+6a14 c 615 6808
+6a20 3 623 6808
+6a23 3 624 6808
+6a26 4 625 6808
+6a2a 6 626 6808
+6a30 5 634 6808
+6a35 5 635 6808
+6a3a 4 636 6808
+6a3e 4 637 6808
+6a42 4 638 6808
+6a46 5 639 6808
+6a4b 4 640 6808
+6a4f 3 641 6808
+6a52 4 642 6808
+6a56 3 643 6808
+6a59 2 644 6808
+6a5b 4 645 6808
+6a5f 2 646 6808
+6a61 4 661 6808
+6a65 6 662 6808
+6a6b 3 663 6808
+6a6e 3 684 6808
+6a71 2 685 6808
+6a73 4 689 6808
+6a77 4 690 6808
+6a7b 4 691 6808
+6a7f 2 692 6808
+6a81 4 697 6808
+6a85 4 698 6808
+6a89 3 699 6808
+6a8c 3 700 6808
+6a8f 4 701 6808
+6a93 3 702 6808
+6a96 3 703 6808
+6a99 3 704 6808
+6a9c 3 710 6808
+6a9f 4 711 6808
+6aa3 2 712 6808
+6aa5 3 713 6808
+6aa8 8 714 6808
+6ab0 4 721 6808
+6ab4 3 722 6808
+6ab7 5 724 6808
+6abc 5 725 6808
+6ac1 7 726 6808
+6ac8 4 727 6808
+6acc 4 728 6808
+6ad0 5 729 6808
+6ad5 5 730 6808
+6ada 3 731 6808
+6add 4 732 6808
+6ae1 4 733 6808
+6ae5 5 734 6808
+6aea 5 735 6808
+6aef 4 736 6808
+6af3 4 737 6808
+6af7 5 738 6808
+6afc 4 739 6808
+6b00 2 740 6808
+6b02 4 742 6808
+6b06 4 743 6808
+6b0a 3 744 6808
+6b0d 3 749 6808
+6b10 4 750 6808
+6b14 c 751 6808
+6b20 3 756 6808
+6b23 4 758 6808
+6b27 4 759 6808
+6b2b 3 760 6808
+6b2e 2 761 6808
+6b30 4 764 6808
+6b34 2 765 6808
+6b36 4 775 6808
+6b3a 4 776 6808
+6b3e 3 779 6808
+6b41 3 780 6808
+6b44 1 781 6808
+FUNC 6b48 26 0 fileno
+6b48 4 40 5093
+6b4c 1a 41 5093
+6b66 3 42 5093
+6b69 5 43 5093
+FUNC 6b70 5f 0 isatty
+6b70 4 37 1677
+6b74 12 39 1677
+6b86 c 40 1677
+6b92 26 43 1677
+6bb8 12 40 1677
+6bca 5 44 1677
+FUNC 6bd0 4c 0 fflush_nolock
+6bd0 9 97 5660
+6bd9 5 101 5660
+6bde 5 116 5660
+6be3 5 102 5660
+6be8 9 104 5660
+6bf1 5 106 5660
+6bf6 9 111 5660
+6bff 15 112 5660
+6c14 2 115 5660
+6c16 6 116 5660
+FUNC 6c1c 79 0 flush
+6c1c f 142 5660
+6c2b 20 152 5660
+6c4b 17 154 5660
+6c62 7 158 5660
+6c69 6 159 5660
+6c6f 2 161 5660
+6c71 4 162 5660
+6c75 3 163 5660
+6c78 4 167 5660
+6c7c 4 168 5660
+6c80 2 170 5660
+6c82 13 171 5660
+FUNC 6c98 a 0 flushall
+6c98 0 193 5660
+6c98 a 194 5660
+FUNC 6ca4 e6 0 static int flsall(int)
+6ca4 1c 228 5660
+6cc0 2 230 5660
+6cc2 2 231 5660
+6cc4 9 233 5660
+6ccd 12 235 5660
+6cdf 19 236 5660
+6cf8 8 243 5660
+6d00 11 251 5660
+6d11 6 252 5660
+6d17 a 258 5660
+6d21 6 262 5660
+6d27 2 264 5660
+6d29 b 265 5660
+6d34 10 271 5660
+6d44 12 277 5660
+6d56 7 235 5660
+6d5d a 283 5660
+6d67 9 286 5660
+6d70 1a 290 5660
+FUNC 6d8c a8 0 fcloseall
+6d8c f 43 5472
+6d9b 2 44 5472
+6d9d 9 47 5472
+6da6 f 49 5472
+6db5 13 50 5472
+6dc8 10 55 5472
+6dd8 6 56 5472
+6dde 5 61 5472
+6de3 15 62 5472
+6df8 10 63 5472
+6e08 c 64 5472
+6e14 4 49 5472
+6e18 a 70 5472
+6e22 2 73 5472
+6e24 10 74 5472
+FUNC 6e34 49 0 _raise_securityfailure
+6e34 9 64 2878
+6e3d 6 66 2878
+6e43 10 67 2878
+6e53 8 70 2878
+6e5b 9 79 2878
+6e64 a 81 2878
+6e6e 5 85 2878
+6e73 5 86 2878
+6e78 5 85 2878
+FUNC 6e80 d1 0 _report_gsfailure
+6e80 9 129 2878
+6e89 e 149 2878
+6e97 7 151 2878
+6e9e c 210 2878
+6eaa c 212 2878
+6eb6 10 213 2878
+6ec6 e 214 2878
+6ed4 c 215 2878
+6ee0 a 218 2878
+6eea a 219 2878
+6ef4 a 220 2878
+6efe 18 221 2878
+6f16 15 228 2878
+6f2b 15 229 2878
+6f40 c 236 2878
+6f4c 5 241 2878
+FUNC 6f54 1a4 0 _isa_available_init
+6f54 14 63 5837
+6f68 1f 75 5837
+6f87 23 81 5837
+6faa 3a 88 5837
+6fe4 40 100 5837
+7024 1b 102 5837
+703f 15 106 5837
+7054 b 109 5837
+705f 9 113 5837
+7068 11 114 5837
+7079 6 118 5837
+707f b 120 5837
+708a 7 127 5837
+7091 a 129 5837
+709b a 130 5837
+70a5 e 134 5837
+70b3 a 135 5837
+70bd a 136 5837
+70c7 6 139 5837
+70cd a 140 5837
+70d7 a 141 5837
+70e1 17 147 5837
+FUNC 70f8 47 0 locterm
+70f8 6 186 4530
+70fe 10 187 4530
+710e b 188 4530
+7119 16 191 4530
+712f a 195 4530
+7139 6 198 4530
+FUNC 7150 4e 0 _chkstk
+7150 0 67 9872
+7150 4 71 9872
+7154 4 83 9872
+7158 5 84 9872
+715d 3 86 9872
+7160 5 87 9872
+7165 3 88 9872
+7168 4 89 9872
+716c 9 97 9872
+7175 3 98 9872
+7178 2 99 9872
+717a 6 107 9872
+7180 7 108 9872
+7187 4 109 9872
+718b 3 110 9872
+718e 2 111 9872
+7190 4 112 9872
+7194 5 113 9872
+7199 4 114 9872
+719d 1 115 9872
+FUNC 71a0 d7 0 commit
+71a0 14 39 1490
+71b4 15 43 1490
+71c9 10 44 1490
+71d9 26 45 1490
+71ff 8 47 1490
+7207 b 49 1490
+7212 14 51 1490
+7226 8 52 1490
+722e 2 54 1490
+7230 2 55 1490
+7232 4 59 1490
+7236 7 62 1490
+723d b 66 1490
+7248 3 67 1490
+724b 7 73 1490
+7252 4 75 1490
+7256 13 44 1490
+7269 e 76 1490
+FUNC 7278 e1 0 write
+7278 1e 61 1964
+7296 1d 65 1964
+72b3 c 66 1964
+72bf 27 67 1964
+72e6 8 69 1964
+72ee c 72 1964
+72fa f 73 1964
+7309 2 74 1964
+730b b 75 1964
+7316 8 76 1964
+731e 3 77 1964
+7321 7 82 1964
+7328 4 85 1964
+732c 1b 66 1964
+7347 12 86 1964
+FUNC 735c 7f1 0 write_nolock
+735c 36 94 1964
+7392 11 95 1964
+73a3 3 96 1964
+73a6 3 98 1964
+73a9 5 105 1964
+73ae 7 106 1964
+73b5 25 108 1964
+73da 3a 110 1964
+7414 14 116 1964
+7428 8 119 1964
+7430 d 122 1964
+743d 2b 137 1964
+7468 5 140 1964
+746d 36 142 1964
+74a3 19 146 1964
+74bc 6 147 1964
+74c2 1e 154 1964
+74e0 3 155 1964
+74e3 9 157 1964
+74ec 2 158 1964
+74ee 29 170 1964
+7517 5 176 1964
+751c 8 177 1964
+7524 5 179 1964
+7529 b 181 1964
+7534 2 184 1964
+7536 c 185 1964
+7542 13 186 1964
+7555 1c 188 1964
+7571 3 194 1964
+7574 2 206 1964
+7576 1c 208 1964
+7592 43 233 1964
+75d5 3b 240 1964
+7610 b 248 1964
+761b b 249 1964
+7626 a 257 1964
+7630 40 264 1964
+7670 b 265 1964
+767b 4 267 1964
+767f 9 273 1964
+7688 10 293 1964
+7698 3 219 1964
+769b 12 220 1964
+76ad d 221 1964
+76ba f 277 1964
+76c9 3 279 1964
+76cc 5 286 1964
+76d1 5 289 1964
+76d6 16 290 1964
+76ec 2 292 1964
+76ee 9 293 1964
+76f7 11 154 1964
+7708 12 197 1964
+771a 2 203 1964
+771c 17 204 1964
+7733 8 270 1964
+773b 2 271 1964
+773d 16 252 1964
+7753 8 480 1964
+775b a 484 1964
+7765 9 486 1964
+776e b 489 1964
+7779 7 490 1964
+7780 13 492 1964
+7793 17 305 1964
+77aa 2 308 1964
+77ac 9 310 1964
+77b5 3 314 1964
+77b8 17 315 1964
+77cf a 316 1964
+77d9 b 320 1964
+77e4 7 321 1964
+77eb 4 322 1964
+77ef b 324 1964
+77fa 11 326 1964
+780b 46 334 1964
+7851 4 336 1964
+7855 18 337 1964
+786d 1b 315 1964
+7888 5 456 1964
+788d 4 345 1964
+7891 9 348 1964
+789a 17 351 1964
+78b1 a 352 1964
+78bb b 356 1964
+78c6 9 357 1964
+78cf 6 358 1964
+78d5 f 360 1964
+78e4 14 362 1964
+78f8 46 370 1964
+793e 4 372 1964
+7942 18 373 1964
+795a 1b 351 1964
+7975 5 456 1964
+797a 13 396 1964
+798d 7 398 1964
+7994 b 402 1964
+799f 9 403 1964
+79a8 6 404 1964
+79ae c 406 1964
+79ba 14 408 1964
+79ce 44 419 1964
+7a12 8 421 1964
+7a1a 42 443 1964
+7a5c 4 444 1964
+7a60 7 449 1964
+7a67 8 446 1964
+7a6f 9 456 1964
+7a78 15 460 1964
+7a8d 5 456 1964
+7a92 1f 471 1964
+7ab1 4 474 1964
+7ab5 7 476 1964
+7abc 1e 477 1964
+7ada 7 493 1964
+7ae1 a 494 1964
+7aeb 1d 496 1964
+7b08 b 499 1964
+7b13 7 500 1964
+7b1a 5 501 1964
+7b1f 4 506 1964
+7b23 2a 507 1964
+FUNC 7b50 7a 0 fclose_nolock
+7b50 a 85 5556
+7b5a 6 87 5556
+7b60 19 89 5556
+7b79 6 94 5556
+7b7f 5 103 5556
+7b84 a 104 5556
+7b8e 13 106 5556
+7ba1 5 107 5556
+7ba6 9 109 5556
+7baf 5 118 5556
+7bb4 5 119 5556
+7bb9 4 124 5556
+7bbd 2 125 5556
+7bbf b 126 5556
+FUNC 7bcc 66 0 fclose
+7bcc 12 43 5556
+7bde 3 44 5556
+7be1 20 46 5556
+7c01 6 49 5556
+7c07 4 50 5556
+7c0b 2 53 5556
+7c0d 6 54 5556
+7c13 a 56 5556
+7c1d 8 59 5556
+7c25 2 63 5556
+7c27 b 64 5556
+FUNC 7c34 db 0 isctype_l
+7c34 16 114 7216
+7c4a c 118 7216
+7c56 a 121 7216
+7c60 11 122 7216
+7c71 1b 124 7216
+7c8c 4 126 7216
+7c90 4 127 7216
+7c94 4 128 7216
+7c98 4 129 7216
+7c9c 2 130 7216
+7c9e 4 131 7216
+7ca2 4 132 7216
+7ca6 3 133 7216
+7ca9 29 143 7216
+7cd2 14 145 7216
+7ce6 18 148 7216
+7cfe 11 149 7216
+FUNC 7d10 cf 0 _crt_atoflt_l
+7d10 20 125 7081
+7d30 10 132 7081
+7d40 30 139 7081
+7d70 5 140 7081
+7d75 8 141 7081
+7d7d f 143 7081
+7d8c 9 144 7081
+7d95 5 145 7081
+7d9a 7 147 7081
+7da1 5 150 7081
+7da6 7 151 7081
+7dad 5 152 7081
+7db2 15 155 7081
+7dc7 18 156 7081
+FUNC 7de0 c7 0 atodbl_l
+7de0 22 40 7081
+7e02 d 47 7081
+7e0f 2e 55 7081
+7e3d 11 56 7081
+7e4e 9 57 7081
+7e57 5 58 7081
+7e5c 7 60 7081
+7e63 5 63 7081
+7e68 7 64 7081
+7e6f 5 65 7081
+7e74 15 68 7081
+7e89 1e 69 7081
+FUNC 7ea8 8 0 atoflt_l
+7ea8 0 163 7081
+7ea8 8 167 7081
+FUNC 7eb0 5 0 fpmath
+7eb0 0 56 10323
+7eb0 5 64 10323
+FUNC 7eb8 86 0 cfltcvt_init
+7eb8 0 82 10323
+7eb8 15 84 10323
+7ecd 15 85 10323
+7ee2 7 86 10323
+7ee9 1c 89 10323
+7f05 e 91 10323
+7f13 e 92 10323
+7f21 e 93 10323
+7f2f e 94 10323
+7f3d 1 95 10323
+FUNC 7f50 c7 0 memcmp
+7f50 0 56 6804
+7f50 3 60 6804
+7f53 4 61 6804
+7f57 2 62 6804
+7f59 3 63 6804
+7f5c 4 64 6804
+7f60 2 72 6804
+7f62 3 73 6804
+7f65 2 74 6804
+7f67 3 75 6804
+7f6a 3 76 6804
+7f6d 3 77 6804
+7f70 2 78 6804
+7f72 3 84 6804
+7f75 4 85 6804
+7f79 2 86 6804
+7f7b 3 92 6804
+7f7e 2 93 6804
+7f80 2 94 6804
+7f82 3 95 6804
+7f85 2 96 6804
+7f87 3 97 6804
+7f8a 3 98 6804
+7f8d 2 99 6804
+7f8f 3 106 6804
+7f92 1 107 6804
+7f93 2 114 6804
+7f95 3 115 6804
+7f98 2 116 6804
+7f9a 4 124 6804
+7f9e 2 125 6804
+7fa0 3 126 6804
+7fa3 4 127 6804
+7fa7 2 128 6804
+7fa9 4 129 6804
+7fad 5 130 6804
+7fb2 2 131 6804
+7fb4 4 132 6804
+7fb8 5 133 6804
+7fbd 2 134 6804
+7fbf 4 135 6804
+7fc3 5 136 6804
+7fc8 2 137 6804
+7fca 4 138 6804
+7fce 3 139 6804
+7fd1 2 140 6804
+7fd3 4 141 6804
+7fd7 3 147 6804
+7fda 4 148 6804
+7fde 2 149 6804
+7fe0 3 150 6804
+7fe3 4 151 6804
+7fe7 2 152 6804
+7fe9 4 153 6804
+7fed 3 154 6804
+7ff0 2 155 6804
+7ff2 4 156 6804
+7ff6 2 157 6804
+7ff8 4 164 6804
+7ffc 4 167 6804
+8000 4 170 6804
+8004 4 173 6804
+8008 3 174 6804
+800b 3 175 6804
+800e 3 176 6804
+8011 2 177 6804
+8013 3 178 6804
+8016 1 179 6804
+FUNC 8018 98 0 _lock_fhandle
+8018 15 436 1865
+802d 1c 437 1865
+8049 7 443 1865
+8050 b 445 1865
+805b 7 447 1865
+8062 14 448 1865
+8076 4 449 1865
+807a a 452 1865
+8084 11 458 1865
+8095 5 461 1865
+809a 16 462 1865
+FUNC 80b0 aa 0 free_osfhnd
+80b0 10 257 1865
+80c0 36 260 1865
+80f6 9 263 1865
+80ff c 264 1865
+810b 5 272 1865
+8110 2 273 1865
+8112 5 269 1865
+8117 2 270 1865
+8119 d 266 1865
+8126 9 277 1865
+812f 4 278 1865
+8133 b 280 1865
+813e 8 281 1865
+8146 3 282 1865
+8149 11 284 1865
+FUNC 815c 74 0 get_osfhandle
+815c 4 307 1865
+8160 1a 308 1865
+817a c 309 1865
+8186 23 310 1865
+81a9 6 312 1865
+81af 1c 309 1865
+81cb 5 313 1865
+FUNC 81d0 2a 0 unlock_fhandle
+81d0 0 483 1865
+81d0 2a 484 1865
+FUNC 81fc 43 0 isleadbyte_l
+81fc 8 55 6940
+8204 a 56 6940
+820e 2b 57 6940
+8239 6 58 6940
+FUNC 8240 45 0 isleadbyte
+8240 8 63 6940
+8248 37 64 6940
+827f 6 65 6940
+FUNC 8288 93 0 lseeki64_nolock
+8288 18 106 1769
+82a0 d 116 1769
+82ad b 118 1769
+82b8 6 120 1769
+82be 18 126 1769
+82d6 d 128 1769
+82e3 2 129 1769
+82e5 21 132 1769
+8306 5 133 1769
+830b 10 134 1769
+FUNC 831c 151 0 mbtowc_l
+831c 19 55 7310
+8335 16 56 7310
+834b 5 61 7310
+8350 5 64 7310
+8355 4 65 7310
+8359 2 59 7310
+835b 1b 116 7310
+8376 d 70 7310
+8383 e 73 7310
+8391 5 75 7310
+8396 10 76 7310
+83a6 d 80 7310
+83b3 49 90 7310
+83fc 12 93 7310
+840e 8 99 7310
+8416 2f 108 7310
+8445 5 110 7310
+844a 9 111 7310
+8453 1a 113 7310
+FUNC 8470 8 0 mbtowc
+8470 0 123 7310
+8470 8 124 7310
+FUNC 8478 59 0 putwch_nolock
+8478 9 84 2149
+8481 d 87 2149
+848e c 88 2149
+849a 6 90 2149
+84a0 7 91 2149
+84a7 20 99 2149
+84c7 5 104 2149
+84cc 5 105 2149
+FUNC 84d4 c3 0 close
+84d4 14 41 1396
+84e8 1d 45 1396
+8505 c 46 1396
+8511 26 47 1396
+8537 8 49 1396
+853f b 52 1396
+854a 9 53 1396
+8553 2 54 1396
+8555 b 55 1396
+8560 3 56 1396
+8563 7 61 1396
+856a 4 64 1396
+856e 1b 46 1396
+8589 e 65 1396
+FUNC 8598 ba 0 close_nolock
+8598 d 71 1396
+85a5 5c 92 1396
+8601 a 98 1396
+860b 2 95 1396
+860d 7 100 1396
+8614 21 102 1396
+8635 4 104 1396
+8639 7 106 1396
+8640 5 107 1396
+8645 2 110 1396
+8647 b 111 1396
+FUNC 8654 37 0 freebuf
+8654 6 45 5276
+865a f 48 5276
+8669 9 50 5276
+8672 7 52 5276
+8679 9 53 5276
+8682 3 54 5276
+8685 6 56 5276
+FUNC 8690 5b6 0 ld12tod
+8690 2d 598 10306
+86bd 33 599 10306
+86f0 4 598 10306
+86f4 528 599 10306
+8c1c 2a 600 10306
+FUNC 8c48 5b6 0 ld12tof
+8c48 2d 618 10306
+8c75 33 619 10306
+8ca8 4 618 10306
+8cac 528 619 10306
+91d4 2a 620 10306
+FUNC 9200 861 0 _strgtold12_l
+9200 2a 80 10127
+922a 51 126 10127
+927b 22 129 10127
+929d 6 132 10127
+92a3 3e 133 10127
+92e1 6 238 10127
+92e7 e 241 10127
+92f5 2 240 10127
+92f7 3 241 10127
+92fa 6 242 10127
+9300 6 241 10127
+9306 5 244 10127
+930b 6 245 10127
+9311 b 247 10127
+931c 3 248 10127
+931f 11 244 10127
+9330 1a 251 10127
+934a 5 256 10127
+934f 5 257 10127
+9354 3 260 10127
+9357 5 261 10127
+935c 5 267 10127
+9361 6 207 10127
+9367 c 208 10127
+9373 6 209 10127
+9379 b 211 10127
+9384 2 212 10127
+9386 3 213 10127
+9389 a 208 10127
+9393 11 216 10127
+93a4 5 217 10127
+93a9 5 218 10127
+93ae 7 190 10127
+93b5 5 191 10127
+93ba e 192 10127
+93c8 11 193 10127
+93d9 5 194 10127
+93de b 195 10127
+93e9 9 196 10127
+93f2 9 198 10127
+93fb 5 205 10127
+9400 10 162 10127
+9410 4 163 10127
+9414 2 164 10127
+9416 20 165 10127
+9436 5 168 10127
+943b 5 177 10127
+9440 b 135 10127
+944b 15 138 10127
+9460 f 141 10127
+946f 6 155 10127
+9475 8 265 10127
+947d 5 150 10127
+9482 7 151 10127
+9489 5 152 10127
+948e 5 146 10127
+9493 4 147 10127
+9497 5 159 10127
+949c 10 270 10127
+94ac 5 271 10127
+94b1 5 273 10127
+94b6 2a 133 10127
+94e0 5 345 10127
+94e5 4 346 10127
+94e9 e 347 10127
+94f7 9 350 10127
+9500 5 351 10127
+9505 5 353 10127
+950a 5 359 10127
+950f b 302 10127
+951a b 303 10127
+9525 c 304 10127
+9531 5 305 10127
+9536 5 307 10127
+953b 7 313 10127
+9542 5 314 10127
+9547 5 316 10127
+954c 9 317 10127
+9555 5 319 10127
+955a 5 326 10127
+955f b 280 10127
+956a a 284 10127
+9574 2 287 10127
+9576 5 293 10127
+957b a 131 10127
+9585 3 275 10127
+9588 2 277 10127
+958a 6 328 10127
+9590 d 331 10127
+959d 10 332 10127
+95ad 9 333 10127
+95b6 b 331 10127
+95c1 2 333 10127
+95c3 8 334 10127
+95cb 14 340 10127
+95df 5 343 10127
+95e4 9 297 10127
+95ed 7 367 10127
+95f4 9 373 10127
+95fd 6 374 10127
+9603 7 375 10127
+960a 6 380 10127
+9610 9 383 10127
+9619 3 384 10127
+961c 5 386 10127
+9621 3 424 10127
+9624 7 425 10127
+962b 5 429 10127
+9630 3 392 10127
+9633 3 393 10127
+9636 8 390 10127
+963e 10 395 10127
+964e 5 397 10127
+9653 3 398 10127
+9656 3 399 10127
+9659 5 402 10127
+965e 4 403 10127
+9662 5 405 10127
+9667 4 406 10127
+966b d 410 10127
+9678 d 412 10127
+9685 353 415 10127
+99d8 10 420 10127
+99e8 2 422 10127
+99ea 2 443 10127
+99ec 7 444 10127
+99f3 7 445 10127
+99fa 2 438 10127
+99fc 8 439 10127
+9a04 c 440 10127
+9a10 3 431 10127
+9a13 7 432 10127
+9a1a 5 433 10127
+9a1f 4 452 10127
+9a23 9 455 10127
+9a2c e 457 10127
+9a3a 27 458 10127
+FUNC 9a64 24 0 cfltcvt
+9a64 4 913 9904
+9a68 1b 914 9904
+9a83 5 915 9904
+FUNC 9a88 7e 0 cfltcvt_l
+9a88 13 897 9904
+9a9b 6 902 9904
+9aa1 1a 903 9904
+9abb 23 907 9904
+9ade 5 905 9904
+9ae3 2 906 9904
+9ae5 1c 901 9904
+9b01 5 910 9904
+FUNC 9b08 3b0 0 cftoa_l
+9b08 1f 415 9904
+9b27 2a 426 9904
+9b51 9 428 9904
+9b5a 11 432 9904
+9b6b 5 433 9904
+9b70 27 441 9904
+9b97 18 444 9904
+9baf 25 447 9904
+9bd4 3 448 9904
+9bd7 2 447 9904
+9bd9 4 448 9904
+9bdd 8 451 9904
+9be5 b 456 9904
+9bf0 6 458 9904
+9bf6 a 461 9904
+9c00 5 463 9904
+9c05 16 461 9904
+9c1b 5 463 9904
+9c20 c 464 9904
+9c2c c 466 9904
+9c38 9 472 9904
+9c41 14 478 9904
+9c55 6 480 9904
+9c5b b 485 9904
+9c66 3e 489 9904
+9ca4 3 491 9904
+9ca7 16 492 9904
+9cbd 2 503 9904
+9cbf 6 505 9904
+9cc5 6 509 9904
+9ccb 4 510 9904
+9ccf 3 515 9904
+9cd2 2 517 9904
+9cd4 14 519 9904
+9ce8 9 523 9904
+9cf1 a 528 9904
+9cfb 4 530 9904
+9cff f 532 9904
+9d0e 4 533 9904
+9d12 6 534 9904
+9d18 3 536 9904
+9d1b 2 538 9904
+9d1d 4 539 9904
+9d21 b 541 9904
+9d2c 5 545 9904
+9d31 f 547 9904
+9d40 6 548 9904
+9d46 c 551 9904
+9d52 6 557 9904
+9d58 2 558 9904
+9d5a 5 562 9904
+9d5f 6 564 9904
+9d65 5 566 9904
+9d6a 2 568 9904
+9d6c 5 570 9904
+9d71 2 573 9904
+9d73 3 576 9904
+9d76 3 578 9904
+9d79 1c 585 9904
+9d95 7 591 9904
+9d9c b 597 9904
+9da7 13 598 9904
+9dba 2 599 9904
+9dbc 6 601 9904
+9dc2 2 603 9904
+9dc4 6 605 9904
+9dca 3 606 9904
+9dcd 3 609 9904
+9dd0 3 610 9904
+9dd3 9 611 9904
+9ddc 24 612 9904
+9e00 a 613 9904
+9e0a b 615 9904
+9e15 27 616 9904
+9e3c 7 617 9904
+9e43 b 619 9904
+9e4e 24 620 9904
+9e72 7 621 9904
+9e79 5 623 9904
+9e7e 4 626 9904
+9e82 16 628 9904
+9e98 20 629 9904
+FUNC 9eb8 1f9 0 static int _cftoe2_l(char *, unsigned __int64, int, int, struct _strflt *, char, struct localeinfo_struct *)
+9eb8 20 242 9904
+9ed8 1a 246 9904
+9ef2 5 249 9904
+9ef7 11 250 9904
+9f08 27 258 9904
+9f2f 12 266 9904
+9f41 9 268 9904
+9f4a 2b 269 9904
+9f75 9 278 9904
+9f7e 7 279 9904
+9f85 4 285 9904
+9f89 5 286 9904
+9f8e 16 287 9904
+9fa4 6 292 9904
+9faa 33 293 9904
+9fdd 9 300 9904
+9fe6 3 301 9904
+9fe9 9 309 9904
+9ff2 9 315 9904
+9ffb 3 316 9904
+9ffe 4 317 9904
+a002 6 321 9904
+a008 15 322 9904
+a01d 6 323 9904
+a023 6 327 9904
+a029 15 328 9904
+a03e 6 329 9904
+a044 4 332 9904
+a048 9 335 9904
+a051 5 338 9904
+a056 f 340 9904
+a065 15 344 9904
+a07a 21 345 9904
+a09b 16 293 9904
+FUNC a0b4 f7 0 cftoe_l
+a0b4 1b 354 9904
+a0cf 23 362 9904
+a0f2 18 366 9904
+a10a 5 367 9904
+a10f 48 373 9904
+a157 4 374 9904
+a15b 3 376 9904
+a15e 2 377 9904
+a160 32 380 9904
+a192 19 383 9904
+FUNC a1ac 161 0 static int _cftof2_l(char *, unsigned __int64, int, struct _strflt *, char, struct localeinfo_struct *)
+a1ac 19 638 9904
+a1c5 7 640 9904
+a1cc 19 641 9904
+a1e5 5 644 9904
+a1ea 1b 645 9904
+a205 7 654 9904
+a20c 5 656 9904
+a211 6 655 9904
+a217 9 657 9904
+a220 6 658 9904
+a226 6 672 9904
+a22c 6 673 9904
+a232 6 679 9904
+a238 18 680 9904
+a250 6 681 9904
+a256 2 683 9904
+a258 7 684 9904
+a25f 5 688 9904
+a264 1b 689 9904
+a27f 13 690 9904
+a292 7 696 9904
+a299 9 698 9904
+a2a2 b 700 9904
+a2ad 1e 701 9904
+a2cb 10 702 9904
+a2db 15 706 9904
+a2f0 1d 707 9904
+FUNC a310 d1 0 cftof_l
+a310 18 736 9904
+a328 23 744 9904
+a34b 15 748 9904
+a360 5 749 9904
+a365 38 755 9904
+a39d 4 756 9904
+a3a1 3 758 9904
+a3a4 2 759 9904
+a3a6 25 762 9904
+a3cb 16 765 9904
+FUNC a3e4 134 0 cftog_l
+a3e4 1d 795 9904
+a401 23 810 9904
+a424 18 813 9904
+a43c 5 814 9904
+a441 5 817 9904
+a446 d 818 9904
+a453 23 820 9904
+a476 4 821 9904
+a47a 3 823 9904
+a47d 2 824 9904
+a47f c 826 9904
+a48b 9 835 9904
+a494 4 843 9904
+a498 9 845 9904
+a4a1 3 846 9904
+a4a4 27 849 9904
+a4cb 32 840 9904
+a4fd 1b 851 9904
+FUNC a518 7 0 cropzeros
+a518 0 139 9904
+a518 7 140 9904
+FUNC a520 96 0 cropzeros_l
+a520 9 144 9904
+a529 a 145 9904
+a533 1b 148 9904
+a54e 9 149 9904
+a557 9 151 9904
+a560 8 152 9904
+a568 3 153 9904
+a56b 6 152 9904
+a571 3 155 9904
+a574 8 158 9904
+a57c 10 160 9904
+a58c 3 161 9904
+a58f e 163 9904
+a59d 19 165 9904
+FUNC a5b8 8 0 fassign
+a5b8 0 214 9904
+a5b8 8 215 9904
+FUNC a5c0 40 0 fassign_l
+a5c0 c 175 9904
+a5cc 14 203 9904
+a5e0 8 204 9904
+a5e8 2 205 9904
+a5ea a 206 9904
+a5f4 6 207 9904
+a5fa 6 211 9904
+FUNC a600 7 0 forcdecpt
+a600 0 73 9904
+a600 7 74 9904
+FUNC a608 7f 0 forcdecpt_l
+a608 9 78 9904
+a611 a 79 9904
+a61b d 83 9904
+a628 3 87 9904
+a62b c 88 9904
+a637 d 92 9904
+a644 4 97 9904
+a648 18 102 9904
+a660 2 105 9904
+a662 2 106 9904
+a664 2 107 9904
+a666 9 108 9904
+a66f 18 109 9904
+FUNC a688 12 0 positive
+a688 0 169 9904
+a688 11 170 9904
+a699 1 171 9904
+FUNC a69c 20 0 _termconout
+a69c 15 83 2057
+a6b1 6 85 2057
+a6b7 5 87 2057
+FUNC a6bc 3b 0 _initconout
+a6bc 4 53 2057
+a6c0 32 60 2057
+a6f2 5 61 2057
+FUNC a6f8 222 0 _mtold12
+a6f8 18 34 10294
+a710 4 38 10294
+a714 5 39 10294
+a719 12 40 10294
+a72b 15 41 10294
+a740 9 42 10294
+a749 c 43 10294
+a755 5 42 10294
+a75a d 43 10294
+a767 3 44 10294
+a76a 3 43 10294
+a76d 13 44 10294
+a780 2 45 10294
+a782 3 44 10294
+a785 3 45 10294
+a788 3 41 10294
+a78b 3 45 10294
+a78e 8 41 10294
+a796 b 45 10294
+a7a1 3 41 10294
+a7a4 19 45 10294
+a7bd 4 41 10294
+a7c1 7 45 10294
+a7c8 4 41 10294
+a7cc 1b 45 10294
+a7e7 4 41 10294
+a7eb 7 45 10294
+a7f2 4 41 10294
+a7f6 3 45 10294
+a7f9 15 46 10294
+a80e 3 41 10294
+a811 3 46 10294
+a814 4 41 10294
+a818 3 46 10294
+a81b 2 50 10294
+a81d 4 41 10294
+a821 4 47 10294
+a825 11 50 10294
+a836 3 41 10294
+a839 19 50 10294
+a852 4 41 10294
+a856 7 50 10294
+a85d 17 41 10294
+a874 b 54 10294
+a87f e 56 10294
+a88d 13 57 10294
+a8a0 15 58 10294
+a8b5 16 60 10294
+a8cb 14 61 10294
+a8df 5 62 10294
+a8e4 2 61 10294
+a8e6 3 62 10294
+a8e9 3 61 10294
+a8ec 10 60 10294
+a8fc 1e 65 10294
+FUNC a91c 7a 0 isdigit
+a91c 6 139 6847
+a922 c 140 6847
+a92e 10 142 6847
+a93e 52 146 6847
+a990 6 148 6847
+FUNC a998 152 0 tolower_l
+a998 15 70 7683
+a9ad 9 74 7683
+a9b6 8 77 7683
+a9be 35 79 7683
+a9f3 10 80 7683
+aa03 18 82 7683
+aa1b 25 86 7683
+aa40 4 88 7683
+aa44 4 89 7683
+aa48 4 90 7683
+aa4c 5 91 7683
+aa51 2 92 7683
+aa53 5 94 7683
+aa58 13 97 7683
+aa6b 4a 110 7683
+aab5 3 116 7683
+aab8 6 117 7683
+aabe 1a 119 7683
+aad8 12 120 7683
+FUNC aaec 1e 0 tolower
+aaec 0 143 7683
+aaec 9 145 7683
+aaf5 d 147 7683
+ab02 1 153 7683
+ab03 7 151 7683
+FUNC ab0c 144 0 strrchr
+ab0c 4 80 5933
+ab10 6 84 5933
+ab16 4 89 5933
+ab1a e 96 5933
+ab28 19 105 5933
+ab41 2 106 5933
+ab43 8 108 5933
+ab4b 4 109 5933
+ab4f 8 110 5933
+ab57 3 115 5933
+ab5a 8 116 5933
+ab62 d 121 5933
+ab6f 3 125 5933
+ab72 15 138 5933
+ab87 4 139 5933
+ab8b 2a 147 5933
+abb5 a 148 5933
+abbf 2 149 5933
+abc1 3 153 5933
+abc4 1f 164 5933
+abe3 c 166 5933
+abef a 175 5933
+abf9 3 179 5933
+abfc 3 180 5933
+abff 6 181 5933
+ac05 3 211 5933
+ac08 5 216 5933
+ac0d 5 194 5933
+ac12 a 196 5933
+ac1c 6 197 5933
+ac22 9 194 5933
+ac2b 7 201 5933
+ac32 9 205 5933
+ac3b 6 207 5933
+ac41 9 209 5933
+ac4a 4 213 5933
+ac4e 2 214 5933
+FUNC ac50 cb 0 fptostr
+ac50 d 50 95
+ac5d 4 52 95
+ac61 20 55 95
+ac81 5 56 95
+ac86 22 61 95
+aca8 c 70 95
+acb4 17 77 95
+accb 3 78 95
+acce 5 76 95
+acd3 3 80 95
+acd6 7 87 95
+acdd 2 88 95
+acdf b 90 95
+acea 2 91 95
+acec 5 94 95
+acf1 4 99 95
+acf5 2 101 95
+acf7 17 105 95
+ad0e 2 108 95
+ad10 b 109 95
+FUNC ad1c cd 0 _dtold
+ad1c 5 51 10420
+ad21 8 58 10420
+ad29 1b 60 10420
+ad44 11 61 10420
+ad55 d 63 10420
+ad62 9 81 10420
+ad6b 2 82 10420
+ad6d 6 65 10420
+ad73 2 66 10420
+ad75 8 69 10420
+ad7d 4 70 10420
+ad81 3 71 10420
+ad84 2 73 10420
+ad86 9 76 10420
+ad8f 2 77 10420
+ad91 6 85 10420
+ad97 14 86 10420
+adab 5 89 10420
+adb0 12 92 10420
+adc2 6 93 10420
+adc8 12 94 10420
+adda 4 97 10420
+adde b 99 10420
+FUNC adec b7 0 fltout2
+adec 26 21 10420
+ae12 13 25 10420
+ae25 26 26 10420
+ae4b 6 27 10420
+ae51 4 28 10420
+ae55 19 29 10420
+ae6e 4 30 10420
+ae72 3 32 10420
+ae75 18 33 10420
+ae8d 16 29 10420
+FUNC aea4 ad8 0 $I10_OUTPUT
+aea4 2a 60 9988
+aece 8 96 9988
+aed6 6 98 9988
+aedc 1a 99 9988
+aef6 4 100 9988
+aefa 30 102 9988
+af2a 4 103 9988
+af2e 2 104 9988
+af30 3 105 9988
+af33 18 107 9988
+af4b 17 108 9988
+af62 5 109 9988
+af67 a 112 9988
+af71 1a 116 9988
+af8b 22 118 9988
+afad 13 122 9988
+afc0 1d 124 9988
+afdd a 128 9988
+afe7 1c 130 9988
+b003 8 131 9988
+b00b 2 134 9988
+b00d 1d 136 9988
+b02a 4 137 9988
+b02e 3 138 9988
+b031 5 141 9988
+b036 4 228 9988
+b03a e 256 9988
+b048 7 260 9988
+b04f 6 226 9988
+b055 6 260 9988
+b05b 3 228 9988
+b05e a 260 9988
+b068 4 255 9988
+b06c 5 257 9988
+b071 5 260 9988
+b076 e 228 9988
+b084 8 260 9988
+b08c 5 228 9988
+b091 386 260 9988
+b417 16 263 9988
+b42d 4 264 9988
+b431 e 265 9988
+b43f 3 264 9988
+b442 2a6 265 9988
+b6e8 3 268 9988
+b6eb 11 271 9988
+b6fc 5 272 9988
+b701 f 274 9988
+b710 5 275 9988
+b715 9 281 9988
+b71e 1e 282 9988
+b73c 17 293 9988
+b753 5 292 9988
+b758 7 293 9988
+b75f 5 295 9988
+b764 7 296 9988
+b76b 5 297 9988
+b770 10 298 9988
+b780 3 297 9988
+b783 7 298 9988
+b78a 5 297 9988
+b78f 7 298 9988
+b796 14 302 9988
+b7aa 5 303 9988
+b7af 14 304 9988
+b7c3 5 303 9988
+b7c8 6 304 9988
+b7ce e 305 9988
+b7dc 3 306 9988
+b7df 8 305 9988
+b7e7 4 306 9988
+b7eb 3 305 9988
+b7ee 44 306 9988
+b832 3 307 9988
+b835 3 306 9988
+b838 7 307 9988
+b83f 3 311 9988
+b842 11 307 9988
+b853 3 302 9988
+b856 c 307 9988
+b862 3 310 9988
+b865 11 311 9988
+b876 8 302 9988
+b87e 6 314 9988
+b884 3 315 9988
+b887 6 317 9988
+b88d 6 319 9988
+b893 7 320 9988
+b89a 5 319 9988
+b89f 5 322 9988
+b8a4 3 323 9988
+b8a7 4 324 9988
+b8ab 3 326 9988
+b8ae 7 337 9988
+b8b5 d 338 9988
+b8c2 3 340 9988
+b8c5 27 341 9988
+b8ec e 330 9988
+b8fa 5 331 9988
+b8ff 24 333 9988
+b923 5 334 9988
+b928 15 118 9988
+b93d 15 124 9988
+b952 15 130 9988
+b967 15 136 9988
+PUBLIC b97c 0 RtlUnwindEx
+PUBLIC b982 0 IsProcessorFeaturePresent
+FUNC b990 1e 0 static __tmainCRTStartup$filt$0()
+b990 1e 267 9116
+FUNC b9ae 19 0 static `type_info::_Type_info_dtor'::`1'::fin$0()
+b9ae 9 72 10741
+b9b7 10 73 10741
+FUNC b9c7 19 0 static _freefls$fin$1()
+b9c7 9 413 9313
+b9d0 10 414 9313
+FUNC b9e0 19 0 static _freefls$fin$0()
+b9e0 9 429 9313
+b9e9 10 430 9313
+FUNC b9f9 19 0 static _initptd$fin$1()
+b9f9 9 226 9313
+ba02 10 228 9313
+FUNC ba12 19 0 static _initptd$fin$0()
+ba12 9 247 9313
+ba1b 10 248 9313
+FUNC ba2b 24 0 static doexit$fin$0()
+ba2b 9 665 9790
+ba34 9 666 9790
+ba3d 12 667 9790
+FUNC ba4f 1b 0 static _ioinit$fin$0()
+ba4f 9 325 1584
+ba58 12 326 1584
+FUNC ba6a 1d 0 static _mtinitlocknum$fin$0()
+ba6a 9 292 9509
+ba73 14 293 9509
+FUNC ba87 19 0 static __updatetlocinfo$fin$0()
+ba87 9 293 3702
+ba90 10 295 3702
+FUNC baa0 19 0 static __updatetmbcinfo$fin$0()
+baa0 9 538 8253
+baa9 10 540 8253
+FUNC bab9 19 0 static _setmbcp$fin$0()
+bab9 9 659 8253
+bac2 10 661 8253
+FUNC bae0 20 0 static _IsNonwritableInCurrentImage$filt$0()
+bae0 20 181 3978
+FUNC bb00 14 0 static _onexit$fin$0()
+bb00 e 89 3795
+bb0e 6 90 3795
+FUNC bb14 1e 0 static raise$fin$0()
+bb14 9 574 4150
+bb1d 6 575 4150
+bb23 f 576 4150
+FUNC bb32 28 0 static flsall$fin$0()
+bb32 9 276 5660
+bb3b 1f 277 5660
+FUNC bb5a 19 0 static flsall$fin$1()
+bb5a 9 282 5660
+bb63 10 283 5660
+FUNC bb73 19 0 static _fcloseall$fin$0()
+bb73 9 69 5472
+bb7c 10 70 5472
+FUNC bb8c 19 0 static _locterm$fin$0()
+bb8c 9 193 4530
+bb95 10 195 4530
+FUNC bba5 17 0 static _commit$fin$0()
+bba5 9 72 1490
+bbae e 73 1490
+FUNC bbbc 17 0 static _write$fin$0()
+bbbc 9 81 1964
+bbc5 e 82 1964
+FUNC bbd3 18 0 static fclose$fin$0()
+bbd3 9 58 5556
+bbdc f 59 5556
+FUNC bbeb 19 0 static __lock_fhandle$fin$0()
+bbeb 9 451 1865
+bbf4 10 452 1865
+FUNC bc04 17 0 static _close$fin$0()
+bc04 9 60 1396
+bc0d e 61 1396
+STACK CFI INIT 1010 6a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1010 .cfa: $rsp 80 +
+STACK CFI INIT 10d0 36 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 10d0 .cfa: $rsp 48 +
+STACK CFI INIT 1110 26 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1110 .cfa: $rsp 48 +
+STACK CFI INIT 1180 39 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1180 .cfa: $rsp 48 +
+STACK CFI INIT 11bc 180 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 11bc .cfa: $rsp 64 +
+STACK CFI INIT 133c 2c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 133c .cfa: $rsp 48 +
+STACK CFI INIT 1368 12 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1368 .cfa: $rsp 48 +
+STACK CFI INIT 137c 3d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 137c .cfa: $rsp 48 +
+STACK CFI INIT 13d0 67 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 13d0 .cfa: $rsp 8 +
+STACK CFI INIT 1438 6c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1438 .cfa: $rsp 64 +
+STACK CFI INIT 14a4 38 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 14a4 .cfa: $rsp 48 +
+STACK CFI INIT 14dc 17 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 14dc .cfa: $rsp 48 +
+STACK CFI INIT 14f4 1cc .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 14f4 .cfa: $rsp 48 +
+STACK CFI INIT 16c0 133 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 16c0 .cfa: $rsp 48 +
+STACK CFI INIT 17f4 24 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 17f4 .cfa: $rsp 48 +
+STACK CFI INIT 1818 82 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1818 .cfa: $rsp 48 +
+STACK CFI INIT 189c c2 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 189c .cfa: $rsp 48 +
+STACK CFI INIT 1960 7f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1960 .cfa: $rsp 48 +
+STACK CFI INIT 19e0 24 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 19e0 .cfa: $rsp 48 +
+STACK CFI INIT 1a04 41 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1a04 .cfa: $rsp 48 +
+STACK CFI INIT 1a48 16 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1a48 .cfa: $rsp 48 +
+STACK CFI INIT 1a60 26 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1a60 .cfa: $rsp 48 +
+STACK CFI INIT 1aa8 96 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1aa8 .cfa: $rsp 48 +
+STACK CFI INIT 1b4c 4b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1b4c .cfa: $rsp 48 +
+STACK CFI INIT 1b98 60 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1b98 .cfa: $rsp 48 +
+STACK CFI INIT 1bf8 39 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1bf8 .cfa: $rsp 48 +
+STACK CFI INIT 1c4c 195 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1c4c .cfa: $rsp 112 +
+STACK CFI INIT 1df0 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1df0 .cfa: $rsp 48 +
+STACK CFI INIT 1e10 32d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1e10 .cfa: $rsp 224 +
+STACK CFI INIT 2140 f3 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2140 .cfa: $rsp 64 +
+STACK CFI INIT 2234 1c7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2234 .cfa: $rsp 64 +
+STACK CFI INIT 23fc 131 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 23fc .cfa: $rsp 64 +
+STACK CFI INIT 2530 43 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2530 .cfa: $rsp 48 +
+STACK CFI INIT 25a4 26f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 25a4 .cfa: $rsp 624 +
+STACK CFI INIT 281c 40 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 281c .cfa: $rsp 48 +
+STACK CFI INIT 285c ac .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 285c .cfa: $rsp 48 +
+STACK CFI INIT 2908 38 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2908 .cfa: $rsp 48 +
+STACK CFI INIT 2940 38 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2940 .cfa: $rsp 48 +
+STACK CFI INIT 2978 f4 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2978 .cfa: $rsp 80 +
+STACK CFI INIT 2a6c 1e1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2a6c .cfa: $rsp 112 +
+STACK CFI INIT 2c50 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2c50 .cfa: $rsp 48 +
+STACK CFI INIT 2c70 4e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2c70 .cfa: $rsp 48 +
+STACK CFI INIT 2cc0 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2cc0 .cfa: $rsp 48 +
+STACK CFI INIT 2d30 f2 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2d30 .cfa: $rsp 1472 +
+STACK CFI INIT 2e2c 65 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2e2c .cfa: $rsp 64 +
+STACK CFI INIT 2e94 1e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2e94 .cfa: $rsp 64 +
+STACK CFI INIT 2eb4 3b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2eb4 .cfa: $rsp 48 +
+STACK CFI INIT 2ef0 61 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2ef0 .cfa: $rsp 48 +
+STACK CFI INIT 2f70 a8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2f70 .cfa: $rsp 8 +
+STACK CFI INIT 3018 44 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3018 .cfa: $rsp 48 +
+STACK CFI INIT 305c 87 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 305c .cfa: $rsp 48 +
+STACK CFI INIT 30e4 bd .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 30e4 .cfa: $rsp 48 +
+STACK CFI INIT 31a4 61 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 31a4 .cfa: $rsp 48 +
+STACK CFI INIT 3220 b6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3220 .cfa: $rsp 48 +
+STACK CFI INIT 32f0 24 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 32f0 .cfa: $rsp 1248 +
+STACK CFI INIT 3320 18 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3320 .cfa: $rsp 8 +
+STACK CFI INIT 3340 1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3340 .cfa: $rsp 8 +
+STACK CFI INIT 3350 1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3350 .cfa: $rsp 8 +
+STACK CFI INIT 3354 1f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3354 .cfa: $rsp 48 +
+STACK CFI INIT 3374 1d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3374 .cfa: $rsp 48 +
+STACK CFI INIT 3394 6d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3394 .cfa: $rsp 80 +
+STACK CFI INIT 3404 71 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3404 .cfa: $rsp 96 +
+STACK CFI INIT 34e8 2b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 34e8 .cfa: $rsp 48 +
+STACK CFI INIT 3514 4c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3514 .cfa: $rsp 48 +
+STACK CFI INIT 3560 3fa .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3560 .cfa: $rsp 48 +
+STACK CFI INIT 396c 1f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 396c .cfa: $rsp 48 +
+STACK CFI INIT 398c 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 398c .cfa: $rsp 48 +
+STACK CFI INIT 39ac 7f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 39ac .cfa: $rsp 48 +
+STACK CFI INIT 3a2c 7a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3a2c .cfa: $rsp 48 +
+STACK CFI INIT 3aa8 81 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3aa8 .cfa: $rsp 48 +
+STACK CFI INIT 3bb8 196 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3bb8 .cfa: $rsp 48 +
+STACK CFI INIT 3df4 75 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3df4 .cfa: $rsp 48 +
+STACK CFI INIT 3e6c 62 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3e6c .cfa: $rsp 48 +
+STACK CFI INIT 3ed0 28 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3ed0 .cfa: $rsp 48 +
+STACK CFI INIT 3ef8 a8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3ef8 .cfa: $rsp 48 +
+STACK CFI INIT 3fa0 7d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3fa0 .cfa: $rsp 80 +
+STACK CFI INIT 4020 8e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4020 .cfa: $rsp 48 +
+STACK CFI INIT 40b0 1e1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 40b0 .cfa: $rsp 1424 +
+STACK CFI INIT 4294 ba .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4294 .cfa: $rsp 48 +
+STACK CFI INIT 4350 244 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4350 .cfa: $rsp 64 +
+STACK CFI INIT 4594 2ae .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4594 .cfa: $rsp 112 +
+STACK CFI INIT 48a0 4d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 48a0 .cfa: $rsp 48 +
+STACK CFI INIT 4920 43 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4920 .cfa: $rsp 48 +
+STACK CFI INIT 4964 10a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4964 .cfa: $rsp 64 +
+STACK CFI INIT 4a70 17 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4a70 .cfa: $rsp 48 +
+STACK CFI INIT 4a88 39 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4a88 .cfa: $rsp 48 +
+STACK CFI INIT 4ac4 33 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4ac4 .cfa: $rsp 48 +
+STACK CFI INIT 4b38 233 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4b38 .cfa: $rsp 96 +
+STACK CFI INIT 4d74 98 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4d74 .cfa: $rsp 48 +
+STACK CFI INIT 4e0c 30 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4e0c .cfa: $rsp 48 +
+STACK CFI INIT 4e3c 65 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4e3c .cfa: $rsp 48 +
+STACK CFI INIT 4ea4 31 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4ea4 .cfa: $rsp 48 +
+STACK CFI INIT 4f48 79 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4f48 .cfa: $rsp 80 +
+STACK CFI INIT 4fd8 85 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4fd8 .cfa: $rsp 48 +
+STACK CFI INIT 5060 6b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5060 .cfa: $rsp 48 +
+STACK CFI INIT 50e8 cc .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 50e8 .cfa: $rsp 48 +
+STACK CFI INIT 51b4 273 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 51b4 .cfa: $rsp 144 +
+STACK CFI INIT 5428 1d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5428 .cfa: $rsp 48 +
+STACK CFI INIT 5448 63 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5448 .cfa: $rsp 48 +
+STACK CFI INIT 54c0 1f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 54c0 .cfa: $rsp 8 +
+STACK CFI INIT 5500 22a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5500 .cfa: $rsp 8 +
+STACK CFI INIT 572c 55 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 572c .cfa: $rsp 48 +
+STACK CFI INIT 5784 d3 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5784 .cfa: $rsp 48 +
+STACK CFI INIT 5858 9a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5858 .cfa: $rsp 48 +
+STACK CFI INIT 58f4 10a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 58f4 .cfa: $rsp 48 +
+STACK CFI INIT 5a00 6c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5a00 .cfa: $rsp 48 +
+STACK CFI INIT 5a6c 3fa .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5a6c .cfa: $rsp 48 +
+STACK CFI INIT 5e68 2ec .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5e68 .cfa: $rsp 128 +
+STACK CFI INIT 6154 96 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6154 .cfa: $rsp 128 +
+STACK CFI INIT 61ec 176 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 61ec .cfa: $rsp 112 +
+STACK CFI INIT 6364 7c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6364 .cfa: $rsp 112 +
+STACK CFI INIT 63e0 39 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 63e0 .cfa: $rsp 48 +
+STACK CFI INIT 6428 8a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6428 .cfa: $rsp 48 +
+STACK CFI INIT 64b4 32 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 64b4 .cfa: $rsp 48 +
+STACK CFI INIT 64e8 8f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 64e8 .cfa: $rsp 96 +
+STACK CFI INIT 65e0 565 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 65e0 .cfa: $rsp 8 +
+STACK CFI INIT 6b48 26 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6b48 .cfa: $rsp 48 +
+STACK CFI INIT 6b70 5f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6b70 .cfa: $rsp 48 +
+STACK CFI INIT 6bd0 4c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6bd0 .cfa: $rsp 48 +
+STACK CFI INIT 6c1c 79 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6c1c .cfa: $rsp 48 +
+STACK CFI INIT 6ca4 e6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6ca4 .cfa: $rsp 80 +
+STACK CFI INIT 6d8c a8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6d8c .cfa: $rsp 64 +
+STACK CFI INIT 6e34 49 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6e34 .cfa: $rsp 48 +
+STACK CFI INIT 6e80 d1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6e80 .cfa: $rsp 64 +
+STACK CFI INIT 6f54 1a4 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 6f54 .cfa: $rsp 32 +
+STACK CFI INIT 70f8 47 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 70f8 .cfa: $rsp 48 +
+STACK CFI INIT 7150 4e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7150 .cfa: $rsp 24 +
+STACK CFI INIT 71a0 d7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 71a0 .cfa: $rsp 64 +
+STACK CFI INIT 7278 e1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7278 .cfa: $rsp 80 +
+STACK CFI INIT 735c 7f1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 735c .cfa: $rsp 7040 +
+STACK CFI INIT 7b50 7a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7b50 .cfa: $rsp 48 +
+STACK CFI INIT 7bcc 66 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7bcc .cfa: $rsp 48 +
+STACK CFI INIT 7c34 db .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7c34 .cfa: $rsp 128 +
+STACK CFI INIT 7d10 cf .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7d10 .cfa: $rsp 160 +
+STACK CFI INIT 7de0 c7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7de0 .cfa: $rsp 144 +
+STACK CFI INIT 7f50 c7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7f50 .cfa: $rsp 8 +
+STACK CFI INIT 8018 98 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8018 .cfa: $rsp 48 +
+STACK CFI INIT 80b0 aa .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 80b0 .cfa: $rsp 48 +
+STACK CFI INIT 815c 74 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 815c .cfa: $rsp 48 +
+STACK CFI INIT 81fc 43 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 81fc .cfa: $rsp 80 +
+STACK CFI INIT 8240 45 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8240 .cfa: $rsp 80 +
+STACK CFI INIT 8288 93 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8288 .cfa: $rsp 48 +
+STACK CFI INIT 831c 151 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 831c .cfa: $rsp 96 +
+STACK CFI INIT 8478 59 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8478 .cfa: $rsp 64 +
+STACK CFI INIT 84d4 c3 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 84d4 .cfa: $rsp 64 +
+STACK CFI INIT 8598 ba .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8598 .cfa: $rsp 48 +
+STACK CFI INIT 8654 37 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8654 .cfa: $rsp 48 +
+STACK CFI INIT 8690 5b6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8690 .cfa: $rsp 144 +
+STACK CFI INIT 8c48 5b6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 8c48 .cfa: $rsp 144 +
+STACK CFI INIT 9200 861 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 9200 .cfa: $rsp 224 +
+STACK CFI INIT 9a64 24 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 9a64 .cfa: $rsp 80 +
+STACK CFI INIT 9a88 7e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 9a88 .cfa: $rsp 64 +
+STACK CFI INIT 9b08 3b0 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 9b08 .cfa: $rsp 128 +
+STACK CFI INIT 9eb8 1f9 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 9eb8 .cfa: $rsp 112 +
+STACK CFI INIT a0b4 f7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a0b4 .cfa: $rsp 176 +
+STACK CFI INIT a1ac 161 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a1ac .cfa: $rsp 80 +
+STACK CFI INIT a310 d1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a310 .cfa: $rsp 160 +
+STACK CFI INIT a3e4 134 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a3e4 .cfa: $rsp 176 +
+STACK CFI INIT a520 96 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a520 .cfa: $rsp 80 +
+STACK CFI INIT a5c0 40 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a5c0 .cfa: $rsp 64 +
+STACK CFI INIT a608 7f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a608 .cfa: $rsp 80 +
+STACK CFI INIT a69c 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a69c .cfa: $rsp 48 +
+STACK CFI INIT a6bc 3b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a6bc .cfa: $rsp 80 +
+STACK CFI INIT a6f8 222 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a6f8 .cfa: $rsp 48 +
+STACK CFI INIT a91c 7a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a91c .cfa: $rsp 80 +
+STACK CFI INIT a998 152 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI a998 .cfa: $rsp 128 +
+STACK CFI INIT ab0c 144 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ab0c .cfa: $rsp 32 +
+STACK CFI INIT ac50 cb .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ac50 .cfa: $rsp 48 +
+STACK CFI INIT ad1c cd .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ad1c .cfa: $rsp 8 +
+STACK CFI INIT adec b7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI adec .cfa: $rsp 176 +
+STACK CFI INIT aea4 ad8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI aea4 .cfa: $rsp 256 +
+STACK CFI INIT b990 1e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI b990 .cfa: $rsp 48 +
+STACK CFI INIT b9ae 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI b9ae .cfa: $rsp 48 +
+STACK CFI INIT b9c7 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI b9c7 .cfa: $rsp 48 +
+STACK CFI INIT b9e0 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI b9e0 .cfa: $rsp 48 +
+STACK CFI INIT b9f9 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI b9f9 .cfa: $rsp 48 +
+STACK CFI INIT ba12 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ba12 .cfa: $rsp 48 +
+STACK CFI INIT ba2b 24 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ba2b .cfa: $rsp 48 +
+STACK CFI INIT ba4f 1b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ba4f .cfa: $rsp 48 +
+STACK CFI INIT ba6a 1d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ba6a .cfa: $rsp 48 +
+STACK CFI INIT ba87 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI ba87 .cfa: $rsp 48 +
+STACK CFI INIT baa0 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI baa0 .cfa: $rsp 48 +
+STACK CFI INIT bab9 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bab9 .cfa: $rsp 48 +
+STACK CFI INIT bae0 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bae0 .cfa: $rsp 48 +
+STACK CFI INIT bb00 14 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb00 .cfa: $rsp 48 +
+STACK CFI INIT bb14 1e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb14 .cfa: $rsp 48 +
+STACK CFI INIT bb32 28 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb32 .cfa: $rsp 48 +
+STACK CFI INIT bb5a 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb5a .cfa: $rsp 48 +
+STACK CFI INIT bb73 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb73 .cfa: $rsp 48 +
+STACK CFI INIT bb8c 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bb8c .cfa: $rsp 48 +
+STACK CFI INIT bba5 17 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bba5 .cfa: $rsp 48 +
+STACK CFI INIT bbbc 17 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bbbc .cfa: $rsp 48 +
+STACK CFI INIT bbd3 18 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bbd3 .cfa: $rsp 48 +
+STACK CFI INIT bbeb 19 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bbeb .cfa: $rsp 48 +
+STACK CFI INIT bc04 17 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI bc04 .cfa: $rsp 48 +
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb Binary files differnew file mode 100644 index 0000000000..7b6d2ba8f1 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.sym new file mode 100644 index 0000000000..2a7c08966a --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_bbs.sym @@ -0,0 +1,6209 @@ +MODULE windows x86 99302CF6F3C244F2B8E048BA0268A12F1 omap_reorder_bbs.pdb
+FILE 1 c:\src\breakpad\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\public\sdk\inc\internal\pebteb.h
+FILE 3 f:\dd\public\sdk\inc\internal\ntldr.h
+FILE 4 f:\dd\public\sdk\inc\internal\ntconfig.h
+FILE 5 f:\dd\public\sdk\inc\internal\ntregapi.h
+FILE 6 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h
+FILE 7 f:\dd\public\ddk\inc\ntdef.h
+FILE 8 f:\dd\public\sdk\inc\internal\ntmmapi.h
+FILE 9 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h
+FILE 10 f:\dd\public\sdk\inc\pshpack1.h
+FILE 11 f:\dd\public\sdk\inc\internal\nxi386.h
+FILE 12 f:\dd\public\ddk\inc\poppack.h
+FILE 13 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\process.h
+FILE 14 f:\dd\public\sdk\inc\pshpack8.h
+FILE 15 f:\dd\public\ddk\inc\ntpoapi.h
+FILE 16 f:\dd\public\sdk\inc\internal\ntexapi.h
+FILE 17 f:\dd\public\sdk\inc\poppack.h
+FILE 18 f:\dd\public\ddk\inc\ntimage.h
+FILE 19 f:\dd\public\ddk\inc\pshpack4.h
+FILE 20 f:\dd\public\sdk\inc\pshpack2.h
+FILE 21 f:\dd\public\ddk\inc\ntnls.h
+FILE 22 f:\dd\public\sdk\inc\internal\ntelfapi.h
+FILE 23 f:\dd\public\sdk\inc\internal\ntpsapi.h
+FILE 24 f:\dd\public\sdk\inc\internal\nti386.h
+FILE 25 f:\dd\public\sdk\inc\specstrings.h
+FILE 26 f:\dd\public\sdk\inc\sal_supp.h
+FILE 27 f:\dd\public\sdk\inc\specstrings_supp.h
+FILE 28 f:\dd\public\sdk\inc\specstrings_strict.h
+FILE 29 f:\dd\public\sdk\inc\specstrings_undef.h
+FILE 30 f:\dd\public\sdk\inc\driverspecs.h
+FILE 31 f:\dd\public\sdk\inc\sdv_driverspecs.h
+FILE 32 f:\dd\public\sdk\inc\basetsd.h
+FILE 33 f:\dd\public\sdk\inc\internal\ntpnpapi.h
+FILE 34 f:\dd\public\sdk\inc\cfg.h
+FILE 35 f:\dd\public\sdk\inc\internal\ntxcapi.h
+FILE 36 f:\dd\public\sdk\inc\guiddef.h
+FILE 37 f:\dd\public\sdk\inc\internal\nt.h
+FILE 38 f:\dd\public\sdk\inc\ntstatus.h
+FILE 39 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h
+FILE 40 f:\dd\public\sdk\inc\internal\ntkeapi.h
+FILE 41 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h
+FILE 42 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h
+FILE 43 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\codeanalysis\sourceannotations.h
+FILE 44 f:\dd\public\sdk\inc\internal\ntobapi.h
+FILE 45 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\string.h
+FILE 46 f:\dd\public\sdk\inc\internal\ntioapi.h
+FILE 47 f:\dd\public\ddk\inc\devioctl.h
+FILE 48 f:\dd\public\sdk\inc\internal\ntseapi.h
+FILE 49 f:\dd\public\ddk\inc\mce.h
+FILE 50 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c
+FILE 51 f:\dd\public\sdk\inc\pshpack4.h
+FILE 52 f:\dd\public\devdiv\inc\ddbanned.h
+FILE 53 f:\dd\public\sdk\inc\internal\ntlpcapi.h
+FILE 54 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
+FILE 55 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
+FILE 56 f:\dd\public\sdk\inc\internal\ntiolog.h
+FILE 57 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm
+FILE 58 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc
+FILE 59 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc
+FILE 60 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc
+FILE 61 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm
+FILE 62 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm
+FILE 64 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm
+FILE 65 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c
+FILE 69 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c
+FILE 73 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c
+FILE 77 f:\dd\public\sdk\inc\winreg.h
+FILE 78 f:\dd\public\sdk\inc\imm.h
+FILE 79 f:\dd\public\sdk\inc\wingdi.h
+FILE 80 f:\dd\vctools\crt_bld\self_x86\crt\src\stdlib.h
+FILE 81 f:\dd\public\sdk\inc\winerror.h
+FILE 82 f:\dd\public\sdk\inc\ktmtypes.h
+FILE 84 f:\dd\vctools\crt_bld\self_x86\crt\src\stdarg.h
+FILE 85 f:\dd\public\sdk\inc\windef.h
+FILE 86 f:\dd\public\sdk\inc\winbase.h
+FILE 88 f:\dd\vctools\crt_bld\self_x86\crt\src\string.h
+FILE 89 f:\dd\public\sdk\inc\winuser.h
+FILE 91 f:\dd\public\sdk\inc\winnetwk.h
+FILE 92 f:\dd\public\sdk\inc\winnt.h
+FILE 93 f:\dd\public\sdk\inc\wnnc.h
+FILE 94 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.h
+FILE 96 f:\dd\public\sdk\inc\winnls.h
+FILE 98 f:\dd\vctools\crt_bld\self_x86\crt\src\mtdll.h
+FILE 99 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdefs.h
+FILE 100 f:\dd\vctools\crt_bld\self_x86\crt\src\sal.h
+FILE 101 f:\dd\vctools\crt_bld\self_x86\crt\src\codeanalysis\sourceannotations.h
+FILE 102 f:\dd\public\sdk\inc\winver.h
+FILE 103 f:\dd\public\sdk\inc\verrsrc.h
+FILE 104 f:\dd\public\sdk\inc\wincon.h
+FILE 105 f:\dd\public\sdk\inc\stralign.h
+FILE 107 f:\dd\public\sdk\inc\mcx.h
+FILE 108 f:\dd\vctools\crt_bld\self_x86\crt\src\atox.c
+FILE 109 f:\dd\vctools\crt_bld\self_x86\crt\src\limits.h
+FILE 110 f:\dd\public\sdk\inc\windows.h
+FILE 111 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.h
+FILE 112 f:\dd\public\sdk\inc\sdkddkver.h
+FILE 113 f:\dd\vctools\crt_bld\self_x86\crt\src\oscalls.h
+FILE 114 f:\dd\vctools\crt_bld\self_x86\crt\src\excpt.h
+FILE 120 f:\dd\public\sdk\inc\reason.h
+FILE 123 f:\dd\public\sdk\inc\kernelspecs.h
+FILE 125 f:\dd\vctools\crt_bld\self_x86\crt\src\tchar.h
+FILE 126 f:\dd\vctools\crt_bld\self_x86\crt\src\mbstring.h
+FILE 127 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.h
+FILE 128 f:\dd\public\sdk\inc\ime_cmodes.h
+FILE 130 f:\dd\vctools\crt_bld\self_x86\crt\src\vadefs.h
+FILE 131 f:\dd\vctools\crt_bld\self_x86\crt\src\cruntime.h
+FILE 132 f:\dd\public\sdk\inc\tvout.h
+FILE 145 f:\dd\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h
+FILE 152 f:\dd\vctools\crt_bld\self_x86\crt\src\internal.h
+FILE 164 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdbg.h
+FILE 165 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoa.c
+FILE 178 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoas.c
+FILE 182 f:\dd\vctools\crt_bld\self_x86\crt\src\errno.h
+FILE 224 f:\dd\vctools\crt_bld\self_x86\crt\src\dosmap.c
+FILE 250 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcsup.h
+FILE 251 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcapi.h
+FILE 265 f:\dd\vctools\crt_bld\self_x86\crt\src\winheap.h
+FILE 281 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.h
+FILE 291 f:\dd\vctools\crt_bld\self_x86\crt\src\calloc_impl.c
+FILE 299 f:\dd\vctools\crt_bld\self_x86\crt\src\dbgint.h
+FILE 333 f:\dd\vctools\crt_bld\self_x86\crt\src\crtheap.c
+FILE 389 f:\dd\vctools\crt_bld\self_x86\crt\src\free.c
+FILE 453 f:\dd\vctools\crt_bld\self_x86\crt\src\heapinit.c
+FILE 498 f:\dd\vctools\crt_bld\self_x86\crt\src\rterr.h
+FILE 504 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c
+FILE 561 f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c
+FILE 618 f:\dd\vctools\crt_bld\self_x86\crt\src\realloc.c
+FILE 677 f:\dd\vctools\crt_bld\self_x86\crt\src\recalloc.c
+FILE 731 f:\dd\vctools\crt_bld\self_x86\crt\src\_newmode.c
+FILE 774 f:\dd\vctools\crt_bld\self_x86\crt\src\msdos.h
+FILE 777 f:\dd\vctools\crt_bld\self_x86\crt\src\stddef.h
+FILE 792 f:\dd\vctools\crt_bld\self_x86\crt\src\ioinit.c
+FILE 844 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c
+FILE 892 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\secchk.c
+FILE 904 f:\dd\vctools\crt_bld\self_x86\crt\src\process.h
+FILE 943 f:\dd\vctools\crt_bld\self_x86\crt\src\a_env.c
+FILE 960 f:\dd\vctools\crt_bld\self_x86\crt\src\awint.h
+FILE 975 f:\dd\vctools\crt_bld\self_x86\crt\src\signal.h
+FILE 1011 f:\dd\vctools\crt_bld\self_x86\crt\src\abort.c
+FILE 1039 f:\dd\vctools\crt_bld\self_x86\crt\src\swprintf.inl
+FILE 1053 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmbox.c
+FILE 1063 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmboxw.c
+FILE 1065 f:\dd\vctools\crt_bld\self_x86\crt\src\wchar.h
+FILE 1069 f:\dd\vctools\crt_bld\self_x86\crt\src\wtime.inl
+FILE 1120 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.c
+FILE 1145 f:\dd\vctools\crt_bld\self_x86\crt\src\dbghook.c
+FILE 1181 f:\dd\vctools\crt_bld\self_x86\crt\src\errmode.c
+FILE 1244 f:\dd\vctools\crt_bld\self_x86\crt\src\getqloc.c
+FILE 1288 f:\dd\vctools\crt_bld\self_x86\crt\src\locale.h
+FILE 1301 f:\dd\vctools\crt_bld\self_x86\crt\src\glstatus.c
+FILE 1344 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_cookie.c
+FILE 1392 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_report.c
+FILE 1413 f:\binaries.x86ret\inc\mm3dnow.h
+FILE 1415 f:\binaries.x86ret\inc\ammintrin.h
+FILE 1424 f:\binaries.x86ret\inc\immintrin.h
+FILE 1426 f:\binaries.x86ret\inc\wmmintrin.h
+FILE 1427 f:\binaries.x86ret\inc\nmmintrin.h
+FILE 1428 f:\binaries.x86ret\inc\smmintrin.h
+FILE 1429 f:\binaries.x86ret\inc\tmmintrin.h
+FILE 1430 f:\binaries.x86ret\inc\pmmintrin.h
+FILE 1431 f:\binaries.x86ret\inc\emmintrin.h
+FILE 1432 f:\binaries.x86ret\inc\xmmintrin.h
+FILE 1433 f:\binaries.x86ret\inc\mmintrin.h
+FILE 1455 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_support.c
+FILE 1467 f:\dd\vctools\crt_bld\self_x86\crt\src\intrin.h
+FILE 1468 f:\dd\vctools\crt_bld\self_x86\crt\src\setjmp.h
+FILE 1508 f:\dd\vctools\crt_bld\self_x86\crt\src\initcoll.c
+FILE 1568 f:\dd\vctools\crt_bld\self_x86\crt\src\initctyp.c
+FILE 1627 f:\dd\vctools\crt_bld\self_x86\crt\src\inithelp.c
+FILE 1685 f:\dd\vctools\crt_bld\self_x86\crt\src\initmon.c
+FILE 1737 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsint.h
+FILE 1742 f:\dd\vctools\crt_bld\self_x86\crt\src\initnum.c
+FILE 1800 f:\dd\vctools\crt_bld\self_x86\crt\src\inittime.c
+FILE 1855 f:\dd\vctools\crt_bld\self_x86\crt\src\lconv.c
+FILE 1913 f:\dd\vctools\crt_bld\self_x86\crt\src\localref.c
+FILE 1962 f:\dd\vctools\crt_bld\self_x86\crt\src\sect_attribs.h
+FILE 1969 f:\dd\vctools\crt_bld\self_x86\crt\src\onexit.c
+FILE 1989 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata1.c
+FILE 2036 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata2.c
+FILE 2079 f:\dd\vctools\crt_bld\self_x86\crt\src\pesect.c
+FILE 2128 f:\dd\vctools\crt_bld\self_x86\crt\src\purevirt.c
+FILE 2186 f:\dd\vctools\crt_bld\self_x86\crt\src\rand_s.c
+FILE 2250 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.c
+FILE 2311 f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
+FILE 2314 f:\dd\vctools\crt_bld\self_x86\crt\src\float.h
+FILE 2315 f:\dd\vctools\crt_bld\self_x86\crt\src\crtwrn.h
+FILE 2369 f:\dd\vctools\crt_bld\self_x86\crt\src\winxfltr.c
+FILE 2394 f:\dd\vctools\crt_bld\self_x86\crt\src\fltintrn.h
+FILE 2419 f:\dd\vctools\crt_bld\self_x86\crt\src\cmiscdat.c
+FILE 2445 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c
+FILE 2468 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl
+FILE 2493 f:\dd\vctools\crt_bld\self_x86\crt\src\strcat_s.c
+FILE 2523 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl
+FILE 2548 f:\dd\vctools\crt_bld\self_x86\crt\src\strcpy_s.c
+FILE 2578 f:\dd\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl
+FILE 2603 f:\dd\vctools\crt_bld\self_x86\crt\src\strncpy_s.c
+FILE 2658 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscat_s.c
+FILE 2713 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscpy_s.c
+FILE 2728 f:\dd\vctools\crt_bld\self_x86\crt\src\wcslen.c
+FILE 2776 f:\dd\vctools\crt_bld\self_x86\crt\src\wcsncpy_s.c
+FILE 2787 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
+FILE 2788 f:\dd\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc
+FILE 2789 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memset.asm
+FILE 2791 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcmp.asm
+FILE 2793 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcspn.asm
+FILE 2794 f:\dd\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM
+FILE 2796 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strlen.asm
+FILE 2798 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\_strnicm.asm
+FILE 2800 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strpbrk.asm
+FILE 2803 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\llmul.asm
+FILE 2805 f:\dd\vctools\crt_bld\SELF_X86\crt\src\mm.inc
+FILE 2806 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\ulldvrm.asm
+FILE 2820 f:\dd\vctools\crt_bld\self_x86\crt\src\handler.cpp
+FILE 2841 f:\dd\vctools\crt_bld\self_x86\crt\src\new.h
+FILE 2875 f:\dd\vctools\crt_bld\self_x86\crt\src\delete.cpp
+FILE 2931 f:\dd\vctools\crt_bld\self_x86\crt\src\_wctype.c
+FILE 2987 f:\dd\vctools\crt_bld\self_x86\crt\src\iswctype.c
+FILE 2998 f:\dd\vctools\crt_bld\self_x86\crt\src\stdio.h
+FILE 3045 f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
+FILE 3106 f:\dd\vctools\crt_bld\self_x86\crt\src\strtol.c
+FILE 3163 f:\dd\vctools\crt_bld\self_x86\crt\src\strtoq.c
+FILE 3218 f:\dd\vctools\crt_bld\self_x86\crt\src\tolower.c
+FILE 3271 f:\dd\vctools\crt_bld\self_x86\crt\src\ismbbyte.c
+FILE 3305 f:\dd\vctools\crt_bld\self_x86\crt\src\mbdata.h
+FILE 3326 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.c
+FILE 3386 f:\dd\vctools\crt_bld\self_x86\crt\src\a_loc.c
+FILE 3447 f:\dd\vctools\crt_bld\self_x86\crt\src\a_map.c
+FILE 3507 f:\dd\vctools\crt_bld\self_x86\crt\src\a_str.c
+FILE 3583 f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c
+FILE 3626 f:\dd\vctools\crt_bld\self_x86\crt\src\stricmp.c
+FILE 3682 f:\dd\vctools\crt_bld\self_x86\crt\src\strnicmp.c
+FILE 3774 f:\dd\vctools\crt_bld\self_x86\crt\src\tidtable.c
+FILE 3778 f:\dd\vctools\crt_bld\self_x86\crt\src\memory.h
+FILE 3838 f:\dd\vctools\crt_bld\self_x86\crt\src\stdenvp.c
+FILE 3860 f:\dd\vctools\crt_bld\self_x86\crt\src\dos.h
+FILE 3891 f:\dd\vctools\crt_bld\self_x86\crt\src\stdargv.c
+FILE 3954 f:\dd\vctools\crt_bld\self_x86\crt\src\mlock.c
+FILE 3998 f:\dd\vctools\crt_bld\self_x86\crt\src\cmsgs.h
+FILE 4012 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0msg.c
+FILE 4072 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0init.c
+FILE 4123 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0fp.c
+FILE 4186 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c
+FILE 4250 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c
+FILE 4274 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\alloca16.asm
+FILE 4276 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\chkstk.asm
+FILE 4289 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h
+FILE 4293 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h
+FILE 4294 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h
+FILE 4295 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h
+FILE 4309 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h
+FILE 4315 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c
+FILE 4327 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h
+FILE 4340 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 4345 f:\dd\vctools\langapi\undname\undname.inl
+FILE 4347 f:\dd\vctools\langapi\undname\utf8.h
+FILE 4355 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl
+FILE 4365 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 4366 f:\dd\vctools\langapi\undname\undname.h
+FILE 4367 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h
+FILE 4368 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h
+FILE 4396 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h
+FILE 4397 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp
+FILE 4401 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h
+FILE 4405 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h
+FILE 4427 f:\dd\vctools\langapi\include\ehdata.h
+FILE 4429 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h
+FILE 4449 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception
+FILE 4472 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h
+FILE 4473 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp
+FILE 4475 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef
+FILE 4487 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h
+FILE 4488 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo
+FILE 4490 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef
+FILE 4491 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h
+FILE 4492 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h
+FILE 4493 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h
+FILE 4496 f:\dd\public\internal\vctools\include\undname.h
+FILE 4531 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp
+FILE 4591 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp
+FILE 4643 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp
+FILE 4664 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h
+FILE 4680 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h
+FUNC 2cec 54 0 main
+2cec 6 57 1
+2cf2 8 58 1
+2cfa e 59 1
+2d08 8 60 1
+2d10 b 61 1
+2d1b f 62 1
+2d2a 12 64 1
+2d3c 4 65 1
+FUNC 4b70 a 0 static int google_breakpad::i()
+4b70 3 51 1
+4b73 5 52 1
+4b78 2 53 1
+FUNC 25a8 21 0 google_breakpad::C::C()
+25a8 21 37 1
+FUNC 131c 14 0 google_breakpad::C::~C()
+131c 14 38 1
+FUNC 1b94 16 0 google_breakpad::C::set_member(int)
+1b94 16 40 1
+FUNC 11e8 1e 0 google_breakpad::C::f()
+11e8 1e 43 1
+FUNC 1b3c 10 0 google_breakpad::C::g()
+1b3c 10 44 1
+FUNC 669c 7 0 google_breakpad::C::h(google_breakpad::C const &)
+669c 7 45 1
+FUNC 16d4 20 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 211c c 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 5458 9 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 40f4 10 0 type_info::~type_info()
+40f4 2 49 4531
+40f6 d 50 4531
+4103 1 51 4531
+FUNC 1fd4 1c 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 46d8 7 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 65a8 7 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 12a0 b 0 operator delete(void *)
+12a0 5 20 2875
+12a5 1 24 2875
+12a6 5 23 2875
+FUNC 198c 4 0 static void fast_error_exit(int)
+FUNC 1ff0 18 0 static void fast_error_exit(int)
+FUNC 455c 12 0 static void fast_error_exit(int)
+FUNC 4d0c 5 0 static void fast_error_exit(int)
+1ff0 5 326 4250
+1ff5 13 335 4250
+4d0c 5 337 4250
+455c 8 339 4250
+198c 2 340 4250
+4564 a 340 4250
+198e 2 341 4250
+FUNC 38be 161 0 static int __tmainCRTStartup()
+38be c 196 4250
+38ca a 214 4250
+38d4 b 216 4250
+38df 49 223 4250
+3928 9 225 4250
+3931 8 226 4250
+3939 9 228 4250
+3942 8 229 4250
+394a 5 238 4250
+394f 3 246 4250
+3952 9 248 4250
+395b 8 249 4250
+3963 b 252 4250
+396e a 255 4250
+3978 9 257 4250
+3981 8 258 4250
+3989 9 259 4250
+3992 8 260 4250
+399a 8 262 4250
+39a2 4 263 4250
+39a6 7 264 4250
+39ad a 277 4250
+39b7 18 278 4250
+39cf 5 281 4250
+39d4 6 282 4250
+39da 5 284 4250
+39df 2 286 4250
+39e1 17 287 4250
+39f8 6 293 4250
+39fe 6 295 4250
+3a04 6 296 4250
+3a0a 5 298 4250
+3a0f 7 300 4250
+3a16 3 302 4250
+3a19 6 303 4250
+FUNC 620c a 0 mainCRTStartup
+620c 0 179 4250
+620c 5 186 4250
+6211 5 188 4250
+FUNC 66c3 70 0 type_info::_Type_info_dtor(type_info *)
+66c3 c 62 4473
+66cf 8 63 4473
+66d7 4 64 4473
+66db a 65 4473
+66e5 d 70 4473
+66f2 4 72 4473
+66f6 4 74 4473
+66fa 6 79 4473
+6700 7 80 4473
+6707 9 94 4473
+6710 4 101 4473
+6714 c 103 4473
+6720 6 107 4473
+6726 2 83 4473
+6728 2 72 4473
+672a 9 104 4473
+FUNC 27ab 88 0 strcmp
+27ab 0 65 2791
+27ab 4 73 2791
+27af 4 74 2791
+27b3 6 76 2791
+27b9 2 77 2791
+27bb 2 81 2791
+27bd 2 83 2791
+27bf 2 84 2791
+27c1 2 85 2791
+27c3 2 86 2791
+27c5 3 87 2791
+27c8 2 88 2791
+27ca 2 89 2791
+27cc 2 90 2791
+27ce 3 92 2791
+27d1 3 94 2791
+27d4 2 95 2791
+27d6 2 96 2791
+27d8 2 97 2791
+27da 3 98 2791
+27dd 2 99 2791
+27df 3 100 2791
+27e2 3 101 2791
+27e5 2 102 2791
+27e7 4 103 2791
+27eb 2 107 2791
+27ed 2 108 2791
+27ef 2 115 2791
+27f1 2 116 2791
+27f3 3 117 2791
+27f6 1 118 2791
+27f7 6 122 2791
+27fd 2 123 2791
+27ff 2 125 2791
+2801 3 126 2791
+2804 2 127 2791
+2806 2 128 2791
+2808 3 129 2791
+280b 2 130 2791
+280d 2 131 2791
+280f 6 133 2791
+2815 2 134 2791
+2817 3 139 2791
+281a 3 140 2791
+281d 2 141 2791
+281f 2 142 2791
+2821 2 143 2791
+2823 2 144 2791
+2825 3 145 2791
+2828 2 146 2791
+282a 2 147 2791
+282c 2 148 2791
+282e 3 149 2791
+2831 2 150 2791
+FUNC 26fc 14 0 free
+FUNC 2bcc 2 0 free
+FUNC 3888 18 0 free
+FUNC 3ea0 1f 0 free
+26fc 5 40 389
+2701 f 45 389
+3ea0 11 50 389
+3eb1 e 51 389
+3888 18 53 389
+2bcc 2 55 389
+FUNC 199c 10 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 2380 6 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 3ce8 10 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 4448 14 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 4778 1c 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 57d0 10 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 5a40 5 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+FUNC 642c 10 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+4778 5 67 4397
+199c 10 68 4397
+3ce8 10 68 4397
+4448 14 68 4397
+477d 17 68 4397
+57d0 10 68 4397
+642c 10 68 4397
+5a40 5 69 4397
+2380 2 72 4397
+2382 4 73 4397
+FUNC 5a28 e 0 __CxxSetUnhandledExceptionFilter
+5a28 0 86 4397
+5a28 b 89 4397
+5a33 2 90 4397
+5a35 1 91 4397
+FUNC 1db0 5 0 __crtCorExitProcess
+FUNC 21a0 1e 0 __crtCorExitProcess
+FUNC 24cc 1a 0 __crtCorExitProcess
+FUNC 4c14 2 0 __crtCorExitProcess
+21a0 5 675 4186
+21a5 b 679 4186
+21b0 e 680 4186
+24cc c 681 4186
+24d8 e 682 4186
+1db0 5 683 4186
+4c14 2 693 4186
+FUNC 6a9b 18 0 __crtExitProcess
+6a9b 5 698 4186
+6aa0 9 699 4186
+6aa9 a 708 4186
+FUNC 2100 9 0 _lockexit
+2100 0 758 4186
+2100 8 759 4186
+2108 1 760 4186
+FUNC 2b50 9 0 _unlockexit
+2b50 0 784 4186
+2b50 8 785 4186
+2b58 1 786 4186
+FUNC 4594 33 0 _init_pointers
+4594 3 809 4186
+4597 7 810 4186
+459e 6 812 4186
+45a4 6 813 4186
+45aa 6 814 4186
+45b0 6 815 4186
+45b6 6 816 4186
+45bc a 817 4186
+45c6 1 818 4186
+FUNC 1bc8 3 0 _initterm_e
+FUNC 1de4 e 0 _initterm_e
+FUNC 22bc 2 0 _initterm_e
+FUNC 2944 10 0 _initterm_e
+FUNC 3dd4 3 0 _initterm_e
+FUNC 3e80 f 0 _initterm_e
+FUNC 6568 10 0 _initterm_e
+2944 6 908 4186
+1de4 e 917 4186
+294a a 917 4186
+6568 10 922 4186
+22bc 2 923 4186
+3dd4 3 924 4186
+1bc8 1 917 4186
+3e80 f 917 4186
+1bc9 2 928 4186
+FUNC 1d44 c 0 _cinit
+FUNC 2470 10 0 _cinit
+FUNC 2558 27 0 _cinit
+FUNC 2660 14 0 _cinit
+FUNC 269c 18 0 _cinit
+FUNC 27a4 2 0 _cinit
+FUNC 34ec 24 0 _cinit
+FUNC 48dc 10 0 _cinit
+FUNC 4bf8 2 0 _cinit
+FUNC 4dd4 18 0 _cinit
+FUNC 5b74 a 0 _cinit
+FUNC 69e4 18 0 _cinit
+FUNC 6f60 2 0 _cinit
+69e4 5 258 4186
+4dd4 18 268 4186
+69e9 13 268 4186
+5b74 a 270 4186
+34ec 5 272 4186
+34f1 11 278 4186
+3502 2 279 4186
+3504 c 280 4186
+2558 c 283 4186
+2470 10 288 4186
+2564 1b 288 4186
+27a4 2 288 4186
+48dc 10 288 4186
+2660 14 301 4186
+269c 18 301 4186
+1d44 c 303 4186
+4bf8 2 307 4186
+6f60 2 308 4186
+FUNC 35a7 140 0 static void doexit(int, int, int)
+35a7 c 489 4186
+35b3 8 507 4186
+35bb 4 508 4186
+35bf f 510 4186
+35ce 5 511 4186
+35d3 8 514 4186
+35db a 516 4186
+35e5 13 532 4186
+35f8 4 533 4186
+35fc d 534 4186
+3609 3 538 4186
+360c 3 539 4186
+360f 11 547 4186
+3620 2 550 4186
+3622 4 552 4186
+3626 6 559 4186
+362c 7 562 4186
+3633 2 565 4186
+3635 a 567 4186
+363f 8 568 4186
+3647 a 570 4186
+3651 6 573 4186
+3657 8 574 4186
+365f 5 576 4186
+3664 21 582 4186
+3685 21 590 4186
+36a6 c 608 4186
+36b2 6 613 4186
+36b8 a 617 4186
+36c2 8 619 4186
+36ca 8 621 4186
+36d2 6 609 4186
+36d8 9 610 4186
+36e1 6 622 4186
+FUNC 6d68 16 0 exit
+6d68 5 392 4186
+6d6d f 393 4186
+6d7c 2 394 4186
+FUNC 5464 16 0 _exit
+5464 5 400 4186
+5469 f 401 4186
+5478 2 402 4186
+FUNC 1df4 f 0 _cexit
+1df4 0 407 4186
+1df4 e 408 4186
+1e02 1 409 4186
+FUNC 5544 f 0 _c_exit
+5544 0 414 4186
+5544 e 415 4186
+5552 1 416 4186
+FUNC 3218 1e 0 _amsg_exit
+3218 5 439 4186
+321d 5 440 4186
+3222 9 441 4186
+322b b 442 4186
+FUNC 1b78 4 0 _GET_RTERRMSG
+FUNC 2888 9 0 _GET_RTERRMSG
+FUNC 44d0 16 0 _GET_RTERRMSG
+FUNC 4858 10 0 _GET_RTERRMSG
+FUNC 6410 7 0 _GET_RTERRMSG
+6410 5 165 4012
+6415 2 168 4012
+44d0 16 169 4012
+4858 10 168 4012
+1b78 2 172 4012
+1b7a 2 173 4012
+2888 7 170 4012
+288f 2 173 4012
+FUNC 11c4 12 0 _NMSG_WRITE
+FUNC 2028 16 0 _NMSG_WRITE
+FUNC 20c0 12 0 _NMSG_WRITE
+FUNC 2460 f 0 _NMSG_WRITE
+FUNC 2648 f 0 _NMSG_WRITE
+FUNC 26c4 1a 0 _NMSG_WRITE
+FUNC 349c 27 0 _NMSG_WRITE
+FUNC 43a4 1e 0 _NMSG_WRITE
+FUNC 4428 a 0 _NMSG_WRITE
+FUNC 47c0 2b 0 _NMSG_WRITE
+FUNC 49a4 18 0 _NMSG_WRITE
+FUNC 4a64 1c 0 _NMSG_WRITE
+FUNC 4d50 17 0 _NMSG_WRITE
+FUNC 4e7c 39 0 _NMSG_WRITE
+FUNC 4f5c 2 0 _NMSG_WRITE
+FUNC 5810 25 0 _NMSG_WRITE
+FUNC 59cc 16 0 _NMSG_WRITE
+FUNC 5d18 34 0 _NMSG_WRITE
+FUNC 64e8 5 0 _NMSG_WRITE
+FUNC 6648 7 0 _NMSG_WRITE
+FUNC 6678 22 0 _NMSG_WRITE
+FUNC 6894 11 0 _NMSG_WRITE
+FUNC 70ac 18 0 _NMSG_WRITE
+4e7c 1b 196 4012
+4e97 8 197 4012
+4e9f 16 199 4012
+11c4 12 226 4012
+2028 16 226 4012
+59cc 16 226 4012
+6894 11 263 4012
+5810 25 272 4012
+47c0 2b 275 4012
+4a64 1c 276 4012
+64e8 5 276 4012
+6648 7 276 4012
+4d50 17 279 4012
+5d18 d 281 4012
+5d25 27 282 4012
+6678 22 285 4012
+43a4 1e 286 4012
+49a4 18 290 4012
+4428 a 272 4012
+70ac a 228 4012
+2460 f 229 4012
+70b6 e 229 4012
+4f5c 2 244 4012
+26c4 a 246 4012
+26ce 10 248 4012
+20c0 12 244 4012
+349c 27 260 4012
+2648 f 294 4012
+FUNC 1984 1 0 _FF_MSGBANNER
+FUNC 2388 16 0 _FF_MSGBANNER
+FUNC 4ab4 16 0 _FF_MSGBANNER
+FUNC 4be0 17 0 _FF_MSGBANNER
+FUNC 5ac8 13 0 _FF_MSGBANNER
+4be0 0 134 4012
+2388 16 138 4012
+4be0 17 138 4012
+5ac8 13 138 4012
+4ab4 a 140 4012
+4abe c 141 4012
+1984 1 143 4012
+FUNC 1490 10 0 _XcptFilter
+FUNC 1540 3 0 _XcptFilter
+FUNC 1720 14 0 _XcptFilter
+FUNC 174c 1b 0 _XcptFilter
+FUNC 19d8 2 0 _XcptFilter
+FUNC 2054 3 0 _XcptFilter
+FUNC 2218 9 0 _XcptFilter
+FUNC 2440 c 0 _XcptFilter
+FUNC 2870 e 0 _XcptFilter
+FUNC 2928 c 0 _XcptFilter
+FUNC 2ae8 11 0 _XcptFilter
+FUNC 2d78 10 0 _XcptFilter
+FUNC 356c f 0 _XcptFilter
+FUNC 38a8 10 0 _XcptFilter
+FUNC 3ed0 10 0 _XcptFilter
+FUNC 3fa4 10 0 _XcptFilter
+FUNC 44e8 7 0 _XcptFilter
+FUNC 4810 17 0 _XcptFilter
+FUNC 4cc8 c 0 _XcptFilter
+FUNC 4f50 7 0 _XcptFilter
+FUNC 5564 e 0 _XcptFilter
+FUNC 56d4 10 0 _XcptFilter
+FUNC 57a4 e 0 _XcptFilter
+FUNC 59f8 16 0 _XcptFilter
+FUNC 5bbc e 0 _XcptFilter
+FUNC 5ca4 10 0 _XcptFilter
+FUNC 5d60 c 0 _XcptFilter
+FUNC 5e38 18 0 _XcptFilter
+FUNC 5e60 10 0 _XcptFilter
+FUNC 6090 c 0 _XcptFilter
+FUNC 61f0 7 0 _XcptFilter
+FUNC 6228 c 0 _XcptFilter
+FUNC 648c c 0 _XcptFilter
+FUNC 64dc 5 0 _XcptFilter
+FUNC 650c 1a 0 _XcptFilter
+FUNC 66a4 c 0 _XcptFilter
+FUNC 68e4 10 0 _XcptFilter
+FUNC 6ee8 3 0 _XcptFilter
+FUNC 6f98 c 0 _XcptFilter
+650c 6 195 2369
+6512 7 202 2369
+6519 d 203 2369
+1720 14 208 2369
+19d8 2 208 2369
+2218 9 208 2369
+2870 e 208 2369
+4810 17 208 2369
+57a4 e 208 2369
+5bbc e 210 2369
+5e60 3 216 2369
+5e63 d 223 2369
+4f50 7 224 2369
+356c f 232 2369
+6f98 4 237 2369
+6f9c 8 238 2369
+5564 3 244 2369
+5567 b 248 2369
+174c a 263 2369
+1756 11 272 2369
+6ee8 3 280 2369
+5e38 18 283 2369
+59f8 16 310 2369
+6090 c 312 2369
+56d4 10 314 2369
+2440 c 316 2369
+5ca4 10 318 2369
+5d60 c 320 2369
+3fa4 10 322 2369
+648c c 324 2369
+68e4 10 326 2369
+4cc8 c 328 2369
+2ae8 10 330 2369
+2928 c 332 2369
+2d78 10 334 2369
+6228 c 336 2369
+1490 10 338 2369
+66a4 c 340 2369
+3ed0 10 342 2369
+61f0 7 344 2369
+38a8 8 353 2369
+38b0 3 358 2369
+38b3 5 360 2369
+44e8 4 365 2369
+44ec 3 366 2369
+64dc 1 366 2369
+64dd 4 372 2369
+1540 3 374 2369
+2054 1 374 2369
+2af8 1 374 2369
+2055 2 376 2369
+FUNC 4139 dc 0 _setenvp
+4139 0 77 3838
+4139 9 85 3838
+4142 6 86 3838
+4148 9 91 3838
+4151 4 98 3838
+4155 8 99 3838
+415d 4 110 3838
+4161 1 111 3838
+4162 b 112 3838
+416d 6 108 3838
+4173 15 117 3838
+4188 2 118 3838
+418a 9 121 3838
+4193 6 123 3838
+4199 9 125 3838
+41a2 10 127 3838
+41b2 f 133 3838
+41c1 3 134 3838
+41c4 7 121 3838
+41cb b 138 3838
+41d6 7 139 3838
+41dd 3 142 3838
+41e0 a 149 3838
+41ea 2 152 3838
+41ec 2 138 3838
+41ee 3 153 3838
+41f1 b 129 3838
+41fc 7 130 3838
+4203 5 131 3838
+4208 d 133 3838
+FUNC 1018 8 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 19b4 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 19f4 2 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 1dd0 14 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 1fac 28 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2058 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 209c 9 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2364 1a 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 253c 4 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2598 9 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 25cc 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2718 b 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2730 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 28a8 a 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 28fc 2 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 290c 14 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2b34 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2bfc 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2d88 7 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3730 d 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 377c 2 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 37b0 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3c38 24 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3c84 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3db8 1b 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3e90 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 3efc 13 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4110 12 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 42dc f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 42f0 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4518 6 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4610 7 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4684 11 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 46f8 13 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4848 a 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4994 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 49bc e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4aac 1 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4cb8 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4ed8 24 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4f10 3 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 4f30 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 501c 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 5518 3 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 569c 3 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 57bc 12 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 5a50 10 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 5cc0 14 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 5e84 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 6448 f 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 6530 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 66b0 13 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 6970 4 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 6aec 7 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 6f30 e 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+1fac 6 221 3891
+1fb2 9 229 3891
+1fbb 2 232 3891
+1fbd 17 234 3891
+2598 9 234 3891
+4f10 3 253 3891
+5e84 f 255 3891
+66b0 5 257 3891
+66b5 9 258 3891
+66be 5 259 3891
+25cc 2 261 3891
+25ce e 262 3891
+1018 8 263 3891
+3db8 2 265 3891
+3dba 19 267 3891
+57bc 2 268 3891
+57be 10 269 3891
+4848 a 270 3891
+4aac 1 271 3891
+2b34 f 275 3891
+42f0 10 275 3891
+4cb8 f 275 3891
+4ed8 14 275 3891
+2730 e 280 3891
+291c 4 281 3891
+253c 4 284 3891
+5cc0 e 289 3891
+37b0 10 290 3891
+49bc e 290 3891
+4610 7 291 3891
+6aec 1 278 3891
+6aed 6 279 3891
+2370 e 294 3891
+3c84 10 298 3891
+209c 9 299 3891
+19f4 2 300 3891
+2718 3 314 3891
+271b 8 318 3891
+28fc 1 321 3891
+28fd 1 322 3891
+4994 f 319 3891
+6448 f 324 3891
+42dc f 327 3891
+4684 11 328 3891
+4eec 10 328 3891
+2914 2 329 3891
+2916 6 330 3891
+3730 d 332 3891
+377c 2 335 3891
+2058 1 339 3891
+4f30 e 339 3891
+2059 e 340 3891
+5cd0 4 341 3891
+501c 10 342 3891
+290c 3 341 3891
+2bfc 10 346 3891
+3c4c 10 346 3891
+3e90 e 346 3891
+6f30 e 346 3891
+19b4 e 351 3891
+3efc 13 353 3891
+4110 12 353 3891
+3c38 b 354 3891
+3c43 2 355 3891
+5a50 a 357 3891
+5a5a 6 358 3891
+1dd0 14 359 3891
+569c 1 360 3891
+569d 2 361 3891
+2364 5 364 3891
+4518 1 366 3891
+4519 5 375 3891
+6530 e 379 3891
+2d88 7 380 3891
+28a8 2 381 3891
+28aa 8 382 3891
+46f8 13 385 3891
+5518 3 386 3891
+6970 2 387 3891
+6972 2 388 3891
+FUNC 1ad8 3 0 _setargv
+FUNC 2008 1f 0 _setargv
+FUNC 22dc 16 0 _setargv
+FUNC 2320 5 0 _setargv
+FUNC 2934 3 0 _setargv
+FUNC 33cc 17 0 _setargv
+FUNC 4254 30 0 _setargv
+FUNC 432c 5 0 _setargv
+FUNC 4ad0 28 0 _setargv
+FUNC 4b8c 2c 0 _setargv
+FUNC 4c4c 12 0 _setargv
+FUNC 6960 10 0 _setargv
+2008 9 88 3891
+2011 16 97 3891
+432c 5 98 3891
+4254 18 104 3891
+2934 3 120 3891
+426c 18 120 3891
+6960 10 120 3891
+4ad0 11 127 3891
+4ae1 17 134 3891
+4c4c 12 134 3891
+22dc a 138 3891
+22e6 c 140 3891
+33cc 9 142 3891
+33d5 2 143 3891
+33d7 c 144 3891
+4b8c 13 151 3891
+4b9f c 156 3891
+4bab 6 160 3891
+4bb1 7 175 3891
+1ad8 3 136 3891
+2320 3 136 3891
+2323 2 176 3891
+FUNC 14f8 30 0 __crtGetEnvironmentStringsA
+FUNC 23d0 10 0 __crtGetEnvironmentStringsA
+FUNC 293c 1 0 __crtGetEnvironmentStringsA
+FUNC 2bbc e 0 __crtGetEnvironmentStringsA
+FUNC 3524 c 0 __crtGetEnvironmentStringsA
+FUNC 3548 f 0 __crtGetEnvironmentStringsA
+FUNC 3d10 18 0 __crtGetEnvironmentStringsA
+FUNC 3df0 8 0 __crtGetEnvironmentStringsA
+FUNC 3dfc 1c 0 __crtGetEnvironmentStringsA
+FUNC 3fb4 22 0 __crtGetEnvironmentStringsA
+FUNC 436c 12 0 __crtGetEnvironmentStringsA
+FUNC 68d4 9 0 __crtGetEnvironmentStringsA
+3fb4 a 40 943
+3fbe 18 49 943
+3df0 8 50 943
+3548 f 54 943
+2bbc e 55 943
+14f8 1 56 943
+436c 12 56 943
+14f9 1b 70 943
+1514 e 74 943
+3d10 18 74 943
+3dfc 1c 88 943
+3524 9 90 943
+352d 3 91 943
+23d0 7 94 943
+23d7 9 95 943
+68d4 7 76 943
+1524 2 77 943
+293c 1 77 943
+68db 2 77 943
+1526 2 96 943
+FUNC 1008 b 0 _ioinit
+FUNC 1258 f 0 _ioinit
+FUNC 12c8 e 0 _ioinit
+FUNC 1548 33 0 _ioinit
+FUNC 1708 18 0 _ioinit
+FUNC 17a4 10 0 _ioinit
+FUNC 197c 2 0 _ioinit
+FUNC 1988 3 0 _ioinit
+FUNC 22f8 1c 0 _ioinit
+FUNC 23e0 4c 0 _ioinit
+FUNC 244c 14 0 _ioinit
+FUNC 24b8 8 0 _ioinit
+FUNC 24e8 1c 0 _ioinit
+FUNC 26e0 1c 0 _ioinit
+FUNC 2ad0 10 0 _ioinit
+FUNC 2b6c f 0 _ioinit
+FUNC 2bf0 5 0 _ioinit
+FUNC 2d54 a 0 _ioinit
+FUNC 2db0 16 0 _ioinit
+FUNC 2dcc 8 0 _ioinit
+FUNC 31a8 4 0 _ioinit
+FUNC 31e0 16 0 _ioinit
+FUNC 3260 f 0 _ioinit
+FUNC 334c 14 0 _ioinit
+FUNC 33ac 12 0 _ioinit
+FUNC 3cb0 3 0 _ioinit
+FUNC 3d28 6 0 _ioinit
+FUNC 3e24 2 0 _ioinit
+FUNC 3e34 20 0 _ioinit
+FUNC 3e5c 1f 0 _ioinit
+FUNC 42a4 f 0 _ioinit
+FUNC 4380 f 0 _ioinit
+FUNC 4434 12 0 _ioinit
+FUNC 4618 6 0 _ioinit
+FUNC 47ec 14 0 _ioinit
+FUNC 4920 a 0 _ioinit
+FUNC 5c70 30 0 _ioinit
+FUNC 5d6c 8 0 _ioinit
+FUNC 617c 18 0 _ioinit
+FUNC 6248 a 0 _ioinit
+FUNC 636c e 0 _ioinit
+FUNC 63f0 14 0 _ioinit
+FUNC 6a74 a 0 _ioinit
+FUNC 6ba0 3f 0 _ioinit
+FUNC 6c4c 14 0 _ioinit
+FUNC 6c84 8 0 _ioinit
+FUNC 6f90 3 0 _ioinit
+5c70 9 111 792
+5c79 a 122 792
+5c83 1d 129 792
+6c84 8 131 792
+3e5c 1f 137 792
+6f90 3 134 792
+23f4 a 139 792
+23fe 3 141 792
+2401 6 143 792
+2407 4 145 792
+240b 3 146 792
+23e0 2 147 792
+240e 1e 147 792
+23e2 f 155 792
+2ad0 10 155 792
+3e34 2 160 792
+3e36 6 166 792
+3e3c 2 167 792
+3e24 2 173 792
+3e3e 16 173 792
+2bf0 5 179 792
+33ac 12 179 792
+1708 18 185 792
+26e0 7 199 792
+26e7 15 201 792
+1010 3 198 792
+1548 4 203 792
+154c 4 205 792
+1550 4 206 792
+1554 10 209 792
+1564 17 210 792
+47ec 14 179 792
+3d28 6 280 792
+4618 6 191 792
+17a4 10 217 792
+1258 f 230 792
+244c 14 230 792
+3260 f 230 792
+334c 14 230 792
+63f0 14 230 792
+6ba0 14 232 792
+6bb4 7 233 792
+6bbb 8 234 792
+6bc3 1c 237 792
+3cb0 3 239 792
+2db0 16 217 792
+1008 2 249 792
+22f8 b 251 792
+2303 11 254 792
+42a4 f 254 792
+6a74 a 302 792
+4434 4 258 792
+24b8 8 262 792
+4438 e 262 792
+4920 a 262 792
+617c 18 262 792
+636c e 262 792
+6c4c 14 262 792
+31e0 16 273 792
+6248 a 274 792
+2b6c f 275 792
+31a8 4 276 792
+24e8 1c 280 792
+5d6c 3 282 792
+5d6f 5 284 792
+2d54 4 293 792
+2d58 6 294 792
+4380 f 249 792
+12c8 c 309 792
+12d4 2 311 792
+197c 2 311 792
+1988 1 311 792
+1989 2 312 792
+2dcc 8 281 792
+FUNC 12ac 3 0 _RTC_Initialize
+FUNC 2d94 10 0 _RTC_Initialize
+FUNC 447c 10 0 _RTC_Initialize
+FUNC 5754 1e 0 _RTC_Initialize
+FUNC 6958 2 0 _RTC_Initialize
+FUNC 2480 3 0 _RTC_Terminate
+FUNC 3cf8 10 0 _RTC_Terminate
+FUNC 3e2c 2 0 _RTC_Terminate
+FUNC 57e0 1e 0 _RTC_Terminate
+FUNC 5c60 10 0 _RTC_Terminate
+FUNC 1474 9 0 _encoded_null
+1474 0 79 3774
+1474 8 80 3774
+147c 1 81 3774
+FUNC 2bb0 9 4 __crtTlsAlloc
+2bb0 0 95 3774
+2bb0 6 96 3774
+2bb6 3 97 3774
+FUNC 3240 1f 0 __set_flsgetvalue
+FUNC 338c 1b 0 __set_flsgetvalue
+FUNC 6444 4 0 __set_flsgetvalue
+3240 3 143 3774
+3243 e 145 3774
+3251 e 146 3774
+338c e 148 3774
+339a d 149 3774
+6444 3 151 3774
+6447 1 155 3774
+FUNC 2068 16 0 _mtterm
+FUNC 2b9c 14 0 _mtterm
+FUNC 48c8 14 0 _mtterm
+FUNC 5b84 5 0 _mtterm
+FUNC 5e0c e 0 _mtterm
+48c8 0 329 3774
+48c8 14 336 3774
+2068 f 337 3774
+2077 7 338 3774
+2b9c 14 342 3774
+5e0c 7 343 3774
+5e13 7 344 3774
+5b84 5 352 3774
+FUNC 10ca b4 0 _initptd
+10ca c 379 3774
+10d6 b 381 3774
+10e1 a 384 3774
+10eb 4 385 3774
+10ef 6 386 3774
+10f5 3 391 3774
+10f8 7 395 3774
+10ff 7 396 3774
+1106 7 397 3774
+110d 8 399 3774
+1115 4 400 3774
+1119 9 402 3774
+1122 c 404 3774
+112e 8 411 3774
+1136 3 412 3774
+1139 6 413 3774
+113f 4 421 3774
+1143 8 422 3774
+114b 9 423 3774
+1154 c 425 3774
+1160 6 428 3774
+1166 6 404 3774
+116c 9 406 3774
+1175 9 426 3774
+FUNC 2954 28 0 _getptd_noexit
+FUNC 4520 1c 0 _getptd_noexit
+FUNC 45cc 1e 0 _getptd_noexit
+FUNC 48ec 23 0 _getptd_noexit
+FUNC 4b28 c 0 _getptd_noexit
+FUNC 616c 9 0 _getptd_noexit
+2954 4 448 3774
+2958 6 452 3774
+295e 1e 460 3774
+45cc 1e 472 3774
+48ec 23 475 3774
+4520 a 481 3774
+452a 6 483 3774
+4530 6 484 3774
+4536 6 486 3774
+616c 7 492 3774
+6173 2 493 3774
+4b28 8 498 3774
+4b30 3 500 3774
+4b33 1 501 3774
+FUNC 12c0 7 0 _getptd
+FUNC 4314 18 0 _getptd
+FUNC 44f4 4 0 _getptd
+FUNC 4f9c 1 0 _getptd
+4314 3 522 3774
+4317 7 523 3774
+431e e 524 3774
+12c0 7 525 3774
+4f9c 1 525 3774
+44f4 3 527 3774
+44f7 1 528 3774
+FUNC 1330 12f 4 _freefls
+1330 c 556 3774
+133c b 567 3774
+1347 7 568 3774
+134e 7 569 3774
+1355 7 571 3774
+135c 7 572 3774
+1363 7 574 3774
+136a 7 575 3774
+1371 7 577 3774
+1378 7 578 3774
+137f 7 580 3774
+1386 7 581 3774
+138d 7 583 3774
+1394 7 584 3774
+139b 7 586 3774
+13a2 7 587 3774
+13a9 a 589 3774
+13b3 7 590 3774
+13ba 8 592 3774
+13c2 4 593 3774
+13c6 1a 596 3774
+13e0 7 597 3774
+13e7 c 599 3774
+13f3 8 603 3774
+13fb 7 605 3774
+1402 7 606 3774
+1409 7 608 3774
+1410 15 611 3774
+1425 7 612 3774
+142c c 615 3774
+1438 7 619 3774
+143f 8 622 3774
+1447 3 599 3774
+144a 9 600 3774
+1453 3 615 3774
+1456 9 616 3774
+FUNC 1608 54 0 _mtinit
+FUNC 2228 5 0 _mtinit
+FUNC 3768 13 0 _mtinit
+FUNC 3880 2 0 _mtinit
+FUNC 3ba8 3 0 _mtinit
+FUNC 3cb8 1e 0 _mtinit
+FUNC 3d90 28 0 _mtinit
+FUNC 45ec 9 0 _mtinit
+FUNC 47a4 19 0 _mtinit
+FUNC 4c18 1f 0 _mtinit
+FUNC 547c 52 0 _mtinit
+FUNC 54f8 16 0 _mtinit
+FUNC 58b0 24 0 _mtinit
+FUNC 597c 33 0 _mtinit
+FUNC 5c28 e 0 _mtinit
+FUNC 6458 1e 0 _mtinit
+6458 3 203 3774
+645b d 211 3774
+6468 e 212 3774
+45ec 5 213 3774
+45f1 3 214 3774
+1608 1 300 3774
+45f4 1 300 3774
+1609 e 218 3774
+1617 d 221 3774
+1624 d 224 3774
+1631 d 227 3774
+163e 1e 228 3774
+3768 13 228 3774
+599c 13 228 3774
+5c28 e 228 3774
+58b0 a 231 3774
+58ba 1a 235 3774
+47a4 19 244 3774
+54f8 16 244 3774
+547c 5 249 3774
+5481 e 256 3774
+548f d 257 3774
+549c d 258 3774
+54a9 12 259 3774
+54bb 7 266 3774
+54c2 c 268 3774
+3d90 1d 274 3774
+3dad b 276 3774
+3cb8 1e 284 3774
+4c18 1f 284 3774
+597c a 294 3774
+5986 6 296 3774
+598c 6 297 3774
+5992 9 299 3774
+2228 5 286 3774
+3880 2 245 3774
+3ba8 2 245 3774
+3baa 1 300 3774
+FUNC 472c 1e 0 _heap_init
+472c 0 40 453
+472c 1d 44 453
+4749 1 60 453
+FUNC 503b 45 0 _SEH_prolog4
+FUNC 5080 14 0 _SEH_epilog4
+FUNC 10b0 1a 0 _except_handler4
+FUNC 1180 c 0 _except_handler4
+FUNC 1528 17 0 _except_handler4
+FUNC 1734 10 0 _except_handler4
+FUNC 1768 2c 0 _except_handler4
+FUNC 210c 10 0 _except_handler4
+FUNC 267c 13 0 _except_handler4
+FUNC 2bd0 20 0 _except_handler4
+FUNC 3270 a 0 _except_handler4
+FUNC 3754 13 0 _except_handler4
+FUNC 3b48 36 0 _except_handler4
+FUNC 3d54 3 0 _except_handler4
+FUNC 3f88 c 0 _except_handler4
+FUNC 42b4 d 0 _except_handler4
+FUNC 4f40 10 0 _except_handler4
+FUNC 5a60 1c 0 _except_handler4
+FUNC 5a84 22 0 _except_handler4
+FUNC 5d88 d 0 _except_handler4
+FUNC 5e70 f 0 _except_handler4
+FUNC 5f50 12 0 _except_handler4
+FUNC 5fcc 12 0 _except_handler4
+FUNC 61bc 1d 0 _except_handler4
+FUNC 6670 3 0 _except_handler4
+FUNC 6a80 14 0 _except_handler4
+FUNC 6b0c 20 0 _except_handler4
+FUNC 6cd8 10 0 _except_handler4
+FUNC 2244 2f 0 __security_init_cookie
+FUNC 2740 48 0 __security_init_cookie
+FUNC 33e4 d 0 __security_init_cookie
+FUNC 3fd8 b 0 __security_init_cookie
+FUNC 4390 f 0 __security_init_cookie
+FUNC 4d68 c 0 __security_init_cookie
+FUNC 5588 e 0 __security_init_cookie
+FUNC 61a4 4 0 __security_init_cookie
+FUNC 6610 c 0 __security_init_cookie
+2244 8 97 1455
+224c 27 114 1455
+5588 e 114 1455
+4d68 7 116 1455
+2740 1 117 1455
+4d6f 5 117 1455
+2741 a 127 1455
+274b 6 132 1455
+2751 8 135 1455
+2759 8 136 1455
+2761 8 137 1455
+2769 a 139 1455
+2773 8 144 1455
+277b d 161 1455
+3fd8 b 163 1455
+33e4 d 166 1455
+6610 c 168 1455
+4390 6 172 1455
+4396 9 173 1455
+61a4 2 173 1455
+61a6 2 175 1455
+FUNC 4570 f 0 _initp_misc_invarg
+4570 5 64 3583
+4575 8 65 3583
+457d 2 66 3583
+FUNC 3a1f 129 0 _call_reportfault
+3a1f 16 164 3583
+3a35 9 166 3583
+3a3e 7 167 3583
+3a45 17 170 3583
+3a5c 1b 172 3583
+3a77 6 179 3583
+3a7d 6 180 3583
+3a83 6 181 3583
+3a89 6 182 3583
+3a8f 6 183 3583
+3a95 6 184 3583
+3a9b 7 185 3583
+3aa2 7 186 3583
+3aa9 7 187 3583
+3ab0 7 188 3583
+3ab7 7 189 3583
+3abe 7 190 3583
+3ac5 1 191 3583
+3ac6 6 192 3583
+3acc 3 198 3583
+3acf 19 199 3583
+3ae8 9 201 3583
+3af1 9 240 3583
+3afa 9 241 3583
+3b03 6 242 3583
+3b09 6 245 3583
+3b0f a 248 3583
+3b19 d 250 3583
+3b26 d 254 3583
+3b33 7 255 3583
+3b3a e 257 3583
+FUNC 5c38 25 0 _invoke_watson
+5c38 3 146 3583
+5c3b 12 155 3583
+5c4d f 156 3583
+5c5c 1 157 3583
+FUNC 6922 2d 0 _invalid_parameter
+6922 5 96 3583
+6927 c 103 3583
+6933 4 104 3583
+6937 1 111 3583
+6938 2 106 3583
+693a 15 110 3583
+FUNC 6f50 10 0 _invalid_parameter_noinfo
+6f50 0 120 3583
+6f50 f 121 3583
+6f5f 1 122 3583
+FUNC 2130 b 0 _mtinitlocks
+FUNC 2dec 14 0 _mtinitlocks
+FUNC 4358 3 0 _mtinitlocks
+FUNC 453c 10 0 _mtinitlocks
+FUNC 479c 3 0 _mtinitlocks
+FUNC 4b48 10 0 _mtinitlocks
+FUNC 55a8 27 0 _mtinitlocks
+2130 4 136 3954
+2134 7 143 3954
+2dec 14 144 3954
+55a8 9 145 3954
+55b1 1e 147 3954
+4b48 10 143 3954
+479c 3 156 3954
+4358 3 157 3954
+453c 10 150 3954
+FUNC 20ec 14 0 _mtdeletelocks
+FUNC 2298 10 0 _mtdeletelocks
+FUNC 31d4 6 0 _mtdeletelocks
+FUNC 3744 10 0 _mtdeletelocks
+FUNC 4350 3 0 _mtdeletelocks
+FUNC 46e4 14 0 _mtdeletelocks
+FUNC 4a54 10 0 _mtdeletelocks
+FUNC 5554 10 0 _mtdeletelocks
+FUNC 5ec4 3 0 _mtdeletelocks
+FUNC 63c0 d 0 _mtdeletelocks
+FUNC 6b90 10 0 _mtdeletelocks
+2298 3 187 3954
+229b d 193 3954
+5554 10 195 3954
+6b90 10 195 3954
+63c0 3 199 3954
+63c3 6 205 3954
+63c9 4 206 3954
+20ec 14 193 3954
+31d4 6 214 3954
+3744 10 216 3954
+4a54 10 216 3954
+4350 3 220 3954
+46e4 14 214 3954
+5ec4 3 223 3954
+FUNC 4218 17 0 _unlock
+4218 5 370 3954
+421d 10 374 3954
+422d 2 375 3954
+FUNC 3ff7 c2 0 _mtinitlocknum
+3ff7 c 258 3954
+4003 6 260 3954
+4009 a 268 3954
+4013 5 269 3954
+4018 7 270 3954
+401f c 271 3954
+402b e 275 3954
+4039 4 276 3954
+403d e 278 3954
+404b b 279 3954
+4056 4 280 3954
+405a 8 283 3954
+4062 3 284 3954
+4065 4 286 3954
+4069 10 287 3954
+4079 7 288 3954
+4080 b 289 3954
+408b 3 290 3954
+408e 2 291 3954
+4090 2 292 3954
+4092 2 295 3954
+4094 7 296 3954
+409b c 299 3954
+40a7 3 303 3954
+40aa 6 304 3954
+40b0 9 300 3954
+FUNC 118c b 0 _lock
+FUNC 1af0 14 0 _lock
+FUNC 3718 7 0 _lock
+FUNC 44a0 1f 0 _lock
+FUNC 5bb4 1 0 _lock
+44a0 5 332 3954
+44a5 1a 337 3954
+1af0 14 339 3954
+3718 7 340 3954
+5bb4 1 340 3954
+118c 9 347 3954
+1195 2 348 3954
+FUNC 14ac 10 0 strcpy_s
+FUNC 1990 c 0 strcpy_s
+FUNC 1da4 c 0 strcpy_s
+FUNC 2580 18 0 strcpy_s
+FUNC 2e00 4 0 strcpy_s
+FUNC 4674 10 0 strcpy_s
+FUNC 470c 4 0 strcpy_s
+FUNC 4794 2 0 strcpy_s
+FUNC 4d40 e 0 strcpy_s
+FUNC 59b8 14 0 strcpy_s
+FUNC 6158 14 0 strcpy_s
+FUNC 6a94 7 0 strcpy_s
+FUNC 6c8c a 0 strcpy_s
+2580 5 13 2523
+1da4 c 18 2523
+2585 13 18 2523
+4674 10 18 2523
+6c8c a 18 2523
+14ac 10 19 2523
+6a94 7 19 2523
+1990 c 23 2523
+2e00 4 23 2523
+6158 14 23 2523
+4d40 e 27 2523
+59b8 3 29 2523
+59bb 11 30 2523
+470c 2 33 2523
+4794 2 33 2523
+470e 2 34 2523
+FUNC 37f0 8b 0 strlen
+37f0 0 54 2796
+37f0 4 63 2796
+37f4 6 64 2796
+37fa 2 65 2796
+37fc 2 69 2796
+37fe 3 70 2796
+3801 2 71 2796
+3803 2 72 2796
+3805 6 73 2796
+380b 2 74 2796
+380d 13 76 2796
+3820 2 81 2796
+3822 5 82 2796
+3827 2 83 2796
+3829 3 84 2796
+382c 2 85 2796
+382e 3 86 2796
+3831 5 87 2796
+3836 2 88 2796
+3838 3 90 2796
+383b 2 91 2796
+383d 2 92 2796
+383f 2 93 2796
+3841 2 94 2796
+3843 5 95 2796
+3848 2 96 2796
+384a 5 97 2796
+384f 2 98 2796
+3851 2 99 2796
+3853 3 103 2796
+3856 4 104 2796
+385a 2 105 2796
+385c 1 106 2796
+385d 3 108 2796
+3860 4 109 2796
+3864 2 110 2796
+3866 1 111 2796
+3867 3 113 2796
+386a 4 114 2796
+386e 2 115 2796
+3870 1 116 2796
+3871 3 118 2796
+3874 4 119 2796
+3878 2 120 2796
+387a 1 121 2796
+FUNC 14a0 7 0 malloc
+FUNC 22f4 3 0 malloc
+FUNC 2838 e 0 malloc
+FUNC 28e4 7 0 malloc
+FUNC 2da4 a 0 malloc
+FUNC 34d0 8 0 malloc
+FUNC 3d5c 16 0 malloc
+FUNC 4580 13 0 malloc
+FUNC 4a4c 3 0 malloc
+FUNC 4cf8 14 0 malloc
+FUNC 4eb8 1f 0 malloc
+FUNC 5a48 6 0 malloc
+FUNC 5b20 18 0 malloc
+FUNC 5b8c 14 0 malloc
+FUNC 5df8 14 0 malloc
+FUNC 60ec 2 0 malloc
+FUNC 65a0 2 0 malloc
+5b20 6 81 504
+5b26 12 85 504
+60ec 2 85 504
+2838 e 89 504
+34d0 8 89 504
+3d5c 16 89 504
+4580 13 89 504
+4a4c 3 89 504
+4eb8 11 89 504
+65a0 2 89 504
+4ec9 e 94 504
+5df8 14 98 504
+4cf8 14 105 504
+5a48 6 109 504
+14a0 7 100 504
+28e4 7 119 504
+2da4 a 121 504
+5b8c 7 111 504
+5b93 b 112 504
+22f4 1 113 504
+5b9e 2 113 504
+22f5 2 122 504
+FUNC 297c 90 0 _local_unwind4
+FUNC 2a0c 46 0 static void _unwind_handler4()
+FUNC 2a52 1c 4 _seh_longjmp_unwind4
+FUNC 2a6e 17 0 _EH4_CallFilterFunc
+FUNC 2a85 19 0 _EH4_TransferToHandler
+FUNC 2a9e 19 0 _EH4_GlobalUnwind2
+FUNC 2ab7 17 8 _EH4_LocalUnwind
+FUNC 1480 5 0 _get_errno_from_oserr
+FUNC 23bc 13 0 _get_errno_from_oserr
+FUNC 3510 12 0 _get_errno_from_oserr
+FUNC 5ec8 10 0 _get_errno_from_oserr
+FUNC 5f78 a 0 _get_errno_from_oserr
+FUNC 6ab4 1f 0 _get_errno_from_oserr
+5f78 5 119 224
+5f7d 5 123 224
+23bc 13 124 224
+5ec8 10 123 224
+3510 12 133 224
+1480 3 134 224
+1483 2 139 224
+6ab4 7 125 224
+6abb 2 139 224
+6ac0 11 135 224
+6ad1 2 139 224
+FUNC 5774 6 0 _errno
+FUNC 5d4c 13 0 _errno
+FUNC 6c60 4 0 _errno
+5d4c 0 279 224
+5d4c 5 280 224
+5d51 e 281 224
+5774 5 282 224
+5779 1 287 224
+6c60 3 284 224
+6c63 1 287 224
+FUNC 4638 39 0 terminate()
+4638 c 84 4591
+4644 8 89 4591
+464c 4 90 4591
+4650 4 95 4591
+4654 2 99 4591
+4656 2 100 4591
+4658 7 101 4591
+465f 7 106 4591
+4666 5 114 4591
+466b 6 115 4591
+FUNC 4834 11 0 _initp_eh_hooks
+4834 0 69 4591
+4834 10 70 4591
+4844 1 71 4591
+FUNC 15b8 1e 0 _initp_misc_winsig
+15b8 5 57 2311
+15bd 8 58 2311
+15c5 5 59 2311
+15ca 5 60 2311
+15cf 5 61 2311
+15d4 2 62 2311
+FUNC 15d8 18 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 3538 f 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 42c8 14 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 45c8 2 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 4e1c f 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 55f0 2 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 63ac f 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+63ac 5 629 2311
+63b1 a 630 2311
+15d8 18 639 2311
+4e1c f 639 2311
+3538 3 642 2311
+42c8 14 642 2311
+353b c 646 2311
+55f0 2 651 2311
+45c8 2 652 2311
+FUNC 3708 d 0 __get_sigabrt
+3708 0 669 2311
+3708 c 670 2311
+3714 1 671 2311
+FUNC 17d8 1a3 0 raise
+17d8 c 450 2311
+17e4 5 457 2311
+17e9 3 458 2311
+17ec 1f 460 2311
+180b a 486 2311
+1815 4 487 2311
+1819 8 488 2311
+1821 a 463 2311
+182b 2 465 2311
+182d 10 490 2311
+183d 2 491 2311
+183f f 460 2311
+184e 12 498 2311
+1860 a 474 2311
+186a 2 476 2311
+186c a 468 2311
+1876 2 470 2311
+1878 a 479 2311
+1882 7 480 2311
+1889 a 500 2311
+1893 2 508 2311
+1895 4 507 2311
+1899 6 508 2311
+189f 5 513 2311
+18a4 7 518 2311
+18ab 5 525 2311
+18b0 7 526 2311
+18b7 5 528 2311
+18bc f 539 2311
+18cb 6 540 2311
+18d1 3 541 2311
+18d4 5 547 2311
+18d9 6 548 2311
+18df 7 549 2311
+18e6 5 557 2311
+18eb 1a 564 2311
+1905 d 567 2311
+1912 5 564 2311
+1917 7 570 2311
+191e c 573 2311
+192a 5 578 2311
+192f 8 584 2311
+1937 2 585 2311
+1939 6 573 2311
+193f 6 574 2311
+1945 9 575 2311
+194e 5 586 2311
+1953 f 593 2311
+1962 6 594 2311
+1968 5 599 2311
+196d 6 600 2311
+1973 2 603 2311
+1975 6 604 2311
+FUNC 502c f 0 _initp_misc_rand_s
+502c 5 58 2186
+5031 8 59 2186
+5039 2 60 2186
+FUNC 2848 f 0 _initp_misc_purevirt
+2848 5 179 1627
+284d 8 180 1627
+2855 2 181 1627
+FUNC 6fd0 f 0 _initp_heap_handler
+6fd0 5 31 2820
+6fd5 8 32 2820
+6fdd 2 33 2820
+FUNC 1660 14 0 _callnewh
+FUNC 5708 1f 0 _callnewh
+FUNC 60b0 4 0 _callnewh
+FUNC 6c18 5 0 _callnewh
+5708 5 131 2820
+570d c 133 2820
+1660 14 135 2820
+5719 e 135 2820
+6c18 3 138 2820
+6c1b 2 139 2820
+60b0 2 136 2820
+60b2 2 139 2820
+FUNC 2274 12 0 static * _onexit_nolock( *)
+FUNC 2484 10 0 static * _onexit_nolock( *)
+FUNC 2640 2 0 static * _onexit_nolock( *)
+FUNC 2b88 10 0 static * _onexit_nolock( *)
+FUNC 32ac 13 0 static * _onexit_nolock( *)
+FUNC 4124 15 0 static * _onexit_nolock( *)
+FUNC 43e8 33 0 static * _onexit_nolock( *)
+FUNC 45f8 18 0 static * _onexit_nolock( *)
+FUNC 4a2c 20 0 static * _onexit_nolock( *)
+FUNC 4b68 2 0 static * _onexit_nolock( *)
+FUNC 4bb8 18 0 static * _onexit_nolock( *)
+FUNC 4d84 5 0 static * _onexit_nolock( *)
+FUNC 6a0c 1a 0 static * _onexit_nolock( *)
+43e8 8 100 1969
+43f0 f 103 1969
+43ff f 104 1969
+4124 15 108 1969
+440e d 108 1969
+6a0c 1a 118 1969
+2640 2 123 1969
+2b88 2 123 1969
+32ac 13 123 1969
+2b8a e 125 1969
+45f8 18 125 1969
+2484 3 130 1969
+2487 d 132 1969
+4bb8 18 132 1969
+2274 3 143 1969
+2277 f 145 1969
+4a2c 10 152 1969
+4a3c 8 153 1969
+4a44 8 155 1969
+4b68 2 110 1969
+4d84 3 110 1969
+4d87 2 156 1969
+FUNC 14bc 2f 0 __onexitinit
+FUNC 2658 7 0 __onexitinit
+FUNC 318c 5 0 __onexitinit
+14bc 3 201 1969
+14bf d 204 1969
+14cc 11 205 1969
+14dd e 207 1969
+318c 4 212 1969
+3190 1 217 1969
+2658 3 214 1969
+265b 3 216 1969
+265e 1 217 1969
+FUNC 157b 3c 0 _onexit
+157b c 81 1969
+1587 5 84 1969
+158c 4 86 1969
+1590 c 87 1969
+159c c 89 1969
+15a8 3 93 1969
+15ab 6 94 1969
+15b1 6 90 1969
+FUNC 56a4 17 0 atexit
+56a4 5 161 1969
+56a9 10 162 1969
+56b9 2 163 1969
+FUNC 6154 3 0 _initp_misc_cfltcvt_tab
+FUNC 6b70 20 0 _initp_misc_cfltcvt_tab
+FUNC 6ebc 6 0 _initp_misc_cfltcvt_tab
+6ebc 4 54 2419
+6ec0 2 56 2419
+6b70 20 58 2419
+6154 3 60 2419
+FUNC 4af8 17 0 _ValidateImageBase
+FUNC 4e40 1c 0 _ValidateImageBase
+FUNC 5608 4 0 _ValidateImageBase
+FUNC 585c 12 0 _ValidateImageBase
+4e40 5 44 2079
+4e45 17 50 2079
+5608 2 52 2079
+560a 2 68 2079
+4af8 5 55 2079
+4afd 6 56 2079
+4b03 c 58 2079
+585c 10 62 2079
+586c 2 68 2079
+FUNC 1234 5 0 _FindPESection
+FUNC 1b2c 2 0 _FindPESection
+FUNC 4948 13 0 _FindPESection
+FUNC 4e08 12 0 _FindPESection
+FUNC 5d9c 10 0 _FindPESection
+FUNC 6d60 3 0 _FindPESection
+FUNC 6fa4 2c 0 _FindPESection
+6fa4 5 92 2079
+6fa9 8 99 2079
+6d60 3 108 2079
+6fb1 1f 108 2079
+4948 13 111 2079
+5d9c 10 111 2079
+4e08 12 108 2079
+1234 3 123 2079
+1b2c 2 123 2079
+1237 2 124 2079
+FUNC 6fee bc 0 _IsNonwritableInCurrentImage
+6fee 35 149 2079
+7023 7 156 2079
+702a f 164 2079
+7039 2 166 2079
+703b 8 174 2079
+7043 e 175 2079
+7051 2 176 2079
+7053 2 178 2079
+7055 12 185 2079
+7067 12 195 2079
+7079 16 187 2079
+708f 9 193 2079
+7098 12 195 2079
+FUNC 1064 4c 0 __crtMessageBoxW
+FUNC 123c 1b 0 __crtMessageBoxW
+FUNC 1460 14 0 __crtMessageBoxW
+FUNC 19c4 12 0 __crtMessageBoxW
+FUNC 2148 40 0 __crtMessageBoxW
+FUNC 2b00 14 0 __crtMessageBoxW
+FUNC 31b4 e 0 __crtMessageBoxW
+FUNC 3290 1a 0 __crtMessageBoxW
+FUNC 36e8 8 0 __crtMessageBoxW
+FUNC 3794 1c 0 __crtMessageBoxW
+FUNC 474c 1c 0 __crtMessageBoxW
+FUNC 496c 10 0 __crtMessageBoxW
+FUNC 4ca0 10 0 __crtMessageBoxW
+FUNC 4d18 1c 0 __crtMessageBoxW
+FUNC 5640 2 0 __crtMessageBoxW
+FUNC 56e4 16 0 __crtMessageBoxW
+FUNC 5cf4 10 0 __crtMessageBoxW
+FUNC 5e50 10 0 __crtMessageBoxW
+FUNC 5ee8 13 0 __crtMessageBoxW
+FUNC 5f18 c 0 __crtMessageBoxW
+FUNC 6f6c f 0 __crtMessageBoxW
+FUNC 6f7c 14 0 __crtMessageBoxW
+FUNC 70d4 10 0 __crtMessageBoxW
+2148 12 41 1053
+215a 14 49 1053
+216e 4 56 1053
+2172 16 62 1053
+3290 d 64 1053
+329d 2 65 1053
+329f b 67 1053
+123c 10 72 1053
+124c b 76 1053
+1064 9 78 1053
+106d 10 81 1053
+107d 10 84 1053
+108d d 88 1053
+109a 8 93 1053
+10a2 e 95 1053
+70d4 10 97 1053
+19c4 12 110 1053
+474c 1c 110 1053
+4d18 3 113 1053
+4d1b c 114 1053
+31b4 e 116 1053
+4d27 d 116 1053
+3794 1c 121 1053
+496c 10 121 1053
+5cf4 10 121 1053
+5f18 7 130 1053
+5f1f 5 132 1053
+6f7c 14 134 1053
+5e50 3 136 1053
+5e53 d 137 1053
+5ee8 5 139 1053
+1460 14 143 1053
+5eed e 143 1053
+4ca0 3 145 1053
+4ca3 d 146 1053
+36e8 8 148 1053
+56e4 8 155 1053
+56ec e 156 1053
+2b00 14 158 1053
+5640 2 163 1053
+6f6c f 166 1053
+FUNC 21d0 14 0 wcscat_s
+FUNC 28c0 10 0 wcscat_s
+FUNC 3784 a 0 wcscat_s
+FUNC 3d78 18 0 wcscat_s
+FUNC 4880 18 0 wcscat_s
+FUNC 48bc b 0 wcscat_s
+FUNC 4b7c 10 0 wcscat_s
+FUNC 4f58 4 0 wcscat_s
+FUNC 5448 e 0 wcscat_s
+FUNC 55d8 12 0 wcscat_s
+FUNC 5f9c 2 0 wcscat_s
+FUNC 5fb4 7 0 wcscat_s
+FUNC 6054 c 0 wcscat_s
+FUNC 6194 10 0 wcscat_s
+FUNC 6d50 10 0 wcscat_s
+3d78 6 13 2468
+3784 a 18 2468
+3d7e 12 18 2468
+4f58 2 18 2468
+5fb4 7 18 2468
+6194 10 18 2468
+4f5a 2 46 2468
+28c0 10 19 2468
+48bc b 19 2468
+55e8 2 21 2468
+6d50 10 23 2468
+55d8 3 25 2468
+55db d 26 2468
+5448 2 29 2468
+544a c 32 2468
+4880 18 35 2468
+5f9c 2 35 2468
+6054 c 35 2468
+21d0 3 41 2468
+4b7c 10 41 2468
+21d3 11 42 2468
+FUNC 103c c 0 wcsncpy_s
+FUNC 11d8 10 0 wcsncpy_s
+FUNC 12fc b 0 wcsncpy_s
+FUNC 1ae0 e 0 wcsncpy_s
+FUNC 1b4c f 0 wcsncpy_s
+FUNC 1e0c 5 0 wcsncpy_s
+FUNC 21e4 10 0 wcsncpy_s
+FUNC 228c 4 0 wcsncpy_s
+FUNC 22b0 c 0 wcsncpy_s
+FUNC 3720 e 0 wcsncpy_s
+FUNC 37c0 b 0 wcsncpy_s
+FUNC 43d4 14 0 wcsncpy_s
+FUNC 46c8 10 0 wcsncpy_s
+FUNC 4828 c 0 wcsncpy_s
+FUNC 495c a 0 wcsncpy_s
+FUNC 49dc 34 0 wcsncpy_s
+FUNC 4c38 2 0 wcsncpy_s
+FUNC 4c84 5 0 wcsncpy_s
+FUNC 5a38 5 0 wcsncpy_s
+FUNC 5dc8 c 0 wcsncpy_s
+FUNC 61e0 e 0 wcsncpy_s
+FUNC 6288 4 0 wcsncpy_s
+FUNC 63e0 d 0 wcsncpy_s
+FUNC 6a28 10 0 wcsncpy_s
+FUNC 6af4 18 0 wcsncpy_s
+FUNC 6c3c e 0 wcsncpy_s
+FUNC 70c4 10 0 wcsncpy_s
+49dc 5 13 2578
+1b4c f 17 2578
+49e1 17 17 2578
+6c3c e 17 2578
+4c38 2 65 2578
+5a38 3 65 2578
+5a3b 2 66 2578
+103c c 24 2578
+11d8 10 24 2578
+495c a 24 2578
+61e0 e 24 2578
+3720 e 25 2578
+12fc 5 28 2578
+1301 6 29 2578
+37c0 b 31 2578
+46c8 10 31 2578
+21e4 2 33 2578
+21e6 e 35 2578
+22b0 c 37 2578
+6288 4 37 2578
+6af4 18 37 2578
+1e0c 5 41 2578
+228c 4 45 2578
+4828 c 45 2578
+49f8 18 45 2578
+5dc8 c 45 2578
+1ae0 e 48 2578
+4c84 5 50 2578
+63e0 d 54 2578
+6a28 3 58 2578
+70c4 10 58 2578
+6a2b d 59 2578
+43d4 3 61 2578
+43d7 11 62 2578
+FUNC 20d4 10 0 wcslen
+FUNC 5520 10 0 wcslen
+20dc 5 41 2728
+20e1 3 42 2728
+5520 10 44 2728
+20d4 6 46 2728
+20da 2 47 2728
+FUNC 15f0 18 0 wcscpy_s
+FUNC 17cc c 0 wcscpy_s
+FUNC 23a0 10 0 wcscpy_s
+FUNC 2494 a 0 wcscpy_s
+FUNC 2858 18 0 wcscpy_s
+FUNC 3208 10 0 wcscpy_s
+FUNC 3ca8 8 0 wcscpy_s
+FUNC 4bd0 10 0 wcscpy_s
+FUNC 5530 7 0 wcscpy_s
+FUNC 5880 4 0 wcscpy_s
+FUNC 5f08 4 0 wcscpy_s
+FUNC 5f24 14 0 wcscpy_s
+15f0 6 13 2523
+15f6 12 18 2523
+23a0 10 18 2523
+2494 a 18 2523
+5530 7 18 2523
+5880 2 18 2523
+5882 2 34 2523
+3208 10 19 2523
+3ca8 8 19 2523
+17cc c 23 2523
+2858 18 23 2523
+5f08 4 23 2523
+4bd0 10 29 2523
+5f24 3 29 2523
+5f27 11 30 2523
+FUNC 1268 d 0 _set_error_mode
+FUNC 1b7c 16 0 _set_error_mode
+FUNC 1e04 7 0 _set_error_mode
+FUNC 31c4 f 0 _set_error_mode
+FUNC 49cc f 0 _set_error_mode
+FUNC 5eac 15 0 _set_error_mode
+1b7c 5 43 1181
+1b81 11 46 1181
+31c4 f 46 1181
+49cc f 46 1181
+1e04 5 54 1181
+1e09 2 61 1181
+1268 5 50 1181
+126d 6 51 1181
+1273 2 61 1181
+5eac 13 57 1181
+5ebf 2 61 1181
+FUNC 1275 f 0 __security_check_cookie
+1275 0 52 892
+1275 6 55 892
+127b 2 56 892
+127d 2 57 892
+127f 5 59 892
+FUNC 1488 6 0 _malloc_crt
+FUNC 1b04 12 0 _malloc_crt
+FUNC 1d3c 3 0 _malloc_crt
+FUNC 5fe0 1f 0 _malloc_crt
+FUNC 69d4 9 0 _malloc_crt
+FUNC 6c64 18 0 _malloc_crt
+FUNC 6f40 10 0 _malloc_crt
+69d4 7 39 333
+69db 2 40 333
+6c64 b 44 333
+1b04 12 45 333
+6c6f d 45 333
+1d3c 3 46 333
+5fe0 1f 46 333
+6f40 2 46 333
+6f42 e 47 333
+1488 4 50 333
+148c 2 51 333
+FUNC 3cd8 10 0 _calloc_crt
+FUNC 541c 12 0 _calloc_crt
+FUNC 553c 6 0 _calloc_crt
+FUNC 5598 9 0 _calloc_crt
+FUNC 6950 3 0 _calloc_crt
+FUNC 6ec8 1f 0 _calloc_crt
+FUNC 6ef0 20 0 _calloc_crt
+5598 7 54 333
+559f 2 55 333
+6ef0 12 61 333
+541c 12 62 333
+6f02 e 62 333
+3cd8 2 63 333
+6950 3 63 333
+6ec8 1f 63 333
+3cda e 64 333
+553c 4 67 333
+5540 2 68 333
+FUNC 2674 3 0 _realloc_crt
+FUNC 2b5c 10 0 _realloc_crt
+FUNC 38b8 6 0 _realloc_crt
+FUNC 435c f 0 _realloc_crt
+FUNC 633c 1c 0 _realloc_crt
+FUNC 6580 1f 0 _realloc_crt
+FUNC 65b0 12 0 _realloc_crt
+FUNC 6f20 9 0 _realloc_crt
+6f20 7 71 333
+6f27 2 72 333
+633c f 76 333
+435c f 77 333
+634b d 77 333
+65b0 12 77 333
+2674 3 78 333
+2b5c 2 78 333
+6580 1f 78 333
+2b5e e 79 333
+38b8 4 82 333
+38bc 2 83 333
+FUNC 28b4 c 0 static int CPtoLCID(int)
+FUNC 3d08 6 0 static int CPtoLCID(int)
+FUNC 5510 6 0 static int CPtoLCID(int)
+FUNC 5600 6 0 static int CPtoLCID(int)
+FUNC 5f14 3 0 static int CPtoLCID(int)
+FUNC 6294 f 0 static int CPtoLCID(int)
+FUNC 68f4 10 0 static int CPtoLCID(int)
+FUNC 69cc 6 0 static int CPtoLCID(int)
+FUNC 6fe0 e 0 static int CPtoLCID(int)
+68f4 0 329 3326
+28b4 c 330 3326
+6294 f 330 3326
+68f4 10 330 3326
+6fe0 e 330 3326
+5f14 2 345 3326
+5f16 1 346 3326
+5510 5 342 3326
+5515 1 346 3326
+3d08 5 339 3326
+3d0d 1 346 3326
+69cc 5 336 3326
+69d1 1 346 3326
+5600 5 333 3326
+5605 1 346 3326
+FUNC 2208 f 0 static void setSBCS(struct threadmbcinfostruct *)
+FUNC 387c 3 0 static void setSBCS(struct threadmbcinfostruct *)
+FUNC 48ac f 0 static void setSBCS(struct threadmbcinfostruct *)
+FUNC 5900 44 0 static void setSBCS(struct threadmbcinfostruct *)
+FUNC 6be0 b 0 static void setSBCS(struct threadmbcinfostruct *)
+5900 6 363 3326
+5906 11 368 3326
+5917 1b 379 3326
+5932 12 381 3326
+2208 f 382 3326
+6be0 b 384 3326
+48ac f 385 3326
+387c 3 386 3326
+FUNC 12dc 18 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 1794 f 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 1b6c 7 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 2548 e 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 2c0c 39 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 3238 8 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 3e54 2 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 3ee0 16 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 445c 20 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 4800 f 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 4910 8 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 4a8c 12 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 4d8c e 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 566c f 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 56fc c 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 59e4 14 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 5aa8 6 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 5b08 17 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 5b60 14 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 5db4 12 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 6060 c 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 60b4 6 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 6218 f 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 62b8 6a 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 697c 3 0 static void setSBUpLow(struct threadmbcinfostruct *)
+FUNC 6b44 1b 0 static void setSBUpLow(struct threadmbcinfostruct *)
+2c0c 17 402 3326
+2c23 10 412 3326
+2c33 12 415 3326
+3e54 2 415 3326
+5db4 12 416 3326
+6b44 1b 420 3326
+60b4 6 419 3326
+3ee0 16 421 3326
+5b60 14 421 3326
+59e4 14 420 3326
+62b8 20 427 3326
+62d8 23 432 3326
+62fb 25 437 3326
+6320 2 442 3326
+5b08 17 443 3326
+4a8c 5 445 3326
+4a91 d 446 3326
+4800 f 448 3326
+6060 5 450 3326
+56fc 7 451 3326
+6065 7 451 3326
+5703 5 453 3326
+1b6c 7 454 3326
+6218 f 442 3326
+12dc 6 456 3326
+5aa8 6 456 3326
+12e2 12 472 3326
+445c 20 461 3326
+2548 5 463 3326
+254d 9 464 3326
+566c f 466 3326
+4910 5 468 3326
+3238 2 469 3326
+4915 3 469 3326
+323a 6 471 3326
+697c 3 472 3326
+1794 f 460 3326
+4d8c e 474 3326
+FUNC 2c45 a4 0 __updatetmbcinfo
+2c45 c 495 3326
+2c51 7 498 3326
+2c58 10 499 3326
+2c68 3 532 3326
+2c6b 4 535 3326
+2c6f 8 537 3326
+2c77 2 540 3326
+2c79 6 541 3326
+2c7f 8 500 3326
+2c87 4 502 3326
+2c8b e 505 3326
+2c99 17 511 3326
+2cb0 7 516 3326
+2cb7 11 523 3326
+2cc8 7 524 3326
+2ccf 11 527 3326
+2ce0 9 529 3326
+FUNC 12b0 8 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 2084 18 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 2314 7 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 2504 27 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 2904 7 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 3558 14 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 4d74 e 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 560c 13 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 5d04 14 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 5f68 a 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+FUNC 6cbc 1c 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+6cbc 5 240 111
+6cc1 17 241 111
+2504 8 243 111
+250c 5 244 111
+2511 6 245 111
+2314 7 247 111
+2517 14 247 111
+3558 14 247 111
+12b0 8 248 111
+2084 18 248 111
+5d04 14 248 111
+560c 13 249 111
+4d74 4 251 111
+4d78 4 252 111
+4d7c 6 255 111
+5f68 a 257 111
+2904 7 259 111
+FUNC 19fc e 0 static int getSystemCP(int)
+FUNC 2690 7 0 static int getSystemCP(int)
+FUNC 2b98 3 0 static int getSystemCP(int)
+FUNC 3b80 28 0 static int getSystemCP(int)
+FUNC 3e18 c 0 static int getSystemCP(int)
+FUNC 4710 f 0 static int getSystemCP(int)
+FUNC 4868 10 0 static int getSystemCP(int)
+FUNC 56bc 16 0 static int getSystemCP(int)
+FUNC 5e20 16 0 static int getSystemCP(int)
+FUNC 6020 1f 0 static int getSystemCP(int)
+FUNC 6f64 2 0 static int getSystemCP(int)
+3b80 9 282 3326
+3b89 b 284 3326
+3b94 6 285 3326
+3b9a e 289 3326
+4868 a 291 3326
+19fc e 292 3326
+3e18 c 292 3326
+4872 6 292 3326
+6030 f 295 3326
+5e20 a 297 3326
+5e2a c 298 3326
+6020 f 302 3326
+56bc 16 305 3326
+2690 7 308 3326
+2b98 1 308 3326
+4710 f 308 3326
+6f64 2 308 3326
+2b99 2 309 3326
+FUNC 1208 29 0 _setmbcp_nolock
+FUNC 16ac 20 0 _setmbcp_nolock
+FUNC 1bc0 3 0 _setmbcp_nolock
+FUNC 2188 11 0 _setmbcp_nolock
+FUNC 23b0 6 0 _setmbcp_nolock
+FUNC 2894 11 0 _setmbcp_nolock
+FUNC 2b28 7 0 _setmbcp_nolock
+FUNC 330c c 0 _setmbcp_nolock
+FUNC 40bc e 0 _setmbcp_nolock
+FUNC 454c f 0 _setmbcp_nolock
+FUNC 4720 6 0 _setmbcp_nolock
+FUNC 4768 f 0 _setmbcp_nolock
+FUNC 4b58 10 0 _setmbcp_nolock
+FUNC 4c40 c 0 _setmbcp_nolock
+FUNC 5404 12 0 _setmbcp_nolock
+FUNC 5728 2a 0 _setmbcp_nolock
+FUNC 5800 e 0 _setmbcp_nolock
+FUNC 5ab0 17 0 _setmbcp_nolock
+FUNC 5adc 11 0 _setmbcp_nolock
+FUNC 5ba8 c 0 _setmbcp_nolock
+FUNC 5bcc 14 0 _setmbcp_nolock
+FUNC 5fa4 8 0 _setmbcp_nolock
+FUNC 6010 f 0 _setmbcp_nolock
+FUNC 6074 1c 0 _setmbcp_nolock
+FUNC 609c 14 0 _setmbcp_nolock
+FUNC 60c0 2a 0 _setmbcp_nolock
+FUNC 60f4 17 0 _setmbcp_nolock
+FUNC 6358 14 0 _setmbcp_nolock
+FUNC 638c 11 0 _setmbcp_nolock
+FUNC 63d4 5 0 _setmbcp_nolock
+FUNC 64a8 34 0 _setmbcp_nolock
+FUNC 64f0 3 0 _setmbcp_nolock
+FUNC 65c4 18 0 _setmbcp_nolock
+FUNC 6974 7 0 _setmbcp_nolock
+FUNC 6a64 f 0 _setmbcp_nolock
+64a8 17 684 3326
+64bf b 691 3326
+64ca 12 694 3326
+2b28 7 696 3326
+6974 7 697 3326
+63d4 3 701 3326
+63d7 2 703 3326
+5adc 11 706 3326
+60f4 17 703 3326
+2188 11 741 3326
+2894 11 741 3326
+5ab0 17 741 3326
+65c4 18 749 3326
+1208 f 754 3326
+1217 1a 759 3326
+1bc0 3 762 3326
+454c f 762 3326
+6010 f 762 3326
+60a4 c 764 3326
+5728 f 710 3326
+5737 15 713 3326
+4b58 10 718 3326
+574c 6 718 3326
+4c40 c 721 3326
+5404 12 722 3326
+5800 e 721 3326
+4720 6 718 3326
+6a64 f 718 3326
+6074 1c 713 3326
+16ac 20 729 3326
+5bcc 14 731 3326
+5ba8 7 734 3326
+5baf 5 735 3326
+23b0 6 765 3326
+40bc e 764 3326
+60d8 12 762 3326
+5fa4 8 769 3326
+330c c 770 3326
+6358 b 773 3326
+6363 3 776 3326
+6366 6 778 3326
+609c 3 780 3326
+60c0 12 783 3326
+60d2 6 787 3326
+638c 6 792 3326
+6392 b 795 3326
+64f0 3 744 3326
+4768 f 800 3326
+FUNC 1e11 19a 0 _setmbcp
+1e11 c 572 3326
+1e1d 4 573 3326
+1e21 a 577 3326
+1e2b 5 579 3326
+1e30 3 580 3326
+1e33 b 582 3326
+1e3e 9 584 3326
+1e47 d 590 3326
+1e54 8 592 3326
+1e5c c 594 3326
+1e68 3 605 3326
+1e6b 16 610 3326
+1e81 1a 612 3326
+1e9b 7 613 3326
+1ea2 3 617 3326
+1ea5 9 618 3326
+1eae 17 620 3326
+1ec5 8 622 3326
+1ecd 4 623 3326
+1ed1 8 628 3326
+1ed9 8 629 3326
+1ee1 8 630 3326
+1ee9 a 631 3326
+1ef3 d 632 3326
+1f00 3 631 3326
+1f03 c 633 3326
+1f0f a 634 3326
+1f19 3 633 3326
+1f1c c 635 3326
+1f28 d 636 3326
+1f35 3 635 3326
+1f38 1c 638 3326
+1f54 7 639 3326
+1f5b 6 643 3326
+1f61 3 644 3326
+1f64 e 646 3326
+1f72 9 648 3326
+1f7b 2 651 3326
+1f7d 5 652 3326
+1f82 8 658 3326
+1f8a 7 659 3326
+1f91 b 660 3326
+1f9c 2 666 3326
+1f9e 4 671 3326
+1fa2 3 680 3326
+1fa5 6 681 3326
+FUNC 165c 3 0 __initmbctable
+FUNC 5dd4 12 0 __initmbctable
+FUNC 6234 13 0 __initmbctable
+6234 0 841 3326
+6234 13 851 3326
+5dd4 8 852 3326
+5ddc a 853 3326
+165c 2 858 3326
+165e 1 859 3326
+FUNC 1674 7 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 1c0c 2c 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 3d74 2 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 4c90 e 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 5430 16 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 59b0 2 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 6254 10 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 643c 3 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 6498 10 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+1c0c 8 213 3271
+1c14 b 214 3271
+1c1f 4 219 3271
+1674 7 222 3271
+1c23 15 222 3271
+4c90 e 222 3271
+5430 16 222 3271
+59b0 2 222 3271
+6254 10 222 3271
+643c 3 222 3271
+6498 10 222 3271
+3d74 2 223 3271
+FUNC 4930 18 0 _ismbblead
+4930 5 171 3271
+4935 11 172 3271
+4946 2 173 3271
+FUNC 1bac 12 0 __addlocaleref
+FUNC 26b4 a 0 __addlocaleref
+FUNC 2880 3 0 __addlocaleref
+FUNC 37d8 3 0 __addlocaleref
+FUNC 3c70 14 0 __addlocaleref
+FUNC 3fe4 13 0 __addlocaleref
+FUNC 4a10 1c 0 __addlocaleref
+FUNC 54d8 10 0 __addlocaleref
+FUNC 54f0 3 0 __addlocaleref
+FUNC 5620 3 0 __addlocaleref
+FUNC 5dac 3 0 __addlocaleref
+FUNC 6040 13 0 __addlocaleref
+FUNC 6278 10 0 __addlocaleref
+FUNC 6478 13 0 __addlocaleref
+FUNC 6540 10 0 __addlocaleref
+FUNC 6d08 28 0 __addlocaleref
+6d08 7 36 1913
+6d0f d 39 1913
+6d1c 14 41 1913
+2880 3 42 1913
+4a18 14 44 1913
+4a10 3 45 1913
+3fe4 13 47 1913
+5620 3 48 1913
+3c70 14 50 1913
+37d8 3 51 1913
+26b4 a 53 1913
+6478 13 55 1913
+6540 10 55 1913
+5dac 3 56 1913
+54d8 10 59 1913
+6278 10 59 1913
+54f0 3 60 1913
+1bac 12 53 1913
+6040 11 63 1913
+6051 2 64 1913
+FUNC 2328 a 0 __removelocaleref
+FUNC 252c 10 0 __removelocaleref
+FUNC 2b14 14 0 __removelocaleref
+FUNC 34c8 3 0 __removelocaleref
+FUNC 3d44 10 0 __removelocaleref
+FUNC 4c00 13 0 __removelocaleref
+FUNC 4f70 14 0 __removelocaleref
+FUNC 54d0 3 0 __removelocaleref
+FUNC 5648 3 0 __removelocaleref
+FUNC 5658 12 0 __removelocaleref
+FUNC 5870 10 0 __removelocaleref
+FUNC 5a7c 5 0 __removelocaleref
+FUNC 5e94 16 0 __removelocaleref
+FUNC 6578 3 0 __removelocaleref
+FUNC 6668 3 0 __removelocaleref
+FUNC 6cf0 10 0 __removelocaleref
+FUNC 6d30 1f 0 __removelocaleref
+FUNC 6d90 1b 0 __removelocaleref
+5e94 6 74 1913
+5e9a 10 77 1913
+6d30 b 79 1913
+6d3b 14 81 1913
+6668 3 82 1913
+2b14 14 84 1913
+5648 3 85 1913
+6d98 13 87 1913
+34c8 3 88 1913
+4f70 14 90 1913
+6578 3 91 1913
+2328 a 93 1913
+252c 10 95 1913
+4c00 13 95 1913
+54d0 3 96 1913
+3d44 10 99 1913
+5870 10 99 1913
+6d90 3 100 1913
+5658 12 93 1913
+6cf0 10 103 1913
+5a7c 3 106 1913
+5a7f 2 107 1913
+FUNC 1dbc 14 0 __freetlocinfo
+FUNC 20ac 14 0 __freetlocinfo
+FUNC 21c0 10 0 __freetlocinfo
+FUNC 22c4 13 0 __freetlocinfo
+FUNC 2b44 c 0 __freetlocinfo
+FUNC 3c5c f 0 __freetlocinfo
+FUNC 3ec0 10 0 __freetlocinfo
+FUNC 40cc 17 0 __freetlocinfo
+FUNC 4294 e 0 __freetlocinfo
+FUNC 44c0 e 0 __freetlocinfo
+FUNC 44f8 20 0 __freetlocinfo
+FUNC 4cd4 13 0 __freetlocinfo
+FUNC 4d34 7 0 __freetlocinfo
+FUNC 4df8 10 0 __freetlocinfo
+FUNC 4f84 13 0 __freetlocinfo
+FUNC 5630 e 0 __freetlocinfo
+FUNC 577c a 0 __freetlocinfo
+FUNC 5af0 13 0 __freetlocinfo
+FUNC 5d74 12 0 __freetlocinfo
+FUNC 5dec 7 0 __freetlocinfo
+FUNC 5ed8 e 0 __freetlocinfo
+FUNC 6000 e 0 __freetlocinfo
+FUNC 61a8 14 0 __freetlocinfo
+FUNC 6634 12 0 __freetlocinfo
+FUNC 6748 13 0 __freetlocinfo
+FUNC 6984 40 0 __freetlocinfo
+FUNC 69fc e 0 __freetlocinfo
+FUNC 6c9c 18 0 __freetlocinfo
+44f8 7 129 1913
+44ff 19 137 1913
+4df8 10 137 1913
+5ed8 e 137 1913
+61a8 14 137 1913
+1dbc 14 140 1913
+6000 e 140 1913
+4f84 6 142 1913
+4f8a d 143 1913
+20ac 14 147 1913
+4294 e 147 1913
+5af0 6 149 1913
+5af6 d 150 1913
+6c9c b 153 1913
+6ca7 d 154 1913
+5630 e 161 1913
+6748 13 161 1913
+6984 11 163 1913
+6995 13 164 1913
+69a8 e 165 1913
+69b6 e 166 1913
+40cc 17 173 1913
+6634 12 173 1913
+22c4 6 175 1913
+22ca d 176 1913
+577c a 179 1913
+3ec0 10 182 1913
+44c0 e 182 1913
+4cd4 13 182 1913
+5dec 7 184 1913
+21c0 10 192 1913
+3c5c f 192 1913
+69fc e 192 1913
+4d34 7 194 1913
+5d74 12 179 1913
+2b44 a 201 1913
+2b4e 2 202 1913
+FUNC 1d58 16 0 _updatetlocinfoEx_nolock
+FUNC 2338 17 0 _updatetlocinfoEx_nolock
+FUNC 2d40 2 0 _updatetlocinfoEx_nolock
+FUNC 2dc8 3 0 _updatetlocinfoEx_nolock
+FUNC 2dd4 16 0 _updatetlocinfoEx_nolock
+FUNC 4f18 17 0 _updatetlocinfoEx_nolock
+FUNC 5794 10 0 _updatetlocinfoEx_nolock
+FUNC 57b4 8 0 _updatetlocinfoEx_nolock
+FUNC 6c28 12 0 _updatetlocinfoEx_nolock
+4f18 6 216 1913
+2338 10 219 1913
+4f1e 11 219 1913
+5794 3 222 1913
+5797 d 223 1913
+1d58 9 230 1913
+1d61 d 236 1913
+2dd4 6 238 1913
+2dda 10 248 1913
+6c28 12 248 1913
+2348 7 249 1913
+57b4 8 253 1913
+2d40 2 220 1913
+2dc8 1 220 1913
+2dc9 2 254 1913
+FUNC 3f0f 79 0 __updatetlocinfo
+3f0f c 281 1913
+3f1b 7 283 1913
+3f22 10 285 1913
+3f32 8 297 1913
+3f3a 4 300 1913
+3f3e 8 302 1913
+3f46 2 305 1913
+3f48 6 306 1913
+3f4e 8 286 1913
+3f56 4 288 1913
+3f5a 14 290 1913
+3f6e e 292 1913
+3f7c 8 294 1913
+3f84 4 295 1913
+FUNC 1ad0 8 0 _crt_debugger_hook
+1ad0 0 62 1145
+1ad0 7 65 1145
+1ad7 1 66 1145
+FUNC 4fa2 7a 0 memset
+4fa2 0 59 2789
+4fa2 4 68 2789
+4fa6 4 69 2789
+4faa 2 71 2789
+4fac 2 72 2789
+4fae 2 74 2789
+4fb0 4 75 2789
+4fb4 2 78 2789
+4fb6 2 79 2789
+4fb8 6 80 2789
+4fbe 2 81 2789
+4fc0 7 82 2789
+4fc7 2 83 2789
+4fc9 5 85 2789
+4fce 1 91 2789
+4fcf 2 92 2789
+4fd1 3 94 2789
+4fd4 2 95 2789
+4fd6 2 97 2789
+4fd8 3 98 2789
+4fdb 2 99 2789
+4fdd 2 101 2789
+4fdf 2 103 2789
+4fe1 3 104 2789
+4fe4 3 105 2789
+4fe7 2 106 2789
+4fe9 2 110 2789
+4feb 3 111 2789
+4fee 2 113 2789
+4ff0 2 115 2789
+4ff2 3 117 2789
+4ff5 2 119 2789
+4ff7 2 122 2789
+4ff9 3 123 2789
+4ffc 3 124 2789
+4fff 2 125 2789
+5001 2 127 2789
+5003 2 129 2789
+5005 2 130 2789
+5007 2 134 2789
+5009 3 135 2789
+500c 3 137 2789
+500f 2 138 2789
+5011 4 142 2789
+5015 1 143 2789
+5016 1 145 2789
+5017 4 148 2789
+501b 1 150 2789
+FUNC 33f1 95 0 _aulldvrm
+33f1 0 45 2806
+33f1 1 48 2806
+33f2 4 80 2806
+33f6 2 81 2806
+33f8 2 82 2806
+33fa 4 83 2806
+33fe 4 84 2806
+3402 2 85 2806
+3404 2 86 2806
+3406 2 87 2806
+3408 4 88 2806
+340c 2 89 2806
+340e 2 90 2806
+3410 2 95 2806
+3412 4 96 2806
+3416 2 97 2806
+3418 2 98 2806
+341a 4 99 2806
+341e 2 100 2806
+3420 2 101 2806
+3422 2 108 2806
+3424 4 109 2806
+3428 4 110 2806
+342c 4 111 2806
+3430 2 113 2806
+3432 2 114 2806
+3434 2 115 2806
+3436 2 116 2806
+3438 2 117 2806
+343a 2 118 2806
+343c 2 119 2806
+343e 2 120 2806
+3440 4 129 2806
+3444 2 130 2806
+3446 4 131 2806
+344a 2 132 2806
+344c 2 133 2806
+344e 2 134 2806
+3450 4 142 2806
+3454 2 143 2806
+3456 2 144 2806
+3458 4 145 2806
+345c 2 146 2806
+345e 1 148 2806
+345f 4 149 2806
+3463 4 150 2806
+3467 2 152 2806
+3469 4 161 2806
+346d 4 162 2806
+3471 2 163 2806
+3473 2 164 2806
+3475 3 165 2806
+3478 2 170 2806
+347a 2 171 2806
+347c 2 172 2806
+347e 2 173 2806
+3480 2 174 2806
+3482 1 180 2806
+3483 3 182 2806
+FUNC 675b 20 0 _global_unwind2
+FUNC 677b 45 0 static void __unwind_handler()
+FUNC 67c0 84 0 _local_unwind2
+FUNC 6844 23 0 _abnormal_termination
+FUNC 6867 9 0 _NLG_Notify1
+FUNC 6870 1f 0 _NLG_Notify
+PUBLIC m 6887 0 _NLG_Dispatch
+FUNC 688f 3 0 _NLG_Call
+PUBLIC 6891 0 _NLG_Return2
+FUNC 4695 33 0 abort
+4695 0 54 1011
+4695 5 71 1011
+469a 4 72 1011
+469e 8 74 1011
+46a6 9 81 1011
+46af 11 83 1011
+46c0 8 92 1011
+FUNC 50a3 361 0 memcpy
+50a3 3 101 2787
+50a6 1 113 2787
+50a7 1 114 2787
+50a8 3 116 2787
+50ab 3 117 2787
+50ae 3 119 2787
+50b1 2 129 2787
+50b3 2 131 2787
+50b5 2 132 2787
+50b7 2 134 2787
+50b9 2 135 2787
+50bb 2 137 2787
+50bd 6 138 2787
+50c3 6 147 2787
+50c9 2 148 2787
+50cb 7 150 2787
+50d2 2 151 2787
+50d4 1 153 2787
+50d5 1 154 2787
+50d6 3 155 2787
+50d9 3 156 2787
+50dc 2 157 2787
+50de 1 158 2787
+50df 1 159 2787
+50e0 2 160 2787
+50e2 5 163 2787
+50e7 6 176 2787
+50ed 2 177 2787
+50ef 3 179 2787
+50f2 3 180 2787
+50f5 3 182 2787
+50f8 2 183 2787
+50fa 2 185 2787
+50fc 7 187 2787
+5103 2 205 2787
+5105 5 206 2787
+510a 3 208 2787
+510d 2 209 2787
+510f 3 211 2787
+5112 2 212 2787
+5114 7 214 2787
+511b 8 218 2787
+5123 14 222 2787
+5137 2 229 2787
+5139 2 230 2787
+513b 2 232 2787
+513d 3 233 2787
+5140 3 235 2787
+5143 3 236 2787
+5146 3 238 2787
+5149 3 239 2787
+514c 3 241 2787
+514f 3 242 2787
+5152 3 244 2787
+5155 2 245 2787
+5157 2 247 2787
+5159 a 249 2787
+5163 2 253 2787
+5165 2 254 2787
+5167 2 256 2787
+5169 3 257 2787
+516c 3 259 2787
+516f 3 260 2787
+5172 3 262 2787
+5175 3 263 2787
+5178 3 265 2787
+517b 2 266 2787
+517d 2 268 2787
+517f 8 270 2787
+5187 2 274 2787
+5189 2 275 2787
+518b 2 277 2787
+518d 3 278 2787
+5190 3 280 2787
+5193 3 281 2787
+5196 3 283 2787
+5199 2 284 2787
+519b 2 286 2787
+519d 2a 288 2787
+51c7 4 295 2787
+51cb 4 297 2787
+51cf 4 299 2787
+51d3 4 301 2787
+51d7 4 303 2787
+51db 4 305 2787
+51df 4 307 2787
+51e3 4 309 2787
+51e7 4 311 2787
+51eb 4 313 2787
+51ef 4 315 2787
+51f3 4 317 2787
+51f7 4 319 2787
+51fb 4 321 2787
+51ff 7 323 2787
+5206 2 325 2787
+5208 2 326 2787
+520a 19 328 2787
+5223 3 337 2787
+5226 1 338 2787
+5227 1 339 2787
+5228 3 341 2787
+522b 2 345 2787
+522d 2 347 2787
+522f 3 348 2787
+5232 1 349 2787
+5233 1 350 2787
+5234 3 351 2787
+5237 2 355 2787
+5239 2 357 2787
+523b 3 358 2787
+523e 3 359 2787
+5241 3 360 2787
+5244 1 361 2787
+5245 1 362 2787
+5246 5 363 2787
+524b 2 367 2787
+524d 2 369 2787
+524f 3 370 2787
+5252 3 371 2787
+5255 3 372 2787
+5258 3 373 2787
+525b 3 374 2787
+525e 1 375 2787
+525f 1 376 2787
+5260 3 377 2787
+5263 4 388 2787
+5267 4 389 2787
+526b 6 394 2787
+5271 2 395 2787
+5273 3 397 2787
+5276 3 398 2787
+5279 3 400 2787
+527c 2 401 2787
+527e 1 403 2787
+527f 2 404 2787
+5281 1 405 2787
+5282 9 407 2787
+528b 2 411 2787
+528d a 414 2787
+5297 2 419 2787
+5299 5 420 2787
+529e 3 422 2787
+52a1 2 423 2787
+52a3 3 425 2787
+52a6 2 426 2787
+52a8 7 428 2787
+52af 14 432 2787
+52c3 3 439 2787
+52c6 2 440 2787
+52c8 3 442 2787
+52cb 3 443 2787
+52ce 3 445 2787
+52d1 3 446 2787
+52d4 3 448 2787
+52d7 2 449 2787
+52d9 1 451 2787
+52da 2 452 2787
+52dc 1 453 2787
+52dd a 455 2787
+52e7 3 459 2787
+52ea 2 460 2787
+52ec 3 462 2787
+52ef 3 463 2787
+52f2 3 465 2787
+52f5 3 466 2787
+52f8 3 468 2787
+52fb 3 469 2787
+52fe 3 471 2787
+5301 2 472 2787
+5303 1 474 2787
+5304 2 475 2787
+5306 1 476 2787
+5307 8 478 2787
+530f 3 482 2787
+5312 2 483 2787
+5314 3 485 2787
+5317 3 486 2787
+531a 3 488 2787
+531d 3 489 2787
+5320 3 491 2787
+5323 3 492 2787
+5326 3 494 2787
+5329 3 495 2787
+532c 3 497 2787
+532f 6 498 2787
+5335 1 500 2787
+5336 2 501 2787
+5338 1 502 2787
+5339 2a 504 2787
+5363 4 513 2787
+5367 4 515 2787
+536b 4 517 2787
+536f 4 519 2787
+5373 4 521 2787
+5377 4 523 2787
+537b 4 525 2787
+537f 4 527 2787
+5383 4 529 2787
+5387 4 531 2787
+538b 4 533 2787
+538f 4 535 2787
+5393 4 537 2787
+5397 4 539 2787
+539b 7 541 2787
+53a2 2 543 2787
+53a4 2 544 2787
+53a6 19 546 2787
+53bf 3 555 2787
+53c2 1 557 2787
+53c3 1 558 2787
+53c4 3 559 2787
+53c7 3 563 2787
+53ca 3 565 2787
+53cd 3 566 2787
+53d0 1 567 2787
+53d1 1 568 2787
+53d2 5 569 2787
+53d7 3 573 2787
+53da 3 575 2787
+53dd 3 576 2787
+53e0 3 577 2787
+53e3 3 578 2787
+53e6 1 579 2787
+53e7 1 580 2787
+53e8 3 581 2787
+53eb 3 585 2787
+53ee 3 587 2787
+53f1 3 588 2787
+53f4 3 589 2787
+53f7 3 590 2787
+53fa 3 591 2787
+53fd 3 592 2787
+5400 1 593 2787
+5401 1 594 2787
+5402 2 595 2787
+FUNC 219c 2 0 _freea
+FUNC 4240 14 0 _freea
+FUNC 5a10 16 0 _freea
+FUNC 6904 7 0 _freea
+5a10 5 235 281
+5a15 11 237 281
+4240 3 239 281
+4243 11 241 281
+6904 7 243 281
+219c 2 252 281
+FUNC 19e0 13 0 _msize
+FUNC 4898 14 0 _msize
+FUNC 6b2c 15 0 _msize
+4898 5 39 561
+489d f 43 561
+6b2c 13 43 561
+6b3f 2 50 561
+19e0 11 46 561
+19f1 2 50 561
+FUNC 3c6c 2 0 _fptrap
+FUNC 3c94 7 0 _fptrap
+3c94 0 46 4123
+3c6c 1 47 4123
+3c94 7 47 4123
+3c6d 1 48 4123
+FUNC 6dab 106 0 __report_gsfailure
+6dab b 140 1392
+6db6 5 170 1392
+6dbb 6 171 1392
+6dc1 6 172 1392
+6dc7 6 173 1392
+6dcd 6 174 1392
+6dd3 6 175 1392
+6dd9 7 176 1392
+6de0 7 177 1392
+6de7 7 178 1392
+6dee 7 179 1392
+6df5 7 180 1392
+6dfc 7 181 1392
+6e03 1 182 1392
+6e04 6 183 1392
+6e0a 3 190 1392
+6e0d 5 191 1392
+6e12 3 192 1392
+6e15 5 193 1392
+6e1a 3 194 1392
+6e1d 5 195 1392
+6e22 6 201 1392
+6e28 a 204 1392
+6e32 a 206 1392
+6e3c a 285 1392
+6e46 a 286 1392
+6e50 b 293 1392
+6e5b b 294 1392
+6e66 b 297 1392
+6e71 8 298 1392
+6e79 8 302 1392
+6e81 b 304 1392
+6e8c 9 313 1392
+6e95 8 315 1392
+6e9d 12 319 1392
+6eaf 2 320 1392
+FUNC 1284 1c 0 _calloc_impl
+FUNC 1b18 14 0 _calloc_impl
+FUNC 1b5c 10 0 _calloc_impl
+FUNC 2d48 6 0 _calloc_impl
+FUNC 3488 14 0 _calloc_impl
+FUNC 3e7c 3 0 _calloc_impl
+FUNC 40e4 f 0 _calloc_impl
+FUNC 4c60 10 0 _calloc_impl
+FUNC 5650 1 0 _calloc_impl
+FUNC 5898 16 0 _calloc_impl
+FUNC 5f88 13 0 _calloc_impl
+FUNC 5fc0 6 0 _calloc_impl
+FUNC 68a8 16 0 _calloc_impl
+FUNC 6b60 10 0 _calloc_impl
+FUNC 6c7c 8 0 _calloc_impl
+5898 5 21 291
+589d 11 26 291
+40e4 d 28 291
+68a8 16 28 291
+40f1 2 69 291
+3488 7 30 291
+348f d 34 291
+5650 1 35 291
+1b5c 2 39 291
+1b5e e 41 291
+1284 f 44 291
+1293 d 47 291
+5f88 13 47 291
+1b18 14 59 291
+4c60 10 61 291
+5fc0 6 62 291
+6c7c 8 63 291
+6b60 10 52 291
+2d48 6 53 291
+3e7c 1 53 291
+3e7d 2 69 291
+FUNC 1048 16 0 realloc
+FUNC 11a0 e 0 realloc
+FUNC 1744 2 0 realloc
+FUNC 1b34 7 0 realloc
+FUNC 261c 22 0 realloc
+FUNC 2ae0 8 0 realloc
+FUNC 3d30 12 0 realloc
+FUNC 3df8 3 0 realloc
+FUNC 4230 f 0 realloc
+FUNC 4284 10 0 realloc
+FUNC 4cb0 1 0 realloc
+FUNC 5960 1c 0 realloc
+FUNC 62a4 14 0 realloc
+FUNC 6528 1 0 realloc
+FUNC 6550 12 0 realloc
+FUNC 65dc b 0 realloc
+FUNC 6654 12 0 realloc
+FUNC 6734 14 0 realloc
+62a4 5 62 618
+62a9 f 67 618
+65dc 9 68 618
+65e5 2 117 618
+6654 1 117 618
+6655 11 71 618
+4284 9 73 618
+1b34 1 74 618
+428d 7 74 618
+1b35 6 109 618
+11a0 e 83 618
+4cb0 1 84 618
+261c 14 85 618
+2630 e 94 618
+3d30 12 94 618
+6734 14 109 618
+4230 f 81 618
+6550 7 89 618
+6557 b 90 618
+1744 2 91 618
+3df8 1 91 618
+6528 1 91 618
+3df9 2 117 618
+5960 16 111 618
+5976 6 112 618
+1048 16 103 618
+2ae0 8 105 618
+FUNC 1000 7 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 11b0 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 17c4 8 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 1ac4 6 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 21f4 c 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 2234 9 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 2354 f 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 242c 12 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 2710 3 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 2794 b 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 28d0 13 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 31f8 5 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 327c 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 32c0 4a 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 336c 20 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 36f8 f 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 37e0 10 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 3c30 1 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 3f94 e 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4300 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4338 11 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 497c 16 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4b10 15 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4c70 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4ce8 10 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4db4 1e 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 4e68 12 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 54e8 3 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 5574 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 55d0 2 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 55f8 8 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 5628 8 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 578c 3 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 5838 24 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 58f4 c 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 5f44 7 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 61fc f 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6328 14 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 63a0 c 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6404 6 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 65e8 28 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6624 10 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6ad4 16 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6d80 e 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6eb4 3 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+FUNC 6f10 f 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+65e8 12 96 3447
+65fa 16 101 3447
+2354 f 102 3447
+2710 3 102 3447
+28d0 5 102 3447
+31f8 5 102 3447
+36f8 f 102 3447
+28d5 e 106 3447
+3c30 1 107 3447
+54e8 3 109 3447
+32f8 3 113 3447
+32fb f 133 3447
+2794 b 134 3447
+32c0 36 145 3447
+1000 7 146 3447
+1ac4 6 149 3447
+4300 14 149 3447
+4c70 14 149 3447
+5574 14 149 3447
+55f8 8 149 3447
+578c 3 149 3447
+58f4 c 149 3447
+63a0 c 149 3447
+6ad4 16 149 3447
+6eb4 3 149 3447
+6f10 3 150 3447
+6f13 c 151 3447
+4db4 1e 160 3447
+5838 24 169 3447
+6328 14 172 3447
+4ce8 10 175 3447
+6d80 e 177 3447
+4b10 10 186 3447
+4b20 5 190 3447
+11b0 14 196 3447
+2234 9 196 3447
+327c 14 196 3447
+497c 16 196 3447
+4e68 12 196 3447
+55d0 2 196 3447
+5628 8 196 3447
+61fc f 196 3447
+6624 10 196 3447
+3f94 e 197 3447
+336c 20 207 3447
+17c4 2 220 3447
+37e0 10 220 3447
+17c6 6 223 3447
+4338 11 233 3447
+6404 6 233 3447
+5f44 7 240 3447
+21f4 8 242 3447
+21fc 4 244 3447
+242c 12 245 3447
+FUNC 3204 2 0 __crtLCMapStringA
+FUNC 3c24 7 0 __crtLCMapStringA
+FUNC 610c 47 0 __crtLCMapStringA
+610c 8 258 3447
+6114 b 259 3447
+3c24 7 271 3447
+611f 34 271 3447
+3204 2 272 3447
+FUNC 1198 3 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 17b4 e 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 19ac 2 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 24a4 14 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 3318 33 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 357c 2b 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 43c4 b 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 4624 14 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 4d9c 11 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 5094 a 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 5b4c 12 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 5efc c 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 5f38 6 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 6420 c 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 68c0 14 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 6910 12 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 6bf0 28 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+FUNC 6c20 8 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+6bf0 12 63 3507
+6c02 7 67 3507
+6c09 f 83 3507
+43c4 b 84 3507
+3318 33 95 3507
+6c20 8 96 3507
+1198 3 99 3507
+19ac 2 99 3507
+24a4 14 99 3507
+4624 14 99 3507
+5b4c 12 99 3507
+5efc c 99 3507
+5f38 6 99 3507
+6420 c 99 3507
+68c0 14 99 3507
+17b4 2 100 3507
+17b6 c 101 3507
+357c f 103 3507
+358b 1c 111 3507
+4d9c 11 116 3507
+5094 6 118 3507
+509a 4 120 3507
+6910 12 121 3507
+FUNC 25dc 40 0 __crtGetStringTypeA
+FUNC 4104 7 0 __crtGetStringTypeA
+FUNC 5ca0 2 0 __crtGetStringTypeA
+25dc 8 133 3507
+25e4 b 134 3507
+25ef 2d 145 3507
+4104 7 145 3507
+5ca0 2 146 3507
+FUNC 2e0c 37b 0 __free_lc_time
+FUNC 641c 3 0 __free_lc_time
+2e0c 6 228 1800
+2e12 10 229 1800
+2e24 8 232 1800
+2e2c 8 233 1800
+2e34 8 234 1800
+2e3c 8 235 1800
+2e44 8 236 1800
+2e4c 8 237 1800
+2e54 7 238 1800
+2e5b 8 240 1800
+2e63 8 241 1800
+2e6b 8 242 1800
+2e73 8 243 1800
+2e7b 8 244 1800
+2e83 8 245 1800
+2e8b 8 246 1800
+2e93 8 248 1800
+2e9b b 249 1800
+2ea6 8 250 1800
+2eae 8 251 1800
+2eb6 8 252 1800
+2ebe 8 253 1800
+2ec6 8 254 1800
+2ece 8 255 1800
+2ed6 8 256 1800
+2ede 8 257 1800
+2ee6 8 258 1800
+2eee 8 259 1800
+2ef6 8 261 1800
+2efe 8 262 1800
+2f06 8 263 1800
+2f0e 8 264 1800
+2f16 8 265 1800
+2f1e b 266 1800
+2f29 b 267 1800
+2f34 b 268 1800
+2f3f b 269 1800
+2f4a b 270 1800
+2f55 b 271 1800
+2f60 b 272 1800
+2f6b b 274 1800
+2f76 b 275 1800
+2f81 b 277 1800
+2f8c b 278 1800
+2f97 b 279 1800
+2fa2 b 282 1800
+2fad b 283 1800
+2fb8 b 284 1800
+2fc3 b 285 1800
+2fce e 286 1800
+2fdc b 287 1800
+2fe7 b 288 1800
+2ff2 b 290 1800
+2ffd b 291 1800
+3008 b 292 1800
+3013 b 293 1800
+301e b 294 1800
+3029 b 295 1800
+3034 b 296 1800
+303f b 298 1800
+304a b 299 1800
+3055 b 300 1800
+3060 b 301 1800
+306b b 302 1800
+3076 b 303 1800
+3081 e 304 1800
+308f b 305 1800
+309a b 306 1800
+30a5 b 307 1800
+30b0 b 308 1800
+30bb b 309 1800
+30c6 b 311 1800
+30d1 b 312 1800
+30dc b 313 1800
+30e7 b 314 1800
+30f2 b 315 1800
+30fd b 316 1800
+3108 b 317 1800
+3113 b 318 1800
+311e b 319 1800
+3129 b 320 1800
+3134 e 321 1800
+3142 b 322 1800
+314d b 324 1800
+3158 b 325 1800
+3163 b 327 1800
+316e b 328 1800
+3179 e 329 1800
+641c 1 329 1800
+641d 2 332 1800
+FUNC 1308 14 0 __free_lconv_num
+FUNC 14ec 7 0 __free_lconv_num
+FUNC 24c0 7 0 __free_lconv_num
+FUNC 2d64 14 0 __free_lconv_num
+FUNC 3194 14 0 __free_lconv_num
+FUNC 33c0 7 0 __free_lconv_num
+FUNC 3c9c 7 0 __free_lconv_num
+FUNC 42ec 3 0 __free_lconv_num
+FUNC 441c 7 0 __free_lconv_num
+FUNC 448c 14 0 __free_lconv_num
+FUNC 5688 14 0 __free_lconv_num
+FUNC 5cdc 17 0 __free_lconv_num
+5cdc 6 218 1742
+5ce2 11 219 1742
+2d64 14 222 1742
+441c 7 223 1742
+448c 14 225 1742
+33c0 7 226 1742
+5688 14 228 1742
+3c9c 7 229 1742
+1308 14 231 1742
+24c0 7 232 1742
+3194 14 234 1742
+14ec 7 235 1742
+42ec 1 235 1742
+42ed 2 236 1742
+FUNC 1028 14 0 __free_lconv_mon
+FUNC 16f4 14 0 __free_lconv_mon
+FUNC 2040 14 0 __free_lconv_mon
+FUNC 2724 7 0 __free_lconv_mon
+FUNC 2788 7 0 __free_lconv_mon
+FUNC 2834 3 0 __free_lconv_mon
+FUNC 28f0 7 0 __free_lconv_mon
+FUNC 2b7c 7 0 __free_lconv_mon
+FUNC 3360 7 0 __free_lconv_mon
+FUNC 34d8 14 0 __free_lconv_mon
+FUNC 37cc 7 0 __free_lconv_mon
+FUNC 3bac 14 0 __free_lconv_mon
+FUNC 3ddc 14 0 __free_lconv_mon
+FUNC 4a80 7 0 __free_lconv_mon
+FUNC 4aa0 7 0 __free_lconv_mon
+FUNC 4b34 14 0 __free_lconv_mon
+FUNC 4dec 7 0 __free_lconv_mon
+FUNC 4e2c 14 0 __free_lconv_mon
+FUNC 4e5c 7 0 __free_lconv_mon
+FUNC 4efc 14 0 __free_lconv_mon
+FUNC 4f64 7 0 __free_lconv_mon
+FUNC 567c 7 0 __free_lconv_mon
+FUNC 58dc 16 0 __free_lconv_mon
+FUNC 594c 14 0 __free_lconv_mon
+FUNC 5b38 14 0 __free_lconv_mon
+FUNC 5cb4 7 0 __free_lconv_mon
+FUNC 6264 14 0 __free_lconv_mon
+FUNC 64f8 14 0 __free_lconv_mon
+58dc 6 270 1685
+58e2 10 271 1685
+3bac 14 274 1685
+2788 7 275 1685
+16f4 14 277 1685
+2b7c 7 278 1685
+4b34 14 280 1685
+2724 7 281 1685
+4efc 14 283 1685
+4f64 7 284 1685
+3ddc 14 286 1685
+28f0 7 287 1685
+34d8 14 289 1685
+37cc 7 290 1685
+594c 14 292 1685
+4e5c 7 293 1685
+5b38 14 295 1685
+5cb4 7 296 1685
+2040 14 298 1685
+3360 7 299 1685
+1028 14 301 1685
+567c 7 302 1685
+6264 14 304 1685
+4a80 7 305 1685
+4e2c 14 307 1685
+4dec 7 308 1685
+64f8 14 310 1685
+2834 1 311 1685
+4aa0 7 311 1685
+2835 2 312 1685
+FUNC 1a0a ba 0 _VEC_memzero
+FUNC 637c 10 0 __sse2_available_init
+637c 0 30 4315
+637c d 31 4315
+6389 2 32 4315
+638b 1 33 4315
+FUNC 1c38 103 0 _VEC_memcpy
+FUNC 6a38 2c 0 _alloca_probe_16
+6a38 0 44 4274
+6a38 1 46 4274
+6a39 4 47 4274
+6a3d 2 48 4274
+6a3f 3 49 4274
+6a42 2 50 4274
+6a44 2 51 4274
+6a46 2 52 4274
+6a48 1 53 4274
+6a49 5 54 4274
+6a4e 1 59 4274
+6a4f 4 60 4274
+6a53 2 61 4274
+6a55 3 62 4274
+6a58 2 63 4274
+6a5a 2 64 4274
+6a5c 2 65 4274
+6a5e 1 66 4274
+6a5f 5 67 4274
+PUBLIC 6a4e 0 _alloca_probe_8
+FUNC 1d6e 34 0 _allmul
+1d6e 0 47 2803
+1d6e 4 63 2803
+1d72 4 64 2803
+1d76 2 65 2803
+1d78 4 66 2803
+1d7c 2 67 2803
+1d7e 4 69 2803
+1d82 2 70 2803
+1d84 3 72 2803
+1d87 1 75 2803
+1d88 2 83 2803
+1d8a 2 84 2803
+1d8c 4 86 2803
+1d90 4 87 2803
+1d94 2 88 2803
+1d96 4 90 2803
+1d9a 2 91 2803
+1d9c 2 92 2803
+1d9e 1 94 2803
+1d9f 3 96 2803
+FUNC 1680 2b 0 _chkstk
+1680 0 65 4276
+1680 1 69 4276
+1681 4 73 4276
+1685 2 74 4276
+1687 2 79 4276
+1689 2 80 4276
+168b 2 81 4276
+168d 2 83 4276
+168f 5 84 4276
+1694 2 87 4276
+1696 2 88 4276
+1698 2 89 4276
+169a 1 90 4276
+169b 1 91 4276
+169c 2 92 4276
+169e 3 93 4276
+16a1 1 94 4276
+16a2 5 98 4276
+16a7 2 99 4276
+16a9 2 100 4276
+FUNC 5be0 46 0 strcspn
+5be0 4 191 2794
+5be4 2 198 2794
+5be6 1 199 2794
+5be7 1 200 2794
+5be8 1 201 2794
+5be9 1 202 2794
+5bea 1 203 2794
+5beb 1 204 2794
+5bec 1 205 2794
+5bed 1 206 2794
+5bee 6 212 2794
+5bf4 2 216 2794
+5bf6 2 217 2794
+5bf8 2 218 2794
+5bfa 3 219 2794
+5bfd 4 220 2794
+5c01 2 221 2794
+5c03 3 227 2794
+5c06 6 229 2794
+5c0c 3 234 2794
+5c0f 2 236 2794
+5c11 2 237 2794
+5c13 2 238 2794
+5c15 3 239 2794
+5c18 4 240 2794
+5c1c 2 245 2794
+5c1e 2 255 2794
+5c20 3 257 2794
+5c23 3 259 2794
+FUNC 1bcb 40 0 strpbrk
+1bcb 4 191 2794
+1bcf 2 198 2794
+1bd1 1 199 2794
+1bd2 1 200 2794
+1bd3 1 201 2794
+1bd4 1 202 2794
+1bd5 1 203 2794
+1bd6 1 204 2794
+1bd7 1 205 2794
+1bd8 1 206 2794
+1bd9 6 212 2794
+1bdf 2 216 2794
+1be1 2 217 2794
+1be3 2 218 2794
+1be5 3 219 2794
+1be8 4 220 2794
+1bec 2 221 2794
+1bee 5 227 2794
+1bf3 2 236 2794
+1bf5 2 237 2794
+1bf7 2 238 2794
+1bf9 3 239 2794
+1bfc 4 240 2794
+1c00 2 247 2794
+1c02 3 248 2794
+1c05 3 257 2794
+1c08 3 259 2794
+FUNC 3bc0 61 0 __ascii_strnicmp
+3bc0 6 69 2798
+3bc6 3 75 2798
+3bc9 2 76 2798
+3bcb 2 77 2798
+3bcd 3 79 2798
+3bd0 3 80 2798
+3bd3 2 82 2798
+3bd5 2 83 2798
+3bd7 5 84 2798
+3bdc 2 89 2798
+3bde 2 91 2798
+3be0 2 93 2798
+3be2 2 95 2798
+3be4 2 97 2798
+3be6 2 98 2798
+3be8 3 100 2798
+3beb 3 101 2798
+3bee 2 103 2798
+3bf0 2 104 2798
+3bf2 2 106 2798
+3bf4 2 107 2798
+3bf6 2 109 2798
+3bf8 2 112 2798
+3bfa 2 113 2798
+3bfc 2 115 2798
+3bfe 2 116 2798
+3c00 2 118 2798
+3c02 2 121 2798
+3c04 2 122 2798
+3c06 3 124 2798
+3c09 2 125 2798
+3c0b 2 128 2798
+3c0d 2 129 2798
+3c0f 2 130 2798
+3c11 5 133 2798
+3c16 2 134 2798
+3c18 2 135 2798
+3c1a 2 138 2798
+3c1c 5 140 2798
+PUBLIC 2140 10 RtlUnwind
+STACK WIN 4 2cec 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b70 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 25a8 21 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 131c 14 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b94 16 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11e8 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b3c 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 669c 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 16d4 7 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 16db 19 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 211c c 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5458 9 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 40f4 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1fd4 8 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1fdc 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 46d8 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 65a8 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1fda 2 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1fdc 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 46d8 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 65a8 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 12a0 b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1ff0 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 198c 4 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1ff5 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 455c 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d0c 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 38be 161 c 0 0 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 39e1 14 0 0 0 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 620c a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 66c3 70 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 672a 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 26fc 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2701 f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bcc 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3888 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ea0 1f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3889 17 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4778 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 199c 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2380 6 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ce8 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4448 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 477d 17 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 57d0 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a40 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 642c 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a28 e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 21a0 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1db0 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21a5 19 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24cc 1a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c14 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a9b 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2100 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2b50 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4594 33 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4597 2f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2944 6 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1bc8 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1de4 e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22bc 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 294a a 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3dd4 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e80 f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6568 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1bc8 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1de4 e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 22bc 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 294a a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3dd4 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3e80 f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6568 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 69e4 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d44 c 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2470 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2558 27 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2660 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 269c 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 27a4 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 34ec 24 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 48dc 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4bf8 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4dd4 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b74 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 69e9 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f60 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2470 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2559 26 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2660 9 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 27a4 2 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 48dc 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2470 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 255a 25 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2660 8 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 27a4 2 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 48dc 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 35a7 140 c 0 c 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 36d2 e 0 0 c 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 6d68 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5464 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1df4 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5544 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3218 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6410 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b78 4 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2888 9 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 44d0 16 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4858 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6415 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e7c 1b 1b 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11c4 12 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2028 16 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 20c0 12 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2460 f 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2648 f 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 26c4 1a 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 349c 27 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 43a4 1e 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4428 a 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 47c0 2b 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49a4 18 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a64 1c 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d50 17 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e97 1e 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f5c 2 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5810 25 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59cc 16 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d18 34 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64e8 5 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6648 7 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6678 22 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6894 11 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 70ac 18 0 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e92 5 5 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 11c4 12 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 2028 16 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 20c0 12 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 2460 f 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 2648 8 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 26c4 1a 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 349c 27 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 43a4 1e 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4428 a 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 47c0 2b 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 49a4 18 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4a64 1c 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4d50 17 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4e97 1e 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4f5c 2 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 5810 25 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 59cc 16 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 5d18 34 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 64e8 5 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 6648 7 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 6678 22 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 6894 11 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 70ac 18 0 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 4e93 4 4 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 11c4 12 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 2028 16 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 20c0 12 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 2460 f 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 2648 5 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 26c4 1a 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 349c 27 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 43a4 1e 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 4428 a 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 47c0 2b 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 49a4 18 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 4a64 1c 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 4d50 17 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 4e97 1e 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 4f5c 2 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 5810 25 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 59cc 16 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 5d18 34 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 64e8 5 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 6648 7 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 6678 22 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 6894 11 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 70ac 18 0 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 11c4 12 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 2028 16 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 20c0 12 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 2460 f 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 2648 4 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 26c4 1a 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 349c 27 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 43a4 1e 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 4428 a 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 47c0 2b 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 49a4 18 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 4a64 1c 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 4d50 17 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 4e97 1e 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 4f5c 2 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 5810 25 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 59cc 16 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 5d18 34 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 64e8 5 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 6648 7 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 6678 22 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 6894 11 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 70ac 18 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 1984 1 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2388 16 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4ab4 16 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4be0 17 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5ac8 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 650c 6 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1490 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1540 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1720 14 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 174c 1b 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19d8 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2054 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2218 9 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2440 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2870 e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2928 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2ae8 11 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d78 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 356c f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 38a8 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ed0 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fa4 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 44e8 7 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4810 17 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cc8 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f50 7 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5564 e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56d4 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 57a4 e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59f8 16 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5bbc e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ca4 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d60 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e38 18 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e60 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6090 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 61f0 7 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6228 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 648c c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64dc 5 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6512 14 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 66a4 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 68e4 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ee8 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f98 c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1490 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1540 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1720 14 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 174c 1b 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 19d8 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2054 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2218 9 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2440 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2870 e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2928 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2ae8 11 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2d78 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 356c f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 38a8 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3ed0 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3fa4 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 44e8 7 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4810 17 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4cc8 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4f50 7 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5564 e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 56d4 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 57a4 e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 59f8 16 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5bbc e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5ca4 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5d60 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5e38 18 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5e60 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6090 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 61f0 7 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6228 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 648c c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 64dc 5 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6512 14 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 66a4 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 68e4 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6ee8 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6f98 c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1490 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1540 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1720 14 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 174c 1b 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 19d8 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2440 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2870 e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2928 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2ae8 11 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2d78 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 356c f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 38a8 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3ed0 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3fa4 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 44e8 7 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4810 17 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4cc8 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4f50 7 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5564 e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 56d4 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 57a4 e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 59f8 16 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5bbc e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5ca4 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5d60 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5e38 18 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5e60 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6090 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 61f0 7 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6228 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 648c c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 64dc 5 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 66a4 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 68e4 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6ee8 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6f98 c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1490 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1750 17 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 2440 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 2928 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 2ae8 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 2d78 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 38a8 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 3ed0 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 3fa4 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 44e8 7 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 4cc8 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 56d4 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 59f8 16 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 5ca4 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 5d60 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 5e38 18 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 6090 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 61f0 7 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 6228 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 648c c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 64dc 5 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 66a4 c 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 68e4 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 6ee8 3 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 4139 dc 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4148 a8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 414f a0 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4191 5d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1fac d d 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1018 8 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19b4 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19f4 2 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1dd0 14 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1fb9 1b 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2058 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 209c 9 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2364 1a 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 253c 4 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2598 9 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 25cc 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2718 b 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2730 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28a8 a 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28fc 2 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 290c 14 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b34 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bfc 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d88 7 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3730 d 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 377c 2 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37b0 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c38 24 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c84 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3db8 1b 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e90 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3efc 13 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4110 12 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42dc f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42f0 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4518 6 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4610 7 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4684 11 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 46f8 13 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4848 a 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4994 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49bc e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4aac 1 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cb8 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ed8 24 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f10 3 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f30 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 501c 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5518 3 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 569c 3 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 57bc 12 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a50 10 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5cc0 14 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e84 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6448 f 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6530 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 66b0 13 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6970 4 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6aec 7 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f30 e 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1fb6 3 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1018 8 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 19b4 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 19f4 2 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1dd0 14 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1fb9 1b 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2058 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 209c 9 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2364 1a 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 253c 4 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2598 9 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 25cc 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2718 b 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2730 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 28a8 a 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 28fc 2 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 290c 14 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2b34 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2bfc 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2d88 7 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3730 d 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 377c 2 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 37b0 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3c38 24 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3c84 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3db8 1b 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3e90 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3efc 13 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4110 12 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 42dc f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 42f0 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4518 6 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4610 7 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4684 11 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 46f8 5 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4848 a 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4994 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 49bc e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4aac 1 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4cb8 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4ed8 24 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4f10 3 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4f30 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 501c 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 569c 3 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 57bc 12 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 5a50 10 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 5cc0 14 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 5e84 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 6448 f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 6530 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 66b0 13 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 6aec 7 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 6f30 e 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1018 8 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 19b4 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 19f4 2 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 1dd0 14 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 1fb9 1b 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2058 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 209c 9 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2364 1a 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 253c 4 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2598 9 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 25cc 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2718 b 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2730 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 28a8 a 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 28fc 2 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 290c 14 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2b34 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2bfc 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2d88 7 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3730 d 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 377c 2 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 37b0 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3c38 24 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3c84 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3db8 1b 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3e90 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3efc 13 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4110 12 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 42dc f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 42f0 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4518 6 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4610 7 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4684 11 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 46f8 4 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4848 a 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4994 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 49bc e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4aac 1 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4cb8 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4ed8 24 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4f10 3 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4f30 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 501c 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 569c 3 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 57bc 12 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5a50 10 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5cc0 14 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5e84 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6448 f 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6530 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 66b0 13 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6aec 7 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6f30 e 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2008 d d 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1ad8 3 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2015 12 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22dc 16 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2320 5 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2934 3 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 33cc 17 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4254 30 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 432c 5 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ad0 28 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b8c 2c 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c4c 12 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6960 10 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2011 4 4 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 1ad8 3 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2015 12 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 22dc 16 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2320 3 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2934 3 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 33cc 17 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 4254 30 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 432c 5 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 4ad0 28 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 4b8c 2c 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 4c4c 12 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 6960 10 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2014 1 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 1ad8 3 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2015 12 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 22dc 16 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2320 2 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2934 3 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 33cc 17 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 4254 30 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 432c 5 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 4ad0 28 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 4b8c 2c 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 4c4c 12 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 6960 10 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 1ad8 3 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2015 12 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 22dc 16 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2320 1 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2934 3 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 33cc 17 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4254 30 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 432c 5 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4ad0 28 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4b8c 2c 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4c4c 12 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 6960 10 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3fb4 a a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14f8 30 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 23d0 10 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 293c 1 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bbc e 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3524 c 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3548 f 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d10 18 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3df0 8 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3dfc 1c 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fbe 18 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 436c 12 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 68d4 9 0 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fbd 1 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 14f8 2e 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 23d0 10 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 293c 1 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2bbc e 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3524 c 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3548 f 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3d10 18 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3df0 8 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3dfc 1c 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 3fbe 18 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 436c 12 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 68d4 9 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 14f8 2d 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 23d0 10 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 293c 1 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2bbc e 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3524 c 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3548 f 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3d10 18 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3df0 8 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3dfc 1c 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 3fbe 18 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 436c 12 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 68d4 9 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 14f9 29 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 23d0 10 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 293c 1 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3524 c 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3d10 18 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3dfc 1c 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 68d4 9 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 5c70 9 9 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1008 b 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1258 f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 12c8 e 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1548 33 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1708 18 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17a4 10 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 197c 2 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1988 3 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22f8 1c 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 23e0 4c 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 244c 14 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24b8 8 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24e8 1c 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 26e0 1c 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2ad0 10 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b6c f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bf0 5 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d54 a 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2db0 16 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2dcc 8 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31a8 4 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31e0 16 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3260 f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 334c 14 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 33ac 12 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3cb0 3 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d28 6 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e24 2 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e34 20 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e5c 1f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42a4 f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4380 f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4434 12 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4618 6 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 47ec 14 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4920 a 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5c79 27 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d6c 8 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 617c 18 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6248 a 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 636c e 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 63f0 14 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a74 a 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ba0 3f 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c4c 14 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c84 8 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f90 3 0 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1008 b 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1258 f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 12c8 e 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1548 33 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1708 18 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 17a4 10 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 197c 2 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1988 1 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 22f8 1c 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 23e0 4c 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 244c 14 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 24b8 8 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 24e8 1c 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 26e0 1c 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2ad0 10 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2b6c f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2bf0 5 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2d54 a 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2db0 16 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 31a8 4 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 31e0 16 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3260 f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 334c 14 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 33ac 12 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3cb0 3 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3d28 6 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3e24 2 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3e34 20 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 3e5c 1f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 42a4 f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 4380 f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 4434 12 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 4618 6 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 47ec 14 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 4920 a 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 5c79 27 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 5d6c 8 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 617c 18 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6248 a 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 636c e 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 63f0 14 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6a74 a 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6ba0 3f 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6c4c 14 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6c84 8 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 6f90 3 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1008 b 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1258 f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 12c8 e 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1548 33 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1708 18 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 17a4 10 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 197c 2 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 22f8 1c 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 23e1 10 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 244c 14 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 24b8 8 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 24e8 1c 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 26e0 1c 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2ad0 10 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2b6c f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2bf0 5 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2d54 a 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2db0 16 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 31a8 4 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 31e0 16 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 3260 f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 334c 14 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 33ac 12 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 3cb0 3 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 3d28 6 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 3e24 2 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 3e34 20 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 42a4 f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 4380 f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 4434 12 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 4618 6 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 47ec 14 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 4920 a 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 5d6c 8 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 617c 18 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 6248 a 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 636c e 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 63f0 14 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 6a74 a 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 6ba0 3f 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 6c4c 14 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1008 b 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 1258 f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 12c8 e 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 1548 33 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 1708 18 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 17a4 10 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 197c 1 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 22f8 1c 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 23e2 f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 244c 14 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 24b8 8 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 24e8 1c 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 26e0 1c 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2ad0 10 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2b6c f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2bf0 5 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2d54 a 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2db0 16 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 31a8 4 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 31e0 16 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 3260 f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 334c 14 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 33ac 12 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 3cb0 3 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 3d28 6 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 3e24 2 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 3e34 20 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 42a4 f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 4380 f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 4434 12 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 4618 6 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 47ec 14 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 4920 a 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 5d6c 8 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 617c 18 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 6248 a 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 636c e 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 63f0 14 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 6a74 a 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 6ba0 3f 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 6c4c 14 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 5754 e e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 12ac 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2d94 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 447c 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5762 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6958 2 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5757 b b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 12ac 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2d94 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 447c 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5762 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6958 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 12ac 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2d94 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 447c 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5762 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6958 2 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 57e0 e e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2480 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3cf8 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3e2c 2 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 57ee 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5c60 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 57e3 b b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2480 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3cf8 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3e2c 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 57ee 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5c60 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2480 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3cf8 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3e2c 2 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 57ee 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5c60 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1474 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2bb0 9 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3240 3 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3243 1c 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 338c 1b 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6444 4 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3243 1c 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 338c 1b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6444 3 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2068 16 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2b9c 14 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 48c8 14 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5b84 5 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5e0c e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 10ca b4 c 0 8 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 1166 e 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1175 8 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2954 4 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2958 24 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4520 1c 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 45cc 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 48ec 23 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4b28 c 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 616c 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2957 1 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2958 24 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4520 1c 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 45cc 1e 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 48ec 23 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4b28 b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 616c 9 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2958 24 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4520 1c 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 45cc 1e 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 48ec 23 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4b28 8 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 616c 9 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4314 3 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 12c0 7 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4317 15 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 44f4 4 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4f9c 1 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 12c0 7 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4317 15 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 44f4 3 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4f9c 1 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1330 12f c 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 1447 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1453 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 6458 3 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1608 54 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2228 5 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3768 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3880 2 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3ba8 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3cb8 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3d90 28 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 45ec 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 47a4 19 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4c18 1f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 547c 52 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 54f8 16 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 58b0 24 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 597c 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5c28 e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 645b 1b 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1608 54 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 2228 5 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 3768 13 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 3880 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 3ba8 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 3cb8 1e 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 3d90 28 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 45ec 9 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 47a4 19 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 4c18 1f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 547c 52 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 54f8 16 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 58b0 24 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 597c 33 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 5c28 e 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 645b 1b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 1609 53 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2228 5 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3768 13 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3880 2 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3ba8 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3cb8 1e 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3d90 28 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 47a4 19 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4c18 1f 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 547c 52 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 54f8 16 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 58b0 24 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 597c 33 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5c28 e 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 472c 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3b48 17 17 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10b0 1a 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1180 c 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1528 17 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1734 10 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1768 2c 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 210c 10 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 267c 13 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bd0 20 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3270 a 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3754 13 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b5f 1f 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d54 3 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3f88 c 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42b4 d 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f40 10 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a60 1c 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a84 22 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d88 d 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e70 f 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f50 12 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5fcc 12 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 61bc 1d 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6670 3 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a80 14 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6b0c 20 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6cd8 10 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b51 e e 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 1180 c 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 1734 10 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 1768 2c 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 210c 10 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 2bd0 20 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 3270 6 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 3b5f 1f 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 3d54 3 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 42b4 d 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 4f40 10 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 5a84 22 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 6670 3 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 6b0c 20 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 6cd8 10 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 3b55 a a 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 1180 c 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 1734 10 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 1768 2c 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 210c 10 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 2bd0 20 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 3270 5 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 3b5f 1f 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 3d54 3 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 42b4 d 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 4f40 10 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 5a84 22 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 6670 3 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 6b0c 20 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 6cd8 10 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 1180 c 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 1734 10 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 1768 2c 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 210c 10 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2bd0 20 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3270 4 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3b5f 1f 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3d54 3 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 42b4 d 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 4f40 10 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 5a84 22 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 6670 3 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 6b0c 20 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 6cd8 10 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2244 17 17 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 225b 18 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2740 48 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 33e4 d 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fd8 b 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4390 f 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d68 c 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5588 e 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 61a4 4 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6610 c 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 225a 1 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 225b 18 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 2740 48 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 33e4 d 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 3fd8 b 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4390 f 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4d68 c 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 5588 e 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 61a4 2 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 6610 c 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 225b 18 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2740 48 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 33e4 d 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3fd8 b 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4390 f 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 4d68 c 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 5588 e 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 61a4 1 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 6610 c 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2741 47 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 33e4 d 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 3fd8 b 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 4390 f 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 6610 c 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 4570 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3a1f 129 1a 0 c 8 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 812 - ^ = $24 $T0 816 - ^ =
+STACK WIN 4 5c38 25 3 0 14 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5c3b 21 0 0 14 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6922 2d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f50 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2130 4 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2134 7 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2dec 14 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4358 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 453c 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 479c 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4b48 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 55a8 27 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2133 1 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2134 7 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2dec 14 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4358 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 479c 3 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4b48 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 55a8 27 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2134 7 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2dec 14 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4358 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 479c 3 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4b48 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 55a8 27 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2298 a a 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 20ec 14 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 22a2 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 31d4 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3744 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4350 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 46e4 14 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4a54 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5554 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5ec4 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 63c0 d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6b90 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 229b 7 7 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 20ec 14 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 22a2 6 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 31d4 6 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 3744 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 4350 3 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 46e4 14 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 4a54 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 5554 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 5ec4 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 63c0 d 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 6b90 10 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 20ec 14 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 22a2 6 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 31d4 6 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3744 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4350 3 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 46e4 14 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4a54 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5554 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5ec4 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 63c0 d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6b90 10 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 20ec 14 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 31d4 6 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5554 10 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 63c0 d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6b90 10 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4218 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ff7 c2 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 40b0 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 44a0 9 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 118c b 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1af0 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3718 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 44a9 16 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5bb4 1 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 118c 9 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1af0 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3718 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 44a9 16 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5bb4 1 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2580 a a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14ac 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1990 c 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1da4 c 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 258a e 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e00 4 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4674 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 470c 4 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4794 2 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d40 e 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59b8 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6158 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a94 7 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c8c a 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2589 1 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 14ac 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1990 c 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1da4 c 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 258a e 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2e00 4 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4674 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 470c 2 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4794 2 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4d40 e 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 59b8 14 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6158 14 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6a94 7 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6c8c a 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 14ac 10 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1990 c 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1da4 c 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 258a e 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2e00 4 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4674 10 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 470c 1 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4794 2 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4d40 e 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 59b8 14 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6158 14 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6a94 7 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6c8c a 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5b20 6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14a0 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22f4 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2838 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28e4 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2da4 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 34d0 8 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d5c 16 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4580 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a4c 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cf8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4eb8 1f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a48 6 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b26 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b8c 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5df8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 60ec 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 65a0 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14a0 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 22f4 1 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2838 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 28e4 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2da4 a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 34d0 8 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3d5c 16 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4580 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4a4c 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4cf8 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4eb8 1f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5a48 6 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5b26 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5b8c 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5df8 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 60ec 2 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 65a0 2 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 14a0 7 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2838 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 28e4 7 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2da4 4 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 34d0 8 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3d5c 16 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4580 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4a4c 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4cf8 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4eb8 1f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5a48 6 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5df8 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 60ed 1 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 65a0 2 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 14a0 7 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2838 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 28e4 7 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2da4 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 34d0 8 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3d5c 16 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4580 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4a4c 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4cf8 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4eb8 1f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5a48 6 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5df8 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 65a0 2 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5f78 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1480 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 23bc 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3510 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ec8 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f7d 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ab4 1f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5774 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5d4c 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6c60 4 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4638 39 c 0 0 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 4658 4 0 0 0 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4834 11 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 15b8 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 63ac 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15d8 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3538 f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42c8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 45c8 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e1c f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 55f0 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 63b1 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15d8 18 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 42c8 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4e1c f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3708 d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 17d8 1a3 c 0 4 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 1939 14 0 0 4 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 502c f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2848 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6fd0 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5708 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1660 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 570d 1a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 60b0 4 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c18 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 43e8 f f 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2274 12 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2484 10 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2640 2 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b88 10 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 32ac 13 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4124 15 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 43f7 24 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 45f8 18 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a2c 20 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b68 2 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4bb8 18 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d84 5 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a0c 1a 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 43ef 8 8 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2274 12 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2484 10 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2640 2 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 2b88 10 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 32ac 13 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4124 15 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 43f7 24 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 45f8 18 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4a2c 20 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4b68 2 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4bb8 18 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4d84 3 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 6a0c 1a 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 43f0 7 7 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2274 12 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2484 10 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2640 2 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2b88 10 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 32ac 13 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4124 15 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 43f7 24 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 45f8 18 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4a2c 20 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4b68 2 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4bb8 18 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4d84 2 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6a0c 1a 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2274 12 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 2484 10 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 2640 2 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 2b88 10 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 32ac 13 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 4124 15 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 43f7 24 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 45f8 18 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 4a2c 20 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 4b68 2 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 4bb8 18 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 4d84 1 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 6a0c 1a 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 14bc 3 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14bf 2c 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2658 7 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 318c 5 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14bf 2c 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2658 6 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 318c 5 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 157b 3c c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 15b1 5 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 56a4 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ebc 4 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6154 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6b70 20 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6ec0 2 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6ebf 1 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6154 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6b70 20 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6ec0 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6154 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6b70 20 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6ec0 2 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4e40 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4af8 17 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e45 17 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5608 4 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 585c 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6fa4 1a 1a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1234 5 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b2c 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4948 13 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e08 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d9c 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d60 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6fbe 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6fb6 8 8 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1234 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1b2c 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4948 13 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4e08 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5d9c 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6d60 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6fbe 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6fb7 7 7 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1234 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1b2c 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4948 13 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4e08 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5d9c 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6d60 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6fbe 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1234 1 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 1b2c 2 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4948 13 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4e08 12 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5d9c 10 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6d60 3 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6fbe 12 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6fee bc 35 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 7079 13 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2148 1e 1e 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1064 4c 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 123c 1b 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1460 14 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19c4 12 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2166 22 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b00 14 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31b4 e 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3290 1a 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 36e8 8 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3794 1c 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 474c 1c 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 496c 10 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ca0 10 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d18 1c 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5640 2 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56e4 16 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5cf4 10 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e50 10 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ee8 13 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f18 c 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f6c f 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f7c 14 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 70d4 10 0 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 215e 8 8 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 1064 4c 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 123c 1b 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 1460 14 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 19c4 12 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 2166 22 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 2b00 14 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 31b4 e 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 3290 1a 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 36e8 8 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 3794 1c 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 474c 1c 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 496c 10 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 4ca0 10 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 4d18 1c 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 5640 2 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 56e4 16 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 5cf4 10 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 5e50 10 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 5ee8 13 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 5f18 c 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 6f6c 8 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 6f7c 14 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 70d4 10 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 2165 1 1 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 1064 4c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 123c 1b 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 1460 14 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 19c4 12 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 2166 22 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 2b00 14 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 31b4 e 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 3290 1a 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 36e8 8 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 3794 1c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 474c 1c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 496c 10 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 4ca0 10 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 4d18 1c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 5640 2 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 56e4 16 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 5cf4 10 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 5e50 10 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 5ee8 13 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 5f18 c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 6f6c 5 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 6f7c 14 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 70d4 10 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 1064 4c 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 123c 1b 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 1460 14 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 19c4 12 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 2166 22 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 2b00 14 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 31b4 e 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3290 1a 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 36e8 8 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3794 1c 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 474c 1c 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 496c 10 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 4ca0 10 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 4d18 1c 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 5640 2 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 56e4 16 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 5cf4 10 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 5e50 10 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 5ee8 13 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 5f18 c 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 6f6c 4 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 6f7c 14 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 70d4 10 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3d78 a a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21d0 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28c0 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3784 a 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d82 e 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4880 18 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 48bc b 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b7c 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f58 4 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5448 e 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 55d8 12 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f9c 2 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5fb4 7 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6054 c 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6194 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d50 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d7e 4 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3784 a 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3d82 e 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4f58 2 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5fb4 7 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6194 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3784 a 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d82 e 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4f58 1 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5fb4 7 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6194 10 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 49dc e e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 103c c 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11d8 10 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 12fc b 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1ae0 e 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b4c f 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1e0c 5 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21e4 10 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 228c 4 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22b0 c 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3720 e 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37c0 b 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 43d4 14 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 46c8 10 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4828 c 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 495c a 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49ea 26 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c38 2 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c84 5 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a38 5 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5dc8 c 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 61e0 e 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6288 4 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 63e0 d 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a28 10 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6af4 18 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c3c e 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 70c4 10 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49e5 5 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1b4c f 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 49ea e 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4c38 2 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5a38 3 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6c3c e 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 49e9 1 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 11d8 10 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1b4c f 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 495c 8 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 49ea e 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4c38 2 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5a38 5 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 61e0 e 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6c3c e 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1b4c f 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 49ea e 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4c38 2 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5a38 1 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6c3c e 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 20dc 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 20d4 8 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 20e1 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5520 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15f0 a a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15fa e 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17cc c 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 23a0 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2494 a 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2858 18 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3208 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ca8 8 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4bd0 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5530 7 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5880 4 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f08 4 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f24 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15f6 4 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15fa e 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 23a0 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2494 a 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5530 7 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5880 2 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15fa e 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 23a0 10 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2494 a 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5530 7 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5880 1 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1b7c 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1268 d 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b81 11 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1e04 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31c4 f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 49cc f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5eac 15 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1275 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 69d4 7 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1488 6 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b04 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d3c 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5fe0 1f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 69db 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c64 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f40 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 69da 1 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1488 4 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1b04 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1d3c 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5fe0 1f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 69db 2 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6c64 18 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6f40 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1488 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1b04 12 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1d3c 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5fe0 1f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 69db 2 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6c64 18 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6f40 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5598 7 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3cd8 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 541c 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 553c 6 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 559f 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6950 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ec8 1f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6ef0 20 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 559e 1 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3cd8 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 541c 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 553c 4 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 559f 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6950 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6ec8 1f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6ef0 20 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3cd8 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 541c 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 553c 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 559f 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6950 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6ec8 1f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6ef0 20 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6f20 7 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2674 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b5c 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 38b8 6 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 435c f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 633c 1c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6580 1f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 65b0 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f27 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f26 1 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2674 3 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2b5c 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 38b8 4 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 435c f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 633c 1c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6580 1f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 65b0 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6f27 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2674 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2b5c 10 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 38b8 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 435c f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 633c 1c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6580 1f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 65b0 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6f27 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 28b4 c 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3d08 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5510 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5600 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5f14 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6294 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 68f4 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 69cc 6 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6fe0 e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5900 6 6 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2208 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 387c 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 48ac f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5906 3e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6be0 b 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5903 3 3 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2208 f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 387c 2 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 48ac f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5906 3e 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 6be0 b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5904 2 2 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2208 f 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 387c 1 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 48ac f 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5906 3e 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6be0 b 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2c0c 17 17 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 12dc 18 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1794 f 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b6c 7 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2548 e 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2c23 22 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3238 8 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e54 2 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ee0 16 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 445c 20 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4800 f 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4910 8 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a8c 12 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d8c e 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 566c f 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56fc c 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59e4 14 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5aa8 6 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b08 17 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b60 14 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5db4 12 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6060 c 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 60b4 6 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6218 f 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 62b8 6a 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 697c 3 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6b44 1b 0 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2c22 1 1 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 12dc 18 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 1794 f 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 1b6c 7 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 2548 e 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 2c23 22 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 3238 8 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 3e54 2 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 3ee0 16 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 445c 20 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 4800 f 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 4910 8 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 4a8c 12 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 4d8c 7 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 566c f 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 56fc c 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 59e4 14 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 5aa8 6 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 5b08 17 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 5b60 14 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 5db4 12 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 6060 c 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 60b4 6 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 6218 f 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 62b8 6a 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 697c 3 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 6b44 1b 0 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 12dc 18 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 1794 f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 1b6c 7 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 2548 e 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 2c23 22 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 3238 8 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 3e54 2 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 3ee0 16 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 445c 20 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 4800 f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 4910 8 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 4a8c 12 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 4d8c 4 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 566c f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 56fc c 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 59e4 14 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 5aa8 6 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 5b08 17 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 5b60 14 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 5db4 12 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 6060 c 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 60b4 6 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 6218 f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 62b8 6a 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 697c 3 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 6b44 1b 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 2c45 a4 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 2cdd b 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 6cbc b b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 12b0 8 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2084 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2314 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2504 27 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2904 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3558 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d74 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 560c 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d04 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f68 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6cc7 11 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6cc5 2 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 12b0 8 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2084 18 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2314 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2504 27 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2904 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3558 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4d74 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 560c 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5d04 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5f68 a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6cc7 11 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3b80 9 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19fc e 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2690 7 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b98 3 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b89 1f 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e18 c 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4710 f 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4868 10 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56bc 16 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e20 16 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6020 1f 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6f64 2 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19fc e 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 2690 7 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 2b98 1 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 3b89 1f 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 3e18 c 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4710 f 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4868 10 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 56bc 16 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 5e20 16 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 6020 1f 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 6f64 2 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 64a8 1b 1b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1208 29 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 16ac 20 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1bc0 3 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2188 11 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 23b0 6 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2894 11 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b28 7 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 330c c 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 40bc e 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 454c f 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4720 6 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4768 f 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b58 10 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c40 c 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5404 12 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5728 2a 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5800 e 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ab0 17 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5adc 11 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ba8 c 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5bcc 14 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5fa4 8 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6010 f 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6074 1c 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 609c 14 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 60c0 2a 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 60f4 17 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6358 14 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 638c 11 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 63d4 5 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64c3 19 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64f0 3 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 65c4 18 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6974 7 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6a64 f 0 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64bb 8 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 1208 29 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 16ac 20 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 1bc0 3 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 2188 11 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 23b0 6 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 2894 11 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 2b28 7 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 330c c 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 40bc e 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 454c f 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 4720 6 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 4768 8 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 4b58 10 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 4c40 c 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5404 12 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5728 2a 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5800 e 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5ab0 17 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5adc 11 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5ba8 c 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5bcc 14 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 5fa4 8 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 6010 f 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 6074 1c 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 609c 14 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 60c0 2a 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 60f4 17 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 6358 14 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 638c 11 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 63d4 5 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 64c3 19 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 64f0 3 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 65c4 18 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 6974 7 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 6a64 f 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 64bf 4 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 1208 29 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 16ac 20 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 1bc0 3 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 2188 11 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 23b0 6 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 2894 11 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 2b28 7 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 330c c 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 40bc e 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 454c f 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 4720 6 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 4768 5 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 4b58 10 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 4c40 c 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5404 12 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5728 2a 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5800 e 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5ab0 17 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5adc 11 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5ba8 c 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5bcc 14 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 5fa4 8 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 6010 f 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 6074 1c 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 609c 14 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 60c0 2a 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 60f4 17 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 6358 14 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 638c 11 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 63d4 5 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 64c3 19 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 64f0 3 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 65c4 18 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 6974 7 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 6a64 f 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 1208 29 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 16ac 20 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 1bc0 3 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 2188 11 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 23b0 6 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 2894 11 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 2b28 7 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 330c c 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 40bc e 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 454c f 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4720 6 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4768 4 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4b58 10 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4c40 c 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5404 12 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5728 2a 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5800 e 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5ab0 17 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5adc 11 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5ba8 c 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5bcc 14 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 5fa4 8 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 6010 f 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 6074 1c 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 609c 14 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 60c0 2a 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 60f4 17 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 6358 14 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 638c 11 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 63d4 5 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 64c3 19 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 64f0 3 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 65c4 18 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 6974 7 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 6a64 f 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 1e11 19a c 0 4 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 1f72 8 0 0 4 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 165c 3 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5dd4 12 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6234 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1c0c 8 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1674 7 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1c14 24 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d74 2 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c90 e 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5430 16 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59b0 2 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6254 10 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 643c 3 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6498 10 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4930 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d08 e e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1bac 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 26b4 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2880 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37d8 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c70 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fe4 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a10 1c 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 54d8 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 54f0 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5620 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5dac 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6040 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6278 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6478 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6540 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d16 1a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d0e 8 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1bac 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 26b4 a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2880 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 37d8 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3c70 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3fe4 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4a10 1c 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 54d8 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 54f0 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5620 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5dac 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6040 11 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6278 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6478 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6540 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6d16 1a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6d0f 7 7 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1bac 12 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 26b4 a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2880 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 37d8 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3c70 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3fe4 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4a10 1c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 54d8 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 54f0 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5620 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5dac 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6040 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6278 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6478 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6540 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6d16 1a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1bac 12 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 26b4 a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2880 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 37d8 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3c70 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3fe4 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4a10 1c 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 54d8 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 54f0 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5620 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5dac 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6040 f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6278 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6478 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6540 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6d16 1a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5e94 6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2328 a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 252c 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b14 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 34c8 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d44 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c00 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f70 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 54d0 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5648 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5658 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5870 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a7c 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5e9a 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6578 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6668 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6cf0 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d30 1f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6d90 1b 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2328 a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 252c 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2b14 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 34c8 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 3d44 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 4c00 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 4f70 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 54d0 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5648 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5658 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5870 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5a7c 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5e9a 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6578 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6668 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6cf0 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6d30 1f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6d90 1b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2328 a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 252c 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 2b14 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 34c8 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 3d44 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 4c00 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 4f70 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 54d0 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 5648 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 5658 12 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 5870 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 6578 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 6668 3 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 6cf0 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 6d31 1e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 6d90 1b 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 2328 a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 252c 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2b14 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 34c8 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3d44 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4c00 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4f70 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 54d0 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5648 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5658 12 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 5870 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6578 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6668 3 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6cf0 f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6d32 1d 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 6d90 1b 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 44f8 13 13 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1dbc 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 20ac 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21c0 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22c4 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b44 c 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c5c f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ec0 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 40cc 17 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4294 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 44c0 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 450b d 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cd4 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d34 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4df8 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f84 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5630 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 577c a 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5af0 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d74 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5dec 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ed8 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6000 e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 61a8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6634 12 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6748 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6984 40 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 69fc e 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c9c 18 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 44fe d d 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1dbc 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 20ac 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 21c0 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 22c4 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2b44 a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3c5c f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3ec0 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 40cc 17 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4294 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 44c0 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 450b d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4cd4 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d34 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4df8 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4f84 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5630 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 577c a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5af0 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5d74 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5dec 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 5ed8 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6000 e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 61a8 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6634 12 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6748 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6984 40 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 69fc e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 6c9c 18 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 44ff c c 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1dbc 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 20ac 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 21c0 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 22c4 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2b44 9 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3c5c f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3ec0 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 40cc 17 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4294 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 44c0 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 450b d 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4cd4 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d34 7 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4df8 10 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4f84 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5630 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 577c a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5af0 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5d74 12 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5dec 7 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5ed8 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6000 e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 61a8 14 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6634 12 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6748 13 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6984 40 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 69fc e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6c9c 18 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 1dbc 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 20ac 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 21c0 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 22c4 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2b44 8 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3c5c f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3ec0 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 40cc 17 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4294 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 44c0 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 450b d 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4cd4 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4d34 7 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4df8 10 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4f84 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5630 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 577c a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5af0 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5d74 12 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5dec 7 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5ed8 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6000 e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 61a8 14 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6634 12 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6748 13 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6984 40 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 69fc e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 6c9c 18 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4f18 6 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d58 16 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2338 17 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d40 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2dc8 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2dd4 16 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f1e 11 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5794 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 57b4 8 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c28 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d58 16 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2338 17 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2d40 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2dc8 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 2dd4 16 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 4f1e 11 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5794 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 57b4 8 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 6c28 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 1d58 16 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2348 7 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2dd4 16 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 5795 f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 57b4 3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 6c28 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3f0f 79 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3f7c 8 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1ad0 8 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4695 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5a10 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 219c 2 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4240 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5a15 11 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6904 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4898 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 19e0 13 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 489d f 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6b2c 15 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c6c 2 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3c94 7 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 6dab 106 b 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5898 5 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1284 1c 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b18 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b5c 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d48 6 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3488 14 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e7c 3 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 40e4 f 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c60 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5650 1 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 589d 11 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5f88 13 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5fc0 6 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 68a8 16 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6b60 10 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6c7c 8 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1284 1c 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1b18 14 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1b5c 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2d48 6 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 348d f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3e7c 1 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4c60 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5650 1 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5f88 13 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5fc0 6 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6b60 10 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6c7c 8 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 62a4 5 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1048 16 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11a0 e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1744 2 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1b34 7 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 261c 22 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2ae0 8 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d30 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3df8 3 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4230 f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4284 10 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cb0 1 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5960 1c 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 62a9 f 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6528 1 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6550 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 65dc b 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6654 12 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6734 14 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11a0 e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1744 2 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1b34 7 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 261c 22 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3d30 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3df8 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4230 f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4284 10 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4cb0 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6528 1 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6550 12 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6655 11 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6734 14 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 11a0 e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1744 2 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1b35 6 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 261c 22 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d30 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4230 f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4cb0 1 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6528 1 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6550 12 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 6734 14 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 65e8 1a 1a 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 1000 7 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 11b0 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 17c4 8 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 1ac4 6 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 21f4 c 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 2234 9 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 2354 f 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 242c 12 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 2710 3 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 2794 b 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 28d0 13 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 31f8 5 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 327c 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 32c0 4a 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 336c 20 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 36f8 f 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 37e0 10 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 3c30 1 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 3f94 e 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4300 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4338 11 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 497c 16 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4b10 15 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4c70 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4ce8 10 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4db4 1e 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 4e68 12 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 54e8 3 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5574 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 55d0 2 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 55f8 8 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5628 8 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 578c 3 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5838 24 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 58f4 c 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5f44 7 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 61fc f 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6328 14 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 63a0 c 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6404 6 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6602 e 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6624 10 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6ad4 16 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6d80 e 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6eb4 3 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 6f10 f 0 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 610c 8 8 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3204 2 0 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c24 7 0 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6114 3f 0 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6bf0 16 16 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 1198 3 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 17b4 e 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 19ac 2 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 24a4 14 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 3318 33 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 357c 2b 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 43c4 b 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 4624 14 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 4d9c 11 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5094 a 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5b4c 12 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5efc c 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5f38 6 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 6420 c 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 68c0 14 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 6910 12 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 6c06 12 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 6c20 8 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 25dc 8 8 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 25e4 38 0 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4104 7 0 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ca0 2 0 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e0c 6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e12 375 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 641c 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e12 375 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 641c 1 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5cdc 6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1308 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14ec 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24c0 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2d64 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3194 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 33c0 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c9c 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 42ec 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 441c 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 448c 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5688 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5ce2 11 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1308 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 14ec 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 24c0 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2d64 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3194 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 33c0 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3c9c 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 42ec 1 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 441c 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 448c 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5688 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5ce2 11 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 58dc 6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1028 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 16f4 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2040 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2724 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2788 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2834 3 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28f0 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b7c 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3360 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 34d8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37cc 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3bac 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ddc 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4a80 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4aa0 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b34 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4dec 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e2c 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e5c 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4efc 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f64 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 567c 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 58e2 10 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 594c 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5b38 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5cb4 7 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 6264 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64f8 14 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1028 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 16f4 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2040 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2724 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2788 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2834 1 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 28f0 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2b7c 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3360 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 34d8 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 37cc 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3bac 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3ddc 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4a80 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4aa0 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4b34 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4dec 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4e2c 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4e5c 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4efc 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4f64 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 567c 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 58e2 10 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 594c 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5b38 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5cb4 7 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6264 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 64f8 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1a0a ba 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 637c 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1c38 103 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 0 39e1 14 0 0 0 0 0 0 0 0
+STACK WIN 0 672a 9 0 0 0 0 0 0 0 0
+STACK WIN 0 27ab 88 0 0 8 0 0 0 0 0
+STACK WIN 0 36d2 f 0 0 0 0 0 0 0 0
+STACK WIN 0 1166 f 0 0 0 0 0 0 0 0
+STACK WIN 0 1175 9 0 0 0 0 0 0 0 0
+STACK WIN 0 1447 c 0 0 0 0 0 0 0 0
+STACK WIN 0 1453 c 0 0 0 0 0 0 0 0
+STACK WIN 0 40b0 9 0 0 0 0 0 0 0 0
+STACK WIN 0 37f0 8b 0 0 4 0 0 0 0 0
+STACK WIN 0 297c 90 3 0 c c 0 0 0 0
+STACK WIN 0 2a0c 46 0 0 10 4 0 0 0 1
+STACK WIN 0 2a6e 17 4 0 0 10 0 0 0 1
+STACK WIN 0 2a85 19 0 0 0 0 0 0 0 0
+STACK WIN 0 2ab7 17 1 0 8 4 0 0 0 1
+STACK WIN 0 4658 4 0 0 0 0 0 0 0 0
+STACK WIN 0 1939 15 0 0 0 0 0 0 0 0
+STACK WIN 0 15b1 6 0 0 0 0 0 0 0 0
+STACK WIN 0 7079 13 0 0 0 0 0 0 0 0
+STACK WIN 0 2cdd c 0 0 0 0 0 0 0 0
+STACK WIN 0 1f72 9 0 0 0 0 0 0 0 0
+STACK WIN 0 3f7c 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4fa2 7a 0 0 c 0 0 0 0 0
+STACK WIN 0 33f1 95 0 0 10 0 4 0 0 0
+STACK WIN 0 67c0 84 3 0 8 c 0 0 0 0
+STACK WIN 0 6844 23 0 0 0 0 0 0 0 0
+STACK WIN 0 688f 3 0 0 0 0 0 0 0 0
+STACK WIN 0 1d6e 1a 0 0 10 0 0 0 0 0
+STACK WIN 0 1d88 1a 0 0 10 0 4 0 0 0
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb Binary files differnew file mode 100644 index 0000000000..c86a864e66 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.sym new file mode 100644 index 0000000000..cae4148422 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_reorder_funcs.sym @@ -0,0 +1,2945 @@ +MODULE windows x86 11F7284EDE764667AA5234B0E7B07EEF1 omap_reorder_funcs.pdb
+FILE 1 c:\src\breakpad\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\public\sdk\inc\internal\pebteb.h
+FILE 3 f:\dd\public\sdk\inc\internal\ntldr.h
+FILE 4 f:\dd\public\sdk\inc\internal\ntconfig.h
+FILE 5 f:\dd\public\sdk\inc\internal\ntregapi.h
+FILE 6 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h
+FILE 7 f:\dd\public\ddk\inc\ntdef.h
+FILE 8 f:\dd\public\sdk\inc\internal\ntmmapi.h
+FILE 9 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h
+FILE 10 f:\dd\public\sdk\inc\pshpack1.h
+FILE 11 f:\dd\public\sdk\inc\internal\nxi386.h
+FILE 12 f:\dd\public\ddk\inc\poppack.h
+FILE 13 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\process.h
+FILE 14 f:\dd\public\sdk\inc\pshpack8.h
+FILE 15 f:\dd\public\ddk\inc\ntpoapi.h
+FILE 16 f:\dd\public\sdk\inc\internal\ntexapi.h
+FILE 17 f:\dd\public\sdk\inc\poppack.h
+FILE 18 f:\dd\public\ddk\inc\ntimage.h
+FILE 19 f:\dd\public\ddk\inc\pshpack4.h
+FILE 20 f:\dd\public\sdk\inc\pshpack2.h
+FILE 21 f:\dd\public\ddk\inc\ntnls.h
+FILE 22 f:\dd\public\sdk\inc\internal\ntelfapi.h
+FILE 23 f:\dd\public\sdk\inc\internal\ntpsapi.h
+FILE 24 f:\dd\public\sdk\inc\internal\nti386.h
+FILE 25 f:\dd\public\sdk\inc\specstrings.h
+FILE 26 f:\dd\public\sdk\inc\sal_supp.h
+FILE 27 f:\dd\public\sdk\inc\specstrings_supp.h
+FILE 28 f:\dd\public\sdk\inc\specstrings_strict.h
+FILE 29 f:\dd\public\sdk\inc\specstrings_undef.h
+FILE 30 f:\dd\public\sdk\inc\driverspecs.h
+FILE 31 f:\dd\public\sdk\inc\sdv_driverspecs.h
+FILE 32 f:\dd\public\sdk\inc\basetsd.h
+FILE 33 f:\dd\public\sdk\inc\internal\ntpnpapi.h
+FILE 34 f:\dd\public\sdk\inc\cfg.h
+FILE 35 f:\dd\public\sdk\inc\internal\ntxcapi.h
+FILE 36 f:\dd\public\sdk\inc\guiddef.h
+FILE 37 f:\dd\public\sdk\inc\internal\nt.h
+FILE 38 f:\dd\public\sdk\inc\ntstatus.h
+FILE 39 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h
+FILE 40 f:\dd\public\sdk\inc\internal\ntkeapi.h
+FILE 41 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h
+FILE 42 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h
+FILE 43 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\codeanalysis\sourceannotations.h
+FILE 44 f:\dd\public\sdk\inc\internal\ntobapi.h
+FILE 45 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\string.h
+FILE 46 f:\dd\public\sdk\inc\internal\ntioapi.h
+FILE 47 f:\dd\public\ddk\inc\devioctl.h
+FILE 48 f:\dd\public\sdk\inc\internal\ntseapi.h
+FILE 49 f:\dd\public\ddk\inc\mce.h
+FILE 50 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c
+FILE 51 f:\dd\public\sdk\inc\pshpack4.h
+FILE 52 f:\dd\public\devdiv\inc\ddbanned.h
+FILE 53 f:\dd\public\sdk\inc\internal\ntlpcapi.h
+FILE 54 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
+FILE 55 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
+FILE 56 f:\dd\public\sdk\inc\internal\ntiolog.h
+FILE 57 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm
+FILE 58 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc
+FILE 59 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc
+FILE 60 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc
+FILE 61 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm
+FILE 62 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm
+FILE 64 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm
+FILE 65 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c
+FILE 69 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c
+FILE 73 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c
+FILE 77 f:\dd\public\sdk\inc\winreg.h
+FILE 78 f:\dd\public\sdk\inc\imm.h
+FILE 79 f:\dd\public\sdk\inc\wingdi.h
+FILE 80 f:\dd\vctools\crt_bld\self_x86\crt\src\stdlib.h
+FILE 81 f:\dd\public\sdk\inc\winerror.h
+FILE 82 f:\dd\public\sdk\inc\ktmtypes.h
+FILE 84 f:\dd\vctools\crt_bld\self_x86\crt\src\stdarg.h
+FILE 85 f:\dd\public\sdk\inc\windef.h
+FILE 86 f:\dd\public\sdk\inc\winbase.h
+FILE 88 f:\dd\vctools\crt_bld\self_x86\crt\src\string.h
+FILE 89 f:\dd\public\sdk\inc\winuser.h
+FILE 91 f:\dd\public\sdk\inc\winnetwk.h
+FILE 92 f:\dd\public\sdk\inc\winnt.h
+FILE 93 f:\dd\public\sdk\inc\wnnc.h
+FILE 94 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.h
+FILE 96 f:\dd\public\sdk\inc\winnls.h
+FILE 98 f:\dd\vctools\crt_bld\self_x86\crt\src\mtdll.h
+FILE 99 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdefs.h
+FILE 100 f:\dd\vctools\crt_bld\self_x86\crt\src\sal.h
+FILE 101 f:\dd\vctools\crt_bld\self_x86\crt\src\codeanalysis\sourceannotations.h
+FILE 102 f:\dd\public\sdk\inc\winver.h
+FILE 103 f:\dd\public\sdk\inc\verrsrc.h
+FILE 104 f:\dd\public\sdk\inc\wincon.h
+FILE 105 f:\dd\public\sdk\inc\stralign.h
+FILE 107 f:\dd\public\sdk\inc\mcx.h
+FILE 108 f:\dd\vctools\crt_bld\self_x86\crt\src\atox.c
+FILE 109 f:\dd\vctools\crt_bld\self_x86\crt\src\limits.h
+FILE 110 f:\dd\public\sdk\inc\windows.h
+FILE 111 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.h
+FILE 112 f:\dd\public\sdk\inc\sdkddkver.h
+FILE 113 f:\dd\vctools\crt_bld\self_x86\crt\src\oscalls.h
+FILE 114 f:\dd\vctools\crt_bld\self_x86\crt\src\excpt.h
+FILE 120 f:\dd\public\sdk\inc\reason.h
+FILE 123 f:\dd\public\sdk\inc\kernelspecs.h
+FILE 125 f:\dd\vctools\crt_bld\self_x86\crt\src\tchar.h
+FILE 126 f:\dd\vctools\crt_bld\self_x86\crt\src\mbstring.h
+FILE 127 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.h
+FILE 128 f:\dd\public\sdk\inc\ime_cmodes.h
+FILE 130 f:\dd\vctools\crt_bld\self_x86\crt\src\vadefs.h
+FILE 131 f:\dd\vctools\crt_bld\self_x86\crt\src\cruntime.h
+FILE 132 f:\dd\public\sdk\inc\tvout.h
+FILE 145 f:\dd\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h
+FILE 152 f:\dd\vctools\crt_bld\self_x86\crt\src\internal.h
+FILE 164 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdbg.h
+FILE 165 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoa.c
+FILE 178 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoas.c
+FILE 182 f:\dd\vctools\crt_bld\self_x86\crt\src\errno.h
+FILE 224 f:\dd\vctools\crt_bld\self_x86\crt\src\dosmap.c
+FILE 250 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcsup.h
+FILE 251 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcapi.h
+FILE 265 f:\dd\vctools\crt_bld\self_x86\crt\src\winheap.h
+FILE 281 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.h
+FILE 291 f:\dd\vctools\crt_bld\self_x86\crt\src\calloc_impl.c
+FILE 299 f:\dd\vctools\crt_bld\self_x86\crt\src\dbgint.h
+FILE 333 f:\dd\vctools\crt_bld\self_x86\crt\src\crtheap.c
+FILE 389 f:\dd\vctools\crt_bld\self_x86\crt\src\free.c
+FILE 453 f:\dd\vctools\crt_bld\self_x86\crt\src\heapinit.c
+FILE 498 f:\dd\vctools\crt_bld\self_x86\crt\src\rterr.h
+FILE 504 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c
+FILE 561 f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c
+FILE 618 f:\dd\vctools\crt_bld\self_x86\crt\src\realloc.c
+FILE 677 f:\dd\vctools\crt_bld\self_x86\crt\src\recalloc.c
+FILE 731 f:\dd\vctools\crt_bld\self_x86\crt\src\_newmode.c
+FILE 774 f:\dd\vctools\crt_bld\self_x86\crt\src\msdos.h
+FILE 777 f:\dd\vctools\crt_bld\self_x86\crt\src\stddef.h
+FILE 792 f:\dd\vctools\crt_bld\self_x86\crt\src\ioinit.c
+FILE 844 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c
+FILE 892 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\secchk.c
+FILE 904 f:\dd\vctools\crt_bld\self_x86\crt\src\process.h
+FILE 943 f:\dd\vctools\crt_bld\self_x86\crt\src\a_env.c
+FILE 960 f:\dd\vctools\crt_bld\self_x86\crt\src\awint.h
+FILE 975 f:\dd\vctools\crt_bld\self_x86\crt\src\signal.h
+FILE 1011 f:\dd\vctools\crt_bld\self_x86\crt\src\abort.c
+FILE 1039 f:\dd\vctools\crt_bld\self_x86\crt\src\swprintf.inl
+FILE 1053 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmbox.c
+FILE 1063 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmboxw.c
+FILE 1065 f:\dd\vctools\crt_bld\self_x86\crt\src\wchar.h
+FILE 1069 f:\dd\vctools\crt_bld\self_x86\crt\src\wtime.inl
+FILE 1120 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.c
+FILE 1145 f:\dd\vctools\crt_bld\self_x86\crt\src\dbghook.c
+FILE 1181 f:\dd\vctools\crt_bld\self_x86\crt\src\errmode.c
+FILE 1244 f:\dd\vctools\crt_bld\self_x86\crt\src\getqloc.c
+FILE 1288 f:\dd\vctools\crt_bld\self_x86\crt\src\locale.h
+FILE 1301 f:\dd\vctools\crt_bld\self_x86\crt\src\glstatus.c
+FILE 1344 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_cookie.c
+FILE 1392 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_report.c
+FILE 1413 f:\binaries.x86ret\inc\mm3dnow.h
+FILE 1415 f:\binaries.x86ret\inc\ammintrin.h
+FILE 1424 f:\binaries.x86ret\inc\immintrin.h
+FILE 1426 f:\binaries.x86ret\inc\wmmintrin.h
+FILE 1427 f:\binaries.x86ret\inc\nmmintrin.h
+FILE 1428 f:\binaries.x86ret\inc\smmintrin.h
+FILE 1429 f:\binaries.x86ret\inc\tmmintrin.h
+FILE 1430 f:\binaries.x86ret\inc\pmmintrin.h
+FILE 1431 f:\binaries.x86ret\inc\emmintrin.h
+FILE 1432 f:\binaries.x86ret\inc\xmmintrin.h
+FILE 1433 f:\binaries.x86ret\inc\mmintrin.h
+FILE 1455 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_support.c
+FILE 1467 f:\dd\vctools\crt_bld\self_x86\crt\src\intrin.h
+FILE 1468 f:\dd\vctools\crt_bld\self_x86\crt\src\setjmp.h
+FILE 1508 f:\dd\vctools\crt_bld\self_x86\crt\src\initcoll.c
+FILE 1568 f:\dd\vctools\crt_bld\self_x86\crt\src\initctyp.c
+FILE 1627 f:\dd\vctools\crt_bld\self_x86\crt\src\inithelp.c
+FILE 1685 f:\dd\vctools\crt_bld\self_x86\crt\src\initmon.c
+FILE 1737 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsint.h
+FILE 1742 f:\dd\vctools\crt_bld\self_x86\crt\src\initnum.c
+FILE 1800 f:\dd\vctools\crt_bld\self_x86\crt\src\inittime.c
+FILE 1855 f:\dd\vctools\crt_bld\self_x86\crt\src\lconv.c
+FILE 1913 f:\dd\vctools\crt_bld\self_x86\crt\src\localref.c
+FILE 1962 f:\dd\vctools\crt_bld\self_x86\crt\src\sect_attribs.h
+FILE 1969 f:\dd\vctools\crt_bld\self_x86\crt\src\onexit.c
+FILE 1989 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata1.c
+FILE 2036 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata2.c
+FILE 2079 f:\dd\vctools\crt_bld\self_x86\crt\src\pesect.c
+FILE 2128 f:\dd\vctools\crt_bld\self_x86\crt\src\purevirt.c
+FILE 2186 f:\dd\vctools\crt_bld\self_x86\crt\src\rand_s.c
+FILE 2250 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.c
+FILE 2311 f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
+FILE 2314 f:\dd\vctools\crt_bld\self_x86\crt\src\float.h
+FILE 2315 f:\dd\vctools\crt_bld\self_x86\crt\src\crtwrn.h
+FILE 2369 f:\dd\vctools\crt_bld\self_x86\crt\src\winxfltr.c
+FILE 2394 f:\dd\vctools\crt_bld\self_x86\crt\src\fltintrn.h
+FILE 2419 f:\dd\vctools\crt_bld\self_x86\crt\src\cmiscdat.c
+FILE 2445 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c
+FILE 2468 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl
+FILE 2493 f:\dd\vctools\crt_bld\self_x86\crt\src\strcat_s.c
+FILE 2523 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl
+FILE 2548 f:\dd\vctools\crt_bld\self_x86\crt\src\strcpy_s.c
+FILE 2578 f:\dd\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl
+FILE 2603 f:\dd\vctools\crt_bld\self_x86\crt\src\strncpy_s.c
+FILE 2658 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscat_s.c
+FILE 2713 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscpy_s.c
+FILE 2728 f:\dd\vctools\crt_bld\self_x86\crt\src\wcslen.c
+FILE 2776 f:\dd\vctools\crt_bld\self_x86\crt\src\wcsncpy_s.c
+FILE 2787 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
+FILE 2788 f:\dd\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc
+FILE 2789 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memset.asm
+FILE 2791 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcmp.asm
+FILE 2793 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcspn.asm
+FILE 2794 f:\dd\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM
+FILE 2796 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strlen.asm
+FILE 2798 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\_strnicm.asm
+FILE 2800 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strpbrk.asm
+FILE 2803 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\llmul.asm
+FILE 2805 f:\dd\vctools\crt_bld\SELF_X86\crt\src\mm.inc
+FILE 2806 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\ulldvrm.asm
+FILE 2820 f:\dd\vctools\crt_bld\self_x86\crt\src\handler.cpp
+FILE 2841 f:\dd\vctools\crt_bld\self_x86\crt\src\new.h
+FILE 2875 f:\dd\vctools\crt_bld\self_x86\crt\src\delete.cpp
+FILE 2931 f:\dd\vctools\crt_bld\self_x86\crt\src\_wctype.c
+FILE 2987 f:\dd\vctools\crt_bld\self_x86\crt\src\iswctype.c
+FILE 2998 f:\dd\vctools\crt_bld\self_x86\crt\src\stdio.h
+FILE 3045 f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
+FILE 3106 f:\dd\vctools\crt_bld\self_x86\crt\src\strtol.c
+FILE 3163 f:\dd\vctools\crt_bld\self_x86\crt\src\strtoq.c
+FILE 3218 f:\dd\vctools\crt_bld\self_x86\crt\src\tolower.c
+FILE 3271 f:\dd\vctools\crt_bld\self_x86\crt\src\ismbbyte.c
+FILE 3305 f:\dd\vctools\crt_bld\self_x86\crt\src\mbdata.h
+FILE 3326 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.c
+FILE 3386 f:\dd\vctools\crt_bld\self_x86\crt\src\a_loc.c
+FILE 3447 f:\dd\vctools\crt_bld\self_x86\crt\src\a_map.c
+FILE 3507 f:\dd\vctools\crt_bld\self_x86\crt\src\a_str.c
+FILE 3583 f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c
+FILE 3626 f:\dd\vctools\crt_bld\self_x86\crt\src\stricmp.c
+FILE 3682 f:\dd\vctools\crt_bld\self_x86\crt\src\strnicmp.c
+FILE 3774 f:\dd\vctools\crt_bld\self_x86\crt\src\tidtable.c
+FILE 3778 f:\dd\vctools\crt_bld\self_x86\crt\src\memory.h
+FILE 3838 f:\dd\vctools\crt_bld\self_x86\crt\src\stdenvp.c
+FILE 3860 f:\dd\vctools\crt_bld\self_x86\crt\src\dos.h
+FILE 3891 f:\dd\vctools\crt_bld\self_x86\crt\src\stdargv.c
+FILE 3954 f:\dd\vctools\crt_bld\self_x86\crt\src\mlock.c
+FILE 3998 f:\dd\vctools\crt_bld\self_x86\crt\src\cmsgs.h
+FILE 4012 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0msg.c
+FILE 4072 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0init.c
+FILE 4123 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0fp.c
+FILE 4186 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c
+FILE 4250 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c
+FILE 4274 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\alloca16.asm
+FILE 4276 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\chkstk.asm
+FILE 4289 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h
+FILE 4293 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h
+FILE 4294 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h
+FILE 4295 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h
+FILE 4309 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h
+FILE 4315 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c
+FILE 4327 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h
+FILE 4340 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 4345 f:\dd\vctools\langapi\undname\undname.inl
+FILE 4347 f:\dd\vctools\langapi\undname\utf8.h
+FILE 4355 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl
+FILE 4365 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 4366 f:\dd\vctools\langapi\undname\undname.h
+FILE 4367 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h
+FILE 4368 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h
+FILE 4396 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h
+FILE 4397 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp
+FILE 4401 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h
+FILE 4405 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h
+FILE 4427 f:\dd\vctools\langapi\include\ehdata.h
+FILE 4429 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h
+FILE 4449 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception
+FILE 4472 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h
+FILE 4473 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp
+FILE 4475 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef
+FILE 4487 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h
+FILE 4488 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo
+FILE 4490 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef
+FILE 4491 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h
+FILE 4492 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h
+FILE 4493 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h
+FILE 4496 f:\dd\public\internal\vctools\include\undname.h
+FILE 4531 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp
+FILE 4591 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp
+FILE 4643 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp
+FILE 4664 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h
+FILE 4680 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h
+FUNC 41e2 54 0 main
+41e2 6 57 1
+41e8 8 58 1
+41f0 e 59 1
+41fe 8 60 1
+4206 b 61 1
+4211 f 62 1
+4220 12 64 1
+4232 4 65 1
+FUNC 4242 a 0 static int google_breakpad::i()
+4242 3 51 1
+4245 5 52 1
+424a 2 53 1
+FUNC 2b6a 21 0 google_breakpad::C::C()
+2b6a 21 37 1
+FUNC 30dd 14 0 google_breakpad::C::~C()
+30dd 14 38 1
+FUNC 21f6 16 0 google_breakpad::C::set_member(int)
+21f6 16 40 1
+FUNC 22e9 1e 0 google_breakpad::C::f()
+22e9 1e 43 1
+FUNC 2895 10 0 google_breakpad::C::g()
+2895 10 44 1
+FUNC 308e 7 0 google_breakpad::C::h(google_breakpad::C const &)
+308e 7 45 1
+FUNC 13a0 2c 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 205a 10 0 type_info::~type_info()
+205a 2 49 4531
+205c d 50 4531
+2069 1 51 4531
+FUNC 1445 21 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 2307 b 0 operator delete(void *)
+2307 5 20 2875
+230c 1 24 2875
+230d 5 23 2875
+FUNC 3238 29 0 static void fast_error_exit(int)
+3238 5 326 4250
+323d 9 335 4250
+3246 5 337 4250
+324b 8 339 4250
+3253 c 340 4250
+325f 2 341 4250
+FUNC 32ed 161 0 static int __tmainCRTStartup()
+32ed c 196 4250
+32f9 a 214 4250
+3303 b 216 4250
+330e 49 223 4250
+3357 9 225 4250
+3360 8 226 4250
+3368 9 228 4250
+3371 8 229 4250
+3379 5 238 4250
+337e 3 246 4250
+3381 9 248 4250
+338a 8 249 4250
+3392 b 252 4250
+339d a 255 4250
+33a7 9 257 4250
+33b0 8 258 4250
+33b8 9 259 4250
+33c1 8 260 4250
+33c9 8 262 4250
+33d1 4 263 4250
+33d5 7 264 4250
+33dc a 277 4250
+33e6 18 278 4250
+33fe 5 281 4250
+3403 6 282 4250
+3409 5 284 4250
+340e 2 286 4250
+3410 17 287 4250
+3427 6 293 4250
+342d 6 295 4250
+3433 6 296 4250
+3439 5 298 4250
+343e 7 300 4250
+3445 3 302 4250
+3448 6 303 4250
+FUNC 2104 a 0 mainCRTStartup
+2104 0 179 4250
+2104 5 186 4250
+2109 5 188 4250
+FUNC 5330 70 0 type_info::_Type_info_dtor(type_info *)
+5330 c 62 4473
+533c 8 63 4473
+5344 4 64 4473
+5348 a 65 4473
+5352 d 70 4473
+535f 4 72 4473
+5363 4 74 4473
+5367 6 79 4473
+536d 7 80 4473
+5374 9 94 4473
+537d 4 101 4473
+5381 c 103 4473
+538d 6 107 4473
+5393 2 83 4473
+5395 2 72 4473
+5397 9 104 4473
+FUNC 2f6b 88 0 strcmp
+2f6b 0 65 2791
+2f6b 4 73 2791
+2f6f 4 74 2791
+2f73 6 76 2791
+2f79 2 77 2791
+2f7b 2 81 2791
+2f7d 2 83 2791
+2f7f 2 84 2791
+2f81 2 85 2791
+2f83 2 86 2791
+2f85 3 87 2791
+2f88 2 88 2791
+2f8a 2 89 2791
+2f8c 2 90 2791
+2f8e 3 92 2791
+2f91 3 94 2791
+2f94 2 95 2791
+2f96 2 96 2791
+2f98 2 97 2791
+2f9a 3 98 2791
+2f9d 2 99 2791
+2f9f 3 100 2791
+2fa2 3 101 2791
+2fa5 2 102 2791
+2fa7 4 103 2791
+2fab 2 107 2791
+2fad 2 108 2791
+2faf 2 115 2791
+2fb1 2 116 2791
+2fb3 3 117 2791
+2fb6 1 118 2791
+2fb7 6 122 2791
+2fbd 2 123 2791
+2fbf 2 125 2791
+2fc1 3 126 2791
+2fc4 2 127 2791
+2fc6 2 128 2791
+2fc8 3 129 2791
+2fcb 2 130 2791
+2fcd 2 131 2791
+2fcf 6 133 2791
+2fd5 2 134 2791
+2fd7 3 139 2791
+2fda 3 140 2791
+2fdd 2 141 2791
+2fdf 2 142 2791
+2fe1 2 143 2791
+2fe3 2 144 2791
+2fe5 3 145 2791
+2fe8 2 146 2791
+2fea 2 147 2791
+2fec 2 148 2791
+2fee 3 149 2791
+2ff1 2 150 2791
+FUNC 2b8b 3a 0 free
+2b8b 5 40 389
+2b90 6 45 389
+2b96 11 50 389
+2ba7 4 51 389
+2bab 18 53 389
+2bc3 2 55 389
+FUNC 23da 42 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+23da 5 67 4397
+23df 32 68 4397
+2411 5 69 4397
+2416 2 72 4397
+2418 4 73 4397
+FUNC 283a e 0 __CxxSetUnhandledExceptionFilter
+283a 0 86 4397
+283a b 89 4397
+2845 2 90 4397
+2847 1 91 4397
+FUNC 18d9 2b 0 __crtCorExitProcess
+18d9 5 675 4186
+18de b 679 4186
+18e9 4 680 4186
+18ed c 681 4186
+18f9 4 682 4186
+18fd 5 683 4186
+1902 2 693 4186
+FUNC 5175 18 0 __crtExitProcess
+5175 5 698 4186
+517a 9 699 4186
+5183 a 708 4186
+FUNC 48f0 9 0 _lockexit
+48f0 0 758 4186
+48f0 8 759 4186
+48f8 1 760 4186
+FUNC 406d 9 0 _unlockexit
+406d 0 784 4186
+406d 8 785 4186
+4075 1 786 4186
+FUNC 1fa0 33 0 _init_pointers
+1fa0 3 809 4186
+1fa3 7 810 4186
+1faa 6 812 4186
+1fb0 6 813 4186
+1fb6 6 814 4186
+1fbc 6 815 4186
+1fc2 6 816 4186
+1fc8 a 817 4186
+1fd2 1 818 4186
+FUNC 5043 24 0 _initterm_e
+5043 6 908 4186
+5049 b 917 4186
+5054 6 922 4186
+505a 2 923 4186
+505c 3 924 4186
+505f 6 917 4186
+5065 2 928 4186
+FUNC 147f 97 0 _cinit
+147f 5 258 4186
+1484 18 268 4186
+149c a 270 4186
+14a6 5 272 4186
+14ab 11 278 4186
+14bc 2 279 4186
+14be 2 280 4186
+14c0 c 283 4186
+14cc 20 288 4186
+14ec 1a 301 4186
+1506 c 303 4186
+1512 2 307 4186
+1514 2 308 4186
+FUNC 4504 140 0 static void doexit(int, int, int)
+4504 c 489 4186
+4510 8 507 4186
+4518 4 508 4186
+451c f 510 4186
+452b 5 511 4186
+4530 8 514 4186
+4538 a 516 4186
+4542 13 532 4186
+4555 4 533 4186
+4559 d 534 4186
+4566 3 538 4186
+4569 3 539 4186
+456c 11 547 4186
+457d 2 550 4186
+457f 4 552 4186
+4583 6 559 4186
+4589 7 562 4186
+4590 2 565 4186
+4592 a 567 4186
+459c 8 568 4186
+45a4 a 570 4186
+45ae 6 573 4186
+45b4 8 574 4186
+45bc 5 576 4186
+45c1 21 582 4186
+45e2 21 590 4186
+4603 c 608 4186
+460f 6 613 4186
+4615 a 617 4186
+461f 8 619 4186
+4627 8 621 4186
+462f 6 609 4186
+4635 9 610 4186
+463e 6 622 4186
+FUNC 315a 16 0 exit
+315a 5 392 4186
+315f f 393 4186
+316e 2 394 4186
+FUNC 1778 16 0 _exit
+1778 5 400 4186
+177d f 401 4186
+178c 2 402 4186
+FUNC 3229 f 0 _cexit
+3229 0 407 4186
+3229 e 408 4186
+3237 1 409 4186
+FUNC 405e f 0 _c_exit
+405e 0 414 4186
+405e e 415 4186
+406c 1 416 4186
+FUNC 2abf 1e 0 _amsg_exit
+2abf 5 439 4186
+2ac4 5 440 4186
+2ac9 9 441 4186
+2ad2 b 442 4186
+FUNC 424c 26 0 _GET_RTERRMSG
+424c 5 165 4012
+4251 2 168 4012
+4253 c 169 4012
+425f 6 168 4012
+4265 2 172 4012
+4267 2 173 4012
+4269 7 170 4012
+4270 2 173 4012
+FUNC 268b 1af 0 _NMSG_WRITE
+268b 1b 196 4012
+26a6 8 197 4012
+26ae 11 199 4012
+26bf 2a 226 4012
+26e9 c 263 4012
+26f5 20 272 4012
+2715 21 275 4012
+2736 1f 276 4012
+2755 d 279 4012
+2762 d 281 4012
+276f 1d 282 4012
+278c 18 285 4012
+27a4 14 286 4012
+27b8 15 290 4012
+27cd a 272 4012
+27d7 a 228 4012
+27e1 9 229 4012
+27ea 2 244 4012
+27ec a 246 4012
+27f6 6 248 4012
+27fc 8 244 4012
+2804 27 260 4012
+282b f 294 4012
+FUNC 21bd 39 0 _FF_MSGBANNER
+21bd 0 134 4012
+21bd 22 138 4012
+21df a 140 4012
+21e9 c 141 4012
+21f5 1 143 4012
+FUNC 3ed7 14a 0 _XcptFilter
+3ed7 6 195 2369
+3edd 7 202 2369
+3ee4 8 203 2369
+3eec 2a 208 2369
+3f16 4 210 2369
+3f1a 3 216 2369
+3f1d 4 223 2369
+3f21 7 224 2369
+3f28 5 232 2369
+3f2d 4 237 2369
+3f31 8 238 2369
+3f39 3 244 2369
+3f3c 6 248 2369
+3f42 a 263 2369
+3f4c c 272 2369
+3f58 3 280 2369
+3f5b 13 283 2369
+3f6e c 310 2369
+3f7a 9 312 2369
+3f83 7 314 2369
+3f8a 9 316 2369
+3f93 7 318 2369
+3f9a 9 320 2369
+3fa3 7 322 2369
+3faa 9 324 2369
+3fb3 7 326 2369
+3fba 9 328 2369
+3fc3 7 330 2369
+3fca 9 332 2369
+3fd3 7 334 2369
+3fda 9 336 2369
+3fe3 7 338 2369
+3fea 9 340 2369
+3ff3 7 342 2369
+3ffa 7 344 2369
+4001 8 353 2369
+4009 3 358 2369
+400c 2 360 2369
+400e 4 365 2369
+4012 4 366 2369
+4016 4 372 2369
+401a 5 374 2369
+401f 2 376 2369
+FUNC 255c dc 0 _setenvp
+255c 0 77 3838
+255c 9 85 3838
+2565 6 86 3838
+256b 9 91 3838
+2574 4 98 3838
+2578 8 99 3838
+2580 4 110 3838
+2584 1 111 3838
+2585 b 112 3838
+2590 6 108 3838
+2596 15 117 3838
+25ab 2 118 3838
+25ad 9 121 3838
+25b6 6 123 3838
+25bc 9 125 3838
+25c5 10 127 3838
+25d5 f 133 3838
+25e4 3 134 3838
+25e7 7 121 3838
+25ee b 138 3838
+25f9 7 139 3838
+2600 3 142 3838
+2603 a 149 3838
+260d 2 152 3838
+260f 2 138 3838
+2611 3 153 3838
+2614 b 129 3838
+261f 7 130 3838
+2626 5 131 3838
+262b d 133 3838
+FUNC 54b7 19a 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+54b7 6 221 3891
+54bd 9 229 3891
+54c6 2 232 3891
+54c8 17 234 3891
+54df 3 253 3891
+54e2 5 255 3891
+54e7 5 257 3891
+54ec 9 258 3891
+54f5 2 259 3891
+54f7 2 261 3891
+54f9 4 262 3891
+54fd 8 263 3891
+5505 2 265 3891
+5507 f 267 3891
+5516 2 268 3891
+5518 6 269 3891
+551e a 270 3891
+5528 1 271 3891
+5529 1a 275 3891
+5543 4 280 3891
+5547 4 281 3891
+554b 4 284 3891
+554f 9 289 3891
+5558 a 290 3891
+5562 3 291 3891
+5565 1 278 3891
+5566 2 279 3891
+5568 9 294 3891
+5571 6 298 3891
+5577 9 299 3891
+5580 2 300 3891
+5582 3 314 3891
+5585 4 318 3891
+5589 1 321 3891
+558a 1 322 3891
+558b 5 319 3891
+5590 5 324 3891
+5595 5 327 3891
+559a e 328 3891
+55a8 2 329 3891
+55aa 2 330 3891
+55ac d 332 3891
+55b9 2 335 3891
+55bb 5 339 3891
+55c0 4 340 3891
+55c4 4 341 3891
+55c8 6 342 3891
+55ce 3 341 3891
+55d1 14 346 3891
+55e5 4 351 3891
+55e9 12 353 3891
+55fb b 354 3891
+5606 2 355 3891
+5608 a 357 3891
+5612 2 358 3891
+5614 a 359 3891
+561e 1 360 3891
+561f 2 361 3891
+5621 5 364 3891
+5626 1 366 3891
+5627 5 375 3891
+562c 4 379 3891
+5630 7 380 3891
+5637 2 381 3891
+5639 8 382 3891
+5641 9 385 3891
+564a 3 386 3891
+564d 2 387 3891
+564f 2 388 3891
+FUNC 15b7 bb 0 _setargv
+15b7 9 88 3891
+15c0 c 97 3891
+15cc 5 98 3891
+15d1 18 104 3891
+15e9 19 120 3891
+1602 11 127 3891
+1613 15 134 3891
+1628 a 138 3891
+1632 2 140 3891
+1634 9 142 3891
+163d 2 143 3891
+163f 2 144 3891
+1641 13 151 3891
+1654 c 156 3891
+1660 6 160 3891
+1666 4 175 3891
+166a 6 136 3891
+1670 2 176 3891
+FUNC 220c 97 0 __crtGetEnvironmentStringsA
+220c a 40 943
+2216 e 49 943
+2224 4 50 943
+2228 5 54 943
+222d 8 55 943
+2235 9 56 943
+223e 1b 70 943
+2259 12 74 943
+226b 12 88 943
+227d 9 90 943
+2286 3 91 943
+2289 7 94 943
+2290 5 95 943
+2295 7 76 943
+229c 5 77 943
+22a1 2 96 943
+FUNC 1cf7 245 0 _ioinit
+1cf7 9 111 792
+1d00 a 122 792
+1d0a 13 129 792
+1d1d 8 131 792
+1d25 15 137 792
+1d3a 3 134 792
+1d3d a 139 792
+1d47 3 141 792
+1d4a 6 143 792
+1d50 4 145 792
+1d54 3 146 792
+1d57 1b 147 792
+1d72 15 155 792
+1d87 2 160 792
+1d89 6 166 792
+1d8f 2 167 792
+1d91 e 173 792
+1d9f d 179 792
+1dac f 185 792
+1dbb 7 199 792
+1dc2 c 201 792
+1dce 3 198 792
+1dd1 4 203 792
+1dd5 4 205 792
+1dd9 4 206 792
+1ddd 10 209 792
+1ded 12 210 792
+1dff b 179 792
+1e0a 2 280 792
+1e0c 6 191 792
+1e12 6 217 792
+1e18 29 230 792
+1e41 14 232 792
+1e55 7 233 792
+1e5c 8 234 792
+1e64 17 237 792
+1e7b 3 239 792
+1e7e c 217 792
+1e8a 2 249 792
+1e8c b 251 792
+1e97 c 254 792
+1ea3 6 302 792
+1ea9 4 258 792
+1ead 30 262 792
+1edd c 273 792
+1ee9 6 274 792
+1eef 5 275 792
+1ef4 4 276 792
+1ef8 13 280 792
+1f0b 3 282 792
+1f0e 2 284 792
+1f10 4 293 792
+1f14 6 294 792
+1f1a a 249 792
+1f24 c 309 792
+1f30 5 311 792
+1f35 2 312 792
+1f37 5 281 792
+FUNC 137a 26 0 _RTC_Initialize
+FUNC 2034 26 0 _RTC_Terminate
+FUNC 3d7a 9 0 _encoded_null
+3d7a 0 79 3774
+3d7a 8 80 3774
+3d82 1 81 3774
+FUNC 156e 9 4 __crtTlsAlloc
+156e 0 95 3774
+156e 6 96 3774
+1574 3 97 3774
+FUNC 380c 34 0 __set_flsgetvalue
+380c 3 143 3774
+380f e 145 3774
+381d 4 146 3774
+3821 e 148 3774
+382f d 149 3774
+383c 3 151 3774
+383f 1 155 3774
+FUNC 4021 3d 0 _mtterm
+4021 0 329 3774
+4021 a 336 3774
+402b f 337 3774
+403a 7 338 3774
+4041 a 342 3774
+404b 7 343 3774
+4052 7 344 3774
+4059 5 352 3774
+FUNC 53a0 b4 0 _initptd
+53a0 c 379 3774
+53ac b 381 3774
+53b7 a 384 3774
+53c1 4 385 3774
+53c5 6 386 3774
+53cb 3 391 3774
+53ce 7 395 3774
+53d5 7 396 3774
+53dc 7 397 3774
+53e3 8 399 3774
+53eb 4 400 3774
+53ef 9 402 3774
+53f8 c 404 3774
+5404 8 411 3774
+540c 3 412 3774
+540f 6 413 3774
+5415 4 421 3774
+5419 8 422 3774
+5421 9 423 3774
+542a c 425 3774
+5436 6 428 3774
+543c 6 404 3774
+5442 9 406 3774
+544b 9 426 3774
+FUNC 13cc 79 0 _getptd_noexit
+13cc 4 448 3774
+13d0 6 452 3774
+13d6 15 460 3774
+13eb 14 472 3774
+13ff 19 475 3774
+1418 a 481 3774
+1422 6 483 3774
+1428 6 484 3774
+142e 2 486 3774
+1430 7 492 3774
+1437 2 493 3774
+1439 8 498 3774
+1441 3 500 3774
+1444 1 501 3774
+FUNC 2848 1a 0 _getptd
+2848 3 522 3774
+284b 7 523 3774
+2852 4 524 3774
+2856 8 525 3774
+285e 3 527 3774
+2861 1 528 3774
+FUNC 4272 12f 4 _freefls
+4272 c 556 3774
+427e b 567 3774
+4289 7 568 3774
+4290 7 569 3774
+4297 7 571 3774
+429e 7 572 3774
+42a5 7 574 3774
+42ac 7 575 3774
+42b3 7 577 3774
+42ba 7 578 3774
+42c1 7 580 3774
+42c8 7 581 3774
+42cf 7 583 3774
+42d6 7 584 3774
+42dd 7 586 3774
+42e4 7 587 3774
+42eb a 589 3774
+42f5 7 590 3774
+42fc 8 592 3774
+4304 4 593 3774
+4308 1a 596 3774
+4322 7 597 3774
+4329 c 599 3774
+4335 8 603 3774
+433d 7 605 3774
+4344 7 606 3774
+434b 7 608 3774
+4352 15 611 3774
+4367 7 612 3774
+436e c 615 3774
+437a 7 619 3774
+4381 8 622 3774
+4389 3 599 3774
+438c 9 600 3774
+4395 3 615 3774
+4398 9 616 3774
+FUNC 4980 17b 0 _mtinit
+4980 3 203 3774
+4983 d 211 3774
+4990 4 212 3774
+4994 5 213 3774
+4999 3 214 3774
+499c 2 300 3774
+499e e 218 3774
+49ac d 221 3774
+49b9 d 224 3774
+49c6 d 227 3774
+49d3 2a 228 3774
+49fd a 231 3774
+4a07 1a 235 3774
+4a21 25 244 3774
+4a46 5 249 3774
+4a4b e 256 3774
+4a59 d 257 3774
+4a66 d 258 3774
+4a73 12 259 3774
+4a85 7 266 3774
+4a8c 2 268 3774
+4a8e 1d 274 3774
+4aab 2 276 3774
+4aad 29 284 3774
+4ad6 a 294 3774
+4ae0 6 296 3774
+4ae6 6 297 3774
+4aec 5 299 3774
+4af1 5 286 3774
+4af6 4 245 3774
+4afa 1 300 3774
+FUNC 252f 1e 0 _heap_init
+252f 0 40 453
+252f 1d 44 453
+254c 1 60 453
+FUNC 1c7a 45 0 _SEH_prolog4
+FUNC 1cbf 14 0 _SEH_epilog4
+FUNC 1aeb 18f 0 _except_handler4
+FUNC 2ff3 9b 0 __security_init_cookie
+2ff3 8 97 1455
+2ffb 21 114 1455
+301c 7 116 1455
+3023 3 117 1455
+3026 a 127 1455
+3030 6 132 1455
+3036 8 135 1455
+303e 8 136 1455
+3046 8 137 1455
+304e a 139 1455
+3058 8 144 1455
+3060 4 161 1455
+3064 7 163 1455
+306b 4 166 1455
+306f c 168 1455
+307b 6 172 1455
+3081 b 173 1455
+308c 2 175 1455
+FUNC 1214 f 0 _initp_misc_invarg
+1214 5 64 3583
+1219 8 65 3583
+1221 2 66 3583
+FUNC 4afb 129 0 _call_reportfault
+4afb 16 164 3583
+4b11 9 166 3583
+4b1a 7 167 3583
+4b21 17 170 3583
+4b38 1b 172 3583
+4b53 6 179 3583
+4b59 6 180 3583
+4b5f 6 181 3583
+4b65 6 182 3583
+4b6b 6 183 3583
+4b71 6 184 3583
+4b77 7 185 3583
+4b7e 7 186 3583
+4b85 7 187 3583
+4b8c 7 188 3583
+4b93 7 189 3583
+4b9a 7 190 3583
+4ba1 1 191 3583
+4ba2 6 192 3583
+4ba8 3 198 3583
+4bab 19 199 3583
+4bc4 9 201 3583
+4bcd 9 240 3583
+4bd6 9 241 3583
+4bdf 6 242 3583
+4be5 6 245 3583
+4beb a 248 3583
+4bf5 d 250 3583
+4c02 d 254 3583
+4c0f 7 255 3583
+4c16 e 257 3583
+FUNC 5150 25 0 _invoke_watson
+5150 3 146 3583
+5153 12 155 3583
+5165 f 156 3583
+5174 1 157 3583
+FUNC 3261 2d 0 _invalid_parameter
+3261 5 96 3583
+3266 c 103 3583
+3272 4 104 3583
+3276 1 111 3583
+3277 2 106 3583
+3279 15 110 3583
+FUNC 146f 10 0 _invalid_parameter_noinfo
+146f 0 120 3583
+146f f 121 3583
+147e 1 122 3583
+FUNC 2af4 4a 0 _mtinitlocks
+2af4 4 136 3954
+2af8 7 143 3954
+2aff a 144 3954
+2b09 9 145 3954
+2b12 14 147 3954
+2b26 6 143 3954
+2b2c 3 156 3954
+2b2f 3 157 3954
+2b32 c 150 3954
+FUNC 4d69 57 0 _mtdeletelocks
+4d69 3 187 3954
+4d6c d 193 3954
+4d79 c 195 3954
+4d85 3 199 3954
+4d88 6 205 3954
+4d8e 4 206 3954
+4d92 b 193 3954
+4d9d 6 214 3954
+4da3 c 216 3954
+4daf 3 220 3954
+4db2 b 214 3954
+4dbd 3 223 3954
+FUNC 2add 17 0 _unlock
+2add 5 370 3954
+2ae2 10 374 3954
+2af2 2 375 3954
+FUNC 12b8 c2 0 _mtinitlocknum
+12b8 c 258 3954
+12c4 6 260 3954
+12ca a 268 3954
+12d4 5 269 3954
+12d9 7 270 3954
+12e0 c 271 3954
+12ec e 275 3954
+12fa 4 276 3954
+12fe e 278 3954
+130c b 279 3954
+1317 4 280 3954
+131b 8 283 3954
+1323 3 284 3954
+1326 4 286 3954
+132a 10 287 3954
+133a 7 288 3954
+1341 b 289 3954
+134c 3 290 3954
+134f 2 291 3954
+1351 2 292 3954
+1353 2 295 3954
+1355 7 296 3954
+135c c 299 3954
+1368 3 303 3954
+136b 6 304 3954
+1371 9 300 3954
+FUNC 31f6 33 0 _lock
+31f6 5 332 3954
+31fb 10 337 3954
+320b b 339 3954
+3216 8 340 3954
+321e 9 347 3954
+3227 2 348 3954
+FUNC 2a1e 5f 0 strcpy_s
+2a1e 5 13 2523
+2a23 23 18 2523
+2a46 b 19 2523
+2a51 11 23 2523
+2a62 4 27 2523
+2a66 3 29 2523
+2a69 e 30 2523
+2a77 4 33 2523
+2a7b 2 34 2523
+FUNC 4eba 8b 0 strlen
+4eba 0 54 2796
+4eba 4 63 2796
+4ebe 6 64 2796
+4ec4 2 65 2796
+4ec6 2 69 2796
+4ec8 3 70 2796
+4ecb 2 71 2796
+4ecd 2 72 2796
+4ecf 6 73 2796
+4ed5 2 74 2796
+4ed7 13 76 2796
+4eea 2 81 2796
+4eec 5 82 2796
+4ef1 2 83 2796
+4ef3 3 84 2796
+4ef6 2 85 2796
+4ef8 3 86 2796
+4efb 5 87 2796
+4f00 2 88 2796
+4f02 3 90 2796
+4f05 2 91 2796
+4f07 2 92 2796
+4f09 2 93 2796
+4f0b 2 94 2796
+4f0d 5 95 2796
+4f12 2 96 2796
+4f14 5 97 2796
+4f19 2 98 2796
+4f1b 2 99 2796
+4f1d 3 103 2796
+4f20 4 104 2796
+4f24 2 105 2796
+4f26 1 106 2796
+4f27 3 108 2796
+4f2a 4 109 2796
+4f2e 2 110 2796
+4f30 1 111 2796
+4f31 3 113 2796
+4f34 4 114 2796
+4f38 2 115 2796
+4f3a 1 116 2796
+4f3b 3 118 2796
+4f3e 4 119 2796
+4f42 2 120 2796
+4f44 1 121 2796
+FUNC 2312 94 0 malloc
+2312 6 81 504
+2318 a 85 504
+2322 3d 89 504
+235f 4 94 504
+2363 b 98 504
+236e b 105 504
+2379 2 109 504
+237b 7 100 504
+2382 7 119 504
+2389 6 121 504
+238f 7 111 504
+2396 b 112 504
+23a1 3 113 504
+23a4 2 122 504
+FUNC 43b2 90 0 _local_unwind4
+FUNC 4442 46 0 static void _unwind_handler4()
+FUNC 4488 1c 4 _seh_longjmp_unwind4
+FUNC 44a4 17 0 _EH4_CallFilterFunc
+FUNC 44bb 19 0 _EH4_TransferToHandler
+FUNC 44d4 19 0 _EH4_GlobalUnwind2
+FUNC 44ed 17 8 _EH4_LocalUnwind
+FUNC 2a7d 42 0 _get_errno_from_oserr
+2a7d 5 119 224
+2a82 5 123 224
+2a87 9 124 224
+2a90 6 123 224
+2a96 8 133 224
+2a9e 3 134 224
+2aa1 2 139 224
+2aa3 7 125 224
+2aaa 2 139 224
+2aac 11 135 224
+2abd 2 139 224
+FUNC 3095 13 0 _errno
+3095 0 279 224
+3095 5 280 224
+309a 4 281 224
+309e 5 282 224
+30a3 1 287 224
+30a4 3 284 224
+30a7 1 287 224
+FUNC 31bd 39 0 terminate()
+31bd c 84 4591
+31c9 8 89 4591
+31d1 4 90 4591
+31d5 4 95 4591
+31d9 2 99 4591
+31db 2 100 4591
+31dd 7 101 4591
+31e4 7 106 4591
+31eb 5 114 4591
+31f0 6 115 4591
+FUNC 43a1 11 0 _initp_eh_hooks
+43a1 0 69 4591
+43a1 10 70 4591
+43b1 1 71 4591
+FUNC 215a 1e 0 _initp_misc_winsig
+215a 5 57 2311
+215f 8 58 2311
+2167 5 59 2311
+216c 5 60 2311
+2171 5 61 2311
+2176 2 62 2311
+FUNC 24f8 37 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+24f8 5 629 2311
+24fd a 630 2311
+2507 14 639 2311
+251b e 642 2311
+2529 2 646 2311
+252b 2 651 2311
+252d 2 652 2311
+FUNC 48e3 d 0 __get_sigabrt
+48e3 0 669 2311
+48e3 c 670 2311
+48ef 1 671 2311
+FUNC 518d 1a3 0 raise
+518d c 450 2311
+5199 5 457 2311
+519e 3 458 2311
+51a1 1f 460 2311
+51c0 a 486 2311
+51ca 4 487 2311
+51ce 8 488 2311
+51d6 a 463 2311
+51e0 2 465 2311
+51e2 10 490 2311
+51f2 2 491 2311
+51f4 f 460 2311
+5203 12 498 2311
+5215 a 474 2311
+521f 2 476 2311
+5221 a 468 2311
+522b 2 470 2311
+522d a 479 2311
+5237 7 480 2311
+523e a 500 2311
+5248 2 508 2311
+524a 4 507 2311
+524e 6 508 2311
+5254 5 513 2311
+5259 7 518 2311
+5260 5 525 2311
+5265 7 526 2311
+526c 5 528 2311
+5271 f 539 2311
+5280 6 540 2311
+5286 3 541 2311
+5289 5 547 2311
+528e 6 548 2311
+5294 7 549 2311
+529b 5 557 2311
+52a0 1a 564 2311
+52ba d 567 2311
+52c7 5 564 2311
+52cc 7 570 2311
+52d3 c 573 2311
+52df 5 578 2311
+52e4 8 584 2311
+52ec 2 585 2311
+52ee 6 573 2311
+52f4 6 574 2311
+52fa 9 575 2311
+5303 5 586 2311
+5308 f 593 2311
+5317 6 594 2311
+531d 5 599 2311
+5322 6 600 2311
+5328 2 603 2311
+532a 6 604 2311
+FUNC 254d f 0 _initp_misc_rand_s
+254d 5 58 2186
+2552 8 59 2186
+255a 2 60 2186
+FUNC 37b7 f 0 _initp_misc_purevirt
+37b7 5 179 1627
+37bc 8 180 1627
+37c4 2 181 1627
+FUNC 24e9 f 0 _initp_heap_handler
+24e9 5 31 2820
+24ee 8 32 2820
+24f6 2 33 2820
+FUNC 4644 28 0 _callnewh
+4644 5 131 2820
+4649 c 133 2820
+4655 e 135 2820
+4663 3 138 2820
+4666 2 139 2820
+4668 2 136 2820
+466a 2 139 2820
+FUNC 4c24 b6 0 static * _onexit_nolock( *)
+4c24 8 100 1969
+4c2c f 103 1969
+4c3b f 104 1969
+4c4a 14 108 1969
+4c5e 10 118 1969
+4c6e d 123 1969
+4c7b 13 125 1969
+4c8e 3 130 1969
+4c91 13 132 1969
+4ca4 3 143 1969
+4ca7 f 145 1969
+4cb6 10 152 1969
+4cc6 8 153 1969
+4cce 5 155 1969
+4cd3 5 110 1969
+4cd8 2 156 1969
+FUNC 11e3 31 0 __onexitinit
+11e3 3 201 1969
+11e6 d 204 1969
+11f3 11 205 1969
+1204 4 207 1969
+1208 4 212 1969
+120c 1 217 1969
+120d 3 214 1969
+1210 3 216 1969
+1213 1 217 1969
+FUNC 5114 3c 0 _onexit
+5114 c 81 1969
+5120 5 84 1969
+5125 4 86 1969
+5129 c 87 1969
+5135 c 89 1969
+5141 3 93 1969
+5144 6 94 1969
+514a 6 90 1969
+FUNC 3ec0 17 0 atexit
+3ec0 5 161 1969
+3ec5 10 162 1969
+3ed5 2 163 1969
+FUNC 28a5 23 0 _initp_misc_cfltcvt_tab
+28a5 4 54 2419
+28a9 2 56 2419
+28ab 1a 58 2419
+28c5 3 60 2419
+FUNC 30a8 35 0 _ValidateImageBase
+30a8 5 44 2079
+30ad d 50 2079
+30ba 2 52 2079
+30bc 2 68 2079
+30be 5 55 2079
+30c3 6 56 2079
+30c9 2 58 2079
+30cb 10 62 2079
+30db 2 68 2079
+FUNC 32a9 44 0 _FindPESection
+32a9 5 92 2079
+32ae 8 99 2079
+32b6 18 108 2079
+32ce 10 111 2079
+32de 8 108 2079
+32e6 5 123 2079
+32eb 2 124 2079
+FUNC 5651 bc 0 _IsNonwritableInCurrentImage
+5651 35 149 2079
+5686 7 156 2079
+568d f 164 2079
+569c 2 166 2079
+569e 8 174 2079
+56a6 e 175 2079
+56b4 2 176 2079
+56b6 2 178 2079
+56b8 12 185 2079
+56ca 12 195 2079
+56dc 16 187 2079
+56f2 9 193 2079
+56fb 12 195 2079
+FUNC 4076 16c 0 __crtMessageBoxW
+4076 12 41 1053
+4088 14 49 1053
+409c 4 56 1053
+40a0 c 62 1053
+40ac d 64 1053
+40b9 2 65 1053
+40bb 6 67 1053
+40c1 10 72 1053
+40d1 6 76 1053
+40d7 9 78 1053
+40e0 10 81 1053
+40f0 10 84 1053
+4100 d 88 1053
+410d 8 93 1053
+4115 4 95 1053
+4119 10 97 1053
+4129 1a 110 1053
+4143 3 113 1053
+4146 c 114 1053
+4152 8 116 1053
+415a 1f 121 1053
+4179 7 130 1053
+4180 2 132 1053
+4182 a 134 1053
+418c 3 136 1053
+418f 4 137 1053
+4193 5 139 1053
+4198 e 143 1053
+41a6 3 145 1053
+41a9 4 146 1053
+41ad 8 148 1053
+41b5 8 155 1053
+41bd 4 156 1053
+41c1 10 158 1053
+41d1 2 163 1053
+41d3 f 166 1053
+FUNC 3943 75 0 wcscat_s
+3943 6 13 2468
+3949 22 18 2468
+396b 2 46 2468
+396d e 19 2468
+397b 2 21 2468
+397d 6 23 2468
+3983 3 25 2468
+3986 3 26 2468
+3989 2 29 2468
+398b 2 32 2468
+398d 14 35 2468
+39a1 9 41 2468
+39aa e 42 2468
+FUNC 241c cd 0 wcsncpy_s
+241c 5 13 2578
+2421 16 17 2578
+2437 5 65 2578
+243c 2 66 2578
+243e 1e 24 2578
+245c 4 25 2578
+2460 5 28 2578
+2465 2 29 2578
+2467 e 31 2578
+2475 2 33 2578
+2477 5 35 2578
+247c 16 37 2578
+2492 2 41 2578
+2494 19 45 2578
+24ad 4 48 2578
+24b1 5 50 2578
+24b6 8 54 2578
+24be a 58 2578
+24c8 d 59 2578
+24d5 3 61 2578
+24d8 11 62 2578
+FUNC 328e 1b 0 wcslen
+328e 5 41 2728
+3293 3 42 2728
+3296 b 44 2728
+32a1 6 46 2728
+32a7 2 47 2728
+FUNC 5454 63 0 wcscpy_s
+5454 6 13 2523
+545a 22 18 2523
+547c 2 34 2523
+547e c 19 2523
+548a 16 23 2523
+54a0 9 29 2523
+54a9 e 30 2523
+FUNC 3d3b 3f 0 _set_error_mode
+3d3b 5 43 1181
+3d40 11 46 1181
+3d51 5 54 1181
+3d56 2 61 1181
+3d58 5 50 1181
+3d5d 6 51 1181
+3d63 2 61 1181
+3d65 13 57 1181
+3d78 2 61 1181
+FUNC 28c8 f 0 __security_check_cookie
+28c8 0 52 892
+28c8 6 55 892
+28ce 2 56 892
+28d0 2 57 892
+28d2 5 59 892
+FUNC 2178 45 0 _malloc_crt
+2178 7 39 333
+217f 2 40 333
+2181 b 44 333
+218c c 45 333
+2198 1a 46 333
+21b2 5 47 333
+21b7 4 50 333
+21bb 2 51 333
+FUNC 210e 4c 0 _calloc_crt
+210e 7 54 333
+2115 2 55 333
+2117 12 61 333
+2129 c 62 333
+2135 1a 63 333
+214f 5 64 333
+2154 4 67 333
+2158 2 68 333
+FUNC 4e39 4e 0 _realloc_crt
+4e39 7 71 333
+4e40 2 72 333
+4e42 f 76 333
+4e51 11 77 333
+4e62 1a 78 333
+4e7c 5 79 333
+4e81 4 82 333
+4e85 2 83 333
+FUNC 2bc5 2f 0 static int CPtoLCID(int)
+2bc5 0 329 3326
+2bc5 14 330 3326
+2bd9 2 345 3326
+2bdb 1 346 3326
+2bdc 5 342 3326
+2be1 1 346 3326
+2be2 5 339 3326
+2be7 1 346 3326
+2be8 5 336 3326
+2bed 1 346 3326
+2bee 5 333 3326
+2bf3 1 346 3326
+FUNC 1f3c 64 0 static void setSBCS(struct threadmbcinfostruct *)
+1f3c 6 363 3326
+1f42 11 368 3326
+1f53 1b 379 3326
+1f6e 12 381 3326
+1f80 9 382 3326
+1f89 b 384 3326
+1f94 9 385 3326
+1f9d 3 386 3326
+FUNC 466c 190 0 static void setSBUpLow(struct threadmbcinfostruct *)
+466c 17 402 3326
+4683 10 412 3326
+4693 f 415 3326
+46a2 c 416 3326
+46ae 11 420 3326
+46bf 6 419 3326
+46c5 20 421 3326
+46e5 a 420 3326
+46ef 20 427 3326
+470f 23 432 3326
+4732 25 437 3326
+4757 2 442 3326
+4759 d 443 3326
+4766 5 445 3326
+476b 9 446 3326
+4774 5 448 3326
+4779 5 450 3326
+477e e 451 3326
+478c 2 453 3326
+478e 7 454 3326
+4795 5 442 3326
+479a 8 456 3326
+47a2 12 472 3326
+47b4 17 461 3326
+47cb 5 463 3326
+47d0 5 464 3326
+47d5 5 466 3326
+47da 5 468 3326
+47df 5 469 3326
+47e4 2 471 3326
+47e6 3 472 3326
+47e9 5 460 3326
+47ee e 474 3326
+FUNC 3d83 a4 0 __updatetmbcinfo
+3d83 c 495 3326
+3d8f 7 498 3326
+3d96 10 499 3326
+3da6 3 532 3326
+3da9 4 535 3326
+3dad 8 537 3326
+3db5 2 540 3326
+3db7 6 541 3326
+3dbd 8 500 3326
+3dc5 4 502 3326
+3dc9 e 505 3326
+3dd7 17 511 3326
+3dee 7 516 3326
+3df5 11 523 3326
+3e06 7 524 3326
+3e0d 11 527 3326
+3e1e 9 529 3326
+FUNC 48f9 87 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+48f9 5 240 111
+48fe e 241 111
+490c 8 243 111
+4914 5 244 111
+4919 6 245 111
+491f 1c 247 111
+493b 21 248 111
+495c 9 249 111
+4965 4 251 111
+4969 4 252 111
+496d 2 255 111
+496f a 257 111
+4979 7 259 111
+FUNC 10e5 7c 0 static int getSystemCP(int)
+10e5 9 282 3326
+10ee b 284 3326
+10f9 6 285 3326
+10ff 5 289 3326
+1104 a 291 3326
+110e 14 292 3326
+1122 5 295 3326
+1127 a 297 3326
+1131 8 298 3326
+1139 5 302 3326
+113e 12 305 3326
+1150 f 308 3326
+115f 2 309 3326
+FUNC 3b52 1e9 0 _setmbcp_nolock
+3b52 17 684 3326
+3b69 b 691 3326
+3b74 9 694 3326
+3b7d 7 696 3326
+3b84 7 697 3326
+3b8b 3 701 3326
+3b8e 2 703 3326
+3b90 c 706 3326
+3b9c d 703 3326
+3ba9 2a 741 3326
+3bd3 13 749 3326
+3be6 f 754 3326
+3bf5 15 759 3326
+3c0a 17 762 3326
+3c21 c 764 3326
+3c2d f 710 3326
+3c3c 15 713 3326
+3c51 9 718 3326
+3c5a 8 721 3326
+3c62 12 722 3326
+3c74 4 721 3326
+3c78 b 718 3326
+3c83 12 713 3326
+3c95 20 729 3326
+3cb5 f 731 3326
+3cc4 7 734 3326
+3ccb 5 735 3326
+3cd0 6 765 3326
+3cd6 4 764 3326
+3cda d 762 3326
+3ce7 8 769 3326
+3cef 7 770 3326
+3cf6 b 773 3326
+3d01 3 776 3326
+3d04 2 778 3326
+3d06 3 780 3326
+3d09 12 783 3326
+3d1b 2 787 3326
+3d1d 6 792 3326
+3d23 6 795 3326
+3d29 3 744 3326
+3d2c f 800 3326
+FUNC 39b8 19a 0 _setmbcp
+39b8 c 572 3326
+39c4 4 573 3326
+39c8 a 577 3326
+39d2 5 579 3326
+39d7 3 580 3326
+39da b 582 3326
+39e5 9 584 3326
+39ee d 590 3326
+39fb 8 592 3326
+3a03 c 594 3326
+3a0f 3 605 3326
+3a12 16 610 3326
+3a28 1a 612 3326
+3a42 7 613 3326
+3a49 3 617 3326
+3a4c 9 618 3326
+3a55 17 620 3326
+3a6c 8 622 3326
+3a74 4 623 3326
+3a78 8 628 3326
+3a80 8 629 3326
+3a88 8 630 3326
+3a90 a 631 3326
+3a9a d 632 3326
+3aa7 3 631 3326
+3aaa c 633 3326
+3ab6 a 634 3326
+3ac0 3 633 3326
+3ac3 c 635 3326
+3acf d 636 3326
+3adc 3 635 3326
+3adf 1c 638 3326
+3afb 7 639 3326
+3b02 6 643 3326
+3b08 3 644 3326
+3b0b e 646 3326
+3b19 9 648 3326
+3b22 2 651 3326
+3b24 5 652 3326
+3b29 8 658 3326
+3b31 7 659 3326
+3b38 b 660 3326
+3b43 2 666 3326
+3b45 4 671 3326
+3b49 3 680 3326
+3b4c 6 681 3326
+FUNC 1cd3 1e 0 __initmbctable
+1cd3 0 841 3326
+1cd3 9 851 3326
+1cdc 8 852 3326
+1ce4 a 853 3326
+1cee 2 858 3326
+1cf0 1 859 3326
+FUNC 2638 53 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+2638 8 213 3271
+2640 b 214 3271
+264b 4 219 3271
+264f 3a 222 3271
+2689 2 223 3271
+FUNC 1516 18 0 _ismbblead
+1516 5 171 3271
+151b 11 172 3271
+152c 2 173 3271
+FUNC 4cda 8f 0 __addlocaleref
+4cda 7 36 1913
+4ce1 d 39 1913
+4cee a 41 1913
+4cf8 3 42 1913
+4cfb a 44 1913
+4d05 3 45 1913
+4d08 a 47 1913
+4d12 3 48 1913
+4d15 a 50 1913
+4d1f 3 51 1913
+4d22 a 53 1913
+4d2c f 55 1913
+4d3b 3 56 1913
+4d3e d 59 1913
+4d4b 3 60 1913
+4d4e 8 53 1913
+4d56 11 63 1913
+4d67 2 64 1913
+FUNC 3e27 99 0 __removelocaleref
+3e27 6 74 1913
+3e2d b 77 1913
+3e38 b 79 1913
+3e43 a 81 1913
+3e4d 3 82 1913
+3e50 a 84 1913
+3e5a 3 85 1913
+3e5d a 87 1913
+3e67 3 88 1913
+3e6a a 90 1913
+3e74 3 91 1913
+3e77 a 93 1913
+3e81 f 95 1913
+3e90 3 96 1913
+3e93 d 99 1913
+3ea0 3 100 1913
+3ea3 8 93 1913
+3eab 10 103 1913
+3ebb 3 106 1913
+3ebe 2 107 1913
+FUNC 178e 14b 0 __freetlocinfo
+178e 7 129 1913
+1795 25 137 1913
+17ba e 140 1913
+17c8 6 142 1913
+17ce d 143 1913
+17db e 147 1913
+17e9 6 149 1913
+17ef d 150 1913
+17fc b 153 1913
+1807 d 154 1913
+1814 e 161 1913
+1822 11 163 1913
+1833 13 164 1913
+1846 e 165 1913
+1854 e 166 1913
+1862 15 173 1913
+1877 6 175 1913
+187d d 176 1913
+188a a 179 1913
+1894 13 182 1913
+18a7 7 184 1913
+18ae 10 192 1913
+18be 7 194 1913
+18c5 8 179 1913
+18cd a 201 1913
+18d7 2 202 1913
+FUNC 3170 4d 0 _updatetlocinfoEx_nolock
+3170 6 216 1913
+3176 e 219 1913
+3184 3 222 1913
+3187 4 223 1913
+318b 9 230 1913
+3194 4 236 1913
+3198 6 238 1913
+319e e 248 1913
+31ac 7 249 1913
+31b3 5 253 1913
+31b8 3 220 1913
+31bb 2 254 1913
+FUNC 4dc0 79 0 __updatetlocinfo
+4dc0 c 281 1913
+4dcc 7 283 1913
+4dd3 10 285 1913
+4de3 8 297 1913
+4deb 4 300 1913
+4def 8 302 1913
+4df7 2 305 1913
+4df9 6 306 1913
+4dff 8 286 1913
+4e07 4 288 1913
+4e0b 14 290 1913
+4e1f e 292 1913
+4e2d 8 294 1913
+4e35 4 295 1913
+FUNC 344e 8 0 _crt_debugger_hook
+344e 0 62 1145
+344e 7 65 1145
+3455 1 66 1145
+FUNC 208a 7a 0 memset
+208a 0 59 2789
+208a 4 68 2789
+208e 4 69 2789
+2092 2 71 2789
+2094 2 72 2789
+2096 2 74 2789
+2098 4 75 2789
+209c 2 78 2789
+209e 2 79 2789
+20a0 6 80 2789
+20a6 2 81 2789
+20a8 7 82 2789
+20af 2 83 2789
+20b1 5 85 2789
+20b6 1 91 2789
+20b7 2 92 2789
+20b9 3 94 2789
+20bc 2 95 2789
+20be 2 97 2789
+20c0 3 98 2789
+20c3 2 99 2789
+20c5 2 101 2789
+20c7 2 103 2789
+20c9 3 104 2789
+20cc 3 105 2789
+20cf 2 106 2789
+20d1 2 110 2789
+20d3 3 111 2789
+20d6 2 113 2789
+20d8 2 115 2789
+20da 3 117 2789
+20dd 2 119 2789
+20df 2 122 2789
+20e1 3 123 2789
+20e4 3 124 2789
+20e7 2 125 2789
+20e9 2 127 2789
+20eb 2 129 2789
+20ed 2 130 2789
+20ef 2 134 2789
+20f1 3 135 2789
+20f4 3 137 2789
+20f7 2 138 2789
+20f9 4 142 2789
+20fd 1 143 2789
+20fe 1 145 2789
+20ff 4 148 2789
+2103 1 150 2789
+FUNC 1223 95 0 _aulldvrm
+1223 0 45 2806
+1223 1 48 2806
+1224 4 80 2806
+1228 2 81 2806
+122a 2 82 2806
+122c 4 83 2806
+1230 4 84 2806
+1234 2 85 2806
+1236 2 86 2806
+1238 2 87 2806
+123a 4 88 2806
+123e 2 89 2806
+1240 2 90 2806
+1242 2 95 2806
+1244 4 96 2806
+1248 2 97 2806
+124a 2 98 2806
+124c 4 99 2806
+1250 2 100 2806
+1252 2 101 2806
+1254 2 108 2806
+1256 4 109 2806
+125a 4 110 2806
+125e 4 111 2806
+1262 2 113 2806
+1264 2 114 2806
+1266 2 115 2806
+1268 2 116 2806
+126a 2 117 2806
+126c 2 118 2806
+126e 2 119 2806
+1270 2 120 2806
+1272 4 129 2806
+1276 2 130 2806
+1278 4 131 2806
+127c 2 132 2806
+127e 2 133 2806
+1280 2 134 2806
+1282 4 142 2806
+1286 2 143 2806
+1288 2 144 2806
+128a 4 145 2806
+128e 2 146 2806
+1290 1 148 2806
+1291 4 149 2806
+1295 4 150 2806
+1299 2 152 2806
+129b 4 161 2806
+129f 4 162 2806
+12a3 2 163 2806
+12a5 2 164 2806
+12a7 3 165 2806
+12aa 2 170 2806
+12ac 2 171 2806
+12ae 2 172 2806
+12b0 2 173 2806
+12b2 2 174 2806
+12b4 1 180 2806
+12b5 3 182 2806
+FUNC 28d7 20 0 _global_unwind2
+FUNC 28f7 45 0 static void __unwind_handler()
+FUNC 293c 84 0 _local_unwind2
+FUNC 29c0 23 0 _abnormal_termination
+FUNC 29e3 9 0 _NLG_Notify1
+FUNC 29ec 1f 0 _NLG_Notify
+PUBLIC m 2a03 0 _NLG_Dispatch
+FUNC 2a0b 3 0 _NLG_Call
+PUBLIC 2a0d 0 _NLG_Return2
+FUNC 2862 33 0 abort
+2862 0 54 1011
+2862 5 71 1011
+2867 4 72 1011
+286b 8 74 1011
+2873 9 81 1011
+287c 11 83 1011
+288d 8 92 1011
+FUNC 3456 361 0 memcpy
+3456 3 101 2787
+3459 1 113 2787
+345a 1 114 2787
+345b 3 116 2787
+345e 3 117 2787
+3461 3 119 2787
+3464 2 129 2787
+3466 2 131 2787
+3468 2 132 2787
+346a 2 134 2787
+346c 2 135 2787
+346e 2 137 2787
+3470 6 138 2787
+3476 6 147 2787
+347c 2 148 2787
+347e 7 150 2787
+3485 2 151 2787
+3487 1 153 2787
+3488 1 154 2787
+3489 3 155 2787
+348c 3 156 2787
+348f 2 157 2787
+3491 1 158 2787
+3492 1 159 2787
+3493 2 160 2787
+3495 5 163 2787
+349a 6 176 2787
+34a0 2 177 2787
+34a2 3 179 2787
+34a5 3 180 2787
+34a8 3 182 2787
+34ab 2 183 2787
+34ad 2 185 2787
+34af 7 187 2787
+34b6 2 205 2787
+34b8 5 206 2787
+34bd 3 208 2787
+34c0 2 209 2787
+34c2 3 211 2787
+34c5 2 212 2787
+34c7 7 214 2787
+34ce 8 218 2787
+34d6 14 222 2787
+34ea 2 229 2787
+34ec 2 230 2787
+34ee 2 232 2787
+34f0 3 233 2787
+34f3 3 235 2787
+34f6 3 236 2787
+34f9 3 238 2787
+34fc 3 239 2787
+34ff 3 241 2787
+3502 3 242 2787
+3505 3 244 2787
+3508 2 245 2787
+350a 2 247 2787
+350c a 249 2787
+3516 2 253 2787
+3518 2 254 2787
+351a 2 256 2787
+351c 3 257 2787
+351f 3 259 2787
+3522 3 260 2787
+3525 3 262 2787
+3528 3 263 2787
+352b 3 265 2787
+352e 2 266 2787
+3530 2 268 2787
+3532 8 270 2787
+353a 2 274 2787
+353c 2 275 2787
+353e 2 277 2787
+3540 3 278 2787
+3543 3 280 2787
+3546 3 281 2787
+3549 3 283 2787
+354c 2 284 2787
+354e 2 286 2787
+3550 2a 288 2787
+357a 4 295 2787
+357e 4 297 2787
+3582 4 299 2787
+3586 4 301 2787
+358a 4 303 2787
+358e 4 305 2787
+3592 4 307 2787
+3596 4 309 2787
+359a 4 311 2787
+359e 4 313 2787
+35a2 4 315 2787
+35a6 4 317 2787
+35aa 4 319 2787
+35ae 4 321 2787
+35b2 7 323 2787
+35b9 2 325 2787
+35bb 2 326 2787
+35bd 19 328 2787
+35d6 3 337 2787
+35d9 1 338 2787
+35da 1 339 2787
+35db 3 341 2787
+35de 2 345 2787
+35e0 2 347 2787
+35e2 3 348 2787
+35e5 1 349 2787
+35e6 1 350 2787
+35e7 3 351 2787
+35ea 2 355 2787
+35ec 2 357 2787
+35ee 3 358 2787
+35f1 3 359 2787
+35f4 3 360 2787
+35f7 1 361 2787
+35f8 1 362 2787
+35f9 5 363 2787
+35fe 2 367 2787
+3600 2 369 2787
+3602 3 370 2787
+3605 3 371 2787
+3608 3 372 2787
+360b 3 373 2787
+360e 3 374 2787
+3611 1 375 2787
+3612 1 376 2787
+3613 3 377 2787
+3616 4 388 2787
+361a 4 389 2787
+361e 6 394 2787
+3624 2 395 2787
+3626 3 397 2787
+3629 3 398 2787
+362c 3 400 2787
+362f 2 401 2787
+3631 1 403 2787
+3632 2 404 2787
+3634 1 405 2787
+3635 9 407 2787
+363e 2 411 2787
+3640 a 414 2787
+364a 2 419 2787
+364c 5 420 2787
+3651 3 422 2787
+3654 2 423 2787
+3656 3 425 2787
+3659 2 426 2787
+365b 7 428 2787
+3662 14 432 2787
+3676 3 439 2787
+3679 2 440 2787
+367b 3 442 2787
+367e 3 443 2787
+3681 3 445 2787
+3684 3 446 2787
+3687 3 448 2787
+368a 2 449 2787
+368c 1 451 2787
+368d 2 452 2787
+368f 1 453 2787
+3690 a 455 2787
+369a 3 459 2787
+369d 2 460 2787
+369f 3 462 2787
+36a2 3 463 2787
+36a5 3 465 2787
+36a8 3 466 2787
+36ab 3 468 2787
+36ae 3 469 2787
+36b1 3 471 2787
+36b4 2 472 2787
+36b6 1 474 2787
+36b7 2 475 2787
+36b9 1 476 2787
+36ba 8 478 2787
+36c2 3 482 2787
+36c5 2 483 2787
+36c7 3 485 2787
+36ca 3 486 2787
+36cd 3 488 2787
+36d0 3 489 2787
+36d3 3 491 2787
+36d6 3 492 2787
+36d9 3 494 2787
+36dc 3 495 2787
+36df 3 497 2787
+36e2 6 498 2787
+36e8 1 500 2787
+36e9 2 501 2787
+36eb 1 502 2787
+36ec 2a 504 2787
+3716 4 513 2787
+371a 4 515 2787
+371e 4 517 2787
+3722 4 519 2787
+3726 4 521 2787
+372a 4 523 2787
+372e 4 525 2787
+3732 4 527 2787
+3736 4 529 2787
+373a 4 531 2787
+373e 4 533 2787
+3742 4 535 2787
+3746 4 537 2787
+374a 4 539 2787
+374e 7 541 2787
+3755 2 543 2787
+3757 2 544 2787
+3759 19 546 2787
+3772 3 555 2787
+3775 1 557 2787
+3776 1 558 2787
+3777 3 559 2787
+377a 3 563 2787
+377d 3 565 2787
+3780 3 566 2787
+3783 1 567 2787
+3784 1 568 2787
+3785 5 569 2787
+378a 3 573 2787
+378d 3 575 2787
+3790 3 576 2787
+3793 3 577 2787
+3796 3 578 2787
+3799 1 579 2787
+379a 1 580 2787
+379b 3 581 2787
+379e 3 585 2787
+37a1 3 587 2787
+37a4 3 588 2787
+37a7 3 589 2787
+37aa 3 590 2787
+37ad 3 591 2787
+37b0 3 592 2787
+37b3 1 593 2787
+37b4 1 594 2787
+37b5 2 595 2787
+FUNC 206a 20 0 _freea
+206a 5 235 281
+206f 7 237 281
+2076 3 239 281
+2079 8 241 281
+2081 7 243 281
+2088 2 252 281
+FUNC 4e87 33 0 _msize
+4e87 5 39 561
+4e8c 19 43 561
+4ea5 2 50 561
+4ea7 11 46 561
+4eb8 2 50 561
+FUNC 1466 9 0 _fptrap
+1466 0 46 4123
+1466 8 47 4123
+146e 1 48 4123
+FUNC 1672 106 0 __report_gsfailure
+1672 b 140 1392
+167d 5 170 1392
+1682 6 171 1392
+1688 6 172 1392
+168e 6 173 1392
+1694 6 174 1392
+169a 6 175 1392
+16a0 7 176 1392
+16a7 7 177 1392
+16ae 7 178 1392
+16b5 7 179 1392
+16bc 7 180 1392
+16c3 7 181 1392
+16ca 1 182 1392
+16cb 6 183 1392
+16d1 3 190 1392
+16d4 5 191 1392
+16d9 3 192 1392
+16dc 5 193 1392
+16e1 3 194 1392
+16e4 5 195 1392
+16e9 6 201 1392
+16ef a 204 1392
+16f9 a 206 1392
+1703 a 285 1392
+170d a 286 1392
+1717 b 293 1392
+1722 b 294 1392
+172d b 297 1392
+1738 8 298 1392
+1740 8 302 1392
+1748 b 304 1392
+1753 9 313 1392
+175c 8 315 1392
+1764 12 319 1392
+1776 2 320 1392
+FUNC 1161 82 0 _calloc_impl
+1161 5 21 291
+1166 7 26 291
+116d 19 28 291
+1186 2 69 291
+1188 7 30 291
+118f 4 34 291
+1193 1 35 291
+1194 2 39 291
+1196 5 41 291
+119b f 44 291
+11aa d 47 291
+11b7 b 59 291
+11c2 7 61 291
+11c9 6 62 291
+11cf 4 63 291
+11d3 7 52 291
+11da 7 53 291
+11e1 2 69 291
+FUNC 5067 ad 0 realloc
+5067 5 62 618
+506c 6 67 618
+5072 9 68 618
+507b 3 117 618
+507e 7 71 618
+5085 9 73 618
+508e 5 74 618
+5093 2 109 618
+5095 4 83 618
+5099 1 84 618
+509a 14 85 618
+50ae c 94 618
+50ba b 109 618
+50c5 5 81 618
+50ca 7 89 618
+50d1 b 90 618
+50dc 4 91 618
+50e0 2 117 618
+50e2 16 111 618
+50f8 2 112 618
+50fa 16 103 618
+5110 4 105 618
+FUNC 1904 1e7 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+1904 12 96 3447
+1916 c 101 3447
+1922 17 102 3447
+1939 4 106 3447
+193d 1 107 3447
+193e 3 109 3447
+1941 3 113 3447
+1944 5 133 3447
+1949 b 134 3447
+1954 2c 145 3447
+1980 7 146 3447
+1987 48 149 3447
+19cf 3 150 3447
+19d2 2 151 3447
+19d4 19 160 3447
+19ed 1f 169 3447
+1a0c a 172 3447
+1a16 b 175 3447
+1a21 9 177 3447
+1a2a 10 186 3447
+1a3a 5 190 3447
+1a3f 4b 196 3447
+1a8a 4 197 3447
+1a8e 16 207 3447
+1aa4 9 220 3447
+1aad 2 223 3447
+1aaf 17 233 3447
+1ac6 7 240 3447
+1acd 8 242 3447
+1ad5 4 244 3447
+1ad9 12 245 3447
+FUNC 22a3 46 0 __crtLCMapStringA
+22a3 8 258 3447
+22ab b 259 3447
+22b6 31 271 3447
+22e7 2 272 3447
+FUNC 47fc e7 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+47fc 12 63 3507
+480e 7 67 3507
+4815 5 83 3507
+481a b 84 3507
+4825 29 95 3507
+484e 4 96 3507
+4852 3e 99 3507
+4890 2 100 3507
+4892 2 101 3507
+4894 f 103 3507
+48a3 13 111 3507
+48b6 11 116 3507
+48c7 6 118 3507
+48cd 4 120 3507
+48d1 12 121 3507
+FUNC 152e 40 0 __crtGetStringTypeA
+152e 8 133 3507
+1536 b 134 3507
+1541 2b 145 3507
+156c 2 146 3507
+FUNC 2bf4 377 0 __free_lc_time
+2bf4 6 228 1800
+2bfa b 229 1800
+2c05 8 232 1800
+2c0d 8 233 1800
+2c15 8 234 1800
+2c1d 8 235 1800
+2c25 8 236 1800
+2c2d 8 237 1800
+2c35 7 238 1800
+2c3c 8 240 1800
+2c44 8 241 1800
+2c4c 8 242 1800
+2c54 8 243 1800
+2c5c 8 244 1800
+2c64 8 245 1800
+2c6c 8 246 1800
+2c74 8 248 1800
+2c7c b 249 1800
+2c87 8 250 1800
+2c8f 8 251 1800
+2c97 8 252 1800
+2c9f 8 253 1800
+2ca7 8 254 1800
+2caf 8 255 1800
+2cb7 8 256 1800
+2cbf 8 257 1800
+2cc7 8 258 1800
+2ccf 8 259 1800
+2cd7 8 261 1800
+2cdf 8 262 1800
+2ce7 8 263 1800
+2cef 8 264 1800
+2cf7 8 265 1800
+2cff b 266 1800
+2d0a b 267 1800
+2d15 b 268 1800
+2d20 b 269 1800
+2d2b b 270 1800
+2d36 b 271 1800
+2d41 b 272 1800
+2d4c b 274 1800
+2d57 b 275 1800
+2d62 b 277 1800
+2d6d b 278 1800
+2d78 b 279 1800
+2d83 b 282 1800
+2d8e b 283 1800
+2d99 b 284 1800
+2da4 b 285 1800
+2daf e 286 1800
+2dbd b 287 1800
+2dc8 b 288 1800
+2dd3 b 290 1800
+2dde b 291 1800
+2de9 b 292 1800
+2df4 b 293 1800
+2dff b 294 1800
+2e0a b 295 1800
+2e15 b 296 1800
+2e20 b 298 1800
+2e2b b 299 1800
+2e36 b 300 1800
+2e41 b 301 1800
+2e4c b 302 1800
+2e57 b 303 1800
+2e62 e 304 1800
+2e70 b 305 1800
+2e7b b 306 1800
+2e86 b 307 1800
+2e91 b 308 1800
+2e9c b 309 1800
+2ea7 b 311 1800
+2eb2 b 312 1800
+2ebd b 313 1800
+2ec8 b 314 1800
+2ed3 b 315 1800
+2ede b 316 1800
+2ee9 b 317 1800
+2ef4 b 318 1800
+2eff b 319 1800
+2f0a b 320 1800
+2f15 e 321 1800
+2f23 b 322 1800
+2f2e b 324 1800
+2f39 b 325 1800
+2f44 b 327 1800
+2f4f b 328 1800
+2f5a f 329 1800
+2f69 2 332 1800
+FUNC 30f1 69 0 __free_lconv_num
+30f1 6 218 1742
+30f7 7 219 1742
+30fe a 222 1742
+3108 7 223 1742
+310f b 225 1742
+311a 7 226 1742
+3121 b 228 1742
+312c 7 229 1742
+3133 b 231 1742
+313e 7 232 1742
+3145 b 234 1742
+3150 8 235 1742
+3158 2 236 1742
+FUNC 4f45 fe 0 __free_lconv_mon
+4f45 6 270 1685
+4f4b b 271 1685
+4f56 b 274 1685
+4f61 7 275 1685
+4f68 b 277 1685
+4f73 7 278 1685
+4f7a b 280 1685
+4f85 7 281 1685
+4f8c b 283 1685
+4f97 7 284 1685
+4f9e b 286 1685
+4fa9 7 287 1685
+4fb0 b 289 1685
+4fbb 7 290 1685
+4fc2 b 292 1685
+4fcd 7 293 1685
+4fd4 b 295 1685
+4fdf 7 296 1685
+4fe6 b 298 1685
+4ff1 7 299 1685
+4ff8 b 301 1685
+5003 7 302 1685
+500a b 304 1685
+5015 7 305 1685
+501c b 307 1685
+5027 7 308 1685
+502e b 310 1685
+5039 8 311 1685
+5041 2 312 1685
+FUNC 1000 ba 0 _VEC_memzero
+FUNC 2a0e 10 0 __sse2_available_init
+2a0e 0 30 4315
+2a0e d 31 4315
+2a1b 2 32 4315
+2a1d 1 33 4315
+FUNC 3840 103 0 _VEC_memcpy
+FUNC 2b3e 2c 0 _alloca_probe_16
+2b3e 0 44 4274
+2b3e 1 46 4274
+2b3f 4 47 4274
+2b43 2 48 4274
+2b45 3 49 4274
+2b48 2 50 4274
+2b4a 2 51 4274
+2b4c 2 52 4274
+2b4e 1 53 4274
+2b4f 5 54 4274
+2b54 1 59 4274
+2b55 4 60 4274
+2b59 2 61 4274
+2b5b 3 62 4274
+2b5e 2 63 4274
+2b60 2 64 4274
+2b62 2 65 4274
+2b64 1 66 4274
+2b65 5 67 4274
+PUBLIC 2b54 0 _alloca_probe_8
+FUNC 23a6 34 0 _allmul
+23a6 0 47 2803
+23a6 4 63 2803
+23aa 4 64 2803
+23ae 2 65 2803
+23b0 4 66 2803
+23b4 2 67 2803
+23b6 4 69 2803
+23ba 2 70 2803
+23bc 3 72 2803
+23bf 1 75 2803
+23c0 2 83 2803
+23c2 2 84 2803
+23c4 4 86 2803
+23c8 4 87 2803
+23cc 2 88 2803
+23ce 4 90 2803
+23d2 2 91 2803
+23d4 2 92 2803
+23d6 1 94 2803
+23d7 3 96 2803
+FUNC 10ba 2b 0 _chkstk
+10ba 0 65 4276
+10ba 1 69 4276
+10bb 4 73 4276
+10bf 2 74 4276
+10c1 2 79 4276
+10c3 2 80 4276
+10c5 2 81 4276
+10c7 2 83 4276
+10c9 5 84 4276
+10ce 2 87 4276
+10d0 2 88 4276
+10d2 2 89 4276
+10d4 1 90 4276
+10d5 1 91 4276
+10d6 2 92 4276
+10d8 3 93 4276
+10db 1 94 4276
+10dc 5 98 4276
+10e1 2 99 4276
+10e3 2 100 4276
+FUNC 37c6 46 0 strcspn
+37c6 4 191 2794
+37ca 2 198 2794
+37cc 1 199 2794
+37cd 1 200 2794
+37ce 1 201 2794
+37cf 1 202 2794
+37d0 1 203 2794
+37d1 1 204 2794
+37d2 1 205 2794
+37d3 1 206 2794
+37d4 6 212 2794
+37da 2 216 2794
+37dc 2 217 2794
+37de 2 218 2794
+37e0 3 219 2794
+37e3 4 220 2794
+37e7 2 221 2794
+37e9 3 227 2794
+37ec 6 229 2794
+37f2 3 234 2794
+37f5 2 236 2794
+37f7 2 237 2794
+37f9 2 238 2794
+37fb 3 239 2794
+37fe 4 240 2794
+3802 2 245 2794
+3804 2 255 2794
+3806 3 257 2794
+3809 3 259 2794
+FUNC 1577 40 0 strpbrk
+1577 4 191 2794
+157b 2 198 2794
+157d 1 199 2794
+157e 1 200 2794
+157f 1 201 2794
+1580 1 202 2794
+1581 1 203 2794
+1582 1 204 2794
+1583 1 205 2794
+1584 1 206 2794
+1585 6 212 2794
+158b 2 216 2794
+158d 2 217 2794
+158f 2 218 2794
+1591 3 219 2794
+1594 4 220 2794
+1598 2 221 2794
+159a 5 227 2794
+159f 2 236 2794
+15a1 2 237 2794
+15a3 2 238 2794
+15a5 3 239 2794
+15a8 4 240 2794
+15ac 2 247 2794
+15ae 3 248 2794
+15b1 3 257 2794
+15b4 3 259 2794
+FUNC 1fd3 61 0 __ascii_strnicmp
+1fd3 6 69 2798
+1fd9 3 75 2798
+1fdc 2 76 2798
+1fde 2 77 2798
+1fe0 3 79 2798
+1fe3 3 80 2798
+1fe6 2 82 2798
+1fe8 2 83 2798
+1fea 5 84 2798
+1fef 2 89 2798
+1ff1 2 91 2798
+1ff3 2 93 2798
+1ff5 2 95 2798
+1ff7 2 97 2798
+1ff9 2 98 2798
+1ffb 3 100 2798
+1ffe 3 101 2798
+2001 2 103 2798
+2003 2 104 2798
+2005 2 106 2798
+2007 2 107 2798
+2009 2 109 2798
+200b 2 112 2798
+200d 2 113 2798
+200f 2 115 2798
+2011 2 116 2798
+2013 2 118 2798
+2015 2 121 2798
+2017 2 122 2798
+2019 3 124 2798
+201c 2 125 2798
+201e 2 128 2798
+2020 2 129 2798
+2022 2 130 2798
+2024 5 133 2798
+2029 2 134 2798
+202b 2 135 2798
+202d 2 138 2798
+202f 5 140 2798
+PUBLIC 1cf1 10 RtlUnwind
+STACK WIN 4 41e2 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4242 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b6a 21 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 30dd 14 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21f6 16 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 22e9 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2895 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 308e 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 13a0 2c 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 205a 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1445 21 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 144b 17 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2307 b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3238 29 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 32ed 161 c 0 0 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3410 14 0 0 0 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2104 a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5330 70 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 5397 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2b8b 3a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bac 17 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 23da 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 283a e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 18d9 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5175 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 48f0 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 406d 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1fa0 33 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1fa3 2f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5043 24 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5049 1c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 147f 97 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14c1 34 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 14c2 32 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4504 140 c 0 c 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 462f e 0 0 c 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 315a 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1778 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3229 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 405e f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2abf 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 424c 26 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 268b 1af 1b 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 26a1 192 5 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 26a2 18e 4 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 26a6 189 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 21bd 39 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3ed7 14a 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3edd 142 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3ef5 129 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3f46 d4 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 255c dc 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 256b a8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2572 a0 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 25b4 5d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 54b7 19a d 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 54c1 185 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 54c4 181 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 15b7 bb d 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15c0 b0 4 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 15c3 ac 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 15c4 aa 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 220c 97 a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2215 8c 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2216 8a 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 223e 61 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 1cf7 245 9 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d00 235 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 1d71 1c3 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 1d72 1c1 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 137a 26 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 137d 22 b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1388 16 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2034 26 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2037 22 b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2042 16 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d7a 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 156e 9 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 380c 34 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 380f 30 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4021 3d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 53a0 b4 c 0 8 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 543c e 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 544b 8 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 13cc 79 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 13cf 75 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 13d0 71 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2848 1a 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 284b 16 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 4272 12f c 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 4389 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4395 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4980 17b 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4983 177 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 499e 15b 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 252f 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1aeb 18f 17 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1af4 c9 e 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 1af8 c4 a 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 1b02 b9 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2ff3 9b 17 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3009 83 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 300a 81 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 3026 64 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 1214 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4afb 129 1a 0 c 8 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 812 - ^ = $24 $T0 816 - ^ =
+STACK WIN 4 5150 25 3 0 14 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5153 21 0 0 14 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3261 2d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 146f 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2af4 4a 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2af7 3a 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2af8 38 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4d69 57 a 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4d6c 53 7 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d73 4b 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d79 2a 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2add 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 12b8 c2 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 1371 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 31f6 33 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31ff 28 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2a1e 5f a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2a27 54 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2a28 52 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2312 94 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2318 8c 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2321 6c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2322 6a 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 2a7d 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3095 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 31bd 39 c 0 0 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 31dd 4 0 0 0 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 43a1 11 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 215a 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24f8 37 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2507 1b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 48e3 d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 518d 1a3 c 0 4 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 52ee 14 0 0 4 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 254d f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37b7 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 24e9 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4644 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c24 b6 f 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c2b ad 8 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 4c2c ab 7 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4c33 a3 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 11e3 31 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 11e6 2d 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 5114 3c c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 514a 5 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3ec0 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28a5 23 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 28a8 1f 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 28a9 1d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 30a8 35 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 32a9 44 1a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 32bb 30 8 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 32bc 2e 7 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 32c3 26 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5651 bc 35 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 56dc 13 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4076 16c 1e 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 408c 14f 8 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 4093 145 1 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 4094 143 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3943 75 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3949 22 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 394d 1d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 241c cd e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2425 17 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 2429 28 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 242a 10 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 328e 1b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5454 63 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 545a 22 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 545e 1d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d3b 3f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 28c8 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2178 45 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 217e 3d 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 217f 3b 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 210e 4c 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2114 44 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 2115 42 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4e39 4e 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e3f 46 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4e40 44 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2bc5 2f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1f3c 64 6 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1f3f 60 3 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1f40 5e 2 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 466c 190 17 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4682 173 1 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 4683 16f 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 3d83 a4 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3e1b b 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 48f9 87 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4902 7a 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 10e5 7c 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10ee 71 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 3b52 1e9 1b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b65 1cf 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 3b69 1c8 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 3b6d 1c3 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 39b8 19a c 0 4 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3b19 8 0 0 4 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1cd3 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2638 53 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1516 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4cda 8f e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ce0 87 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4ce1 85 7 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4ce8 7d 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3e27 99 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e2d 91 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 3e39 82 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 3e3a 80 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 178e 14b 13 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1794 143 d 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 1795 141 c 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 17a1 134 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3170 4d 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3176 45 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 3185 31 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4dc0 79 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 4e2d 8 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 344e 8 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2862 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 206a 20 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4e87 33 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1466 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1672 106 b 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1161 82 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 118d 54 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5067 ad 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 507e 62 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 5093 4c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1904 1e7 1a 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 22a3 46 8 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 47fc e7 16 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 152e 40 8 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bf4 377 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2bfa 36f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 30f1 69 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 30f7 61 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4f45 fe 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4f4b f6 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1000 ba 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2a0e 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3840 103 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 0 3410 14 0 0 0 0 0 0 0 0
+STACK WIN 0 5397 9 0 0 0 0 0 0 0 0
+STACK WIN 0 2f6b 88 0 0 8 0 0 0 0 0
+STACK WIN 0 462f f 0 0 0 0 0 0 0 0
+STACK WIN 0 543c f 0 0 0 0 0 0 0 0
+STACK WIN 0 544b 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4389 c 0 0 0 0 0 0 0 0
+STACK WIN 0 4395 c 0 0 0 0 0 0 0 0
+STACK WIN 0 1371 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4eba 8b 0 0 4 0 0 0 0 0
+STACK WIN 0 43b2 90 3 0 c c 0 0 0 0
+STACK WIN 0 4442 46 0 0 10 4 0 0 0 1
+STACK WIN 0 44a4 17 4 0 0 10 0 0 0 1
+STACK WIN 0 44bb 19 0 0 0 0 0 0 0 0
+STACK WIN 0 44ed 17 1 0 8 4 0 0 0 1
+STACK WIN 0 31dd 4 0 0 0 0 0 0 0 0
+STACK WIN 0 52ee 15 0 0 0 0 0 0 0 0
+STACK WIN 0 514a 6 0 0 0 0 0 0 0 0
+STACK WIN 0 56dc 13 0 0 0 0 0 0 0 0
+STACK WIN 0 3e1b c 0 0 0 0 0 0 0 0
+STACK WIN 0 3b19 9 0 0 0 0 0 0 0 0
+STACK WIN 0 4e2d 9 0 0 0 0 0 0 0 0
+STACK WIN 0 208a 7a 0 0 c 0 0 0 0 0
+STACK WIN 0 1223 95 0 0 10 0 4 0 0 0
+STACK WIN 0 293c 84 3 0 8 c 0 0 0 0
+STACK WIN 0 29c0 23 0 0 0 0 0 0 0 0
+STACK WIN 0 2a0b 3 0 0 0 0 0 0 0 0
+STACK WIN 0 23a6 1a 0 0 10 0 0 0 0 0
+STACK WIN 0 23c0 1a 0 0 10 0 4 0 0 0
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb Binary files differnew file mode 100644 index 0000000000..a35b022c74 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.sym new file mode 100644 index 0000000000..a48ddb6400 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched.sym @@ -0,0 +1,3137 @@ +MODULE windows x86 ABDA3C53D8074326AA40F41DD53824571 omap_stretched.pdb
+FILE 1 c:\src\breakpad\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\public\sdk\inc\internal\pebteb.h
+FILE 3 f:\dd\public\sdk\inc\internal\ntldr.h
+FILE 4 f:\dd\public\sdk\inc\internal\ntconfig.h
+FILE 5 f:\dd\public\sdk\inc\internal\ntregapi.h
+FILE 6 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h
+FILE 7 f:\dd\public\ddk\inc\ntdef.h
+FILE 8 f:\dd\public\sdk\inc\internal\ntmmapi.h
+FILE 9 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h
+FILE 10 f:\dd\public\sdk\inc\pshpack1.h
+FILE 11 f:\dd\public\sdk\inc\internal\nxi386.h
+FILE 12 f:\dd\public\ddk\inc\poppack.h
+FILE 13 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\process.h
+FILE 14 f:\dd\public\sdk\inc\pshpack8.h
+FILE 15 f:\dd\public\ddk\inc\ntpoapi.h
+FILE 16 f:\dd\public\sdk\inc\internal\ntexapi.h
+FILE 17 f:\dd\public\sdk\inc\poppack.h
+FILE 18 f:\dd\public\ddk\inc\ntimage.h
+FILE 19 f:\dd\public\ddk\inc\pshpack4.h
+FILE 20 f:\dd\public\sdk\inc\pshpack2.h
+FILE 21 f:\dd\public\ddk\inc\ntnls.h
+FILE 22 f:\dd\public\sdk\inc\internal\ntelfapi.h
+FILE 23 f:\dd\public\sdk\inc\internal\ntpsapi.h
+FILE 24 f:\dd\public\sdk\inc\internal\nti386.h
+FILE 25 f:\dd\public\sdk\inc\specstrings.h
+FILE 26 f:\dd\public\sdk\inc\sal_supp.h
+FILE 27 f:\dd\public\sdk\inc\specstrings_supp.h
+FILE 28 f:\dd\public\sdk\inc\specstrings_strict.h
+FILE 29 f:\dd\public\sdk\inc\specstrings_undef.h
+FILE 30 f:\dd\public\sdk\inc\driverspecs.h
+FILE 31 f:\dd\public\sdk\inc\sdv_driverspecs.h
+FILE 32 f:\dd\public\sdk\inc\basetsd.h
+FILE 33 f:\dd\public\sdk\inc\internal\ntpnpapi.h
+FILE 34 f:\dd\public\sdk\inc\cfg.h
+FILE 35 f:\dd\public\sdk\inc\internal\ntxcapi.h
+FILE 36 f:\dd\public\sdk\inc\guiddef.h
+FILE 37 f:\dd\public\sdk\inc\internal\nt.h
+FILE 38 f:\dd\public\sdk\inc\ntstatus.h
+FILE 39 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h
+FILE 40 f:\dd\public\sdk\inc\internal\ntkeapi.h
+FILE 41 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h
+FILE 42 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h
+FILE 43 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\codeanalysis\sourceannotations.h
+FILE 44 f:\dd\public\sdk\inc\internal\ntobapi.h
+FILE 45 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\string.h
+FILE 46 f:\dd\public\sdk\inc\internal\ntioapi.h
+FILE 47 f:\dd\public\ddk\inc\devioctl.h
+FILE 48 f:\dd\public\sdk\inc\internal\ntseapi.h
+FILE 49 f:\dd\public\ddk\inc\mce.h
+FILE 50 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c
+FILE 51 f:\dd\public\sdk\inc\pshpack4.h
+FILE 52 f:\dd\public\devdiv\inc\ddbanned.h
+FILE 53 f:\dd\public\sdk\inc\internal\ntlpcapi.h
+FILE 54 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
+FILE 55 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
+FILE 56 f:\dd\public\sdk\inc\internal\ntiolog.h
+FILE 57 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm
+FILE 58 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc
+FILE 59 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc
+FILE 60 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc
+FILE 61 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm
+FILE 62 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm
+FILE 64 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm
+FILE 65 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c
+FILE 69 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c
+FILE 73 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c
+FILE 77 f:\dd\public\sdk\inc\winreg.h
+FILE 78 f:\dd\public\sdk\inc\imm.h
+FILE 79 f:\dd\public\sdk\inc\wingdi.h
+FILE 80 f:\dd\vctools\crt_bld\self_x86\crt\src\stdlib.h
+FILE 81 f:\dd\public\sdk\inc\winerror.h
+FILE 82 f:\dd\public\sdk\inc\ktmtypes.h
+FILE 84 f:\dd\vctools\crt_bld\self_x86\crt\src\stdarg.h
+FILE 85 f:\dd\public\sdk\inc\windef.h
+FILE 86 f:\dd\public\sdk\inc\winbase.h
+FILE 88 f:\dd\vctools\crt_bld\self_x86\crt\src\string.h
+FILE 89 f:\dd\public\sdk\inc\winuser.h
+FILE 91 f:\dd\public\sdk\inc\winnetwk.h
+FILE 92 f:\dd\public\sdk\inc\winnt.h
+FILE 93 f:\dd\public\sdk\inc\wnnc.h
+FILE 94 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.h
+FILE 96 f:\dd\public\sdk\inc\winnls.h
+FILE 98 f:\dd\vctools\crt_bld\self_x86\crt\src\mtdll.h
+FILE 99 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdefs.h
+FILE 100 f:\dd\vctools\crt_bld\self_x86\crt\src\sal.h
+FILE 101 f:\dd\vctools\crt_bld\self_x86\crt\src\codeanalysis\sourceannotations.h
+FILE 102 f:\dd\public\sdk\inc\winver.h
+FILE 103 f:\dd\public\sdk\inc\verrsrc.h
+FILE 104 f:\dd\public\sdk\inc\wincon.h
+FILE 105 f:\dd\public\sdk\inc\stralign.h
+FILE 107 f:\dd\public\sdk\inc\mcx.h
+FILE 108 f:\dd\vctools\crt_bld\self_x86\crt\src\atox.c
+FILE 109 f:\dd\vctools\crt_bld\self_x86\crt\src\limits.h
+FILE 110 f:\dd\public\sdk\inc\windows.h
+FILE 111 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.h
+FILE 112 f:\dd\public\sdk\inc\sdkddkver.h
+FILE 113 f:\dd\vctools\crt_bld\self_x86\crt\src\oscalls.h
+FILE 114 f:\dd\vctools\crt_bld\self_x86\crt\src\excpt.h
+FILE 120 f:\dd\public\sdk\inc\reason.h
+FILE 123 f:\dd\public\sdk\inc\kernelspecs.h
+FILE 125 f:\dd\vctools\crt_bld\self_x86\crt\src\tchar.h
+FILE 126 f:\dd\vctools\crt_bld\self_x86\crt\src\mbstring.h
+FILE 127 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.h
+FILE 128 f:\dd\public\sdk\inc\ime_cmodes.h
+FILE 130 f:\dd\vctools\crt_bld\self_x86\crt\src\vadefs.h
+FILE 131 f:\dd\vctools\crt_bld\self_x86\crt\src\cruntime.h
+FILE 132 f:\dd\public\sdk\inc\tvout.h
+FILE 145 f:\dd\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h
+FILE 152 f:\dd\vctools\crt_bld\self_x86\crt\src\internal.h
+FILE 164 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdbg.h
+FILE 165 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoa.c
+FILE 178 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoas.c
+FILE 182 f:\dd\vctools\crt_bld\self_x86\crt\src\errno.h
+FILE 224 f:\dd\vctools\crt_bld\self_x86\crt\src\dosmap.c
+FILE 250 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcsup.h
+FILE 251 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcapi.h
+FILE 265 f:\dd\vctools\crt_bld\self_x86\crt\src\winheap.h
+FILE 281 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.h
+FILE 291 f:\dd\vctools\crt_bld\self_x86\crt\src\calloc_impl.c
+FILE 299 f:\dd\vctools\crt_bld\self_x86\crt\src\dbgint.h
+FILE 333 f:\dd\vctools\crt_bld\self_x86\crt\src\crtheap.c
+FILE 389 f:\dd\vctools\crt_bld\self_x86\crt\src\free.c
+FILE 453 f:\dd\vctools\crt_bld\self_x86\crt\src\heapinit.c
+FILE 498 f:\dd\vctools\crt_bld\self_x86\crt\src\rterr.h
+FILE 504 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c
+FILE 561 f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c
+FILE 618 f:\dd\vctools\crt_bld\self_x86\crt\src\realloc.c
+FILE 677 f:\dd\vctools\crt_bld\self_x86\crt\src\recalloc.c
+FILE 731 f:\dd\vctools\crt_bld\self_x86\crt\src\_newmode.c
+FILE 774 f:\dd\vctools\crt_bld\self_x86\crt\src\msdos.h
+FILE 777 f:\dd\vctools\crt_bld\self_x86\crt\src\stddef.h
+FILE 792 f:\dd\vctools\crt_bld\self_x86\crt\src\ioinit.c
+FILE 844 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c
+FILE 892 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\secchk.c
+FILE 904 f:\dd\vctools\crt_bld\self_x86\crt\src\process.h
+FILE 943 f:\dd\vctools\crt_bld\self_x86\crt\src\a_env.c
+FILE 960 f:\dd\vctools\crt_bld\self_x86\crt\src\awint.h
+FILE 975 f:\dd\vctools\crt_bld\self_x86\crt\src\signal.h
+FILE 1011 f:\dd\vctools\crt_bld\self_x86\crt\src\abort.c
+FILE 1039 f:\dd\vctools\crt_bld\self_x86\crt\src\swprintf.inl
+FILE 1053 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmbox.c
+FILE 1063 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmboxw.c
+FILE 1065 f:\dd\vctools\crt_bld\self_x86\crt\src\wchar.h
+FILE 1069 f:\dd\vctools\crt_bld\self_x86\crt\src\wtime.inl
+FILE 1120 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.c
+FILE 1145 f:\dd\vctools\crt_bld\self_x86\crt\src\dbghook.c
+FILE 1181 f:\dd\vctools\crt_bld\self_x86\crt\src\errmode.c
+FILE 1244 f:\dd\vctools\crt_bld\self_x86\crt\src\getqloc.c
+FILE 1288 f:\dd\vctools\crt_bld\self_x86\crt\src\locale.h
+FILE 1301 f:\dd\vctools\crt_bld\self_x86\crt\src\glstatus.c
+FILE 1344 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_cookie.c
+FILE 1392 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_report.c
+FILE 1413 f:\binaries.x86ret\inc\mm3dnow.h
+FILE 1415 f:\binaries.x86ret\inc\ammintrin.h
+FILE 1424 f:\binaries.x86ret\inc\immintrin.h
+FILE 1426 f:\binaries.x86ret\inc\wmmintrin.h
+FILE 1427 f:\binaries.x86ret\inc\nmmintrin.h
+FILE 1428 f:\binaries.x86ret\inc\smmintrin.h
+FILE 1429 f:\binaries.x86ret\inc\tmmintrin.h
+FILE 1430 f:\binaries.x86ret\inc\pmmintrin.h
+FILE 1431 f:\binaries.x86ret\inc\emmintrin.h
+FILE 1432 f:\binaries.x86ret\inc\xmmintrin.h
+FILE 1433 f:\binaries.x86ret\inc\mmintrin.h
+FILE 1455 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_support.c
+FILE 1467 f:\dd\vctools\crt_bld\self_x86\crt\src\intrin.h
+FILE 1468 f:\dd\vctools\crt_bld\self_x86\crt\src\setjmp.h
+FILE 1508 f:\dd\vctools\crt_bld\self_x86\crt\src\initcoll.c
+FILE 1568 f:\dd\vctools\crt_bld\self_x86\crt\src\initctyp.c
+FILE 1627 f:\dd\vctools\crt_bld\self_x86\crt\src\inithelp.c
+FILE 1685 f:\dd\vctools\crt_bld\self_x86\crt\src\initmon.c
+FILE 1737 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsint.h
+FILE 1742 f:\dd\vctools\crt_bld\self_x86\crt\src\initnum.c
+FILE 1800 f:\dd\vctools\crt_bld\self_x86\crt\src\inittime.c
+FILE 1855 f:\dd\vctools\crt_bld\self_x86\crt\src\lconv.c
+FILE 1913 f:\dd\vctools\crt_bld\self_x86\crt\src\localref.c
+FILE 1962 f:\dd\vctools\crt_bld\self_x86\crt\src\sect_attribs.h
+FILE 1969 f:\dd\vctools\crt_bld\self_x86\crt\src\onexit.c
+FILE 1989 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata1.c
+FILE 2036 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata2.c
+FILE 2079 f:\dd\vctools\crt_bld\self_x86\crt\src\pesect.c
+FILE 2128 f:\dd\vctools\crt_bld\self_x86\crt\src\purevirt.c
+FILE 2186 f:\dd\vctools\crt_bld\self_x86\crt\src\rand_s.c
+FILE 2250 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.c
+FILE 2311 f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
+FILE 2314 f:\dd\vctools\crt_bld\self_x86\crt\src\float.h
+FILE 2315 f:\dd\vctools\crt_bld\self_x86\crt\src\crtwrn.h
+FILE 2369 f:\dd\vctools\crt_bld\self_x86\crt\src\winxfltr.c
+FILE 2394 f:\dd\vctools\crt_bld\self_x86\crt\src\fltintrn.h
+FILE 2419 f:\dd\vctools\crt_bld\self_x86\crt\src\cmiscdat.c
+FILE 2445 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c
+FILE 2468 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl
+FILE 2493 f:\dd\vctools\crt_bld\self_x86\crt\src\strcat_s.c
+FILE 2523 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl
+FILE 2548 f:\dd\vctools\crt_bld\self_x86\crt\src\strcpy_s.c
+FILE 2578 f:\dd\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl
+FILE 2603 f:\dd\vctools\crt_bld\self_x86\crt\src\strncpy_s.c
+FILE 2658 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscat_s.c
+FILE 2713 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscpy_s.c
+FILE 2728 f:\dd\vctools\crt_bld\self_x86\crt\src\wcslen.c
+FILE 2776 f:\dd\vctools\crt_bld\self_x86\crt\src\wcsncpy_s.c
+FILE 2787 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
+FILE 2788 f:\dd\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc
+FILE 2789 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memset.asm
+FILE 2791 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcmp.asm
+FILE 2793 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcspn.asm
+FILE 2794 f:\dd\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM
+FILE 2796 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strlen.asm
+FILE 2798 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\_strnicm.asm
+FILE 2800 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strpbrk.asm
+FILE 2803 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\llmul.asm
+FILE 2805 f:\dd\vctools\crt_bld\SELF_X86\crt\src\mm.inc
+FILE 2806 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\ulldvrm.asm
+FILE 2820 f:\dd\vctools\crt_bld\self_x86\crt\src\handler.cpp
+FILE 2841 f:\dd\vctools\crt_bld\self_x86\crt\src\new.h
+FILE 2875 f:\dd\vctools\crt_bld\self_x86\crt\src\delete.cpp
+FILE 2931 f:\dd\vctools\crt_bld\self_x86\crt\src\_wctype.c
+FILE 2987 f:\dd\vctools\crt_bld\self_x86\crt\src\iswctype.c
+FILE 2998 f:\dd\vctools\crt_bld\self_x86\crt\src\stdio.h
+FILE 3045 f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
+FILE 3106 f:\dd\vctools\crt_bld\self_x86\crt\src\strtol.c
+FILE 3163 f:\dd\vctools\crt_bld\self_x86\crt\src\strtoq.c
+FILE 3218 f:\dd\vctools\crt_bld\self_x86\crt\src\tolower.c
+FILE 3271 f:\dd\vctools\crt_bld\self_x86\crt\src\ismbbyte.c
+FILE 3305 f:\dd\vctools\crt_bld\self_x86\crt\src\mbdata.h
+FILE 3326 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.c
+FILE 3386 f:\dd\vctools\crt_bld\self_x86\crt\src\a_loc.c
+FILE 3447 f:\dd\vctools\crt_bld\self_x86\crt\src\a_map.c
+FILE 3507 f:\dd\vctools\crt_bld\self_x86\crt\src\a_str.c
+FILE 3583 f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c
+FILE 3626 f:\dd\vctools\crt_bld\self_x86\crt\src\stricmp.c
+FILE 3682 f:\dd\vctools\crt_bld\self_x86\crt\src\strnicmp.c
+FILE 3774 f:\dd\vctools\crt_bld\self_x86\crt\src\tidtable.c
+FILE 3778 f:\dd\vctools\crt_bld\self_x86\crt\src\memory.h
+FILE 3838 f:\dd\vctools\crt_bld\self_x86\crt\src\stdenvp.c
+FILE 3860 f:\dd\vctools\crt_bld\self_x86\crt\src\dos.h
+FILE 3891 f:\dd\vctools\crt_bld\self_x86\crt\src\stdargv.c
+FILE 3954 f:\dd\vctools\crt_bld\self_x86\crt\src\mlock.c
+FILE 3998 f:\dd\vctools\crt_bld\self_x86\crt\src\cmsgs.h
+FILE 4012 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0msg.c
+FILE 4072 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0init.c
+FILE 4123 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0fp.c
+FILE 4186 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c
+FILE 4250 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c
+FILE 4274 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\alloca16.asm
+FILE 4276 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\chkstk.asm
+FILE 4289 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h
+FILE 4293 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h
+FILE 4294 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h
+FILE 4295 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h
+FILE 4309 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h
+FILE 4315 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c
+FILE 4327 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h
+FILE 4340 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 4345 f:\dd\vctools\langapi\undname\undname.inl
+FILE 4347 f:\dd\vctools\langapi\undname\utf8.h
+FILE 4355 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl
+FILE 4365 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 4366 f:\dd\vctools\langapi\undname\undname.h
+FILE 4367 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h
+FILE 4368 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h
+FILE 4396 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h
+FILE 4397 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp
+FILE 4401 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h
+FILE 4405 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h
+FILE 4427 f:\dd\vctools\langapi\include\ehdata.h
+FILE 4429 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h
+FILE 4449 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception
+FILE 4472 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h
+FILE 4473 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp
+FILE 4475 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef
+FILE 4487 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h
+FILE 4488 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo
+FILE 4490 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef
+FILE 4491 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h
+FILE 4492 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h
+FILE 4493 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h
+FILE 4496 f:\dd\public\internal\vctools\include\undname.h
+FILE 4531 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp
+FILE 4591 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp
+FILE 4643 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp
+FILE 4664 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h
+FILE 4680 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h
+FUNC 1000 54 0 main
+1000 6 57 1
+1006 8 58 1
+100e e 59 1
+101c 8 60 1
+1024 b 61 1
+102f f 62 1
+103e 12 64 1
+1050 4 65 1
+FUNC 1060 a 0 static int google_breakpad::i()
+1060 3 51 1
+1063 5 52 1
+1068 2 53 1
+FUNC 106a 35 0 google_breakpad::C::C()
+106a 35 37 1
+FUNC 109f 1e 0 google_breakpad::C::~C()
+109f 1e 38 1
+FUNC 10bd d 0 google_breakpad::C::set_member(int)
+FUNC 10d4 9 0 google_breakpad::C::set_member(int)
+10bd d 40 1
+10d4 9 40 1
+FUNC 10dd 2b 0 google_breakpad::C::f()
+FUNC 1112 7 0 google_breakpad::C::f()
+10dd 2b 43 1
+1112 7 43 1
+FUNC 1119 10 0 google_breakpad::C::g()
+1119 10 44 1
+FUNC 1129 7 0 google_breakpad::C::h(google_breakpad::C const &)
+1129 7 45 1
+FUNC 1130 2c 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 115c 1a 0 type_info::~type_info()
+115c 2 49 4531
+115e 17 50 4531
+1175 1 51 4531
+FUNC 1176 21 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 1197 b 0 operator delete(void *)
+1197 5 20 2875
+119c 1 24 2875
+119d 5 23 2875
+FUNC 11a2 29 0 static void fast_error_exit(int)
+11a2 5 326 4250
+11a7 9 335 4250
+11b0 5 337 4250
+11b5 8 339 4250
+11bd c 340 4250
+11c9 2 341 4250
+FUNC 11cb 161 0 static int __tmainCRTStartup()
+11cb c 196 4250
+11d7 a 214 4250
+11e1 b 216 4250
+11ec 49 223 4250
+1235 9 225 4250
+123e 8 226 4250
+1246 9 228 4250
+124f 8 229 4250
+1257 5 238 4250
+125c 3 246 4250
+125f 9 248 4250
+1268 8 249 4250
+1270 b 252 4250
+127b a 255 4250
+1285 9 257 4250
+128e 8 258 4250
+1296 9 259 4250
+129f 8 260 4250
+12a7 8 262 4250
+12af 4 263 4250
+12b3 7 264 4250
+12ba a 277 4250
+12c4 18 278 4250
+12dc 5 281 4250
+12e1 6 282 4250
+12e7 5 284 4250
+12ec 2 286 4250
+12ee 17 287 4250
+1305 6 293 4250
+130b 6 295 4250
+1311 6 296 4250
+1317 5 298 4250
+131c 7 300 4250
+1323 3 302 4250
+1326 6 303 4250
+FUNC 132c a 0 mainCRTStartup
+132c 0 179 4250
+132c 5 186 4250
+1331 5 188 4250
+FUNC 1336 70 0 type_info::_Type_info_dtor(type_info *)
+1336 c 62 4473
+1342 8 63 4473
+134a 4 64 4473
+134e a 65 4473
+1358 d 70 4473
+1365 4 72 4473
+1369 4 74 4473
+136d 6 79 4473
+1373 7 80 4473
+137a 9 94 4473
+1383 4 101 4473
+1387 c 103 4473
+1393 6 107 4473
+1399 2 83 4473
+139b 2 72 4473
+139d 9 104 4473
+FUNC 13a6 88 0 strcmp
+13a6 0 65 2791
+13a6 4 73 2791
+13aa 4 74 2791
+13ae 6 76 2791
+13b4 2 77 2791
+13b6 2 81 2791
+13b8 2 83 2791
+13ba 2 84 2791
+13bc 2 85 2791
+13be 2 86 2791
+13c0 3 87 2791
+13c3 2 88 2791
+13c5 2 89 2791
+13c7 2 90 2791
+13c9 3 92 2791
+13cc 3 94 2791
+13cf 2 95 2791
+13d1 2 96 2791
+13d3 2 97 2791
+13d5 3 98 2791
+13d8 2 99 2791
+13da 3 100 2791
+13dd 3 101 2791
+13e0 2 102 2791
+13e2 4 103 2791
+13e6 2 107 2791
+13e8 2 108 2791
+13ea 2 115 2791
+13ec 2 116 2791
+13ee 3 117 2791
+13f1 1 118 2791
+13f2 6 122 2791
+13f8 2 123 2791
+13fa 2 125 2791
+13fc 3 126 2791
+13ff 2 127 2791
+1401 2 128 2791
+1403 3 129 2791
+1406 2 130 2791
+1408 2 131 2791
+140a 6 133 2791
+1410 2 134 2791
+1412 3 139 2791
+1415 3 140 2791
+1418 2 141 2791
+141a 2 142 2791
+141c 2 143 2791
+141e 2 144 2791
+1420 3 145 2791
+1423 2 146 2791
+1425 2 147 2791
+1427 2 148 2791
+1429 3 149 2791
+142c 2 150 2791
+FUNC 142e 35 0 free
+FUNC 146d 5 0 free
+142e 5 40 389
+1433 6 45 389
+1439 11 50 389
+144a 4 51 389
+144e 15 53 389
+146d 3 53 389
+1470 2 55 389
+FUNC 1472 6a 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+1472 5 67 4397
+1477 5a 68 4397
+14d1 5 69 4397
+14d6 2 72 4397
+14d8 4 73 4397
+FUNC 14dc e 0 __CxxSetUnhandledExceptionFilter
+14dc 0 86 4397
+14dc b 89 4397
+14e7 2 90 4397
+14e9 1 91 4397
+FUNC 14ea 2b 0 __crtCorExitProcess
+14ea 5 675 4186
+14ef b 679 4186
+14fa 4 680 4186
+14fe c 681 4186
+150a 4 682 4186
+150e 5 683 4186
+1513 2 693 4186
+FUNC 1515 18 0 __crtExitProcess
+1515 5 698 4186
+151a 9 699 4186
+1523 a 708 4186
+FUNC 152d 9 0 _lockexit
+152d 0 758 4186
+152d 8 759 4186
+1535 1 760 4186
+FUNC 1536 9 0 _unlockexit
+1536 0 784 4186
+1536 8 785 4186
+153e 1 786 4186
+FUNC 153f 33 0 _init_pointers
+153f 3 809 4186
+1542 7 810 4186
+1549 6 812 4186
+154f 6 813 4186
+1555 6 814 4186
+155b 6 815 4186
+1561 6 816 4186
+1567 a 817 4186
+1571 1 818 4186
+FUNC 1572 2e 0 _initterm_e
+1572 6 908 4186
+1578 b 917 4186
+158d 6 922 4186
+1593 2 923 4186
+1595 3 924 4186
+1598 6 917 4186
+159e 2 928 4186
+FUNC 15a0 a1 0 _cinit
+15a0 5 258 4186
+15a5 18 268 4186
+15bd a 270 4186
+15c7 5 272 4186
+15cc 11 278 4186
+15dd 2 279 4186
+15df 2 280 4186
+15e1 c 283 4186
+15ed 2a 288 4186
+1617 1a 301 4186
+1631 c 303 4186
+163d 2 307 4186
+163f 2 308 4186
+FUNC 1641 140 0 static void doexit(int, int, int)
+1641 c 489 4186
+164d 8 507 4186
+1655 4 508 4186
+1659 f 510 4186
+1668 5 511 4186
+166d 8 514 4186
+1675 a 516 4186
+167f 13 532 4186
+1692 4 533 4186
+1696 d 534 4186
+16a3 3 538 4186
+16a6 3 539 4186
+16a9 11 547 4186
+16ba 2 550 4186
+16bc 4 552 4186
+16c0 6 559 4186
+16c6 7 562 4186
+16cd 2 565 4186
+16cf a 567 4186
+16d9 8 568 4186
+16e1 a 570 4186
+16eb 6 573 4186
+16f1 8 574 4186
+16f9 5 576 4186
+16fe 21 582 4186
+171f 21 590 4186
+1740 c 608 4186
+174c 6 613 4186
+1752 a 617 4186
+175c 8 619 4186
+1764 8 621 4186
+176c 6 609 4186
+1772 9 610 4186
+177b 6 622 4186
+FUNC 1781 16 0 exit
+1781 5 392 4186
+1786 f 393 4186
+1795 2 394 4186
+FUNC 1797 16 0 _exit
+1797 5 400 4186
+179c f 401 4186
+17ab 2 402 4186
+FUNC 17ad f 0 _cexit
+17ad 0 407 4186
+17ad e 408 4186
+17bb 1 409 4186
+FUNC 17bc f 0 _c_exit
+17bc 0 414 4186
+17bc e 415 4186
+17ca 1 416 4186
+FUNC 17cb 1e 0 _amsg_exit
+17cb 5 439 4186
+17d0 5 440 4186
+17d5 9 441 4186
+17de b 442 4186
+FUNC 17e9 26 0 _GET_RTERRMSG
+17e9 5 165 4012
+17ee 2 168 4012
+17f0 c 169 4012
+17fc 6 168 4012
+1802 2 172 4012
+1804 2 173 4012
+1806 7 170 4012
+180d 2 173 4012
+FUNC 180f 1c5 0 _NMSG_WRITE
+180f 1b 196 4012
+182a 8 197 4012
+1832 11 199 4012
+1843 2a 226 4012
+186d c 263 4012
+1879 20 272 4012
+1899 21 275 4012
+18ba 1f 276 4012
+18d9 d 279 4012
+18e6 d 281 4012
+18f3 1d 282 4012
+1910 18 285 4012
+1928 14 286 4012
+193c 15 290 4012
+1951 a 272 4012
+195b a 228 4012
+1965 9 229 4012
+196e 2 244 4012
+197b a 246 4012
+1990 6 248 4012
+1996 8 244 4012
+199e 27 260 4012
+19c5 f 294 4012
+FUNC 19d4 39 0 _FF_MSGBANNER
+19d4 0 134 4012
+19d4 22 138 4012
+19f6 a 140 4012
+1a00 c 141 4012
+1a0c 1 143 4012
+FUNC 1a0d 251 0 _XcptFilter
+1a0d 6 195 2369
+1a13 7 202 2369
+1a1a 8 203 2369
+1a2c 2e 208 2369
+1a64 6 208 2369
+1a6a 4 210 2369
+1a78 3 216 2369
+1a7b 4 223 2369
+1a7f 7 224 2369
+1a86 5 232 2369
+1a95 4 237 2369
+1a99 8 238 2369
+1aa1 3 244 2369
+1aa4 6 248 2369
+1aaa 4 263 2369
+1ab8 3 263 2369
+1ac5 3 263 2369
+1ad2 c 272 2369
+1ade 3 280 2369
+1aeb 1e 283 2369
+1b13 16 310 2369
+1b33 c 312 2369
+1b3f 7 314 2369
+1b50 c 316 2369
+1b5c 7 318 2369
+1b6d c 320 2369
+1b79 7 322 2369
+1b8a c 324 2369
+1b96 7 326 2369
+1ba7 9 328 2369
+1bb0 7 330 2369
+1bc1 9 332 2369
+1bca 7 334 2369
+1bdb 9 336 2369
+1be4 7 338 2369
+1bf5 9 340 2369
+1bfe 7 342 2369
+1c0f 7 344 2369
+1c20 8 353 2369
+1c32 3 358 2369
+1c35 2 360 2369
+1c41 4 365 2369
+1c45 4 366 2369
+1c53 4 372 2369
+1c57 5 374 2369
+1c5c 2 376 2369
+FUNC 1c5e dc 0 _setenvp
+1c5e 0 77 3838
+1c5e 9 85 3838
+1c67 6 86 3838
+1c6d 9 91 3838
+1c76 4 98 3838
+1c7a 8 99 3838
+1c82 4 110 3838
+1c86 1 111 3838
+1c87 b 112 3838
+1c92 6 108 3838
+1c98 15 117 3838
+1cad 2 118 3838
+1caf 9 121 3838
+1cb8 6 123 3838
+1cbe 9 125 3838
+1cc7 10 127 3838
+1cd7 f 133 3838
+1ce6 3 134 3838
+1ce9 7 121 3838
+1cf0 b 138 3838
+1cfb 7 139 3838
+1d02 3 142 3838
+1d05 a 149 3838
+1d0f 2 152 3838
+1d11 2 138 3838
+1d13 3 153 3838
+1d16 b 129 3838
+1d21 7 130 3838
+1d28 5 131 3838
+1d2d d 133 3838
+FUNC 1d3a 2ee 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 2032 3 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+FUNC 203f 4 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+1d3a 6 221 3891
+1d40 7 229 3891
+1d51 2 229 3891
+1d53 2 232 3891
+1d55 1f 234 3891
+1d7e 2 234 3891
+1d80 3 253 3891
+1d8d 5 255 3891
+1d92 5 257 3891
+1d97 9 258 3891
+1da0 6 259 3891
+1daf 2 261 3891
+1db1 4 262 3891
+1dbf 2 263 3891
+1dcb 6 263 3891
+1ddb 2 265 3891
+1ddd f 267 3891
+1df6 2 268 3891
+1df8 6 269 3891
+1dfe 3 270 3891
+1e0b 5 270 3891
+1e1a 2 270 3891
+1e1c 1 271 3891
+1e1d 22 275 3891
+1e3f 4 280 3891
+1e4d 4 281 3891
+1e51 4 284 3891
+1e5f 9 289 3891
+1e72 a 290 3891
+1e7c 3 291 3891
+1e7f 1 278 3891
+1e80 2 279 3891
+1e8c 9 294 3891
+1e95 6 298 3891
+1e9b 7 299 3891
+1eac 2 299 3891
+1eb8 2 300 3891
+1eba 3 314 3891
+1ebd 4 318 3891
+1ec1 1 321 3891
+1ec2 1 322 3891
+1ecd 5 319 3891
+1edc 5 324 3891
+1ee1 5 327 3891
+1ee6 9 328 3891
+1ef9 5 328 3891
+1efe 2 329 3891
+1f00 2 330 3891
+1f02 d 332 3891
+1f0f 2 335 3891
+1f11 5 339 3891
+1f16 4 340 3891
+1f24 4 341 3891
+1f32 6 342 3891
+1f38 3 341 3891
+1f45 20 346 3891
+1f65 8 351 3891
+1f6d 12 353 3891
+1f89 8 354 3891
+1f9b 3 354 3891
+1fa8 2 355 3891
+1faa 3 357 3891
+1fb7 5 357 3891
+1fc6 2 357 3891
+1fc8 2 358 3891
+1fca a 359 3891
+1fd4 1 360 3891
+1fdf 2 361 3891
+1feb 5 364 3891
+1ff0 1 366 3891
+1ff1 5 375 3891
+1ff6 4 379 3891
+2004 7 380 3891
+2015 2 381 3891
+2017 8 382 3891
+201f 9 385 3891
+2032 3 386 3891
+203f 2 387 3891
+2041 2 388 3891
+FUNC 2043 c5 0 _setargv
+2043 9 88 3891
+204c c 97 3891
+2058 5 98 3891
+205d 18 104 3891
+2075 12 120 3891
+2091 7 120 3891
+2098 11 127 3891
+20a9 15 134 3891
+20be a 138 3891
+20c8 2 140 3891
+20ca 9 142 3891
+20d3 2 143 3891
+20d5 2 144 3891
+20d7 13 151 3891
+20ea c 156 3891
+20f6 6 160 3891
+20fc 4 175 3891
+2100 6 136 3891
+2106 2 176 3891
+FUNC 2108 b8 0 __crtGetEnvironmentStringsA
+2108 a 40 943
+2112 e 49 943
+2120 8 50 943
+2131 5 54 943
+2136 3 55 943
+2143 5 55 943
+2148 3 56 943
+2155 6 56 943
+215b 1b 70 943
+2176 12 74 943
+2188 12 88 943
+219a 9 90 943
+21a3 3 91 943
+21a6 7 94 943
+21ad 5 95 943
+21b2 7 76 943
+21b9 5 77 943
+21be 2 96 943
+FUNC 21c0 3b2 0 _ioinit
+21c0 9 111 792
+21c9 a 122 792
+21d3 13 129 792
+21e6 8 131 792
+21ee 15 137 792
+2203 3 134 792
+2210 4 139 792
+221e 6 139 792
+222e 3 141 792
+223b 6 143 792
+224b 4 145 792
+2259 3 146 792
+2266 1b 147 792
+2281 15 155 792
+22a0 2 160 792
+22a2 6 166 792
+22a8 2 167 792
+22aa e 173 792
+22b8 11 179 792
+22c9 13 185 792
+22dc 7 199 792
+22e3 6 201 792
+22f3 a 201 792
+22fd 3 198 792
+230a 4 203 792
+2318 4 205 792
+2326 4 206 792
+2334 14 209 792
+2352 6 209 792
+2362 1c 210 792
+237e f 179 792
+238d 2 280 792
+238f 6 191 792
+2395 a 217 792
+239f 45 230 792
+23e4 14 232 792
+23f8 3 233 792
+2405 2 233 792
+2411 2 233 792
+2413 3 234 792
+2420 2 234 792
+242c 3 234 792
+242f 17 237 792
+2450 3 239 792
+2453 10 217 792
+2463 2 249 792
+2465 b 251 792
+247a c 254 792
+2490 a 302 792
+24a3 4 258 792
+24a7 30 262 792
+24d7 5 273 792
+24e6 7 273 792
+24f7 6 274 792
+24fd 5 275 792
+250c 4 276 792
+2510 13 280 792
+252d 3 282 792
+2530 2 284 792
+253c 4 293 792
+254a 6 294 792
+2550 a 249 792
+255a c 309 792
+2566 5 311 792
+256b 2 312 792
+256d 5 281 792
+FUNC 2572 30 0 _RTC_Initialize
+FUNC 25a2 30 0 _RTC_Terminate
+FUNC 25d2 9 0 _encoded_null
+25d2 0 79 3774
+25d2 8 80 3774
+25da 1 81 3774
+FUNC 25db 9 4 __crtTlsAlloc
+25db 0 95 3774
+25db 6 96 3774
+25e1 3 97 3774
+FUNC 25e4 34 0 __set_flsgetvalue
+25e4 3 143 3774
+25e7 e 145 3774
+25f5 4 146 3774
+25f9 e 148 3774
+2607 d 149 3774
+2614 3 151 3774
+2617 1 155 3774
+FUNC 2618 3d 0 _mtterm
+2618 0 329 3774
+2618 a 336 3774
+2622 f 337 3774
+2631 7 338 3774
+2638 a 342 3774
+2642 7 343 3774
+2649 7 344 3774
+2650 5 352 3774
+FUNC 2655 b4 0 _initptd
+2655 c 379 3774
+2661 b 381 3774
+266c a 384 3774
+2676 4 385 3774
+267a 6 386 3774
+2680 3 391 3774
+2683 7 395 3774
+268a 7 396 3774
+2691 7 397 3774
+2698 8 399 3774
+26a0 4 400 3774
+26a4 9 402 3774
+26ad c 404 3774
+26b9 8 411 3774
+26c1 3 412 3774
+26c4 6 413 3774
+26ca 4 421 3774
+26ce 8 422 3774
+26d6 9 423 3774
+26df c 425 3774
+26eb 6 428 3774
+26f1 6 404 3774
+26f7 9 406 3774
+2700 9 426 3774
+FUNC 2709 8d 0 _getptd_noexit
+2709 4 448 3774
+270d 6 452 3774
+2713 15 460 3774
+2728 14 472 3774
+273c 19 475 3774
+2755 a 481 3774
+275f 6 483 3774
+276f 4 484 3774
+277d 2 484 3774
+277f 2 486 3774
+2781 7 492 3774
+2788 2 493 3774
+278a 8 498 3774
+2792 3 500 3774
+2795 1 501 3774
+FUNC 2796 1a 0 _getptd
+2796 3 522 3774
+2799 7 523 3774
+27a0 4 524 3774
+27a4 8 525 3774
+27ac 3 527 3774
+27af 1 528 3774
+FUNC 27b0 12f 4 _freefls
+27b0 c 556 3774
+27bc b 567 3774
+27c7 7 568 3774
+27ce 7 569 3774
+27d5 7 571 3774
+27dc 7 572 3774
+27e3 7 574 3774
+27ea 7 575 3774
+27f1 7 577 3774
+27f8 7 578 3774
+27ff 7 580 3774
+2806 7 581 3774
+280d 7 583 3774
+2814 7 584 3774
+281b 7 586 3774
+2822 7 587 3774
+2829 a 589 3774
+2833 7 590 3774
+283a 8 592 3774
+2842 4 593 3774
+2846 1a 596 3774
+2860 7 597 3774
+2867 c 599 3774
+2873 8 603 3774
+287b 7 605 3774
+2882 7 606 3774
+2889 7 608 3774
+2890 15 611 3774
+28a5 7 612 3774
+28ac c 615 3774
+28b8 7 619 3774
+28bf 8 622 3774
+28c7 3 599 3774
+28ca 9 600 3774
+28d3 3 615 3774
+28d6 9 616 3774
+FUNC 28df 18f 0 _mtinit
+28df 3 203 3774
+28e2 d 211 3774
+28ef 4 212 3774
+28f3 5 213 3774
+28f8 3 214 3774
+28fb 2 300 3774
+28fd e 218 3774
+290b d 221 3774
+2918 d 224 3774
+2925 d 227 3774
+2932 2a 228 3774
+295c a 231 3774
+2966 1a 235 3774
+2980 25 244 3774
+29a5 5 249 3774
+29aa e 256 3774
+29b8 d 257 3774
+29c5 d 258 3774
+29d2 12 259 3774
+29e4 7 266 3774
+29eb 2 268 3774
+29ed 1d 274 3774
+2a0a 2 276 3774
+2a0c 29 284 3774
+2a35 a 294 3774
+2a3f 6 296 3774
+2a4f 4 297 3774
+2a5d 2 297 3774
+2a5f 5 299 3774
+2a64 5 286 3774
+2a69 4 245 3774
+2a6d 1 300 3774
+FUNC 2a6e 1e 0 _heap_init
+2a6e 0 40 453
+2a6e 1d 44 453
+2a8b 1 60 453
+FUNC 2a8c 45 0 _SEH_prolog4
+FUNC 2ad1 14 0 _SEH_epilog4
+FUNC 2ae5 2c4 0 _except_handler4
+FUNC 2da9 9b 0 __security_init_cookie
+2da9 8 97 1455
+2db1 21 114 1455
+2dd2 7 116 1455
+2dd9 3 117 1455
+2ddc a 127 1455
+2de6 6 132 1455
+2dec 8 135 1455
+2df4 8 136 1455
+2dfc 8 137 1455
+2e04 a 139 1455
+2e0e 8 144 1455
+2e16 4 161 1455
+2e1a 7 163 1455
+2e21 4 166 1455
+2e25 c 168 1455
+2e31 6 172 1455
+2e37 b 173 1455
+2e42 2 175 1455
+FUNC 2e44 f 0 _initp_misc_invarg
+2e44 5 64 3583
+2e49 8 65 3583
+2e51 2 66 3583
+FUNC 2e53 129 0 _call_reportfault
+2e53 16 164 3583
+2e69 9 166 3583
+2e72 7 167 3583
+2e79 17 170 3583
+2e90 1b 172 3583
+2eab 6 179 3583
+2eb1 6 180 3583
+2eb7 6 181 3583
+2ebd 6 182 3583
+2ec3 6 183 3583
+2ec9 6 184 3583
+2ecf 7 185 3583
+2ed6 7 186 3583
+2edd 7 187 3583
+2ee4 7 188 3583
+2eeb 7 189 3583
+2ef2 7 190 3583
+2ef9 1 191 3583
+2efa 6 192 3583
+2f00 3 198 3583
+2f03 19 199 3583
+2f1c 9 201 3583
+2f25 9 240 3583
+2f2e 9 241 3583
+2f37 6 242 3583
+2f3d 6 245 3583
+2f43 a 248 3583
+2f4d d 250 3583
+2f5a d 254 3583
+2f67 7 255 3583
+2f6e e 257 3583
+FUNC 2f7c 25 0 _invoke_watson
+2f7c 3 146 3583
+2f7f 12 155 3583
+2f91 f 156 3583
+2fa0 1 157 3583
+FUNC 2fa1 2d 0 _invalid_parameter
+2fa1 5 96 3583
+2fa6 c 103 3583
+2fb2 4 104 3583
+2fb6 1 111 3583
+2fb7 2 106 3583
+2fb9 15 110 3583
+FUNC 2fce 10 0 _invalid_parameter_noinfo
+2fce 0 120 3583
+2fce f 121 3583
+2fdd 1 122 3583
+FUNC 2fde 5e 0 _mtinitlocks
+2fde 4 136 3954
+2fe2 7 143 3954
+2fe9 a 144 3954
+2ff3 7 145 3954
+3004 2 145 3954
+3006 1e 147 3954
+3024 6 143 3954
+302a 3 156 3954
+302d 3 157 3954
+3030 c 150 3954
+FUNC 303c 89 0 _mtdeletelocks
+303c 3 187 3954
+303f d 193 3954
+3056 6 195 3954
+3066 6 195 3954
+306c 3 199 3954
+306f 6 205 3954
+307f 4 206 3954
+3083 b 193 3954
+308e 6 214 3954
+309e 6 216 3954
+30ae 6 216 3954
+30b4 3 220 3954
+30b7 b 214 3954
+30c2 3 223 3954
+FUNC 30c5 17 0 _unlock
+30c5 5 370 3954
+30ca 10 374 3954
+30da 2 375 3954
+FUNC 30dc c2 0 _mtinitlocknum
+30dc c 258 3954
+30e8 6 260 3954
+30ee a 268 3954
+30f8 5 269 3954
+30fd 7 270 3954
+3104 c 271 3954
+3110 e 275 3954
+311e 4 276 3954
+3122 e 278 3954
+3130 b 279 3954
+313b 4 280 3954
+313f 8 283 3954
+3147 3 284 3954
+314a 4 286 3954
+314e 10 287 3954
+315e 7 288 3954
+3165 b 289 3954
+3170 3 290 3954
+3173 2 291 3954
+3175 2 292 3954
+3177 2 295 3954
+3179 7 296 3954
+3180 c 299 3954
+318c 3 303 3954
+318f 6 304 3954
+3195 9 300 3954
+FUNC 319e 47 0 _lock
+319e 5 332 3954
+31a3 b 337 3954
+31b8 5 337 3954
+31bd b 339 3954
+31c8 8 340 3954
+31da 9 347 3954
+31e3 2 348 3954
+FUNC 31e5 9c 0 strcpy_s
+31e5 5 13 2523
+31ea 2d 18 2523
+3217 7 19 2523
+3228 4 19 2523
+322c 26 23 2523
+3252 4 27 2523
+3260 3 29 2523
+3263 8 30 2523
+3275 6 30 2523
+327b 4 33 2523
+327f 2 34 2523
+FUNC 3281 8b 0 strlen
+3281 0 54 2796
+3281 4 63 2796
+3285 6 64 2796
+328b 2 65 2796
+328d 2 69 2796
+328f 3 70 2796
+3292 2 71 2796
+3294 2 72 2796
+3296 6 73 2796
+329c 2 74 2796
+329e 13 76 2796
+32b1 2 81 2796
+32b3 5 82 2796
+32b8 2 83 2796
+32ba 3 84 2796
+32bd 2 85 2796
+32bf 3 86 2796
+32c2 5 87 2796
+32c7 2 88 2796
+32c9 3 90 2796
+32cc 2 91 2796
+32ce 2 92 2796
+32d0 2 93 2796
+32d2 2 94 2796
+32d4 5 95 2796
+32d9 2 96 2796
+32db 5 97 2796
+32e0 2 98 2796
+32e2 2 99 2796
+32e4 3 103 2796
+32e7 4 104 2796
+32eb 2 105 2796
+32ed 1 106 2796
+32ee 3 108 2796
+32f1 4 109 2796
+32f5 2 110 2796
+32f7 1 111 2796
+32f8 3 113 2796
+32fb 4 114 2796
+32ff 2 115 2796
+3301 1 116 2796
+3302 3 118 2796
+3305 4 119 2796
+3309 2 120 2796
+330b 1 121 2796
+FUNC 330c b6 0 malloc
+330c 6 81 504
+3312 e 85 504
+3320 3d 89 504
+335d 4 94 504
+3361 b 98 504
+336c b 105 504
+3377 2 109 504
+3379 5 100 504
+3388 2 100 504
+338a 5 119 504
+3399 2 119 504
+339b 6 121 504
+33a1 7 111 504
+33a8 5 112 504
+33b7 6 112 504
+33bd 3 113 504
+33c0 2 122 504
+FUNC 33c2 90 0 _local_unwind4
+FUNC 3452 46 0 static void _unwind_handler4()
+FUNC 3498 1c 4 _seh_longjmp_unwind4
+FUNC 34b4 17 0 _EH4_CallFilterFunc
+FUNC 34cb 19 0 _EH4_TransferToHandler
+FUNC 34e4 19 0 _EH4_GlobalUnwind2
+FUNC 34fd 17 8 _EH4_LocalUnwind
+FUNC 3514 42 0 _get_errno_from_oserr
+3514 5 119 224
+3519 5 123 224
+351e 9 124 224
+3527 6 123 224
+352d 8 133 224
+3535 3 134 224
+3538 2 139 224
+353a 7 125 224
+3541 2 139 224
+3543 11 135 224
+3554 2 139 224
+FUNC 3556 13 0 _errno
+3556 0 279 224
+3556 5 280 224
+355b 4 281 224
+355f 5 282 224
+3564 1 287 224
+3565 3 284 224
+3568 1 287 224
+FUNC 3569 39 0 terminate()
+3569 c 84 4591
+3575 8 89 4591
+357d 4 90 4591
+3581 4 95 4591
+3585 2 99 4591
+3587 2 100 4591
+3589 7 101 4591
+3590 7 106 4591
+3597 5 114 4591
+359c 6 115 4591
+FUNC 35a2 11 0 _initp_eh_hooks
+35a2 0 69 4591
+35a2 10 70 4591
+35b2 1 71 4591
+FUNC 35b3 1e 0 _initp_misc_winsig
+35b3 5 57 2311
+35b8 8 58 2311
+35c0 5 59 2311
+35c5 5 60 2311
+35ca 5 61 2311
+35cf 2 62 2311
+FUNC 35d1 38 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+FUNC 3613 9 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+35d1 5 629 2311
+35d6 a 630 2311
+35ea 14 639 2311
+35fe b 642 2311
+3613 3 642 2311
+3616 2 646 2311
+3618 2 651 2311
+361a 2 652 2311
+FUNC 361c d 0 __get_sigabrt
+361c 0 669 2311
+361c c 670 2311
+3628 1 671 2311
+FUNC 3629 1a3 0 raise
+3629 c 450 2311
+3635 5 457 2311
+363a 3 458 2311
+363d 1f 460 2311
+365c a 486 2311
+3666 4 487 2311
+366a 8 488 2311
+3672 a 463 2311
+367c 2 465 2311
+367e 10 490 2311
+368e 2 491 2311
+3690 f 460 2311
+369f 12 498 2311
+36b1 a 474 2311
+36bb 2 476 2311
+36bd a 468 2311
+36c7 2 470 2311
+36c9 a 479 2311
+36d3 7 480 2311
+36da a 500 2311
+36e4 2 508 2311
+36e6 4 507 2311
+36ea 6 508 2311
+36f0 5 513 2311
+36f5 7 518 2311
+36fc 5 525 2311
+3701 7 526 2311
+3708 5 528 2311
+370d f 539 2311
+371c 6 540 2311
+3722 3 541 2311
+3725 5 547 2311
+372a 6 548 2311
+3730 7 549 2311
+3737 5 557 2311
+373c 1a 564 2311
+3756 d 567 2311
+3763 5 564 2311
+3768 7 570 2311
+376f c 573 2311
+377b 5 578 2311
+3780 8 584 2311
+3788 2 585 2311
+378a 6 573 2311
+3790 6 574 2311
+3796 9 575 2311
+379f 5 586 2311
+37a4 f 593 2311
+37b3 6 594 2311
+37b9 5 599 2311
+37be 6 600 2311
+37c4 2 603 2311
+37c6 6 604 2311
+FUNC 37cc f 0 _initp_misc_rand_s
+37cc 5 58 2186
+37d1 8 59 2186
+37d9 2 60 2186
+FUNC 37db f 0 _initp_misc_purevirt
+37db 5 179 1627
+37e0 8 180 1627
+37e8 2 181 1627
+FUNC 37ea f 0 _initp_heap_handler
+37ea 5 31 2820
+37ef 8 32 2820
+37f7 2 33 2820
+FUNC 37f9 28 0 _callnewh
+37f9 5 131 2820
+37fe c 133 2820
+380a e 135 2820
+3818 3 138 2820
+381b 2 139 2820
+381d 2 136 2820
+381f 2 139 2820
+FUNC 3821 c0 0 static * _onexit_nolock( *)
+3821 8 100 1969
+3829 f 103 1969
+3838 f 104 1969
+3847 14 108 1969
+385b 10 118 1969
+386b d 123 1969
+3878 13 125 1969
+388b 3 130 1969
+388e 13 132 1969
+38a1 3 143 1969
+38a4 f 145 1969
+38b3 b 152 1969
+38c8 5 152 1969
+38cd 8 153 1969
+38d5 5 155 1969
+38da 5 110 1969
+38df 2 156 1969
+FUNC 38e1 2a 0 __onexitinit
+FUNC 3915 7 0 __onexitinit
+38e1 3 201 1969
+38e4 d 204 1969
+38f1 11 205 1969
+3902 4 207 1969
+3906 4 212 1969
+390a 1 217 1969
+3915 3 214 1969
+3918 3 216 1969
+391b 1 217 1969
+FUNC 391c 3c 0 _onexit
+391c c 81 1969
+3928 5 84 1969
+392d 4 86 1969
+3931 c 87 1969
+393d c 89 1969
+3949 3 93 1969
+394c 6 94 1969
+3952 6 90 1969
+FUNC 3958 17 0 atexit
+3958 5 161 1969
+395d 10 162 1969
+396d 2 163 1969
+FUNC 396f 23 0 _initp_misc_cfltcvt_tab
+396f 4 54 2419
+3973 2 56 2419
+3975 1a 58 2419
+398f 3 60 2419
+FUNC 3992 5d 0 _ValidateImageBase
+3992 5 44 2079
+3997 8 50 2079
+39a9 5 50 2079
+39ae 2 52 2079
+39b0 2 68 2079
+39bc 5 55 2079
+39cb 6 56 2079
+39d1 2 58 2079
+39d3 7 62 2079
+39e4 9 62 2079
+39ed 2 68 2079
+FUNC 39ef 76 0 _FindPESection
+39ef 5 92 2079
+39f4 3 99 2079
+3a01 5 99 2079
+3a10 22 108 2079
+3a3c 7 111 2079
+3a4d 9 111 2079
+3a56 8 108 2079
+3a5e 5 123 2079
+3a63 2 124 2079
+FUNC 3a65 bc 0 _IsNonwritableInCurrentImage
+3a65 35 149 2079
+3a9a 7 156 2079
+3aa1 f 164 2079
+3ab0 2 166 2079
+3ab2 8 174 2079
+3aba e 175 2079
+3ac8 2 176 2079
+3aca 2 178 2079
+3acc 12 185 2079
+3ade 12 195 2079
+3af0 16 187 2079
+3b06 9 193 2079
+3b0f 12 195 2079
+FUNC 3b21 16c 0 __crtMessageBoxW
+3b21 12 41 1053
+3b33 14 49 1053
+3b47 4 56 1053
+3b4b c 62 1053
+3b57 d 64 1053
+3b64 2 65 1053
+3b66 6 67 1053
+3b6c 10 72 1053
+3b7c 6 76 1053
+3b82 9 78 1053
+3b8b 10 81 1053
+3b9b 10 84 1053
+3bab d 88 1053
+3bb8 8 93 1053
+3bc0 4 95 1053
+3bc4 10 97 1053
+3bd4 1a 110 1053
+3bee 3 113 1053
+3bf1 c 114 1053
+3bfd 8 116 1053
+3c05 1f 121 1053
+3c24 7 130 1053
+3c2b 2 132 1053
+3c2d a 134 1053
+3c37 3 136 1053
+3c3a 4 137 1053
+3c3e 5 139 1053
+3c43 e 143 1053
+3c51 3 145 1053
+3c54 4 146 1053
+3c58 8 148 1053
+3c60 8 155 1053
+3c68 4 156 1053
+3c6c 10 158 1053
+3c7c 2 163 1053
+3c7e f 166 1053
+FUNC 3c8d ac 0 wcscat_s
+FUNC 3d43 9 0 wcscat_s
+3c8d 6 13 2468
+3c93 2c 18 2468
+3cbf 2 46 2468
+3cc1 9 19 2468
+3cd4 5 19 2468
+3cd9 2 21 2468
+3ce5 6 23 2468
+3ceb 3 25 2468
+3cee 3 26 2468
+3cf1 2 29 2468
+3cf3 2 32 2468
+3cf5 29 35 2468
+3d1e 6 41 2468
+3d2e 3 41 2468
+3d31 8 42 2468
+3d43 9 42 2468
+FUNC 3d4c 12b 0 wcsncpy_s
+FUNC 3e81 9 0 wcsncpy_s
+3d4c 5 13 2578
+3d51 16 17 2578
+3d67 5 65 2578
+3d6c 2 66 2578
+3d6e 28 24 2578
+3d96 4 25 2578
+3d9a 2 28 2578
+3da6 3 28 2578
+3da9 2 29 2578
+3dab 9 31 2578
+3dbe 5 31 2578
+3dc3 2 33 2578
+3dc5 5 35 2578
+3dca 2b 37 2578
+3df5 2 41 2578
+3df7 2e 45 2578
+3e25 4 48 2578
+3e29 2 50 2578
+3e35 3 50 2578
+3e38 8 54 2578
+3e40 a 58 2578
+3e4a 18 59 2578
+3e6c 3 61 2578
+3e6f 8 62 2578
+3e81 9 62 2578
+FUNC 3e8a 25 0 wcslen
+3e8a 5 41 2728
+3e8f 3 42 2728
+3e9c b 44 2728
+3ea7 6 46 2728
+3ead 2 47 2728
+FUNC 3eaf 90 0 wcscpy_s
+FUNC 3f49 6 0 wcscpy_s
+3eaf 6 13 2523
+3eb5 2c 18 2523
+3ee1 2 34 2523
+3ee3 7 19 2523
+3ef4 5 19 2523
+3ef9 2b 23 2523
+3f24 6 29 2523
+3f34 3 29 2523
+3f37 8 30 2523
+3f49 6 30 2523
+FUNC 3f4f 49 0 _set_error_mode
+3f4f 5 43 1181
+3f54 11 46 1181
+3f65 5 54 1181
+3f6a 2 61 1181
+3f6c 5 50 1181
+3f71 6 51 1181
+3f77 2 61 1181
+3f79 1d 57 1181
+3f96 2 61 1181
+FUNC 3f98 f 0 __security_check_cookie
+3f98 0 52 892
+3f98 6 55 892
+3f9e 2 56 892
+3fa0 2 57 892
+3fa2 5 59 892
+FUNC 3fa7 45 0 _malloc_crt
+3fa7 7 39 333
+3fae 2 40 333
+3fb0 b 44 333
+3fbb c 45 333
+3fc7 1a 46 333
+3fe1 5 47 333
+3fe6 4 50 333
+3fea 2 51 333
+FUNC 3fec 4c 0 _calloc_crt
+3fec 7 54 333
+3ff3 2 55 333
+3ff5 12 61 333
+4007 c 62 333
+4013 1a 63 333
+402d 5 64 333
+4032 4 67 333
+4036 2 68 333
+FUNC 4038 4e 0 _realloc_crt
+4038 7 71 333
+403f 2 72 333
+4041 f 76 333
+4050 11 77 333
+4061 1a 78 333
+407b 5 79 333
+4080 4 82 333
+4084 2 83 333
+FUNC 4086 2f 0 static int CPtoLCID(int)
+4086 0 329 3326
+4086 14 330 3326
+409a 2 345 3326
+409c 1 346 3326
+409d 5 342 3326
+40a2 1 346 3326
+40a3 5 339 3326
+40a8 1 346 3326
+40a9 5 336 3326
+40ae 1 346 3326
+40af 5 333 3326
+40b4 1 346 3326
+FUNC 40b5 ab 0 static void setSBCS(struct threadmbcinfostruct *)
+FUNC 416a 9 0 static void setSBCS(struct threadmbcinfostruct *)
+40b5 6 363 3326
+40bb 11 368 3326
+40cc 36 379 3326
+4108 1 379 3326
+410f 1 379 3326
+4116 1 379 3326
+4117 12 381 3326
+4134 3 382 3326
+4141 6 382 3326
+4147 b 384 3326
+415d 3 385 3326
+416a 6 385 3326
+4170 3 386 3326
+FUNC 4173 246 0 static void setSBUpLow(struct threadmbcinfostruct *)
+4173 17 402 3326
+418a 7 412 3326
+419b 9 412 3326
+41a4 f 415 3326
+41b3 c 416 3326
+41bf 11 420 3326
+41d0 6 419 3326
+41d6 2a 421 3326
+420a a 420 3326
+4214 34 427 3326
+4248 37 432 3326
+427f 39 437 3326
+42b8 2 442 3326
+42ba d 443 3326
+42d2 5 445 3326
+42d7 9 446 3326
+42e0 5 448 3326
+42f0 5 450 3326
+42f5 7 451 3326
+430a 7 451 3326
+4311 2 453 3326
+4321 7 454 3326
+4328 5 442 3326
+432d 8 456 3326
+4335 12 472 3326
+4347 17 461 3326
+4369 5 463 3326
+436e 5 464 3326
+4373 5 466 3326
+4383 5 468 3326
+4388 3 469 3326
+4395 2 469 3326
+4397 2 471 3326
+43a3 3 472 3326
+43a6 5 460 3326
+43ab e 474 3326
+FUNC 43b9 a4 0 __updatetmbcinfo
+43b9 c 495 3326
+43c5 7 498 3326
+43cc 10 499 3326
+43dc 3 532 3326
+43df 4 535 3326
+43e3 8 537 3326
+43eb 2 540 3326
+43ed 6 541 3326
+43f3 8 500 3326
+43fb 4 502 3326
+43ff e 505 3326
+440d 17 511 3326
+4424 7 516 3326
+442b 11 523 3326
+443c 7 524 3326
+4443 11 527 3326
+4454 9 529 3326
+FUNC 445d 15d 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+445d 5 240 111
+4462 6 241 111
+4472 c 241 111
+447e 5 243 111
+448d 3 243 111
+449a 3 244 111
+44a7 2 244 111
+44b3 3 245 111
+44c0 3 245 111
+44cd 24 247 111
+44fb 2 247 111
+4507 32 248 111
+4543 3 248 111
+4550 3 249 111
+455d 6 249 111
+456d 4 251 111
+457b 4 252 111
+457f 2 255 111
+458b 2 257 111
+4597 2 257 111
+45a3 3 257 111
+45b0 3 257 111
+45b3 7 259 111
+FUNC 45ba 87 0 static int getSystemCP(int)
+FUNC 464b 9 0 static int getSystemCP(int)
+45ba 9 282 3326
+45c3 b 284 3326
+45ce 6 285 3326
+45d4 5 289 3326
+45d9 a 291 3326
+45e3 e 292 3326
+45fb 6 292 3326
+4601 5 295 3326
+4606 a 297 3326
+4610 8 298 3326
+4618 5 302 3326
+461d 1c 305 3326
+4639 8 308 3326
+464b 7 308 3326
+4652 2 309 3326
+FUNC 4654 2d2 0 _setmbcp_nolock
+4654 17 684 3326
+466b b 691 3326
+4676 9 694 3326
+467f 7 696 3326
+4686 7 697 3326
+468d 3 701 3326
+4690 2 703 3326
+4692 c 706 3326
+469e d 703 3326
+46ab 2a 741 3326
+46d5 13 749 3326
+46e8 f 754 3326
+46f7 29 759 3326
+4720 21 762 3326
+474b c 764 3326
+4757 f 710 3326
+4766 15 713 3326
+477b 2 718 3326
+4787 7 718 3326
+4798 8 721 3326
+47a0 9 722 3326
+47b4 4 722 3326
+47c2 5 722 3326
+47c7 4 721 3326
+47cb 6 718 3326
+47db 5 718 3326
+47e0 12 713 3326
+47f2 3e 729 3326
+483a 19 731 3326
+4853 7 734 3326
+485a 5 735 3326
+486a 6 765 3326
+4870 4 764 3326
+4874 17 762 3326
+488b 8 769 3326
+489d 7 770 3326
+48ae 8 773 3326
+48c0 3 773 3326
+48cd 3 776 3326
+48d0 2 778 3326
+48dc 3 780 3326
+48df f 783 3326
+48f4 1 783 3326
+48fb 1 783 3326
+4902 1 783 3326
+4903 5 787 3326
+4908 6 792 3326
+490e 6 795 3326
+4914 3 744 3326
+4917 f 800 3326
+FUNC 4926 19a 0 _setmbcp
+4926 c 572 3326
+4932 4 573 3326
+4936 a 577 3326
+4940 5 579 3326
+4945 3 580 3326
+4948 b 582 3326
+4953 9 584 3326
+495c d 590 3326
+4969 8 592 3326
+4971 c 594 3326
+497d 3 605 3326
+4980 16 610 3326
+4996 1a 612 3326
+49b0 7 613 3326
+49b7 3 617 3326
+49ba 9 618 3326
+49c3 17 620 3326
+49da 8 622 3326
+49e2 4 623 3326
+49e6 8 628 3326
+49ee 8 629 3326
+49f6 8 630 3326
+49fe a 631 3326
+4a08 d 632 3326
+4a15 3 631 3326
+4a18 c 633 3326
+4a24 a 634 3326
+4a2e 3 633 3326
+4a31 c 635 3326
+4a3d d 636 3326
+4a4a 3 635 3326
+4a4d 1c 638 3326
+4a69 7 639 3326
+4a70 6 643 3326
+4a76 3 644 3326
+4a79 e 646 3326
+4a87 9 648 3326
+4a90 2 651 3326
+4a92 5 652 3326
+4a97 8 658 3326
+4a9f 7 659 3326
+4aa6 b 660 3326
+4ab1 2 666 3326
+4ab3 4 671 3326
+4ab7 3 680 3326
+4aba 6 681 3326
+FUNC 4ac0 1e 0 __initmbctable
+4ac0 0 841 3326
+4ac0 9 851 3326
+4ac9 8 852 3326
+4ad1 a 853 3326
+4adb 2 858 3326
+4add 1 859 3326
+FUNC 4ade 70 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+FUNC 4b58 6 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+4ade 8 213 3271
+4ae6 b 214 3271
+4af1 4 219 3271
+4af5 59 222 3271
+4b58 4 222 3271
+4b5c 2 223 3271
+FUNC 4b5e 18 0 _ismbblead
+4b5e 5 171 3271
+4b63 11 172 3271
+4b74 2 173 3271
+FUNC 4b76 f8 0 __addlocaleref
+4b76 7 36 1913
+4b7d d 39 1913
+4b97 a 41 1913
+4ba1 3 42 1913
+4bb1 a 44 1913
+4bbb 3 45 1913
+4bcb a 47 1913
+4bd5 3 48 1913
+4be5 a 50 1913
+4bef 3 51 1913
+4bf2 a 53 1913
+4c06 9 55 1913
+4c19 6 55 1913
+4c1f 3 56 1913
+4c2c 6 59 1913
+4c3c 7 59 1913
+4c43 3 60 1913
+4c46 8 53 1913
+4c5b 11 63 1913
+4c6c 2 64 1913
+FUNC 4c6e 102 0 __removelocaleref
+4c6e 6 74 1913
+4c74 b 77 1913
+4c7f b 79 1913
+4c97 a 81 1913
+4ca1 3 82 1913
+4cb1 a 84 1913
+4cbb 3 85 1913
+4ccb a 87 1913
+4cd5 3 88 1913
+4ce5 a 90 1913
+4cef 3 91 1913
+4cf2 a 93 1913
+4d06 9 95 1913
+4d19 6 95 1913
+4d1f 3 96 1913
+4d2c 6 99 1913
+4d3c 7 99 1913
+4d43 3 100 1913
+4d46 8 93 1913
+4d5b 10 103 1913
+4d6b 3 106 1913
+4d6e 2 107 1913
+FUNC 4d70 293 0 __freetlocinfo
+4d70 7 129 1913
+4d77 47 137 1913
+4dc8 8 137 1913
+4ddd a 140 1913
+4df1 4 140 1913
+4df5 6 142 1913
+4e08 d 143 1913
+4e22 a 147 1913
+4e36 4 147 1913
+4e3a 6 149 1913
+4e4d d 150 1913
+4e67 b 153 1913
+4e7f d 154 1913
+4e99 e 161 1913
+4eb1 4 161 1913
+4ec2 11 163 1913
+4ee0 13 164 1913
+4f00 e 165 1913
+4f1b e 166 1913
+4f36 d 173 1913
+4f50 8 173 1913
+4f58 6 175 1913
+4f6b d 176 1913
+4f78 a 179 1913
+4f8c 19 182 1913
+4faf 4 182 1913
+4fb3 7 184 1913
+4fc4 16 192 1913
+4fe4 4 192 1913
+4fe8 7 194 1913
+4fef 8 179 1913
+4ff7 a 201 1913
+5001 2 202 1913
+FUNC 5003 6b 0 _updatetlocinfoEx_nolock
+5003 6 216 1913
+5009 e 219 1913
+5017 1 222 1913
+5022 2 222 1913
+5024 4 223 1913
+5028 1 230 1913
+5033 8 230 1913
+503b 4 236 1913
+503f 6 238 1913
+504f e 248 1913
+505d 7 249 1913
+5064 5 253 1913
+5069 3 220 1913
+506c 2 254 1913
+FUNC 506e 79 0 __updatetlocinfo
+506e c 281 1913
+507a 7 283 1913
+5081 10 285 1913
+5091 8 297 1913
+5099 4 300 1913
+509d 8 302 1913
+50a5 2 305 1913
+50a7 6 306 1913
+50ad 8 286 1913
+50b5 4 288 1913
+50b9 14 290 1913
+50cd e 292 1913
+50db 8 294 1913
+50e3 4 295 1913
+FUNC 50e7 8 0 _crt_debugger_hook
+50e7 0 62 1145
+50e7 7 65 1145
+50ee 1 66 1145
+FUNC 50ef 7a 0 memset
+50ef 0 59 2789
+50ef 4 68 2789
+50f3 4 69 2789
+50f7 2 71 2789
+50f9 2 72 2789
+50fb 2 74 2789
+50fd 4 75 2789
+5101 2 78 2789
+5103 2 79 2789
+5105 6 80 2789
+510b 2 81 2789
+510d 7 82 2789
+5114 2 83 2789
+5116 5 85 2789
+511b 1 91 2789
+511c 2 92 2789
+511e 3 94 2789
+5121 2 95 2789
+5123 2 97 2789
+5125 3 98 2789
+5128 2 99 2789
+512a 2 101 2789
+512c 2 103 2789
+512e 3 104 2789
+5131 3 105 2789
+5134 2 106 2789
+5136 2 110 2789
+5138 3 111 2789
+513b 2 113 2789
+513d 2 115 2789
+513f 3 117 2789
+5142 2 119 2789
+5144 2 122 2789
+5146 3 123 2789
+5149 3 124 2789
+514c 2 125 2789
+514e 2 127 2789
+5150 2 129 2789
+5152 2 130 2789
+5154 2 134 2789
+5156 3 135 2789
+5159 3 137 2789
+515c 2 138 2789
+515e 4 142 2789
+5162 1 143 2789
+5163 1 145 2789
+5164 4 148 2789
+5168 1 150 2789
+FUNC 5169 95 0 _aulldvrm
+5169 0 45 2806
+5169 1 48 2806
+516a 4 80 2806
+516e 2 81 2806
+5170 2 82 2806
+5172 4 83 2806
+5176 4 84 2806
+517a 2 85 2806
+517c 2 86 2806
+517e 2 87 2806
+5180 4 88 2806
+5184 2 89 2806
+5186 2 90 2806
+5188 2 95 2806
+518a 4 96 2806
+518e 2 97 2806
+5190 2 98 2806
+5192 4 99 2806
+5196 2 100 2806
+5198 2 101 2806
+519a 2 108 2806
+519c 4 109 2806
+51a0 4 110 2806
+51a4 4 111 2806
+51a8 2 113 2806
+51aa 2 114 2806
+51ac 2 115 2806
+51ae 2 116 2806
+51b0 2 117 2806
+51b2 2 118 2806
+51b4 2 119 2806
+51b6 2 120 2806
+51b8 4 129 2806
+51bc 2 130 2806
+51be 4 131 2806
+51c2 2 132 2806
+51c4 2 133 2806
+51c6 2 134 2806
+51c8 4 142 2806
+51cc 2 143 2806
+51ce 2 144 2806
+51d0 4 145 2806
+51d4 2 146 2806
+51d6 1 148 2806
+51d7 4 149 2806
+51db 4 150 2806
+51df 2 152 2806
+51e1 4 161 2806
+51e5 4 162 2806
+51e9 2 163 2806
+51eb 2 164 2806
+51ed 3 165 2806
+51f0 2 170 2806
+51f2 2 171 2806
+51f4 2 172 2806
+51f6 2 173 2806
+51f8 2 174 2806
+51fa 1 180 2806
+51fb 3 182 2806
+FUNC 51fe 20 0 _global_unwind2
+FUNC 521e 45 0 static void __unwind_handler()
+FUNC 5263 84 0 _local_unwind2
+FUNC 52e7 23 0 _abnormal_termination
+FUNC 530a 9 0 _NLG_Notify1
+FUNC 5313 1f 0 _NLG_Notify
+PUBLIC m 532a 0 _NLG_Dispatch
+FUNC 5332 3 0 _NLG_Call
+PUBLIC 5334 0 _NLG_Return2
+FUNC 5335 33 0 abort
+5335 0 54 1011
+5335 5 71 1011
+533a 4 72 1011
+533e 8 74 1011
+5346 9 81 1011
+534f 11 83 1011
+5360 8 92 1011
+FUNC 5368 361 0 memcpy
+5368 3 101 2787
+536b 1 113 2787
+536c 1 114 2787
+536d 3 116 2787
+5370 3 117 2787
+5373 3 119 2787
+5376 2 129 2787
+5378 2 131 2787
+537a 2 132 2787
+537c 2 134 2787
+537e 2 135 2787
+5380 2 137 2787
+5382 6 138 2787
+5388 6 147 2787
+538e 2 148 2787
+5390 7 150 2787
+5397 2 151 2787
+5399 1 153 2787
+539a 1 154 2787
+539b 3 155 2787
+539e 3 156 2787
+53a1 2 157 2787
+53a3 1 158 2787
+53a4 1 159 2787
+53a5 2 160 2787
+53a7 5 163 2787
+53ac 6 176 2787
+53b2 2 177 2787
+53b4 3 179 2787
+53b7 3 180 2787
+53ba 3 182 2787
+53bd 2 183 2787
+53bf 2 185 2787
+53c1 7 187 2787
+53c8 2 205 2787
+53ca 5 206 2787
+53cf 3 208 2787
+53d2 2 209 2787
+53d4 3 211 2787
+53d7 2 212 2787
+53d9 7 214 2787
+53e0 8 218 2787
+53e8 14 222 2787
+53fc 2 229 2787
+53fe 2 230 2787
+5400 2 232 2787
+5402 3 233 2787
+5405 3 235 2787
+5408 3 236 2787
+540b 3 238 2787
+540e 3 239 2787
+5411 3 241 2787
+5414 3 242 2787
+5417 3 244 2787
+541a 2 245 2787
+541c 2 247 2787
+541e a 249 2787
+5428 2 253 2787
+542a 2 254 2787
+542c 2 256 2787
+542e 3 257 2787
+5431 3 259 2787
+5434 3 260 2787
+5437 3 262 2787
+543a 3 263 2787
+543d 3 265 2787
+5440 2 266 2787
+5442 2 268 2787
+5444 8 270 2787
+544c 2 274 2787
+544e 2 275 2787
+5450 2 277 2787
+5452 3 278 2787
+5455 3 280 2787
+5458 3 281 2787
+545b 3 283 2787
+545e 2 284 2787
+5460 2 286 2787
+5462 2a 288 2787
+548c 4 295 2787
+5490 4 297 2787
+5494 4 299 2787
+5498 4 301 2787
+549c 4 303 2787
+54a0 4 305 2787
+54a4 4 307 2787
+54a8 4 309 2787
+54ac 4 311 2787
+54b0 4 313 2787
+54b4 4 315 2787
+54b8 4 317 2787
+54bc 4 319 2787
+54c0 4 321 2787
+54c4 7 323 2787
+54cb 2 325 2787
+54cd 2 326 2787
+54cf 19 328 2787
+54e8 3 337 2787
+54eb 1 338 2787
+54ec 1 339 2787
+54ed 3 341 2787
+54f0 2 345 2787
+54f2 2 347 2787
+54f4 3 348 2787
+54f7 1 349 2787
+54f8 1 350 2787
+54f9 3 351 2787
+54fc 2 355 2787
+54fe 2 357 2787
+5500 3 358 2787
+5503 3 359 2787
+5506 3 360 2787
+5509 1 361 2787
+550a 1 362 2787
+550b 5 363 2787
+5510 2 367 2787
+5512 2 369 2787
+5514 3 370 2787
+5517 3 371 2787
+551a 3 372 2787
+551d 3 373 2787
+5520 3 374 2787
+5523 1 375 2787
+5524 1 376 2787
+5525 3 377 2787
+5528 4 388 2787
+552c 4 389 2787
+5530 6 394 2787
+5536 2 395 2787
+5538 3 397 2787
+553b 3 398 2787
+553e 3 400 2787
+5541 2 401 2787
+5543 1 403 2787
+5544 2 404 2787
+5546 1 405 2787
+5547 9 407 2787
+5550 2 411 2787
+5552 a 414 2787
+555c 2 419 2787
+555e 5 420 2787
+5563 3 422 2787
+5566 2 423 2787
+5568 3 425 2787
+556b 2 426 2787
+556d 7 428 2787
+5574 14 432 2787
+5588 3 439 2787
+558b 2 440 2787
+558d 3 442 2787
+5590 3 443 2787
+5593 3 445 2787
+5596 3 446 2787
+5599 3 448 2787
+559c 2 449 2787
+559e 1 451 2787
+559f 2 452 2787
+55a1 1 453 2787
+55a2 a 455 2787
+55ac 3 459 2787
+55af 2 460 2787
+55b1 3 462 2787
+55b4 3 463 2787
+55b7 3 465 2787
+55ba 3 466 2787
+55bd 3 468 2787
+55c0 3 469 2787
+55c3 3 471 2787
+55c6 2 472 2787
+55c8 1 474 2787
+55c9 2 475 2787
+55cb 1 476 2787
+55cc 8 478 2787
+55d4 3 482 2787
+55d7 2 483 2787
+55d9 3 485 2787
+55dc 3 486 2787
+55df 3 488 2787
+55e2 3 489 2787
+55e5 3 491 2787
+55e8 3 492 2787
+55eb 3 494 2787
+55ee 3 495 2787
+55f1 3 497 2787
+55f4 6 498 2787
+55fa 1 500 2787
+55fb 2 501 2787
+55fd 1 502 2787
+55fe 2a 504 2787
+5628 4 513 2787
+562c 4 515 2787
+5630 4 517 2787
+5634 4 519 2787
+5638 4 521 2787
+563c 4 523 2787
+5640 4 525 2787
+5644 4 527 2787
+5648 4 529 2787
+564c 4 531 2787
+5650 4 533 2787
+5654 4 535 2787
+5658 4 537 2787
+565c 4 539 2787
+5660 7 541 2787
+5667 2 543 2787
+5669 2 544 2787
+566b 19 546 2787
+5684 3 555 2787
+5687 1 557 2787
+5688 1 558 2787
+5689 3 559 2787
+568c 3 563 2787
+568f 3 565 2787
+5692 3 566 2787
+5695 1 567 2787
+5696 1 568 2787
+5697 5 569 2787
+569c 3 573 2787
+569f 3 575 2787
+56a2 3 576 2787
+56a5 3 577 2787
+56a8 3 578 2787
+56ab 1 579 2787
+56ac 1 580 2787
+56ad 3 581 2787
+56b0 3 585 2787
+56b3 3 587 2787
+56b6 3 588 2787
+56b9 3 589 2787
+56bc 3 590 2787
+56bf 3 591 2787
+56c2 3 592 2787
+56c5 1 593 2787
+56c6 1 594 2787
+56c7 2 595 2787
+FUNC 56c9 2a 0 _freea
+56c9 5 235 281
+56ce 7 237 281
+56d5 3 239 281
+56e2 8 241 281
+56ea 7 243 281
+56f1 2 252 281
+FUNC 56f3 3d 0 _msize
+56f3 5 39 561
+56f8 23 43 561
+571b 2 50 561
+571d 11 46 561
+572e 2 50 561
+FUNC 5730 9 0 _fptrap
+5730 0 46 4123
+5730 8 47 4123
+5738 1 48 4123
+FUNC 5739 106 0 __report_gsfailure
+5739 b 140 1392
+5744 5 170 1392
+5749 6 171 1392
+574f 6 172 1392
+5755 6 173 1392
+575b 6 174 1392
+5761 6 175 1392
+5767 7 176 1392
+576e 7 177 1392
+5775 7 178 1392
+577c 7 179 1392
+5783 7 180 1392
+578a 7 181 1392
+5791 1 182 1392
+5792 6 183 1392
+5798 3 190 1392
+579b 5 191 1392
+57a0 3 192 1392
+57a3 5 193 1392
+57a8 3 194 1392
+57ab 5 195 1392
+57b0 6 201 1392
+57b6 a 204 1392
+57c0 a 206 1392
+57ca a 285 1392
+57d4 a 286 1392
+57de b 293 1392
+57e9 b 294 1392
+57f4 b 297 1392
+57ff 8 298 1392
+5807 8 302 1392
+580f b 304 1392
+581a 9 313 1392
+5823 8 315 1392
+582b 12 319 1392
+583d 2 320 1392
+FUNC 583f 8d 0 _calloc_impl
+FUNC 58d6 9 0 _calloc_impl
+583f 5 21 291
+5844 7 26 291
+584b 11 28 291
+5866 8 28 291
+586e 2 69 291
+5870 7 30 291
+5877 4 34 291
+587b 1 35 291
+587c 2 39 291
+587e 5 41 291
+5883 f 44 291
+5892 d 47 291
+589f b 59 291
+58aa 7 61 291
+58bb 6 62 291
+58c1 4 63 291
+58c5 7 52 291
+58d6 7 53 291
+58dd 2 69 291
+FUNC 58df bb 0 realloc
+FUNC 59a4 6 0 realloc
+58df 5 62 618
+58e4 6 67 618
+58ea 9 68 618
+58f3 3 117 618
+58f6 7 71 618
+58fd 9 73 618
+5906 5 74 618
+590b 2 109 618
+590d 4 83 618
+5911 1 84 618
+5912 14 85 618
+5926 c 94 618
+5932 b 109 618
+593d 5 81 618
+5942 7 89 618
+5949 5 90 618
+5958 6 90 618
+595e 4 91 618
+5962 2 117 618
+5964 14 111 618
+5982 2 111 618
+5984 2 112 618
+5986 14 103 618
+59a4 2 103 618
+59a6 4 105 618
+FUNC 59aa 22d 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+59aa 12 96 3447
+59bc c 101 3447
+59c8 21 102 3447
+59e9 4 106 3447
+59ed 1 107 3447
+59ee 3 109 3447
+59f1 3 113 3447
+59f4 5 133 3447
+59f9 3 134 3447
+5a06 2 134 3447
+5a12 6 134 3447
+5a18 2c 145 3447
+5a44 7 146 3447
+5a4b 5c 149 3447
+5aa7 3 150 3447
+5aaa 2 151 3447
+5aac 19 160 3447
+5ac5 1f 169 3447
+5ae4 a 172 3447
+5aee b 175 3447
+5af9 9 177 3447
+5b02 10 186 3447
+5b12 5 190 3447
+5b17 5f 196 3447
+5b76 4 197 3447
+5b7a 16 207 3447
+5b90 9 220 3447
+5b99 2 223 3447
+5b9b 17 233 3447
+5bb2 7 240 3447
+5bb9 8 242 3447
+5bc1 4 244 3447
+5bc5 12 245 3447
+FUNC 5bd7 40 0 __crtLCMapStringA
+FUNC 5c21 6 0 __crtLCMapStringA
+5bd7 8 258 3447
+5bdf b 259 3447
+5bea 2d 271 3447
+5c21 4 271 3447
+5c25 2 272 3447
+FUNC 5c27 112 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+5c27 12 63 3507
+5c39 7 67 3507
+5c40 5 83 3507
+5c45 3 84 3507
+5c52 2 84 3507
+5c5e 6 84 3507
+5c64 29 95 3507
+5c8d 7 96 3507
+5c94 52 99 3507
+5ce6 2 100 3507
+5ce8 2 101 3507
+5cea f 103 3507
+5cf9 13 111 3507
+5d0c 11 116 3507
+5d1d 6 118 3507
+5d23 4 120 3507
+5d27 12 121 3507
+FUNC 5d39 3a 0 __crtGetStringTypeA
+FUNC 5d7d 6 0 __crtGetStringTypeA
+5d39 8 133 3507
+5d41 b 134 3507
+5d4c 27 145 3507
+5d7d 4 145 3507
+5d81 2 146 3507
+FUNC 5d83 775 0 __free_lc_time
+5d83 6 228 1800
+5d89 b 229 1800
+5d9e 8 232 1800
+5db0 8 233 1800
+5dc2 8 234 1800
+5dd4 8 235 1800
+5de6 8 236 1800
+5df8 8 237 1800
+5e0a 7 238 1800
+5e1b 8 240 1800
+5e2d 8 241 1800
+5e3f 8 242 1800
+5e51 8 243 1800
+5e63 8 244 1800
+5e75 8 245 1800
+5e87 8 246 1800
+5e99 8 248 1800
+5eab b 249 1800
+5ec0 8 250 1800
+5ed2 8 251 1800
+5ee4 8 252 1800
+5ef6 8 253 1800
+5f08 8 254 1800
+5f1a 8 255 1800
+5f2c 8 256 1800
+5f3e 8 257 1800
+5f50 8 258 1800
+5f62 8 259 1800
+5f74 8 261 1800
+5f86 8 262 1800
+5f98 8 263 1800
+5faa 8 264 1800
+5fbc 8 265 1800
+5fce b 266 1800
+5fe6 b 267 1800
+5ffe b 268 1800
+6016 b 269 1800
+602e b 270 1800
+6046 b 271 1800
+605e b 272 1800
+6076 b 274 1800
+608e b 275 1800
+60a6 b 277 1800
+60be b 278 1800
+60d6 b 279 1800
+60ee b 282 1800
+6106 b 283 1800
+611e b 284 1800
+6136 b 285 1800
+614e e 286 1800
+6169 b 287 1800
+6181 b 288 1800
+6199 b 290 1800
+61b1 b 291 1800
+61c9 b 292 1800
+61e1 b 293 1800
+61f9 b 294 1800
+6211 b 295 1800
+6229 b 296 1800
+6241 b 298 1800
+6259 b 299 1800
+6271 b 300 1800
+6289 b 301 1800
+62a1 b 302 1800
+62b9 b 303 1800
+62d1 e 304 1800
+62ec b 305 1800
+6304 b 306 1800
+631c b 307 1800
+6334 b 308 1800
+634c b 309 1800
+6364 b 311 1800
+637c b 312 1800
+6394 b 313 1800
+63ac b 314 1800
+63c4 b 315 1800
+63dc b 316 1800
+63f4 b 317 1800
+640c b 318 1800
+6424 b 319 1800
+643c b 320 1800
+6454 e 321 1800
+646f b 322 1800
+6487 b 324 1800
+649f b 325 1800
+64b7 b 327 1800
+64cf b 328 1800
+64e7 f 329 1800
+64f6 2 332 1800
+FUNC 64f8 9f 0 __free_lconv_num
+64f8 6 218 1742
+64fe b 219 1742
+6513 a 222 1742
+651d 7 223 1742
+652e b 225 1742
+6539 7 226 1742
+654a b 228 1742
+6555 7 229 1742
+6566 b 231 1742
+6571 7 232 1742
+6582 b 234 1742
+658d 8 235 1742
+6595 2 236 1742
+FUNC 6597 180 0 __free_lconv_mon
+6597 6 270 1685
+659d b 271 1685
+65b2 b 274 1685
+65bd 7 275 1685
+65ce b 277 1685
+65d9 7 278 1685
+65ea b 280 1685
+65f5 7 281 1685
+6606 b 283 1685
+6611 7 284 1685
+6622 b 286 1685
+662d 7 287 1685
+663e b 289 1685
+6649 7 290 1685
+665a b 292 1685
+6665 7 293 1685
+6676 b 295 1685
+6681 7 296 1685
+6692 b 298 1685
+669d 7 299 1685
+66ae b 301 1685
+66b9 7 302 1685
+66ca b 304 1685
+66d5 7 305 1685
+66e6 b 307 1685
+66f1 7 308 1685
+6702 b 310 1685
+670d 8 311 1685
+6715 2 312 1685
+FUNC 6717 ba 0 _VEC_memzero
+FUNC 67d1 10 0 __sse2_available_init
+67d1 0 30 4315
+67d1 d 31 4315
+67de 2 32 4315
+67e0 1 33 4315
+FUNC 67e1 103 0 _VEC_memcpy
+FUNC 68e4 2c 0 _alloca_probe_16
+68e4 0 44 4274
+68e4 1 46 4274
+68e5 4 47 4274
+68e9 2 48 4274
+68eb 3 49 4274
+68ee 2 50 4274
+68f0 2 51 4274
+68f2 2 52 4274
+68f4 1 53 4274
+68f5 5 54 4274
+68fa 1 59 4274
+68fb 4 60 4274
+68ff 2 61 4274
+6901 3 62 4274
+6904 2 63 4274
+6906 2 64 4274
+6908 2 65 4274
+690a 1 66 4274
+690b 5 67 4274
+PUBLIC 68fa 0 _alloca_probe_8
+FUNC 6910 34 0 _allmul
+6910 0 47 2803
+6910 4 63 2803
+6914 4 64 2803
+6918 2 65 2803
+691a 4 66 2803
+691e 2 67 2803
+6920 4 69 2803
+6924 2 70 2803
+6926 3 72 2803
+6929 1 75 2803
+692a 2 83 2803
+692c 2 84 2803
+692e 4 86 2803
+6932 4 87 2803
+6936 2 88 2803
+6938 4 90 2803
+693c 2 91 2803
+693e 2 92 2803
+6940 1 94 2803
+6941 3 96 2803
+FUNC 6944 2b 0 _chkstk
+6944 0 65 4276
+6944 1 69 4276
+6945 4 73 4276
+6949 2 74 4276
+694b 2 79 4276
+694d 2 80 4276
+694f 2 81 4276
+6951 2 83 4276
+6953 5 84 4276
+6958 2 87 4276
+695a 2 88 4276
+695c 2 89 4276
+695e 1 90 4276
+695f 1 91 4276
+6960 2 92 4276
+6962 3 93 4276
+6965 1 94 4276
+6966 5 98 4276
+696b 2 99 4276
+696d 2 100 4276
+FUNC 696f 46 0 strcspn
+696f 4 191 2794
+6973 2 198 2794
+6975 1 199 2794
+6976 1 200 2794
+6977 1 201 2794
+6978 1 202 2794
+6979 1 203 2794
+697a 1 204 2794
+697b 1 205 2794
+697c 1 206 2794
+697d 6 212 2794
+6983 2 216 2794
+6985 2 217 2794
+6987 2 218 2794
+6989 3 219 2794
+698c 4 220 2794
+6990 2 221 2794
+6992 3 227 2794
+6995 6 229 2794
+699b 3 234 2794
+699e 2 236 2794
+69a0 2 237 2794
+69a2 2 238 2794
+69a4 3 239 2794
+69a7 4 240 2794
+69ab 2 245 2794
+69ad 2 255 2794
+69af 3 257 2794
+69b2 3 259 2794
+FUNC 69b5 40 0 strpbrk
+69b5 4 191 2794
+69b9 2 198 2794
+69bb 1 199 2794
+69bc 1 200 2794
+69bd 1 201 2794
+69be 1 202 2794
+69bf 1 203 2794
+69c0 1 204 2794
+69c1 1 205 2794
+69c2 1 206 2794
+69c3 6 212 2794
+69c9 2 216 2794
+69cb 2 217 2794
+69cd 2 218 2794
+69cf 3 219 2794
+69d2 4 220 2794
+69d6 2 221 2794
+69d8 5 227 2794
+69dd 2 236 2794
+69df 2 237 2794
+69e1 2 238 2794
+69e3 3 239 2794
+69e6 4 240 2794
+69ea 2 247 2794
+69ec 3 248 2794
+69ef 3 257 2794
+69f2 3 259 2794
+FUNC 69f5 61 0 __ascii_strnicmp
+69f5 6 69 2798
+69fb 3 75 2798
+69fe 2 76 2798
+6a00 2 77 2798
+6a02 3 79 2798
+6a05 3 80 2798
+6a08 2 82 2798
+6a0a 2 83 2798
+6a0c 5 84 2798
+6a11 2 89 2798
+6a13 2 91 2798
+6a15 2 93 2798
+6a17 2 95 2798
+6a19 2 97 2798
+6a1b 2 98 2798
+6a1d 3 100 2798
+6a20 3 101 2798
+6a23 2 103 2798
+6a25 2 104 2798
+6a27 2 106 2798
+6a29 2 107 2798
+6a2b 2 109 2798
+6a2d 2 112 2798
+6a2f 2 113 2798
+6a31 2 115 2798
+6a33 2 116 2798
+6a35 2 118 2798
+6a37 2 121 2798
+6a39 2 122 2798
+6a3b 3 124 2798
+6a3e 2 125 2798
+6a40 2 128 2798
+6a42 2 129 2798
+6a44 2 130 2798
+6a46 5 133 2798
+6a4b 2 134 2798
+6a4d 2 135 2798
+6a4f 2 138 2798
+6a51 5 140 2798
+PUBLIC 6a56 10 RtlUnwind
+STACK WIN 4 1000 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1060 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 106a 35 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 109f 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10bd 7 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10c4 6 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10d4 9 0 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10dd 7 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10e4 24 0 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1112 7 0 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1119 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1129 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1130 2c 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 115c 1a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1176 21 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 117c 17 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1197 b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11a2 29 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11cb 161 c 0 0 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 12ee 14 0 0 0 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 132c a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1336 70 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 139d 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 142e 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1433 30 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 146d 5 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 144f 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 146d 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1472 6a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14dc e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14ea 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1515 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 152d 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1536 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 153f 33 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1542 2f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1572 2e 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1578 26 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15a0 a1 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15e2 3e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15e3 3c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1641 140 c 0 c 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 176c e 0 0 c 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1781 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1797 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17ad f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 17bc f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 17cb 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17e9 26 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 180f 1c5 1b 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1825 1a8 5 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 1826 1a4 4 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 182a 19f 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 19d4 39 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1a0d 251 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1a13 236 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1c53 9 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1a3f 20a 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1c53 8 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1ab8 191 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1c53 4 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1c5e dc 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1c6d a8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1c74 a0 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1cb6 5d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1d3a d d 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d51 2d7 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2032 3 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 203f 4 0 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d44 3 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1d51 2d3 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1d51 2d2 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2043 c5 d 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 204c ba 4 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 204f b6 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2050 b4 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2108 b8 a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2111 ad 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2112 ab 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 215b 61 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 21c0 3b2 9 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21c9 3a2 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2280 2ea 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2281 2e8 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2572 30 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2575 2c b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2580 20 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 25a2 30 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25a5 2c b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 25b0 20 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 25d2 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25db 9 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25e4 34 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25e7 30 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2618 3d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2655 b4 c 0 8 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 26f1 e 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2700 8 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2709 8d 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 270c 89 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 270d 85 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2796 1a 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2799 16 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 27b0 12f c 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 28c7 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 28d3 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 28df 18f 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 28e2 18b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 28fd 16f 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2a6e 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2ae5 21 21 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2b10 299 0 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2aee 18 18 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 2b10 16c 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 2afc a a 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 2b10 16b 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 2b10 16a 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2da9 9b 17 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2dbf 83 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 2dc0 81 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2ddc 64 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 2e44 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e53 129 1a 0 c 8 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 812 - ^ = $24 $T0 816 - ^ =
+STACK WIN 4 2f7c 25 3 0 14 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2f7f 21 0 0 14 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2fa1 2d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2fce 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2fde 5e 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2fe1 4e 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2fe2 4c 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 303c 89 a 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 303f 85 7 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 3046 7d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3056 3e 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 30c5 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 30dc c2 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3195 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 319e 47 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31a7 29 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 31da 9 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 31e5 9c a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31ee 91 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 31ef 7c 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3275 9 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 330c b6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3312 9b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 33b7 9 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 331f 70 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3399 6 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3320 6f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3399 5 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3514 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3556 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3569 39 c 0 0 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3589 4 0 0 0 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 35a2 11 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 35b3 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 35d1 5 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 35d6 33 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3613 9 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 35ea 1b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 361c d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3629 1a3 c 0 4 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 378a 14 0 0 4 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 37cc f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37db f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37ea f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37f9 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3821 c0 f 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3828 b7 8 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3829 b5 7 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3830 ad 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 38e1 3 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 38e4 27 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3915 7 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 38e4 27 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3915 6 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 391c 3c c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3952 5 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3958 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 396f 23 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3972 1f 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3973 1d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3992 5d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 39ef 27 27 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3a20 7 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3a27 3e 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3a15 1 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3a20 7 7 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3a27 3c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3a20 42 7 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3a27 3a 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3a65 bc 35 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3af0 13 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3b21 16c 1e 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b37 14f 8 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 3b3e 145 1 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 3b3f 143 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3c8d a a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c97 a2 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d43 9 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c93 2c 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3c97 27 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d4c e e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d5a 11d 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3e81 9 0 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d55 17 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3d59 28 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3d5a 10 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3e8a 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3eaf a a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3eb9 86 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3f49 6 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3eb5 2c 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3eb9 27 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3f4f 49 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3f98 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3fa7 45 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fad 3d 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3fae 3b 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3fec 4c 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ff2 44 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3ff3 42 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4038 4e 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 403e 46 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 403f 44 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4086 2f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 40b5 6 6 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 40bb a5 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 416a 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 40b8 3 3 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 40bb a5 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 416a 8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 40b9 2 2 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 40bb 97 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 415d 3 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 416a 7 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4173 246 17 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4189 229 1 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 418a 225 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 43b9 a4 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 4451 b 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 445d b b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4472 148 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4466 2 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 4472 127 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 45a3 3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 45b0 6 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 45ba 9 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 45c3 7e 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 464b 9 0 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 45c3 7e 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 464b 7 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4654 2d2 1b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4667 2b8 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 466b 2b1 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 466f 2ac 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4926 19a c 0 4 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 4a87 8 0 0 4 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4ac0 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4ade 8 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4ae6 68 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b58 6 0 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b5e 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b76 f8 e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b7c f0 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4b7d ee 7 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4b84 e6 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4c6e 102 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c74 fa 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 4c80 eb 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 4c81 e9 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4d70 a a 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d87 9 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d90 273 0 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d76 4 4 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d87 9 9 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d90 271 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d77 3 3 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d87 9 9 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d90 270 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d90 26f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5003 6b 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5009 63 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5022 45 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 506e 79 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 50db 8 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 50e7 8 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5335 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 56c9 2a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56f3 3d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5730 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5739 106 b 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 583f 5 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5844 88 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 58d6 9 0 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5875 57 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 58d6 7 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 58df 5 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 58e4 b6 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 59a4 6 0 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 58f6 6c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 590b 43 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 5958 9 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 59aa 22d 1a 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5bd7 8 8 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5bdf 38 0 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5c21 6 0 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5c27 112 16 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5d39 8 8 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d41 32 0 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d7d 6 0 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d83 775 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d89 76d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 64f8 9f 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64fe 97 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6597 180 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 659d 178 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6717 ba 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 67d1 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 67e1 103 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 0 12ee 14 0 0 0 0 0 0 0 0
+STACK WIN 0 139d 9 0 0 0 0 0 0 0 0
+STACK WIN 0 13a6 88 0 0 8 0 0 0 0 0
+STACK WIN 0 176c f 0 0 0 0 0 0 0 0
+STACK WIN 0 26f1 f 0 0 0 0 0 0 0 0
+STACK WIN 0 2700 9 0 0 0 0 0 0 0 0
+STACK WIN 0 28c7 c 0 0 0 0 0 0 0 0
+STACK WIN 0 28d3 c 0 0 0 0 0 0 0 0
+STACK WIN 0 3195 9 0 0 0 0 0 0 0 0
+STACK WIN 0 3281 8b 0 0 4 0 0 0 0 0
+STACK WIN 0 33c2 90 3 0 c c 0 0 0 0
+STACK WIN 0 3452 46 0 0 10 4 0 0 0 1
+STACK WIN 0 34b4 17 4 0 0 10 0 0 0 1
+STACK WIN 0 34cb 19 0 0 0 0 0 0 0 0
+STACK WIN 0 34fd 17 1 0 8 4 0 0 0 1
+STACK WIN 0 3589 4 0 0 0 0 0 0 0 0
+STACK WIN 0 378a 15 0 0 0 0 0 0 0 0
+STACK WIN 0 3952 6 0 0 0 0 0 0 0 0
+STACK WIN 0 3af0 13 0 0 0 0 0 0 0 0
+STACK WIN 0 4451 c 0 0 0 0 0 0 0 0
+STACK WIN 0 4a87 9 0 0 0 0 0 0 0 0
+STACK WIN 0 50db 9 0 0 0 0 0 0 0 0
+STACK WIN 0 50ef 7a 0 0 c 0 0 0 0 0
+STACK WIN 0 5169 95 0 0 10 0 4 0 0 0
+STACK WIN 0 5263 84 3 0 8 c 0 0 0 0
+STACK WIN 0 52e7 23 0 0 0 0 0 0 0 0
+STACK WIN 0 5332 3 0 0 0 0 0 0 0 0
+STACK WIN 0 6910 1a 0 0 10 0 0 0 0 0
+STACK WIN 0 692a 1a 0 0 10 0 4 0 0 0
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb Binary files differnew file mode 100644 index 0000000000..b91b69becf --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.pdb diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.sym new file mode 100644 index 0000000000..410801e23e --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/omap_stretched_filled.sym @@ -0,0 +1,2945 @@ +MODULE windows x86 79B9AD4B6BDE4A5283EB6870045001E91 omap_stretched_filled.pdb
+FILE 1 c:\src\breakpad\src\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc
+FILE 2 f:\dd\public\sdk\inc\internal\pebteb.h
+FILE 3 f:\dd\public\sdk\inc\internal\ntldr.h
+FILE 4 f:\dd\public\sdk\inc\internal\ntconfig.h
+FILE 5 f:\dd\public\sdk\inc\internal\ntregapi.h
+FILE 6 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h
+FILE 7 f:\dd\public\ddk\inc\ntdef.h
+FILE 8 f:\dd\public\sdk\inc\internal\ntmmapi.h
+FILE 9 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h
+FILE 10 f:\dd\public\sdk\inc\pshpack1.h
+FILE 11 f:\dd\public\sdk\inc\internal\nxi386.h
+FILE 12 f:\dd\public\ddk\inc\poppack.h
+FILE 13 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\process.h
+FILE 14 f:\dd\public\sdk\inc\pshpack8.h
+FILE 15 f:\dd\public\ddk\inc\ntpoapi.h
+FILE 16 f:\dd\public\sdk\inc\internal\ntexapi.h
+FILE 17 f:\dd\public\sdk\inc\poppack.h
+FILE 18 f:\dd\public\ddk\inc\ntimage.h
+FILE 19 f:\dd\public\ddk\inc\pshpack4.h
+FILE 20 f:\dd\public\sdk\inc\pshpack2.h
+FILE 21 f:\dd\public\ddk\inc\ntnls.h
+FILE 22 f:\dd\public\sdk\inc\internal\ntelfapi.h
+FILE 23 f:\dd\public\sdk\inc\internal\ntpsapi.h
+FILE 24 f:\dd\public\sdk\inc\internal\nti386.h
+FILE 25 f:\dd\public\sdk\inc\specstrings.h
+FILE 26 f:\dd\public\sdk\inc\sal_supp.h
+FILE 27 f:\dd\public\sdk\inc\specstrings_supp.h
+FILE 28 f:\dd\public\sdk\inc\specstrings_strict.h
+FILE 29 f:\dd\public\sdk\inc\specstrings_undef.h
+FILE 30 f:\dd\public\sdk\inc\driverspecs.h
+FILE 31 f:\dd\public\sdk\inc\sdv_driverspecs.h
+FILE 32 f:\dd\public\sdk\inc\basetsd.h
+FILE 33 f:\dd\public\sdk\inc\internal\ntpnpapi.h
+FILE 34 f:\dd\public\sdk\inc\cfg.h
+FILE 35 f:\dd\public\sdk\inc\internal\ntxcapi.h
+FILE 36 f:\dd\public\sdk\inc\guiddef.h
+FILE 37 f:\dd\public\sdk\inc\internal\nt.h
+FILE 38 f:\dd\public\sdk\inc\ntstatus.h
+FILE 39 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h
+FILE 40 f:\dd\public\sdk\inc\internal\ntkeapi.h
+FILE 41 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h
+FILE 42 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h
+FILE 43 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\codeanalysis\sourceannotations.h
+FILE 44 f:\dd\public\sdk\inc\internal\ntobapi.h
+FILE 45 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\string.h
+FILE 46 f:\dd\public\sdk\inc\internal\ntioapi.h
+FILE 47 f:\dd\public\ddk\inc\devioctl.h
+FILE 48 f:\dd\public\sdk\inc\internal\ntseapi.h
+FILE 49 f:\dd\public\ddk\inc\mce.h
+FILE 50 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c
+FILE 51 f:\dd\public\sdk\inc\pshpack4.h
+FILE 52 f:\dd\public\devdiv\inc\ddbanned.h
+FILE 53 f:\dd\public\sdk\inc\internal\ntlpcapi.h
+FILE 54 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
+FILE 55 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
+FILE 56 f:\dd\public\sdk\inc\internal\ntiolog.h
+FILE 57 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm
+FILE 58 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc
+FILE 59 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc
+FILE 60 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc
+FILE 61 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm
+FILE 62 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm
+FILE 64 f:\dd\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm
+FILE 65 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c
+FILE 69 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c
+FILE 73 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c
+FILE 77 f:\dd\public\sdk\inc\winreg.h
+FILE 78 f:\dd\public\sdk\inc\imm.h
+FILE 79 f:\dd\public\sdk\inc\wingdi.h
+FILE 80 f:\dd\vctools\crt_bld\self_x86\crt\src\stdlib.h
+FILE 81 f:\dd\public\sdk\inc\winerror.h
+FILE 82 f:\dd\public\sdk\inc\ktmtypes.h
+FILE 84 f:\dd\vctools\crt_bld\self_x86\crt\src\stdarg.h
+FILE 85 f:\dd\public\sdk\inc\windef.h
+FILE 86 f:\dd\public\sdk\inc\winbase.h
+FILE 88 f:\dd\vctools\crt_bld\self_x86\crt\src\string.h
+FILE 89 f:\dd\public\sdk\inc\winuser.h
+FILE 91 f:\dd\public\sdk\inc\winnetwk.h
+FILE 92 f:\dd\public\sdk\inc\winnt.h
+FILE 93 f:\dd\public\sdk\inc\wnnc.h
+FILE 94 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.h
+FILE 96 f:\dd\public\sdk\inc\winnls.h
+FILE 98 f:\dd\vctools\crt_bld\self_x86\crt\src\mtdll.h
+FILE 99 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdefs.h
+FILE 100 f:\dd\vctools\crt_bld\self_x86\crt\src\sal.h
+FILE 101 f:\dd\vctools\crt_bld\self_x86\crt\src\codeanalysis\sourceannotations.h
+FILE 102 f:\dd\public\sdk\inc\winver.h
+FILE 103 f:\dd\public\sdk\inc\verrsrc.h
+FILE 104 f:\dd\public\sdk\inc\wincon.h
+FILE 105 f:\dd\public\sdk\inc\stralign.h
+FILE 107 f:\dd\public\sdk\inc\mcx.h
+FILE 108 f:\dd\vctools\crt_bld\self_x86\crt\src\atox.c
+FILE 109 f:\dd\vctools\crt_bld\self_x86\crt\src\limits.h
+FILE 110 f:\dd\public\sdk\inc\windows.h
+FILE 111 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.h
+FILE 112 f:\dd\public\sdk\inc\sdkddkver.h
+FILE 113 f:\dd\vctools\crt_bld\self_x86\crt\src\oscalls.h
+FILE 114 f:\dd\vctools\crt_bld\self_x86\crt\src\excpt.h
+FILE 120 f:\dd\public\sdk\inc\reason.h
+FILE 123 f:\dd\public\sdk\inc\kernelspecs.h
+FILE 125 f:\dd\vctools\crt_bld\self_x86\crt\src\tchar.h
+FILE 126 f:\dd\vctools\crt_bld\self_x86\crt\src\mbstring.h
+FILE 127 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.h
+FILE 128 f:\dd\public\sdk\inc\ime_cmodes.h
+FILE 130 f:\dd\vctools\crt_bld\self_x86\crt\src\vadefs.h
+FILE 131 f:\dd\vctools\crt_bld\self_x86\crt\src\cruntime.h
+FILE 132 f:\dd\public\sdk\inc\tvout.h
+FILE 145 f:\dd\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h
+FILE 152 f:\dd\vctools\crt_bld\self_x86\crt\src\internal.h
+FILE 164 f:\dd\vctools\crt_bld\self_x86\crt\src\crtdbg.h
+FILE 165 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoa.c
+FILE 178 f:\dd\vctools\crt_bld\self_x86\crt\src\xtoas.c
+FILE 182 f:\dd\vctools\crt_bld\self_x86\crt\src\errno.h
+FILE 224 f:\dd\vctools\crt_bld\self_x86\crt\src\dosmap.c
+FILE 250 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcsup.h
+FILE 251 f:\dd\vctools\crt_bld\self_x86\crt\src\rtcapi.h
+FILE 265 f:\dd\vctools\crt_bld\self_x86\crt\src\winheap.h
+FILE 281 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.h
+FILE 291 f:\dd\vctools\crt_bld\self_x86\crt\src\calloc_impl.c
+FILE 299 f:\dd\vctools\crt_bld\self_x86\crt\src\dbgint.h
+FILE 333 f:\dd\vctools\crt_bld\self_x86\crt\src\crtheap.c
+FILE 389 f:\dd\vctools\crt_bld\self_x86\crt\src\free.c
+FILE 453 f:\dd\vctools\crt_bld\self_x86\crt\src\heapinit.c
+FILE 498 f:\dd\vctools\crt_bld\self_x86\crt\src\rterr.h
+FILE 504 f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c
+FILE 561 f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c
+FILE 618 f:\dd\vctools\crt_bld\self_x86\crt\src\realloc.c
+FILE 677 f:\dd\vctools\crt_bld\self_x86\crt\src\recalloc.c
+FILE 731 f:\dd\vctools\crt_bld\self_x86\crt\src\_newmode.c
+FILE 774 f:\dd\vctools\crt_bld\self_x86\crt\src\msdos.h
+FILE 777 f:\dd\vctools\crt_bld\self_x86\crt\src\stddef.h
+FILE 792 f:\dd\vctools\crt_bld\self_x86\crt\src\ioinit.c
+FILE 844 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c
+FILE 892 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\secchk.c
+FILE 904 f:\dd\vctools\crt_bld\self_x86\crt\src\process.h
+FILE 943 f:\dd\vctools\crt_bld\self_x86\crt\src\a_env.c
+FILE 960 f:\dd\vctools\crt_bld\self_x86\crt\src\awint.h
+FILE 975 f:\dd\vctools\crt_bld\self_x86\crt\src\signal.h
+FILE 1011 f:\dd\vctools\crt_bld\self_x86\crt\src\abort.c
+FILE 1039 f:\dd\vctools\crt_bld\self_x86\crt\src\swprintf.inl
+FILE 1053 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmbox.c
+FILE 1063 f:\dd\vctools\crt_bld\self_x86\crt\src\crtmboxw.c
+FILE 1065 f:\dd\vctools\crt_bld\self_x86\crt\src\wchar.h
+FILE 1069 f:\dd\vctools\crt_bld\self_x86\crt\src\wtime.inl
+FILE 1120 f:\dd\vctools\crt_bld\self_x86\crt\src\ctype.c
+FILE 1145 f:\dd\vctools\crt_bld\self_x86\crt\src\dbghook.c
+FILE 1181 f:\dd\vctools\crt_bld\self_x86\crt\src\errmode.c
+FILE 1244 f:\dd\vctools\crt_bld\self_x86\crt\src\getqloc.c
+FILE 1288 f:\dd\vctools\crt_bld\self_x86\crt\src\locale.h
+FILE 1301 f:\dd\vctools\crt_bld\self_x86\crt\src\glstatus.c
+FILE 1344 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_cookie.c
+FILE 1392 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_report.c
+FILE 1413 f:\binaries.x86ret\inc\mm3dnow.h
+FILE 1415 f:\binaries.x86ret\inc\ammintrin.h
+FILE 1424 f:\binaries.x86ret\inc\immintrin.h
+FILE 1426 f:\binaries.x86ret\inc\wmmintrin.h
+FILE 1427 f:\binaries.x86ret\inc\nmmintrin.h
+FILE 1428 f:\binaries.x86ret\inc\smmintrin.h
+FILE 1429 f:\binaries.x86ret\inc\tmmintrin.h
+FILE 1430 f:\binaries.x86ret\inc\pmmintrin.h
+FILE 1431 f:\binaries.x86ret\inc\emmintrin.h
+FILE 1432 f:\binaries.x86ret\inc\xmmintrin.h
+FILE 1433 f:\binaries.x86ret\inc\mmintrin.h
+FILE 1455 f:\dd\vctools\crt_bld\self_x86\crt\src\gs_support.c
+FILE 1467 f:\dd\vctools\crt_bld\self_x86\crt\src\intrin.h
+FILE 1468 f:\dd\vctools\crt_bld\self_x86\crt\src\setjmp.h
+FILE 1508 f:\dd\vctools\crt_bld\self_x86\crt\src\initcoll.c
+FILE 1568 f:\dd\vctools\crt_bld\self_x86\crt\src\initctyp.c
+FILE 1627 f:\dd\vctools\crt_bld\self_x86\crt\src\inithelp.c
+FILE 1685 f:\dd\vctools\crt_bld\self_x86\crt\src\initmon.c
+FILE 1737 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsint.h
+FILE 1742 f:\dd\vctools\crt_bld\self_x86\crt\src\initnum.c
+FILE 1800 f:\dd\vctools\crt_bld\self_x86\crt\src\inittime.c
+FILE 1855 f:\dd\vctools\crt_bld\self_x86\crt\src\lconv.c
+FILE 1913 f:\dd\vctools\crt_bld\self_x86\crt\src\localref.c
+FILE 1962 f:\dd\vctools\crt_bld\self_x86\crt\src\sect_attribs.h
+FILE 1969 f:\dd\vctools\crt_bld\self_x86\crt\src\onexit.c
+FILE 1989 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata1.c
+FILE 2036 f:\dd\vctools\crt_bld\self_x86\crt\src\nlsdata2.c
+FILE 2079 f:\dd\vctools\crt_bld\self_x86\crt\src\pesect.c
+FILE 2128 f:\dd\vctools\crt_bld\self_x86\crt\src\purevirt.c
+FILE 2186 f:\dd\vctools\crt_bld\self_x86\crt\src\rand_s.c
+FILE 2250 f:\dd\vctools\crt_bld\self_x86\crt\src\setlocal.c
+FILE 2311 f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
+FILE 2314 f:\dd\vctools\crt_bld\self_x86\crt\src\float.h
+FILE 2315 f:\dd\vctools\crt_bld\self_x86\crt\src\crtwrn.h
+FILE 2369 f:\dd\vctools\crt_bld\self_x86\crt\src\winxfltr.c
+FILE 2394 f:\dd\vctools\crt_bld\self_x86\crt\src\fltintrn.h
+FILE 2419 f:\dd\vctools\crt_bld\self_x86\crt\src\cmiscdat.c
+FILE 2445 f:\dd\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c
+FILE 2468 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl
+FILE 2493 f:\dd\vctools\crt_bld\self_x86\crt\src\strcat_s.c
+FILE 2523 f:\dd\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl
+FILE 2548 f:\dd\vctools\crt_bld\self_x86\crt\src\strcpy_s.c
+FILE 2578 f:\dd\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl
+FILE 2603 f:\dd\vctools\crt_bld\self_x86\crt\src\strncpy_s.c
+FILE 2658 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscat_s.c
+FILE 2713 f:\dd\vctools\crt_bld\self_x86\crt\src\wcscpy_s.c
+FILE 2728 f:\dd\vctools\crt_bld\self_x86\crt\src\wcslen.c
+FILE 2776 f:\dd\vctools\crt_bld\self_x86\crt\src\wcsncpy_s.c
+FILE 2787 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
+FILE 2788 f:\dd\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc
+FILE 2789 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memset.asm
+FILE 2791 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcmp.asm
+FILE 2793 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strcspn.asm
+FILE 2794 f:\dd\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM
+FILE 2796 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strlen.asm
+FILE 2798 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\_strnicm.asm
+FILE 2800 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\strpbrk.asm
+FILE 2803 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\llmul.asm
+FILE 2805 f:\dd\vctools\crt_bld\SELF_X86\crt\src\mm.inc
+FILE 2806 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\ulldvrm.asm
+FILE 2820 f:\dd\vctools\crt_bld\self_x86\crt\src\handler.cpp
+FILE 2841 f:\dd\vctools\crt_bld\self_x86\crt\src\new.h
+FILE 2875 f:\dd\vctools\crt_bld\self_x86\crt\src\delete.cpp
+FILE 2931 f:\dd\vctools\crt_bld\self_x86\crt\src\_wctype.c
+FILE 2987 f:\dd\vctools\crt_bld\self_x86\crt\src\iswctype.c
+FILE 2998 f:\dd\vctools\crt_bld\self_x86\crt\src\stdio.h
+FILE 3045 f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
+FILE 3106 f:\dd\vctools\crt_bld\self_x86\crt\src\strtol.c
+FILE 3163 f:\dd\vctools\crt_bld\self_x86\crt\src\strtoq.c
+FILE 3218 f:\dd\vctools\crt_bld\self_x86\crt\src\tolower.c
+FILE 3271 f:\dd\vctools\crt_bld\self_x86\crt\src\ismbbyte.c
+FILE 3305 f:\dd\vctools\crt_bld\self_x86\crt\src\mbdata.h
+FILE 3326 f:\dd\vctools\crt_bld\self_x86\crt\src\mbctype.c
+FILE 3386 f:\dd\vctools\crt_bld\self_x86\crt\src\a_loc.c
+FILE 3447 f:\dd\vctools\crt_bld\self_x86\crt\src\a_map.c
+FILE 3507 f:\dd\vctools\crt_bld\self_x86\crt\src\a_str.c
+FILE 3583 f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c
+FILE 3626 f:\dd\vctools\crt_bld\self_x86\crt\src\stricmp.c
+FILE 3682 f:\dd\vctools\crt_bld\self_x86\crt\src\strnicmp.c
+FILE 3774 f:\dd\vctools\crt_bld\self_x86\crt\src\tidtable.c
+FILE 3778 f:\dd\vctools\crt_bld\self_x86\crt\src\memory.h
+FILE 3838 f:\dd\vctools\crt_bld\self_x86\crt\src\stdenvp.c
+FILE 3860 f:\dd\vctools\crt_bld\self_x86\crt\src\dos.h
+FILE 3891 f:\dd\vctools\crt_bld\self_x86\crt\src\stdargv.c
+FILE 3954 f:\dd\vctools\crt_bld\self_x86\crt\src\mlock.c
+FILE 3998 f:\dd\vctools\crt_bld\self_x86\crt\src\cmsgs.h
+FILE 4012 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0msg.c
+FILE 4072 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0init.c
+FILE 4123 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0fp.c
+FILE 4186 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c
+FILE 4250 f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c
+FILE 4274 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\alloca16.asm
+FILE 4276 f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\chkstk.asm
+FILE 4289 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h
+FILE 4293 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h
+FILE 4294 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h
+FILE 4295 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h
+FILE 4309 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h
+FILE 4315 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c
+FILE 4327 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h
+FILE 4340 f:\dd\vctools\langapi\undname\undname.cxx
+FILE 4345 f:\dd\vctools\langapi\undname\undname.inl
+FILE 4347 f:\dd\vctools\langapi\undname\utf8.h
+FILE 4355 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl
+FILE 4365 f:\dd\vctools\langapi\undname\undname.hxx
+FILE 4366 f:\dd\vctools\langapi\undname\undname.h
+FILE 4367 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h
+FILE 4368 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h
+FILE 4396 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h
+FILE 4397 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp
+FILE 4401 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h
+FILE 4405 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h
+FILE 4427 f:\dd\vctools\langapi\include\ehdata.h
+FILE 4429 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h
+FILE 4449 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception
+FILE 4472 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h
+FILE 4473 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp
+FILE 4475 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef
+FILE 4487 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h
+FILE 4488 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo
+FILE 4490 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef
+FILE 4491 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h
+FILE 4492 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h
+FILE 4493 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h
+FILE 4496 f:\dd\public\internal\vctools\include\undname.h
+FILE 4531 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp
+FILE 4591 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp
+FILE 4643 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp
+FILE 4664 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h
+FILE 4680 f:\dd\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h
+FUNC 1000 54 0 main
+1000 6 57 1
+1006 8 58 1
+100e e 59 1
+101c 8 60 1
+1024 b 61 1
+102f f 62 1
+103e 12 64 1
+1050 4 65 1
+FUNC 1060 a 0 static int google_breakpad::i()
+1060 3 51 1
+1063 5 52 1
+1068 2 53 1
+FUNC 106a 35 0 google_breakpad::C::C()
+106a 35 37 1
+FUNC 109f 1e 0 google_breakpad::C::~C()
+109f 1e 38 1
+FUNC 10bd 20 0 google_breakpad::C::set_member(int)
+10bd 20 40 1
+FUNC 10dd 3c 0 google_breakpad::C::f()
+10dd 3c 43 1
+FUNC 1119 10 0 google_breakpad::C::g()
+1119 10 44 1
+FUNC 1129 7 0 google_breakpad::C::h(google_breakpad::C const &)
+1129 7 45 1
+FUNC 1130 2c 0 google_breakpad::C::`scalar deleting destructor'(unsigned int)
+FUNC 115c 1a 0 type_info::~type_info()
+115c 2 49 4531
+115e 17 50 4531
+1175 1 51 4531
+FUNC 1176 21 0 type_info::`scalar deleting destructor'(unsigned int)
+FUNC 1197 b 0 operator delete(void *)
+1197 5 20 2875
+119c 1 24 2875
+119d 5 23 2875
+FUNC 11a2 29 0 static void fast_error_exit(int)
+11a2 5 326 4250
+11a7 9 335 4250
+11b0 5 337 4250
+11b5 8 339 4250
+11bd c 340 4250
+11c9 2 341 4250
+FUNC 11cb 161 0 static int __tmainCRTStartup()
+11cb c 196 4250
+11d7 a 214 4250
+11e1 b 216 4250
+11ec 49 223 4250
+1235 9 225 4250
+123e 8 226 4250
+1246 9 228 4250
+124f 8 229 4250
+1257 5 238 4250
+125c 3 246 4250
+125f 9 248 4250
+1268 8 249 4250
+1270 b 252 4250
+127b a 255 4250
+1285 9 257 4250
+128e 8 258 4250
+1296 9 259 4250
+129f 8 260 4250
+12a7 8 262 4250
+12af 4 263 4250
+12b3 7 264 4250
+12ba a 277 4250
+12c4 18 278 4250
+12dc 5 281 4250
+12e1 6 282 4250
+12e7 5 284 4250
+12ec 2 286 4250
+12ee 17 287 4250
+1305 6 293 4250
+130b 6 295 4250
+1311 6 296 4250
+1317 5 298 4250
+131c 7 300 4250
+1323 3 302 4250
+1326 6 303 4250
+FUNC 132c a 0 mainCRTStartup
+132c 0 179 4250
+132c 5 186 4250
+1331 5 188 4250
+FUNC 1336 70 0 type_info::_Type_info_dtor(type_info *)
+1336 c 62 4473
+1342 8 63 4473
+134a 4 64 4473
+134e a 65 4473
+1358 d 70 4473
+1365 4 72 4473
+1369 4 74 4473
+136d 6 79 4473
+1373 7 80 4473
+137a 9 94 4473
+1383 4 101 4473
+1387 c 103 4473
+1393 6 107 4473
+1399 2 83 4473
+139b 2 72 4473
+139d 9 104 4473
+FUNC 13a6 88 0 strcmp
+13a6 0 65 2791
+13a6 4 73 2791
+13aa 4 74 2791
+13ae 6 76 2791
+13b4 2 77 2791
+13b6 2 81 2791
+13b8 2 83 2791
+13ba 2 84 2791
+13bc 2 85 2791
+13be 2 86 2791
+13c0 3 87 2791
+13c3 2 88 2791
+13c5 2 89 2791
+13c7 2 90 2791
+13c9 3 92 2791
+13cc 3 94 2791
+13cf 2 95 2791
+13d1 2 96 2791
+13d3 2 97 2791
+13d5 3 98 2791
+13d8 2 99 2791
+13da 3 100 2791
+13dd 3 101 2791
+13e0 2 102 2791
+13e2 4 103 2791
+13e6 2 107 2791
+13e8 2 108 2791
+13ea 2 115 2791
+13ec 2 116 2791
+13ee 3 117 2791
+13f1 1 118 2791
+13f2 6 122 2791
+13f8 2 123 2791
+13fa 2 125 2791
+13fc 3 126 2791
+13ff 2 127 2791
+1401 2 128 2791
+1403 3 129 2791
+1406 2 130 2791
+1408 2 131 2791
+140a 6 133 2791
+1410 2 134 2791
+1412 3 139 2791
+1415 3 140 2791
+1418 2 141 2791
+141a 2 142 2791
+141c 2 143 2791
+141e 2 144 2791
+1420 3 145 2791
+1423 2 146 2791
+1425 2 147 2791
+1427 2 148 2791
+1429 3 149 2791
+142c 2 150 2791
+FUNC 142e 44 0 free
+142e 5 40 389
+1433 6 45 389
+1439 11 50 389
+144a 4 51 389
+144e 22 53 389
+1470 2 55 389
+FUNC 1472 6a 0 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
+1472 5 67 4397
+1477 5a 68 4397
+14d1 5 69 4397
+14d6 2 72 4397
+14d8 4 73 4397
+FUNC 14dc e 0 __CxxSetUnhandledExceptionFilter
+14dc 0 86 4397
+14dc b 89 4397
+14e7 2 90 4397
+14e9 1 91 4397
+FUNC 14ea 2b 0 __crtCorExitProcess
+14ea 5 675 4186
+14ef b 679 4186
+14fa 4 680 4186
+14fe c 681 4186
+150a 4 682 4186
+150e 5 683 4186
+1513 2 693 4186
+FUNC 1515 18 0 __crtExitProcess
+1515 5 698 4186
+151a 9 699 4186
+1523 a 708 4186
+FUNC 152d 9 0 _lockexit
+152d 0 758 4186
+152d 8 759 4186
+1535 1 760 4186
+FUNC 1536 9 0 _unlockexit
+1536 0 784 4186
+1536 8 785 4186
+153e 1 786 4186
+FUNC 153f 33 0 _init_pointers
+153f 3 809 4186
+1542 7 810 4186
+1549 6 812 4186
+154f 6 813 4186
+1555 6 814 4186
+155b 6 815 4186
+1561 6 816 4186
+1567 a 817 4186
+1571 1 818 4186
+FUNC 1572 2e 0 _initterm_e
+1572 6 908 4186
+1578 b 917 4186
+1583 10 922 4186
+1593 2 923 4186
+1595 3 924 4186
+1598 6 917 4186
+159e 2 928 4186
+FUNC 15a0 a1 0 _cinit
+15a0 5 258 4186
+15a5 18 268 4186
+15bd a 270 4186
+15c7 5 272 4186
+15cc 11 278 4186
+15dd 2 279 4186
+15df 2 280 4186
+15e1 c 283 4186
+15ed 2a 288 4186
+1617 1a 301 4186
+1631 c 303 4186
+163d 2 307 4186
+163f 2 308 4186
+FUNC 1641 140 0 static void doexit(int, int, int)
+1641 c 489 4186
+164d 8 507 4186
+1655 4 508 4186
+1659 f 510 4186
+1668 5 511 4186
+166d 8 514 4186
+1675 a 516 4186
+167f 13 532 4186
+1692 4 533 4186
+1696 d 534 4186
+16a3 3 538 4186
+16a6 3 539 4186
+16a9 11 547 4186
+16ba 2 550 4186
+16bc 4 552 4186
+16c0 6 559 4186
+16c6 7 562 4186
+16cd 2 565 4186
+16cf a 567 4186
+16d9 8 568 4186
+16e1 a 570 4186
+16eb 6 573 4186
+16f1 8 574 4186
+16f9 5 576 4186
+16fe 21 582 4186
+171f 21 590 4186
+1740 c 608 4186
+174c 6 613 4186
+1752 a 617 4186
+175c 8 619 4186
+1764 8 621 4186
+176c 6 609 4186
+1772 9 610 4186
+177b 6 622 4186
+FUNC 1781 16 0 exit
+1781 5 392 4186
+1786 f 393 4186
+1795 2 394 4186
+FUNC 1797 16 0 _exit
+1797 5 400 4186
+179c f 401 4186
+17ab 2 402 4186
+FUNC 17ad f 0 _cexit
+17ad 0 407 4186
+17ad e 408 4186
+17bb 1 409 4186
+FUNC 17bc f 0 _c_exit
+17bc 0 414 4186
+17bc e 415 4186
+17ca 1 416 4186
+FUNC 17cb 1e 0 _amsg_exit
+17cb 5 439 4186
+17d0 5 440 4186
+17d5 9 441 4186
+17de b 442 4186
+FUNC 17e9 26 0 _GET_RTERRMSG
+17e9 5 165 4012
+17ee 2 168 4012
+17f0 c 169 4012
+17fc 6 168 4012
+1802 2 172 4012
+1804 2 173 4012
+1806 7 170 4012
+180d 2 173 4012
+FUNC 180f 1c5 0 _NMSG_WRITE
+180f 1b 196 4012
+182a 8 197 4012
+1832 11 199 4012
+1843 2a 226 4012
+186d c 263 4012
+1879 20 272 4012
+1899 21 275 4012
+18ba 1f 276 4012
+18d9 d 279 4012
+18e6 d 281 4012
+18f3 1d 282 4012
+1910 18 285 4012
+1928 14 286 4012
+193c 15 290 4012
+1951 a 272 4012
+195b a 228 4012
+1965 9 229 4012
+196e 2 244 4012
+1970 15 246 4012
+1985 11 248 4012
+1996 8 244 4012
+199e 27 260 4012
+19c5 f 294 4012
+FUNC 19d4 39 0 _FF_MSGBANNER
+19d4 0 134 4012
+19d4 22 138 4012
+19f6 a 140 4012
+1a00 c 141 4012
+1a0c 1 143 4012
+FUNC 1a0d 251 0 _XcptFilter
+1a0d 6 195 2369
+1a13 7 202 2369
+1a1a 8 203 2369
+1a22 48 208 2369
+1a6a 4 210 2369
+1a6e d 216 2369
+1a7b 4 223 2369
+1a7f 7 224 2369
+1a86 5 232 2369
+1a8b e 237 2369
+1a99 8 238 2369
+1aa1 3 244 2369
+1aa4 6 248 2369
+1aaa 1e 263 2369
+1ac8 16 272 2369
+1ade 3 280 2369
+1ae1 28 283 2369
+1b09 20 310 2369
+1b29 16 312 2369
+1b3f 7 314 2369
+1b46 16 316 2369
+1b5c 7 318 2369
+1b63 16 320 2369
+1b79 7 322 2369
+1b80 16 324 2369
+1b96 7 326 2369
+1b9d 13 328 2369
+1bb0 7 330 2369
+1bb7 13 332 2369
+1bca 7 334 2369
+1bd1 13 336 2369
+1be4 7 338 2369
+1beb 13 340 2369
+1bfe 7 342 2369
+1c05 11 344 2369
+1c16 12 353 2369
+1c28 d 358 2369
+1c35 2 360 2369
+1c37 e 365 2369
+1c45 4 366 2369
+1c49 e 372 2369
+1c57 5 374 2369
+1c5c 2 376 2369
+FUNC 1c5e dc 0 _setenvp
+1c5e 0 77 3838
+1c5e 9 85 3838
+1c67 6 86 3838
+1c6d 9 91 3838
+1c76 4 98 3838
+1c7a 8 99 3838
+1c82 4 110 3838
+1c86 1 111 3838
+1c87 b 112 3838
+1c92 6 108 3838
+1c98 15 117 3838
+1cad 2 118 3838
+1caf 9 121 3838
+1cb8 6 123 3838
+1cbe 9 125 3838
+1cc7 10 127 3838
+1cd7 f 133 3838
+1ce6 3 134 3838
+1ce9 7 121 3838
+1cf0 b 138 3838
+1cfb 7 139 3838
+1d02 3 142 3838
+1d05 a 149 3838
+1d0f 2 152 3838
+1d11 2 138 3838
+1d13 3 153 3838
+1d16 b 129 3838
+1d21 7 130 3838
+1d28 5 131 3838
+1d2d d 133 3838
+FUNC 1d3a 309 0 static void parse_cmdline(char *, char * *, char *, int *, int *)
+1d3a 6 221 3891
+1d40 13 229 3891
+1d53 2 232 3891
+1d55 2b 234 3891
+1d80 3 253 3891
+1d83 f 255 3891
+1d92 5 257 3891
+1d97 9 258 3891
+1da0 5 259 3891
+1da5 c 261 3891
+1db1 4 262 3891
+1db5 1c 263 3891
+1dd1 c 265 3891
+1ddd f 267 3891
+1dec c 268 3891
+1df8 6 269 3891
+1dfe 1e 270 3891
+1e1c 1 271 3891
+1e1d 22 275 3891
+1e3f 4 280 3891
+1e43 e 281 3891
+1e51 4 284 3891
+1e55 13 289 3891
+1e68 14 290 3891
+1e7c 3 291 3891
+1e7f 1 278 3891
+1e80 2 279 3891
+1e82 13 294 3891
+1e95 6 298 3891
+1e9b 13 299 3891
+1eae c 300 3891
+1eba 3 314 3891
+1ebd 4 318 3891
+1ec1 1 321 3891
+1ec2 1 322 3891
+1ec3 f 319 3891
+1ed2 f 324 3891
+1ee1 5 327 3891
+1ee6 18 328 3891
+1efe 2 329 3891
+1f00 2 330 3891
+1f02 d 332 3891
+1f0f 2 335 3891
+1f11 5 339 3891
+1f16 4 340 3891
+1f1a e 341 3891
+1f28 10 342 3891
+1f38 3 341 3891
+1f3b 2a 346 3891
+1f65 8 351 3891
+1f6d 12 353 3891
+1f7f 1f 354 3891
+1f9e c 355 3891
+1faa 1e 357 3891
+1fc8 2 358 3891
+1fca a 359 3891
+1fd4 1 360 3891
+1fd5 c 361 3891
+1fe1 f 364 3891
+1ff0 1 366 3891
+1ff1 5 375 3891
+1ff6 4 379 3891
+1ffa 11 380 3891
+200b c 381 3891
+2017 8 382 3891
+201f 9 385 3891
+2028 d 386 3891
+2035 c 387 3891
+2041 2 388 3891
+FUNC 2043 c5 0 _setargv
+2043 9 88 3891
+204c c 97 3891
+2058 5 98 3891
+205d 18 104 3891
+2075 23 120 3891
+2098 11 127 3891
+20a9 15 134 3891
+20be a 138 3891
+20c8 2 140 3891
+20ca 9 142 3891
+20d3 2 143 3891
+20d5 2 144 3891
+20d7 13 151 3891
+20ea c 156 3891
+20f6 6 160 3891
+20fc 4 175 3891
+2100 6 136 3891
+2106 2 176 3891
+FUNC 2108 b8 0 __crtGetEnvironmentStringsA
+2108 a 40 943
+2112 e 49 943
+2120 7 50 943
+2127 f 54 943
+2136 12 55 943
+2148 13 56 943
+215b 1b 70 943
+2176 12 74 943
+2188 12 88 943
+219a 9 90 943
+21a3 3 91 943
+21a6 7 94 943
+21ad 5 95 943
+21b2 7 76 943
+21b9 5 77 943
+21be 2 96 943
+FUNC 21c0 3b2 0 _ioinit
+21c0 9 111 792
+21c9 a 122 792
+21d3 13 129 792
+21e6 8 131 792
+21ee 15 137 792
+2203 3 134 792
+2206 1e 139 792
+2224 d 141 792
+2231 10 143 792
+2241 e 145 792
+224f d 146 792
+225c 25 147 792
+2281 15 155 792
+2296 c 160 792
+22a2 6 166 792
+22a8 2 167 792
+22aa e 173 792
+22b8 11 179 792
+22c9 13 185 792
+22dc 7 199 792
+22e3 1a 201 792
+22fd 3 198 792
+2300 e 203 792
+230e e 205 792
+231c e 206 792
+232a 2e 209 792
+2358 26 210 792
+237e f 179 792
+238d 2 280 792
+238f 6 191 792
+2395 a 217 792
+239f 45 230 792
+23e4 14 232 792
+23f8 1b 233 792
+2413 1c 234 792
+242f 17 237 792
+2446 d 239 792
+2453 10 217 792
+2463 2 249 792
+2465 b 251 792
+2470 16 254 792
+2486 13 302 792
+2499 e 258 792
+24a7 30 262 792
+24d7 16 273 792
+24ed 10 274 792
+24fd 5 275 792
+2502 e 276 792
+2510 13 280 792
+2523 d 282 792
+2530 2 284 792
+2532 e 293 792
+2540 10 294 792
+2550 a 249 792
+255a c 309 792
+2566 5 311 792
+256b 2 312 792
+256d 5 281 792
+FUNC 2572 30 0 _RTC_Initialize
+FUNC 25a2 30 0 _RTC_Terminate
+FUNC 25d2 9 0 _encoded_null
+25d2 0 79 3774
+25d2 8 80 3774
+25da 1 81 3774
+FUNC 25db 9 4 __crtTlsAlloc
+25db 0 95 3774
+25db 6 96 3774
+25e1 3 97 3774
+FUNC 25e4 34 0 __set_flsgetvalue
+25e4 3 143 3774
+25e7 e 145 3774
+25f5 4 146 3774
+25f9 e 148 3774
+2607 d 149 3774
+2614 3 151 3774
+2617 1 155 3774
+FUNC 2618 3d 0 _mtterm
+2618 0 329 3774
+2618 a 336 3774
+2622 f 337 3774
+2631 7 338 3774
+2638 a 342 3774
+2642 7 343 3774
+2649 7 344 3774
+2650 5 352 3774
+FUNC 2655 b4 0 _initptd
+2655 c 379 3774
+2661 b 381 3774
+266c a 384 3774
+2676 4 385 3774
+267a 6 386 3774
+2680 3 391 3774
+2683 7 395 3774
+268a 7 396 3774
+2691 7 397 3774
+2698 8 399 3774
+26a0 4 400 3774
+26a4 9 402 3774
+26ad c 404 3774
+26b9 8 411 3774
+26c1 3 412 3774
+26c4 6 413 3774
+26ca 4 421 3774
+26ce 8 422 3774
+26d6 9 423 3774
+26df c 425 3774
+26eb 6 428 3774
+26f1 6 404 3774
+26f7 9 406 3774
+2700 9 426 3774
+FUNC 2709 8d 0 _getptd_noexit
+2709 4 448 3774
+270d 6 452 3774
+2713 15 460 3774
+2728 14 472 3774
+273c 19 475 3774
+2755 a 481 3774
+275f 6 483 3774
+2765 1a 484 3774
+277f 2 486 3774
+2781 7 492 3774
+2788 2 493 3774
+278a 8 498 3774
+2792 3 500 3774
+2795 1 501 3774
+FUNC 2796 1a 0 _getptd
+2796 3 522 3774
+2799 7 523 3774
+27a0 4 524 3774
+27a4 8 525 3774
+27ac 3 527 3774
+27af 1 528 3774
+FUNC 27b0 12f 4 _freefls
+27b0 c 556 3774
+27bc b 567 3774
+27c7 7 568 3774
+27ce 7 569 3774
+27d5 7 571 3774
+27dc 7 572 3774
+27e3 7 574 3774
+27ea 7 575 3774
+27f1 7 577 3774
+27f8 7 578 3774
+27ff 7 580 3774
+2806 7 581 3774
+280d 7 583 3774
+2814 7 584 3774
+281b 7 586 3774
+2822 7 587 3774
+2829 a 589 3774
+2833 7 590 3774
+283a 8 592 3774
+2842 4 593 3774
+2846 1a 596 3774
+2860 7 597 3774
+2867 c 599 3774
+2873 8 603 3774
+287b 7 605 3774
+2882 7 606 3774
+2889 7 608 3774
+2890 15 611 3774
+28a5 7 612 3774
+28ac c 615 3774
+28b8 7 619 3774
+28bf 8 622 3774
+28c7 3 599 3774
+28ca 9 600 3774
+28d3 3 615 3774
+28d6 9 616 3774
+FUNC 28df 18f 0 _mtinit
+28df 3 203 3774
+28e2 d 211 3774
+28ef 4 212 3774
+28f3 5 213 3774
+28f8 3 214 3774
+28fb 2 300 3774
+28fd e 218 3774
+290b d 221 3774
+2918 d 224 3774
+2925 d 227 3774
+2932 2a 228 3774
+295c a 231 3774
+2966 1a 235 3774
+2980 25 244 3774
+29a5 5 249 3774
+29aa e 256 3774
+29b8 d 257 3774
+29c5 d 258 3774
+29d2 12 259 3774
+29e4 7 266 3774
+29eb 2 268 3774
+29ed 1d 274 3774
+2a0a 2 276 3774
+2a0c 29 284 3774
+2a35 a 294 3774
+2a3f 6 296 3774
+2a45 1a 297 3774
+2a5f 5 299 3774
+2a64 5 286 3774
+2a69 4 245 3774
+2a6d 1 300 3774
+FUNC 2a6e 1e 0 _heap_init
+2a6e 0 40 453
+2a6e 1d 44 453
+2a8b 1 60 453
+FUNC 2a8c 45 0 _SEH_prolog4
+FUNC 2ad1 14 0 _SEH_epilog4
+FUNC 2ae5 2c4 0 _except_handler4
+FUNC 2da9 9b 0 __security_init_cookie
+2da9 8 97 1455
+2db1 21 114 1455
+2dd2 7 116 1455
+2dd9 3 117 1455
+2ddc a 127 1455
+2de6 6 132 1455
+2dec 8 135 1455
+2df4 8 136 1455
+2dfc 8 137 1455
+2e04 a 139 1455
+2e0e 8 144 1455
+2e16 4 161 1455
+2e1a 7 163 1455
+2e21 4 166 1455
+2e25 c 168 1455
+2e31 6 172 1455
+2e37 b 173 1455
+2e42 2 175 1455
+FUNC 2e44 f 0 _initp_misc_invarg
+2e44 5 64 3583
+2e49 8 65 3583
+2e51 2 66 3583
+FUNC 2e53 129 0 _call_reportfault
+2e53 16 164 3583
+2e69 9 166 3583
+2e72 7 167 3583
+2e79 17 170 3583
+2e90 1b 172 3583
+2eab 6 179 3583
+2eb1 6 180 3583
+2eb7 6 181 3583
+2ebd 6 182 3583
+2ec3 6 183 3583
+2ec9 6 184 3583
+2ecf 7 185 3583
+2ed6 7 186 3583
+2edd 7 187 3583
+2ee4 7 188 3583
+2eeb 7 189 3583
+2ef2 7 190 3583
+2ef9 1 191 3583
+2efa 6 192 3583
+2f00 3 198 3583
+2f03 19 199 3583
+2f1c 9 201 3583
+2f25 9 240 3583
+2f2e 9 241 3583
+2f37 6 242 3583
+2f3d 6 245 3583
+2f43 a 248 3583
+2f4d d 250 3583
+2f5a d 254 3583
+2f67 7 255 3583
+2f6e e 257 3583
+FUNC 2f7c 25 0 _invoke_watson
+2f7c 3 146 3583
+2f7f 12 155 3583
+2f91 f 156 3583
+2fa0 1 157 3583
+FUNC 2fa1 2d 0 _invalid_parameter
+2fa1 5 96 3583
+2fa6 c 103 3583
+2fb2 4 104 3583
+2fb6 1 111 3583
+2fb7 2 106 3583
+2fb9 15 110 3583
+FUNC 2fce 10 0 _invalid_parameter_noinfo
+2fce 0 120 3583
+2fce f 121 3583
+2fdd 1 122 3583
+FUNC 2fde 5e 0 _mtinitlocks
+2fde 4 136 3954
+2fe2 7 143 3954
+2fe9 a 144 3954
+2ff3 13 145 3954
+3006 1e 147 3954
+3024 6 143 3954
+302a 3 156 3954
+302d 3 157 3954
+3030 c 150 3954
+FUNC 303c 89 0 _mtdeletelocks
+303c 3 187 3954
+303f d 193 3954
+304c 20 195 3954
+306c 3 199 3954
+306f 6 205 3954
+3075 e 206 3954
+3083 b 193 3954
+308e 6 214 3954
+3094 20 216 3954
+30b4 3 220 3954
+30b7 b 214 3954
+30c2 3 223 3954
+FUNC 30c5 17 0 _unlock
+30c5 5 370 3954
+30ca 10 374 3954
+30da 2 375 3954
+FUNC 30dc c2 0 _mtinitlocknum
+30dc c 258 3954
+30e8 6 260 3954
+30ee a 268 3954
+30f8 5 269 3954
+30fd 7 270 3954
+3104 c 271 3954
+3110 e 275 3954
+311e 4 276 3954
+3122 e 278 3954
+3130 b 279 3954
+313b 4 280 3954
+313f 8 283 3954
+3147 3 284 3954
+314a 4 286 3954
+314e 10 287 3954
+315e 7 288 3954
+3165 b 289 3954
+3170 3 290 3954
+3173 2 291 3954
+3175 2 292 3954
+3177 2 295 3954
+3179 7 296 3954
+3180 c 299 3954
+318c 3 303 3954
+318f 6 304 3954
+3195 9 300 3954
+FUNC 319e 47 0 _lock
+319e 5 332 3954
+31a3 1a 337 3954
+31bd b 339 3954
+31c8 8 340 3954
+31d0 13 347 3954
+31e3 2 348 3954
+FUNC 31e5 9c 0 strcpy_s
+31e5 5 13 2523
+31ea 2d 18 2523
+3217 15 19 2523
+322c 26 23 2523
+3252 4 27 2523
+3256 d 29 2523
+3263 18 30 2523
+327b 4 33 2523
+327f 2 34 2523
+FUNC 3281 8b 0 strlen
+3281 0 54 2796
+3281 4 63 2796
+3285 6 64 2796
+328b 2 65 2796
+328d 2 69 2796
+328f 3 70 2796
+3292 2 71 2796
+3294 2 72 2796
+3296 6 73 2796
+329c 2 74 2796
+329e 13 76 2796
+32b1 2 81 2796
+32b3 5 82 2796
+32b8 2 83 2796
+32ba 3 84 2796
+32bd 2 85 2796
+32bf 3 86 2796
+32c2 5 87 2796
+32c7 2 88 2796
+32c9 3 90 2796
+32cc 2 91 2796
+32ce 2 92 2796
+32d0 2 93 2796
+32d2 2 94 2796
+32d4 5 95 2796
+32d9 2 96 2796
+32db 5 97 2796
+32e0 2 98 2796
+32e2 2 99 2796
+32e4 3 103 2796
+32e7 4 104 2796
+32eb 2 105 2796
+32ed 1 106 2796
+32ee 3 108 2796
+32f1 4 109 2796
+32f5 2 110 2796
+32f7 1 111 2796
+32f8 3 113 2796
+32fb 4 114 2796
+32ff 2 115 2796
+3301 1 116 2796
+3302 3 118 2796
+3305 4 119 2796
+3309 2 120 2796
+330b 1 121 2796
+FUNC 330c b6 0 malloc
+330c 6 81 504
+3312 e 85 504
+3320 3d 89 504
+335d 4 94 504
+3361 b 98 504
+336c b 105 504
+3377 2 109 504
+3379 11 100 504
+338a 11 119 504
+339b 6 121 504
+33a1 7 111 504
+33a8 15 112 504
+33bd 3 113 504
+33c0 2 122 504
+FUNC 33c2 90 0 _local_unwind4
+FUNC 3452 46 0 static void _unwind_handler4()
+FUNC 3498 1c 4 _seh_longjmp_unwind4
+FUNC 34b4 17 0 _EH4_CallFilterFunc
+FUNC 34cb 19 0 _EH4_TransferToHandler
+FUNC 34e4 19 0 _EH4_GlobalUnwind2
+FUNC 34fd 17 8 _EH4_LocalUnwind
+FUNC 3514 42 0 _get_errno_from_oserr
+3514 5 119 224
+3519 5 123 224
+351e 9 124 224
+3527 6 123 224
+352d 8 133 224
+3535 3 134 224
+3538 2 139 224
+353a 7 125 224
+3541 2 139 224
+3543 11 135 224
+3554 2 139 224
+FUNC 3556 13 0 _errno
+3556 0 279 224
+3556 5 280 224
+355b 4 281 224
+355f 5 282 224
+3564 1 287 224
+3565 3 284 224
+3568 1 287 224
+FUNC 3569 39 0 terminate()
+3569 c 84 4591
+3575 8 89 4591
+357d 4 90 4591
+3581 4 95 4591
+3585 2 99 4591
+3587 2 100 4591
+3589 7 101 4591
+3590 7 106 4591
+3597 5 114 4591
+359c 6 115 4591
+FUNC 35a2 11 0 _initp_eh_hooks
+35a2 0 69 4591
+35a2 10 70 4591
+35b2 1 71 4591
+FUNC 35b3 1e 0 _initp_misc_winsig
+35b3 5 57 2311
+35b8 8 58 2311
+35c0 5 59 2311
+35c5 5 60 2311
+35ca 5 61 2311
+35cf 2 62 2311
+FUNC 35d1 4b 0 static struct _XCPT_ACTION * siglookup(int, struct _XCPT_ACTION *)
+35d1 5 629 2311
+35d6 a 630 2311
+35e0 1e 639 2311
+35fe 18 642 2311
+3616 2 646 2311
+3618 2 651 2311
+361a 2 652 2311
+FUNC 361c d 0 __get_sigabrt
+361c 0 669 2311
+361c c 670 2311
+3628 1 671 2311
+FUNC 3629 1a3 0 raise
+3629 c 450 2311
+3635 5 457 2311
+363a 3 458 2311
+363d 1f 460 2311
+365c a 486 2311
+3666 4 487 2311
+366a 8 488 2311
+3672 a 463 2311
+367c 2 465 2311
+367e 10 490 2311
+368e 2 491 2311
+3690 f 460 2311
+369f 12 498 2311
+36b1 a 474 2311
+36bb 2 476 2311
+36bd a 468 2311
+36c7 2 470 2311
+36c9 a 479 2311
+36d3 7 480 2311
+36da a 500 2311
+36e4 2 508 2311
+36e6 4 507 2311
+36ea 6 508 2311
+36f0 5 513 2311
+36f5 7 518 2311
+36fc 5 525 2311
+3701 7 526 2311
+3708 5 528 2311
+370d f 539 2311
+371c 6 540 2311
+3722 3 541 2311
+3725 5 547 2311
+372a 6 548 2311
+3730 7 549 2311
+3737 5 557 2311
+373c 1a 564 2311
+3756 d 567 2311
+3763 5 564 2311
+3768 7 570 2311
+376f c 573 2311
+377b 5 578 2311
+3780 8 584 2311
+3788 2 585 2311
+378a 6 573 2311
+3790 6 574 2311
+3796 9 575 2311
+379f 5 586 2311
+37a4 f 593 2311
+37b3 6 594 2311
+37b9 5 599 2311
+37be 6 600 2311
+37c4 2 603 2311
+37c6 6 604 2311
+FUNC 37cc f 0 _initp_misc_rand_s
+37cc 5 58 2186
+37d1 8 59 2186
+37d9 2 60 2186
+FUNC 37db f 0 _initp_misc_purevirt
+37db 5 179 1627
+37e0 8 180 1627
+37e8 2 181 1627
+FUNC 37ea f 0 _initp_heap_handler
+37ea 5 31 2820
+37ef 8 32 2820
+37f7 2 33 2820
+FUNC 37f9 28 0 _callnewh
+37f9 5 131 2820
+37fe c 133 2820
+380a e 135 2820
+3818 3 138 2820
+381b 2 139 2820
+381d 2 136 2820
+381f 2 139 2820
+FUNC 3821 c0 0 static * _onexit_nolock( *)
+3821 8 100 1969
+3829 f 103 1969
+3838 f 104 1969
+3847 14 108 1969
+385b 10 118 1969
+386b d 123 1969
+3878 13 125 1969
+388b 3 130 1969
+388e 13 132 1969
+38a1 3 143 1969
+38a4 f 145 1969
+38b3 1a 152 1969
+38cd 8 153 1969
+38d5 5 155 1969
+38da 5 110 1969
+38df 2 156 1969
+FUNC 38e1 3b 0 __onexitinit
+38e1 3 201 1969
+38e4 d 204 1969
+38f1 11 205 1969
+3902 4 207 1969
+3906 4 212 1969
+390a 1 217 1969
+390b d 214 1969
+3918 3 216 1969
+391b 1 217 1969
+FUNC 391c 3c 0 _onexit
+391c c 81 1969
+3928 5 84 1969
+392d 4 86 1969
+3931 c 87 1969
+393d c 89 1969
+3949 3 93 1969
+394c 6 94 1969
+3952 6 90 1969
+FUNC 3958 17 0 atexit
+3958 5 161 1969
+395d 10 162 1969
+396d 2 163 1969
+FUNC 396f 23 0 _initp_misc_cfltcvt_tab
+396f 4 54 2419
+3973 2 56 2419
+3975 1a 58 2419
+398f 3 60 2419
+FUNC 3992 5d 0 _ValidateImageBase
+3992 5 44 2079
+3997 17 50 2079
+39ae 2 52 2079
+39b0 2 68 2079
+39b2 f 55 2079
+39c1 10 56 2079
+39d1 2 58 2079
+39d3 1a 62 2079
+39ed 2 68 2079
+FUNC 39ef 76 0 _FindPESection
+39ef 5 92 2079
+39f4 12 99 2079
+3a06 2c 108 2079
+3a32 24 111 2079
+3a56 8 108 2079
+3a5e 5 123 2079
+3a63 2 124 2079
+FUNC 3a65 bc 0 _IsNonwritableInCurrentImage
+3a65 35 149 2079
+3a9a 7 156 2079
+3aa1 f 164 2079
+3ab0 2 166 2079
+3ab2 8 174 2079
+3aba e 175 2079
+3ac8 2 176 2079
+3aca 2 178 2079
+3acc 12 185 2079
+3ade 12 195 2079
+3af0 16 187 2079
+3b06 9 193 2079
+3b0f 12 195 2079
+FUNC 3b21 16c 0 __crtMessageBoxW
+3b21 12 41 1053
+3b33 14 49 1053
+3b47 4 56 1053
+3b4b c 62 1053
+3b57 d 64 1053
+3b64 2 65 1053
+3b66 6 67 1053
+3b6c 10 72 1053
+3b7c 6 76 1053
+3b82 9 78 1053
+3b8b 10 81 1053
+3b9b 10 84 1053
+3bab d 88 1053
+3bb8 8 93 1053
+3bc0 4 95 1053
+3bc4 10 97 1053
+3bd4 1a 110 1053
+3bee 3 113 1053
+3bf1 c 114 1053
+3bfd 8 116 1053
+3c05 1f 121 1053
+3c24 7 130 1053
+3c2b 2 132 1053
+3c2d a 134 1053
+3c37 3 136 1053
+3c3a 4 137 1053
+3c3e 5 139 1053
+3c43 e 143 1053
+3c51 3 145 1053
+3c54 4 146 1053
+3c58 8 148 1053
+3c60 8 155 1053
+3c68 4 156 1053
+3c6c 10 158 1053
+3c7c 2 163 1053
+3c7e f 166 1053
+FUNC 3c8d bf 0 wcscat_s
+3c8d 6 13 2468
+3c93 2c 18 2468
+3cbf 2 46 2468
+3cc1 18 19 2468
+3cd9 2 21 2468
+3cdb 10 23 2468
+3ceb 3 25 2468
+3cee 3 26 2468
+3cf1 2 29 2468
+3cf3 2 32 2468
+3cf5 29 35 2468
+3d1e 13 41 2468
+3d31 1b 42 2468
+FUNC 3d4c 13e 0 wcsncpy_s
+3d4c 5 13 2578
+3d51 16 17 2578
+3d67 5 65 2578
+3d6c 2 66 2578
+3d6e 28 24 2578
+3d96 4 25 2578
+3d9a f 28 2578
+3da9 2 29 2578
+3dab 18 31 2578
+3dc3 2 33 2578
+3dc5 5 35 2578
+3dca 2b 37 2578
+3df5 2 41 2578
+3df7 2e 45 2578
+3e25 4 48 2578
+3e29 f 50 2578
+3e38 8 54 2578
+3e40 a 58 2578
+3e4a 18 59 2578
+3e62 d 61 2578
+3e6f 1b 62 2578
+FUNC 3e8a 25 0 wcslen
+3e8a 5 41 2728
+3e8f 3 42 2728
+3e92 15 44 2728
+3ea7 6 46 2728
+3ead 2 47 2728
+FUNC 3eaf a0 0 wcscpy_s
+3eaf 6 13 2523
+3eb5 2c 18 2523
+3ee1 2 34 2523
+3ee3 16 19 2523
+3ef9 2b 23 2523
+3f24 13 29 2523
+3f37 18 30 2523
+FUNC 3f4f 49 0 _set_error_mode
+3f4f 5 43 1181
+3f54 11 46 1181
+3f65 5 54 1181
+3f6a 2 61 1181
+3f6c 5 50 1181
+3f71 6 51 1181
+3f77 2 61 1181
+3f79 1d 57 1181
+3f96 2 61 1181
+FUNC 3f98 f 0 __security_check_cookie
+3f98 0 52 892
+3f98 6 55 892
+3f9e 2 56 892
+3fa0 2 57 892
+3fa2 5 59 892
+FUNC 3fa7 45 0 _malloc_crt
+3fa7 7 39 333
+3fae 2 40 333
+3fb0 b 44 333
+3fbb c 45 333
+3fc7 1a 46 333
+3fe1 5 47 333
+3fe6 4 50 333
+3fea 2 51 333
+FUNC 3fec 4c 0 _calloc_crt
+3fec 7 54 333
+3ff3 2 55 333
+3ff5 12 61 333
+4007 c 62 333
+4013 1a 63 333
+402d 5 64 333
+4032 4 67 333
+4036 2 68 333
+FUNC 4038 4e 0 _realloc_crt
+4038 7 71 333
+403f 2 72 333
+4041 f 76 333
+4050 11 77 333
+4061 1a 78 333
+407b 5 79 333
+4080 4 82 333
+4084 2 83 333
+FUNC 4086 2f 0 static int CPtoLCID(int)
+4086 0 329 3326
+4086 14 330 3326
+409a 2 345 3326
+409c 1 346 3326
+409d 5 342 3326
+40a2 1 346 3326
+40a3 5 339 3326
+40a8 1 346 3326
+40a9 5 336 3326
+40ae 1 346 3326
+40af 5 333 3326
+40b4 1 346 3326
+FUNC 40b5 be 0 static void setSBCS(struct threadmbcinfostruct *)
+40b5 6 363 3326
+40bb 11 368 3326
+40cc 4b 379 3326
+4117 12 381 3326
+4129 1e 382 3326
+4147 b 384 3326
+4152 1e 385 3326
+4170 3 386 3326
+FUNC 4173 246 0 static void setSBUpLow(struct threadmbcinfostruct *)
+4173 17 402 3326
+418a 1a 412 3326
+41a4 f 415 3326
+41b3 c 416 3326
+41bf 11 420 3326
+41d0 6 419 3326
+41d6 2a 421 3326
+4200 14 420 3326
+4214 34 427 3326
+4248 37 432 3326
+427f 39 437 3326
+42b8 2 442 3326
+42ba d 443 3326
+42c7 10 445 3326
+42d7 9 446 3326
+42e0 5 448 3326
+42e5 10 450 3326
+42f5 1c 451 3326
+4311 2 453 3326
+4313 15 454 3326
+4328 5 442 3326
+432d 8 456 3326
+4335 12 472 3326
+4347 17 461 3326
+435e 10 463 3326
+436e 5 464 3326
+4373 5 466 3326
+4378 10 468 3326
+4388 f 469 3326
+4397 2 471 3326
+4399 d 472 3326
+43a6 5 460 3326
+43ab e 474 3326
+FUNC 43b9 a4 0 __updatetmbcinfo
+43b9 c 495 3326
+43c5 7 498 3326
+43cc 10 499 3326
+43dc 3 532 3326
+43df 4 535 3326
+43e3 8 537 3326
+43eb 2 540 3326
+43ed 6 541 3326
+43f3 8 500 3326
+43fb 4 502 3326
+43ff e 505 3326
+440d 17 511 3326
+4424 7 516 3326
+442b 11 523 3326
+443c 7 524 3326
+4443 11 527 3326
+4454 9 529 3326
+FUNC 445d 15d 0 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)
+445d 5 240 111
+4462 1c 241 111
+447e 12 243 111
+4490 19 244 111
+44a9 1a 245 111
+44c3 3a 247 111
+44fd 49 248 111
+4546 1d 249 111
+4563 e 251 111
+4571 e 252 111
+457f 2 255 111
+4581 32 257 111
+45b3 7 259 111
+FUNC 45ba 9a 0 static int getSystemCP(int)
+45ba 9 282 3326
+45c3 b 284 3326
+45ce 6 285 3326
+45d4 5 289 3326
+45d9 a 291 3326
+45e3 1e 292 3326
+4601 5 295 3326
+4606 a 297 3326
+4610 8 298 3326
+4618 5 302 3326
+461d 1c 305 3326
+4639 19 308 3326
+4652 2 309 3326
+FUNC 4654 2d2 0 _setmbcp_nolock
+4654 17 684 3326
+466b b 691 3326
+4676 9 694 3326
+467f 7 696 3326
+4686 7 697 3326
+468d 3 701 3326
+4690 2 703 3326
+4692 c 706 3326
+469e d 703 3326
+46ab 2a 741 3326
+46d5 13 749 3326
+46e8 f 754 3326
+46f7 29 759 3326
+4720 21 762 3326
+4741 16 764 3326
+4757 f 710 3326
+4766 15 713 3326
+477b 13 718 3326
+478e 12 721 3326
+47a0 27 722 3326
+47c7 4 721 3326
+47cb 15 718 3326
+47e0 12 713 3326
+47f2 3e 729 3326
+4830 23 731 3326
+4853 7 734 3326
+485a 5 735 3326
+485f 11 765 3326
+4870 4 764 3326
+4874 17 762 3326
+488b 8 769 3326
+4893 11 770 3326
+48a4 1f 773 3326
+48c3 d 776 3326
+48d0 2 778 3326
+48d2 d 780 3326
+48df 24 783 3326
+4903 5 787 3326
+4908 6 792 3326
+490e 6 795 3326
+4914 3 744 3326
+4917 f 800 3326
+FUNC 4926 19a 0 _setmbcp
+4926 c 572 3326
+4932 4 573 3326
+4936 a 577 3326
+4940 5 579 3326
+4945 3 580 3326
+4948 b 582 3326
+4953 9 584 3326
+495c d 590 3326
+4969 8 592 3326
+4971 c 594 3326
+497d 3 605 3326
+4980 16 610 3326
+4996 1a 612 3326
+49b0 7 613 3326
+49b7 3 617 3326
+49ba 9 618 3326
+49c3 17 620 3326
+49da 8 622 3326
+49e2 4 623 3326
+49e6 8 628 3326
+49ee 8 629 3326
+49f6 8 630 3326
+49fe a 631 3326
+4a08 d 632 3326
+4a15 3 631 3326
+4a18 c 633 3326
+4a24 a 634 3326
+4a2e 3 633 3326
+4a31 c 635 3326
+4a3d d 636 3326
+4a4a 3 635 3326
+4a4d 1c 638 3326
+4a69 7 639 3326
+4a70 6 643 3326
+4a76 3 644 3326
+4a79 e 646 3326
+4a87 9 648 3326
+4a90 2 651 3326
+4a92 5 652 3326
+4a97 8 658 3326
+4a9f 7 659 3326
+4aa6 b 660 3326
+4ab1 2 666 3326
+4ab3 4 671 3326
+4ab7 3 680 3326
+4aba 6 681 3326
+FUNC 4ac0 1e 0 __initmbctable
+4ac0 0 841 3326
+4ac0 9 851 3326
+4ac9 8 852 3326
+4ad1 a 853 3326
+4adb 2 858 3326
+4add 1 859 3326
+FUNC 4ade 80 0 static int x_ismbbtype_l(struct localeinfo_struct *, unsigned int, int, int)
+4ade 8 213 3271
+4ae6 b 214 3271
+4af1 4 219 3271
+4af5 67 222 3271
+4b5c 2 223 3271
+FUNC 4b5e 18 0 _ismbblead
+4b5e 5 171 3271
+4b63 11 172 3271
+4b74 2 173 3271
+FUNC 4b76 f8 0 __addlocaleref
+4b76 7 36 1913
+4b7d d 39 1913
+4b8a 17 41 1913
+4ba1 3 42 1913
+4ba4 17 44 1913
+4bbb 3 45 1913
+4bbe 17 47 1913
+4bd5 3 48 1913
+4bd8 17 50 1913
+4bef 3 51 1913
+4bf2 a 53 1913
+4bfc 23 55 1913
+4c1f 3 56 1913
+4c22 21 59 1913
+4c43 3 60 1913
+4c46 8 53 1913
+4c4e 1e 63 1913
+4c6c 2 64 1913
+FUNC 4c6e 102 0 __removelocaleref
+4c6e 6 74 1913
+4c74 b 77 1913
+4c7f b 79 1913
+4c8a 17 81 1913
+4ca1 3 82 1913
+4ca4 17 84 1913
+4cbb 3 85 1913
+4cbe 17 87 1913
+4cd5 3 88 1913
+4cd8 17 90 1913
+4cef 3 91 1913
+4cf2 a 93 1913
+4cfc 23 95 1913
+4d1f 3 96 1913
+4d22 21 99 1913
+4d43 3 100 1913
+4d46 8 93 1913
+4d4e 1d 103 1913
+4d6b 3 106 1913
+4d6e 2 107 1913
+FUNC 4d70 293 0 __freetlocinfo
+4d70 7 129 1913
+4d77 59 137 1913
+4dd0 25 140 1913
+4df5 6 142 1913
+4dfb 1a 143 1913
+4e15 25 147 1913
+4e3a 6 149 1913
+4e40 1a 150 1913
+4e5a 18 153 1913
+4e72 1a 154 1913
+4e8c 29 161 1913
+4eb5 1e 163 1913
+4ed3 20 164 1913
+4ef3 1b 165 1913
+4f0e 1b 166 1913
+4f29 2f 173 1913
+4f58 6 175 1913
+4f5e 1a 176 1913
+4f78 a 179 1913
+4f82 31 182 1913
+4fb3 7 184 1913
+4fba 2e 192 1913
+4fe8 7 194 1913
+4fef 8 179 1913
+4ff7 a 201 1913
+5001 2 202 1913
+FUNC 5003 6b 0 _updatetlocinfoEx_nolock
+5003 6 216 1913
+5009 e 219 1913
+5017 d 222 1913
+5024 4 223 1913
+5028 13 230 1913
+503b 4 236 1913
+503f 6 238 1913
+5045 18 248 1913
+505d 7 249 1913
+5064 5 253 1913
+5069 3 220 1913
+506c 2 254 1913
+FUNC 506e 79 0 __updatetlocinfo
+506e c 281 1913
+507a 7 283 1913
+5081 10 285 1913
+5091 8 297 1913
+5099 4 300 1913
+509d 8 302 1913
+50a5 2 305 1913
+50a7 6 306 1913
+50ad 8 286 1913
+50b5 4 288 1913
+50b9 14 290 1913
+50cd e 292 1913
+50db 8 294 1913
+50e3 4 295 1913
+FUNC 50e7 8 0 _crt_debugger_hook
+50e7 0 62 1145
+50e7 7 65 1145
+50ee 1 66 1145
+FUNC 50ef 7a 0 memset
+50ef 0 59 2789
+50ef 4 68 2789
+50f3 4 69 2789
+50f7 2 71 2789
+50f9 2 72 2789
+50fb 2 74 2789
+50fd 4 75 2789
+5101 2 78 2789
+5103 2 79 2789
+5105 6 80 2789
+510b 2 81 2789
+510d 7 82 2789
+5114 2 83 2789
+5116 5 85 2789
+511b 1 91 2789
+511c 2 92 2789
+511e 3 94 2789
+5121 2 95 2789
+5123 2 97 2789
+5125 3 98 2789
+5128 2 99 2789
+512a 2 101 2789
+512c 2 103 2789
+512e 3 104 2789
+5131 3 105 2789
+5134 2 106 2789
+5136 2 110 2789
+5138 3 111 2789
+513b 2 113 2789
+513d 2 115 2789
+513f 3 117 2789
+5142 2 119 2789
+5144 2 122 2789
+5146 3 123 2789
+5149 3 124 2789
+514c 2 125 2789
+514e 2 127 2789
+5150 2 129 2789
+5152 2 130 2789
+5154 2 134 2789
+5156 3 135 2789
+5159 3 137 2789
+515c 2 138 2789
+515e 4 142 2789
+5162 1 143 2789
+5163 1 145 2789
+5164 4 148 2789
+5168 1 150 2789
+FUNC 5169 95 0 _aulldvrm
+5169 0 45 2806
+5169 1 48 2806
+516a 4 80 2806
+516e 2 81 2806
+5170 2 82 2806
+5172 4 83 2806
+5176 4 84 2806
+517a 2 85 2806
+517c 2 86 2806
+517e 2 87 2806
+5180 4 88 2806
+5184 2 89 2806
+5186 2 90 2806
+5188 2 95 2806
+518a 4 96 2806
+518e 2 97 2806
+5190 2 98 2806
+5192 4 99 2806
+5196 2 100 2806
+5198 2 101 2806
+519a 2 108 2806
+519c 4 109 2806
+51a0 4 110 2806
+51a4 4 111 2806
+51a8 2 113 2806
+51aa 2 114 2806
+51ac 2 115 2806
+51ae 2 116 2806
+51b0 2 117 2806
+51b2 2 118 2806
+51b4 2 119 2806
+51b6 2 120 2806
+51b8 4 129 2806
+51bc 2 130 2806
+51be 4 131 2806
+51c2 2 132 2806
+51c4 2 133 2806
+51c6 2 134 2806
+51c8 4 142 2806
+51cc 2 143 2806
+51ce 2 144 2806
+51d0 4 145 2806
+51d4 2 146 2806
+51d6 1 148 2806
+51d7 4 149 2806
+51db 4 150 2806
+51df 2 152 2806
+51e1 4 161 2806
+51e5 4 162 2806
+51e9 2 163 2806
+51eb 2 164 2806
+51ed 3 165 2806
+51f0 2 170 2806
+51f2 2 171 2806
+51f4 2 172 2806
+51f6 2 173 2806
+51f8 2 174 2806
+51fa 1 180 2806
+51fb 3 182 2806
+FUNC 51fe 20 0 _global_unwind2
+FUNC 521e 45 0 static void __unwind_handler()
+FUNC 5263 84 0 _local_unwind2
+FUNC 52e7 23 0 _abnormal_termination
+FUNC 530a 9 0 _NLG_Notify1
+FUNC 5313 1f 0 _NLG_Notify
+PUBLIC m 532a 0 _NLG_Dispatch
+FUNC 5332 3 0 _NLG_Call
+PUBLIC 5334 0 _NLG_Return2
+FUNC 5335 33 0 abort
+5335 0 54 1011
+5335 5 71 1011
+533a 4 72 1011
+533e 8 74 1011
+5346 9 81 1011
+534f 11 83 1011
+5360 8 92 1011
+FUNC 5368 361 0 memcpy
+5368 3 101 2787
+536b 1 113 2787
+536c 1 114 2787
+536d 3 116 2787
+5370 3 117 2787
+5373 3 119 2787
+5376 2 129 2787
+5378 2 131 2787
+537a 2 132 2787
+537c 2 134 2787
+537e 2 135 2787
+5380 2 137 2787
+5382 6 138 2787
+5388 6 147 2787
+538e 2 148 2787
+5390 7 150 2787
+5397 2 151 2787
+5399 1 153 2787
+539a 1 154 2787
+539b 3 155 2787
+539e 3 156 2787
+53a1 2 157 2787
+53a3 1 158 2787
+53a4 1 159 2787
+53a5 2 160 2787
+53a7 5 163 2787
+53ac 6 176 2787
+53b2 2 177 2787
+53b4 3 179 2787
+53b7 3 180 2787
+53ba 3 182 2787
+53bd 2 183 2787
+53bf 2 185 2787
+53c1 7 187 2787
+53c8 2 205 2787
+53ca 5 206 2787
+53cf 3 208 2787
+53d2 2 209 2787
+53d4 3 211 2787
+53d7 2 212 2787
+53d9 7 214 2787
+53e0 8 218 2787
+53e8 14 222 2787
+53fc 2 229 2787
+53fe 2 230 2787
+5400 2 232 2787
+5402 3 233 2787
+5405 3 235 2787
+5408 3 236 2787
+540b 3 238 2787
+540e 3 239 2787
+5411 3 241 2787
+5414 3 242 2787
+5417 3 244 2787
+541a 2 245 2787
+541c 2 247 2787
+541e a 249 2787
+5428 2 253 2787
+542a 2 254 2787
+542c 2 256 2787
+542e 3 257 2787
+5431 3 259 2787
+5434 3 260 2787
+5437 3 262 2787
+543a 3 263 2787
+543d 3 265 2787
+5440 2 266 2787
+5442 2 268 2787
+5444 8 270 2787
+544c 2 274 2787
+544e 2 275 2787
+5450 2 277 2787
+5452 3 278 2787
+5455 3 280 2787
+5458 3 281 2787
+545b 3 283 2787
+545e 2 284 2787
+5460 2 286 2787
+5462 2a 288 2787
+548c 4 295 2787
+5490 4 297 2787
+5494 4 299 2787
+5498 4 301 2787
+549c 4 303 2787
+54a0 4 305 2787
+54a4 4 307 2787
+54a8 4 309 2787
+54ac 4 311 2787
+54b0 4 313 2787
+54b4 4 315 2787
+54b8 4 317 2787
+54bc 4 319 2787
+54c0 4 321 2787
+54c4 7 323 2787
+54cb 2 325 2787
+54cd 2 326 2787
+54cf 19 328 2787
+54e8 3 337 2787
+54eb 1 338 2787
+54ec 1 339 2787
+54ed 3 341 2787
+54f0 2 345 2787
+54f2 2 347 2787
+54f4 3 348 2787
+54f7 1 349 2787
+54f8 1 350 2787
+54f9 3 351 2787
+54fc 2 355 2787
+54fe 2 357 2787
+5500 3 358 2787
+5503 3 359 2787
+5506 3 360 2787
+5509 1 361 2787
+550a 1 362 2787
+550b 5 363 2787
+5510 2 367 2787
+5512 2 369 2787
+5514 3 370 2787
+5517 3 371 2787
+551a 3 372 2787
+551d 3 373 2787
+5520 3 374 2787
+5523 1 375 2787
+5524 1 376 2787
+5525 3 377 2787
+5528 4 388 2787
+552c 4 389 2787
+5530 6 394 2787
+5536 2 395 2787
+5538 3 397 2787
+553b 3 398 2787
+553e 3 400 2787
+5541 2 401 2787
+5543 1 403 2787
+5544 2 404 2787
+5546 1 405 2787
+5547 9 407 2787
+5550 2 411 2787
+5552 a 414 2787
+555c 2 419 2787
+555e 5 420 2787
+5563 3 422 2787
+5566 2 423 2787
+5568 3 425 2787
+556b 2 426 2787
+556d 7 428 2787
+5574 14 432 2787
+5588 3 439 2787
+558b 2 440 2787
+558d 3 442 2787
+5590 3 443 2787
+5593 3 445 2787
+5596 3 446 2787
+5599 3 448 2787
+559c 2 449 2787
+559e 1 451 2787
+559f 2 452 2787
+55a1 1 453 2787
+55a2 a 455 2787
+55ac 3 459 2787
+55af 2 460 2787
+55b1 3 462 2787
+55b4 3 463 2787
+55b7 3 465 2787
+55ba 3 466 2787
+55bd 3 468 2787
+55c0 3 469 2787
+55c3 3 471 2787
+55c6 2 472 2787
+55c8 1 474 2787
+55c9 2 475 2787
+55cb 1 476 2787
+55cc 8 478 2787
+55d4 3 482 2787
+55d7 2 483 2787
+55d9 3 485 2787
+55dc 3 486 2787
+55df 3 488 2787
+55e2 3 489 2787
+55e5 3 491 2787
+55e8 3 492 2787
+55eb 3 494 2787
+55ee 3 495 2787
+55f1 3 497 2787
+55f4 6 498 2787
+55fa 1 500 2787
+55fb 2 501 2787
+55fd 1 502 2787
+55fe 2a 504 2787
+5628 4 513 2787
+562c 4 515 2787
+5630 4 517 2787
+5634 4 519 2787
+5638 4 521 2787
+563c 4 523 2787
+5640 4 525 2787
+5644 4 527 2787
+5648 4 529 2787
+564c 4 531 2787
+5650 4 533 2787
+5654 4 535 2787
+5658 4 537 2787
+565c 4 539 2787
+5660 7 541 2787
+5667 2 543 2787
+5669 2 544 2787
+566b 19 546 2787
+5684 3 555 2787
+5687 1 557 2787
+5688 1 558 2787
+5689 3 559 2787
+568c 3 563 2787
+568f 3 565 2787
+5692 3 566 2787
+5695 1 567 2787
+5696 1 568 2787
+5697 5 569 2787
+569c 3 573 2787
+569f 3 575 2787
+56a2 3 576 2787
+56a5 3 577 2787
+56a8 3 578 2787
+56ab 1 579 2787
+56ac 1 580 2787
+56ad 3 581 2787
+56b0 3 585 2787
+56b3 3 587 2787
+56b6 3 588 2787
+56b9 3 589 2787
+56bc 3 590 2787
+56bf 3 591 2787
+56c2 3 592 2787
+56c5 1 593 2787
+56c6 1 594 2787
+56c7 2 595 2787
+FUNC 56c9 2a 0 _freea
+56c9 5 235 281
+56ce 7 237 281
+56d5 3 239 281
+56d8 12 241 281
+56ea 7 243 281
+56f1 2 252 281
+FUNC 56f3 3d 0 _msize
+56f3 5 39 561
+56f8 23 43 561
+571b 2 50 561
+571d 11 46 561
+572e 2 50 561
+FUNC 5730 9 0 _fptrap
+5730 0 46 4123
+5730 8 47 4123
+5738 1 48 4123
+FUNC 5739 106 0 __report_gsfailure
+5739 b 140 1392
+5744 5 170 1392
+5749 6 171 1392
+574f 6 172 1392
+5755 6 173 1392
+575b 6 174 1392
+5761 6 175 1392
+5767 7 176 1392
+576e 7 177 1392
+5775 7 178 1392
+577c 7 179 1392
+5783 7 180 1392
+578a 7 181 1392
+5791 1 182 1392
+5792 6 183 1392
+5798 3 190 1392
+579b 5 191 1392
+57a0 3 192 1392
+57a3 5 193 1392
+57a8 3 194 1392
+57ab 5 195 1392
+57b0 6 201 1392
+57b6 a 204 1392
+57c0 a 206 1392
+57ca a 285 1392
+57d4 a 286 1392
+57de b 293 1392
+57e9 b 294 1392
+57f4 b 297 1392
+57ff 8 298 1392
+5807 8 302 1392
+580f b 304 1392
+581a 9 313 1392
+5823 8 315 1392
+582b 12 319 1392
+583d 2 320 1392
+FUNC 583f a0 0 _calloc_impl
+583f 5 21 291
+5844 7 26 291
+584b 23 28 291
+586e 2 69 291
+5870 7 30 291
+5877 4 34 291
+587b 1 35 291
+587c 2 39 291
+587e 5 41 291
+5883 f 44 291
+5892 d 47 291
+589f b 59 291
+58aa 7 61 291
+58b1 10 62 291
+58c1 4 63 291
+58c5 7 52 291
+58cc 11 53 291
+58dd 2 69 291
+FUNC 58df cb 0 realloc
+58df 5 62 618
+58e4 6 67 618
+58ea 9 68 618
+58f3 3 117 618
+58f6 7 71 618
+58fd 9 73 618
+5906 5 74 618
+590b 2 109 618
+590d 4 83 618
+5911 1 84 618
+5912 14 85 618
+5926 c 94 618
+5932 b 109 618
+593d 5 81 618
+5942 7 89 618
+5949 15 90 618
+595e 4 91 618
+5962 2 117 618
+5964 20 111 618
+5984 2 112 618
+5986 20 103 618
+59a6 4 105 618
+FUNC 59aa 22d 0 static int __crtLCMapStringA_stat(struct localeinfo_struct *, unsigned long, unsigned long, const char *, int, char *, int, int, int)
+59aa 12 96 3447
+59bc c 101 3447
+59c8 21 102 3447
+59e9 4 106 3447
+59ed 1 107 3447
+59ee 3 109 3447
+59f1 3 113 3447
+59f4 5 133 3447
+59f9 1f 134 3447
+5a18 2c 145 3447
+5a44 7 146 3447
+5a4b 5c 149 3447
+5aa7 3 150 3447
+5aaa 2 151 3447
+5aac 19 160 3447
+5ac5 1f 169 3447
+5ae4 a 172 3447
+5aee b 175 3447
+5af9 9 177 3447
+5b02 10 186 3447
+5b12 5 190 3447
+5b17 5f 196 3447
+5b76 4 197 3447
+5b7a 16 207 3447
+5b90 9 220 3447
+5b99 2 223 3447
+5b9b 17 233 3447
+5bb2 7 240 3447
+5bb9 8 242 3447
+5bc1 4 244 3447
+5bc5 12 245 3447
+FUNC 5bd7 50 0 __crtLCMapStringA
+5bd7 8 258 3447
+5bdf b 259 3447
+5bea 3b 271 3447
+5c25 2 272 3447
+FUNC 5c27 112 0 static int __crtGetStringTypeA_stat(struct localeinfo_struct *, unsigned long, const char *, int, unsigned short *, int, int, int)
+5c27 12 63 3507
+5c39 7 67 3507
+5c40 5 83 3507
+5c45 1f 84 3507
+5c64 29 95 3507
+5c8d 7 96 3507
+5c94 52 99 3507
+5ce6 2 100 3507
+5ce8 2 101 3507
+5cea f 103 3507
+5cf9 13 111 3507
+5d0c 11 116 3507
+5d1d 6 118 3507
+5d23 4 120 3507
+5d27 12 121 3507
+FUNC 5d39 4a 0 __crtGetStringTypeA
+5d39 8 133 3507
+5d41 b 134 3507
+5d4c 35 145 3507
+5d81 2 146 3507
+FUNC 5d83 775 0 __free_lc_time
+5d83 6 228 1800
+5d89 b 229 1800
+5d94 12 232 1800
+5da6 12 233 1800
+5db8 12 234 1800
+5dca 12 235 1800
+5ddc 12 236 1800
+5dee 12 237 1800
+5e00 11 238 1800
+5e11 12 240 1800
+5e23 12 241 1800
+5e35 12 242 1800
+5e47 12 243 1800
+5e59 12 244 1800
+5e6b 12 245 1800
+5e7d 12 246 1800
+5e8f 12 248 1800
+5ea1 15 249 1800
+5eb6 12 250 1800
+5ec8 12 251 1800
+5eda 12 252 1800
+5eec 12 253 1800
+5efe 12 254 1800
+5f10 12 255 1800
+5f22 12 256 1800
+5f34 12 257 1800
+5f46 12 258 1800
+5f58 12 259 1800
+5f6a 12 261 1800
+5f7c 12 262 1800
+5f8e 12 263 1800
+5fa0 12 264 1800
+5fb2 12 265 1800
+5fc4 15 266 1800
+5fd9 18 267 1800
+5ff1 18 268 1800
+6009 18 269 1800
+6021 18 270 1800
+6039 18 271 1800
+6051 18 272 1800
+6069 18 274 1800
+6081 18 275 1800
+6099 18 277 1800
+60b1 18 278 1800
+60c9 18 279 1800
+60e1 18 282 1800
+60f9 18 283 1800
+6111 18 284 1800
+6129 18 285 1800
+6141 1b 286 1800
+615c 18 287 1800
+6174 18 288 1800
+618c 18 290 1800
+61a4 18 291 1800
+61bc 18 292 1800
+61d4 18 293 1800
+61ec 18 294 1800
+6204 18 295 1800
+621c 18 296 1800
+6234 18 298 1800
+624c 18 299 1800
+6264 18 300 1800
+627c 18 301 1800
+6294 18 302 1800
+62ac 18 303 1800
+62c4 1b 304 1800
+62df 18 305 1800
+62f7 18 306 1800
+630f 18 307 1800
+6327 18 308 1800
+633f 18 309 1800
+6357 18 311 1800
+636f 18 312 1800
+6387 18 313 1800
+639f 18 314 1800
+63b7 18 315 1800
+63cf 18 316 1800
+63e7 18 317 1800
+63ff 18 318 1800
+6417 18 319 1800
+642f 18 320 1800
+6447 1b 321 1800
+6462 18 322 1800
+647a 18 324 1800
+6492 18 325 1800
+64aa 18 327 1800
+64c2 18 328 1800
+64da 1c 329 1800
+64f6 2 332 1800
+FUNC 64f8 9f 0 __free_lconv_num
+64f8 6 218 1742
+64fe b 219 1742
+6509 14 222 1742
+651d 7 223 1742
+6524 15 225 1742
+6539 7 226 1742
+6540 15 228 1742
+6555 7 229 1742
+655c 15 231 1742
+6571 7 232 1742
+6578 15 234 1742
+658d 8 235 1742
+6595 2 236 1742
+FUNC 6597 180 0 __free_lconv_mon
+6597 6 270 1685
+659d b 271 1685
+65a8 15 274 1685
+65bd 7 275 1685
+65c4 15 277 1685
+65d9 7 278 1685
+65e0 15 280 1685
+65f5 7 281 1685
+65fc 15 283 1685
+6611 7 284 1685
+6618 15 286 1685
+662d 7 287 1685
+6634 15 289 1685
+6649 7 290 1685
+6650 15 292 1685
+6665 7 293 1685
+666c 15 295 1685
+6681 7 296 1685
+6688 15 298 1685
+669d 7 299 1685
+66a4 15 301 1685
+66b9 7 302 1685
+66c0 15 304 1685
+66d5 7 305 1685
+66dc 15 307 1685
+66f1 7 308 1685
+66f8 15 310 1685
+670d 8 311 1685
+6715 2 312 1685
+FUNC 6717 ba 0 _VEC_memzero
+FUNC 67d1 10 0 __sse2_available_init
+67d1 0 30 4315
+67d1 d 31 4315
+67de 2 32 4315
+67e0 1 33 4315
+FUNC 67e1 103 0 _VEC_memcpy
+FUNC 68e4 2c 0 _alloca_probe_16
+68e4 0 44 4274
+68e4 1 46 4274
+68e5 4 47 4274
+68e9 2 48 4274
+68eb 3 49 4274
+68ee 2 50 4274
+68f0 2 51 4274
+68f2 2 52 4274
+68f4 1 53 4274
+68f5 5 54 4274
+68fa 1 59 4274
+68fb 4 60 4274
+68ff 2 61 4274
+6901 3 62 4274
+6904 2 63 4274
+6906 2 64 4274
+6908 2 65 4274
+690a 1 66 4274
+690b 5 67 4274
+PUBLIC 68fa 0 _alloca_probe_8
+FUNC 6910 34 0 _allmul
+6910 0 47 2803
+6910 4 63 2803
+6914 4 64 2803
+6918 2 65 2803
+691a 4 66 2803
+691e 2 67 2803
+6920 4 69 2803
+6924 2 70 2803
+6926 3 72 2803
+6929 1 75 2803
+692a 2 83 2803
+692c 2 84 2803
+692e 4 86 2803
+6932 4 87 2803
+6936 2 88 2803
+6938 4 90 2803
+693c 2 91 2803
+693e 2 92 2803
+6940 1 94 2803
+6941 3 96 2803
+FUNC 6944 2b 0 _chkstk
+6944 0 65 4276
+6944 1 69 4276
+6945 4 73 4276
+6949 2 74 4276
+694b 2 79 4276
+694d 2 80 4276
+694f 2 81 4276
+6951 2 83 4276
+6953 5 84 4276
+6958 2 87 4276
+695a 2 88 4276
+695c 2 89 4276
+695e 1 90 4276
+695f 1 91 4276
+6960 2 92 4276
+6962 3 93 4276
+6965 1 94 4276
+6966 5 98 4276
+696b 2 99 4276
+696d 2 100 4276
+FUNC 696f 46 0 strcspn
+696f 4 191 2794
+6973 2 198 2794
+6975 1 199 2794
+6976 1 200 2794
+6977 1 201 2794
+6978 1 202 2794
+6979 1 203 2794
+697a 1 204 2794
+697b 1 205 2794
+697c 1 206 2794
+697d 6 212 2794
+6983 2 216 2794
+6985 2 217 2794
+6987 2 218 2794
+6989 3 219 2794
+698c 4 220 2794
+6990 2 221 2794
+6992 3 227 2794
+6995 6 229 2794
+699b 3 234 2794
+699e 2 236 2794
+69a0 2 237 2794
+69a2 2 238 2794
+69a4 3 239 2794
+69a7 4 240 2794
+69ab 2 245 2794
+69ad 2 255 2794
+69af 3 257 2794
+69b2 3 259 2794
+FUNC 69b5 40 0 strpbrk
+69b5 4 191 2794
+69b9 2 198 2794
+69bb 1 199 2794
+69bc 1 200 2794
+69bd 1 201 2794
+69be 1 202 2794
+69bf 1 203 2794
+69c0 1 204 2794
+69c1 1 205 2794
+69c2 1 206 2794
+69c3 6 212 2794
+69c9 2 216 2794
+69cb 2 217 2794
+69cd 2 218 2794
+69cf 3 219 2794
+69d2 4 220 2794
+69d6 2 221 2794
+69d8 5 227 2794
+69dd 2 236 2794
+69df 2 237 2794
+69e1 2 238 2794
+69e3 3 239 2794
+69e6 4 240 2794
+69ea 2 247 2794
+69ec 3 248 2794
+69ef 3 257 2794
+69f2 3 259 2794
+FUNC 69f5 61 0 __ascii_strnicmp
+69f5 6 69 2798
+69fb 3 75 2798
+69fe 2 76 2798
+6a00 2 77 2798
+6a02 3 79 2798
+6a05 3 80 2798
+6a08 2 82 2798
+6a0a 2 83 2798
+6a0c 5 84 2798
+6a11 2 89 2798
+6a13 2 91 2798
+6a15 2 93 2798
+6a17 2 95 2798
+6a19 2 97 2798
+6a1b 2 98 2798
+6a1d 3 100 2798
+6a20 3 101 2798
+6a23 2 103 2798
+6a25 2 104 2798
+6a27 2 106 2798
+6a29 2 107 2798
+6a2b 2 109 2798
+6a2d 2 112 2798
+6a2f 2 113 2798
+6a31 2 115 2798
+6a33 2 116 2798
+6a35 2 118 2798
+6a37 2 121 2798
+6a39 2 122 2798
+6a3b 3 124 2798
+6a3e 2 125 2798
+6a40 2 128 2798
+6a42 2 129 2798
+6a44 2 130 2798
+6a46 5 133 2798
+6a4b 2 134 2798
+6a4d 2 135 2798
+6a4f 2 138 2798
+6a51 5 140 2798
+PUBLIC 6a56 10 RtlUnwind
+STACK WIN 4 1000 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1060 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 106a 35 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 109f 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10bd 20 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 10dd 3c 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1119 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1129 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1130 2c 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 115c 1a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1176 21 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 117c 17 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1197 b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11a2 29 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 11cb 161 c 0 0 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 12ee 14 0 0 0 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 132c a 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1336 70 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 139d 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 142e 44 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 144f 21 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1472 6a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 14dc e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 14ea 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1515 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 152d 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1536 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 153f 33 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1542 2f 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1572 2e 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1578 26 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15a0 a1 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 15e2 3e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 15e3 3c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1641 140 c 0 c 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 176c e 0 0 c 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 1781 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1797 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17ad f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 17bc f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 17cb 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 17e9 26 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 180f 1c5 1b 0 4 0 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1825 1a8 5 0 4 4 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ =
+STACK WIN 4 1826 1a4 4 0 4 8 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ =
+STACK WIN 4 182a 19f 0 0 4 c 1fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 512 - ^ = $23 $T0 516 - ^ = $24 $T0 520 - ^ =
+STACK WIN 4 19d4 39 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1a0d 251 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1a13 249 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 1a35 226 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1aae 1a9 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1c5e dc 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 1c6d a8 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 1c74 a0 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 1cb6 5d 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ =
+STACK WIN 4 1d3a 309 d 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 1d44 2e0 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 1d47 2dc 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 2043 c5 d 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 204c ba 4 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 204f b6 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 2050 b4 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2108 b8 a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2111 ad 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ =
+STACK WIN 4 2112 ab 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ =
+STACK WIN 4 215b 61 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $23 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 21c0 3b2 9 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 21c9 3a2 0 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ =
+STACK WIN 4 2280 2ea 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ =
+STACK WIN 4 2281 2e8 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 80 - ^ = $20 $T0 84 - ^ = $24 $T0 88 - ^ =
+STACK WIN 4 2572 30 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2575 2c b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2580 20 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 25a2 30 e 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25a5 2c b 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 25b0 20 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 25d2 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25db 9 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25e4 34 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 25e7 30 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2618 3d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2655 b4 c 0 8 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 26f1 e 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2700 8 0 0 8 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 2709 8d 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 270c 89 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 270d 85 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 2796 1a 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2799 16 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 27b0 12f c 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 28c7 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 28d3 b 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 28df 18f 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 28e2 18b 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ =
+STACK WIN 4 28fd 16f 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 2a6e 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2ae5 2c4 21 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2aee 18e 18 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ =
+STACK WIN 4 2af2 189 14 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ =
+STACK WIN 4 2b06 174 0 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 2da9 9b 17 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2dbf 83 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 2dc0 81 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ =
+STACK WIN 4 2ddc 64 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $24 $T0 24 - ^ = $23 $T0 28 - ^ =
+STACK WIN 4 2e44 f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2e53 129 1a 0 c 8 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 812 - ^ = $24 $T0 816 - ^ =
+STACK WIN 4 2f7c 25 3 0 14 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2f7f 21 0 0 14 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2fa1 2d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 2fce 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2fde 5e 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 2fe1 4e 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 2fe2 4c 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 303c 89 a 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 303f 85 7 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ =
+STACK WIN 4 3046 7d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 304c 48 0 0 0 c 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 30c5 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 30dc c2 c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3195 8 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 319e 47 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31a7 3c 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 31e5 9c a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 31ee 91 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 31ef 8f 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 330c b6 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3312 ae 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 331f 80 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3320 7e 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3514 42 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3556 13 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3569 39 c 0 0 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3589 4 0 0 0 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 35a2 11 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 35b3 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 35d1 4b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 35e0 25 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 361c d 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3629 1a3 c 0 4 10 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 52 - ^ = $23 $T0 56 - ^ = $24 $T0 60 - ^ =
+STACK WIN 4 378a 14 0 0 4 10 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 37cc f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37db f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37ea f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 37f9 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3821 c0 f 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3828 b7 8 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ =
+STACK WIN 4 3829 b5 7 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 3830 ad 0 0 4 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =
+STACK WIN 4 38e1 3b 3 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 38e4 37 0 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 391c 3c c 0 4 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 3952 5 0 0 4 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3958 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 396f 23 4 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3972 1f 1 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 3973 1d 0 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3992 5d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 39ef 76 38 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3a15 4e 12 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3a16 4c 11 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3a27 3a 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3a65 bc 35 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 28 - ^ = $23 $T0 32 - ^ = $24 $T0 36 - ^ =
+STACK WIN 4 3af0 13 0 0 4 10 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 3b21 16c 1e 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3b37 14f 8 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ =
+STACK WIN 4 3b3e 145 1 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ =
+STACK WIN 4 3b3f 143 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 3c8d bf a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3c93 2c 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3c97 27 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3d4c 13e e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3d55 17 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 3d59 28 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 3d5a 10 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 3e8a 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3eaf a0 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3eb5 2c 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3eb9 27 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3f4f 49 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3f98 f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 3fa7 45 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3fad 3d 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3fae 3b 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 3fec 4c 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 3ff2 44 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 3ff3 42 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4038 4e 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 403e 46 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 403f 44 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4086 2f 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 40b5 be 6 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 40b8 ba 3 0 0 4 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ =
+STACK WIN 4 40b9 b8 2 0 0 8 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 4173 246 17 0 0 0 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4189 229 1 0 0 4 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ =
+STACK WIN 4 418a 225 0 0 0 8 51c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 1312 - ^ = $24 $T0 1316 - ^ =
+STACK WIN 4 43b9 a4 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 4451 b 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 445d 15d b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4466 150 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 45ba 9a 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 45c3 8f 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ =
+STACK WIN 4 4654 2d2 1b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4667 2b8 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ =
+STACK WIN 4 466b 2b1 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ =
+STACK WIN 4 466f 2ac 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $24 $T0 44 - ^ =
+STACK WIN 4 4926 19a c 0 4 10 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 40 - ^ = $23 $T0 44 - ^ = $24 $T0 48 - ^ =
+STACK WIN 4 4a87 8 0 0 4 10 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 4ac0 1e 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 4ade 80 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b5e 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b76 f8 e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4b7c f0 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4b7d ee 7 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4b84 e6 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 4c6e 102 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4c74 fa 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 4c80 eb 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ =
+STACK WIN 4 4c81 e9 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ =
+STACK WIN 4 4d70 293 20 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 4d76 28b 1a 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ =
+STACK WIN 4 4d77 289 19 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 4d90 26f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ =
+STACK WIN 4 5003 6b 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5009 63 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ =
+STACK WIN 4 5018 4f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ =
+STACK WIN 4 506e 79 c 0 0 10 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ =
+STACK WIN 4 50db 8 0 0 0 10 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + =
+STACK WIN 4 50e7 8 0 0 4 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5335 33 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 56c9 2a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 56f3 3d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5730 9 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 5739 106 b 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 583f a0 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5875 68 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 58df cb 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 58f6 6c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 590b 56 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ =
+STACK WIN 4 59aa 22d 1a 0 24 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ =
+STACK WIN 4 5bd7 50 8 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5c27 112 16 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ =
+STACK WIN 4 5d39 4a 8 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d83 775 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 5d89 76d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 64f8 9f 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 64fe 97 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6597 180 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =
+STACK WIN 4 659d 178 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ =
+STACK WIN 4 6717 ba 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 67d1 10 0 0 0 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 4 67e1 103 0 0 c 0 0 0 1 $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
+STACK WIN 0 12ee 14 0 0 0 0 0 0 0 0
+STACK WIN 0 139d 9 0 0 0 0 0 0 0 0
+STACK WIN 0 13a6 88 0 0 8 0 0 0 0 0
+STACK WIN 0 176c f 0 0 0 0 0 0 0 0
+STACK WIN 0 26f1 f 0 0 0 0 0 0 0 0
+STACK WIN 0 2700 9 0 0 0 0 0 0 0 0
+STACK WIN 0 28c7 c 0 0 0 0 0 0 0 0
+STACK WIN 0 28d3 c 0 0 0 0 0 0 0 0
+STACK WIN 0 3195 9 0 0 0 0 0 0 0 0
+STACK WIN 0 3281 8b 0 0 4 0 0 0 0 0
+STACK WIN 0 33c2 90 3 0 c c 0 0 0 0
+STACK WIN 0 3452 46 0 0 10 4 0 0 0 1
+STACK WIN 0 34b4 17 4 0 0 10 0 0 0 1
+STACK WIN 0 34cb 19 0 0 0 0 0 0 0 0
+STACK WIN 0 34fd 17 1 0 8 4 0 0 0 1
+STACK WIN 0 3589 4 0 0 0 0 0 0 0 0
+STACK WIN 0 378a 15 0 0 0 0 0 0 0 0
+STACK WIN 0 3952 6 0 0 0 0 0 0 0 0
+STACK WIN 0 3af0 13 0 0 0 0 0 0 0 0
+STACK WIN 0 4451 c 0 0 0 0 0 0 0 0
+STACK WIN 0 4a87 9 0 0 0 0 0 0 0 0
+STACK WIN 0 50db 9 0 0 0 0 0 0 0 0
+STACK WIN 0 50ef 7a 0 0 c 0 0 0 0 0
+STACK WIN 0 5169 95 0 0 10 0 4 0 0 0
+STACK WIN 0 5263 84 3 0 8 c 0 0 0 0
+STACK WIN 0 52e7 23 0 0 0 0 0 0 0 0
+STACK WIN 0 5332 3 0 0 0 0 0 0 0 0
+STACK WIN 0 6910 1a 0 0 10 0 0 0 0 0
+STACK WIN 0 692a 1a 0 0 10 0 4 0 0 0
diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.dll b/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.dll Binary files differnew file mode 100644 index 0000000000..879af40b14 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.dll diff --git a/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.sym b/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.sym new file mode 100644 index 0000000000..745aa4bb08 --- /dev/null +++ b/externals/breakpad/src/tools/windows/dump_syms/testdata/pe_only_symbol_test.sym @@ -0,0 +1,214 @@ +MODULE windows x86_64 2A5EAB481FAB4A17A9761CDC14FE531A1 pe_only_symbol_test.pdb
+INFO CODE_ID 5C8AD05F12000 pe_only_symbol_test.dll
+STACK CFI INIT 1440 39 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1440 .cfa: $rsp 32 +
+STACK CFI INIT 1490 7f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1490 .cfa: $rsp 128 +
+STACK CFI INIT 1520 41 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1520 .cfa: $rsp 48 +
+STACK CFI INIT 1570 35 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1570 .cfa: $rsp 48 +
+STACK CFI INIT 15b0 3a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 15b0 .cfa: $rsp 48 +
+STACK CFI INIT 1640 8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1640 .cfa: $rsp 16 +
+STACK CFI INIT 1650 d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1650 .cfa: $rsp 16 +
+STACK CFI INIT 1660 b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1660 .cfa: $rsp 16 +
+STACK CFI INIT 1670 5a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1670 .cfa: $rsp 64 +
+STACK CFI INIT 16e0 97 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 16e0 .cfa: $rsp 112 +
+STACK CFI INIT 17c0 3f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 17c0 .cfa: $rsp 64 +
+STACK CFI INIT 1810 23 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1810 .cfa: $rsp 64 +
+STACK CFI INIT 1840 16 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1840 .cfa: $rsp 16 +
+STACK CFI INIT 1856 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1856 .cfa: $rsp 16 +
+STACK CFI INIT 1876 5 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1876 .cfa: $rsp 16 +
+STACK CFI INIT 1890 1b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1890 .cfa: $rsp 48 +
+STACK CFI INIT 18ab 56 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 18ab .cfa: $rsp 48 +
+STACK CFI INIT 1901 10 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1901 .cfa: $rsp 48 +
+STACK CFI INIT 1940 7 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1940 .cfa: $rsp 64 +
+STACK CFI INIT 1947 1a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1947 .cfa: $rsp 64 +
+STACK CFI INIT 1961 b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1961 .cfa: $rsp 64 +
+STACK CFI INIT 196c 4c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 196c .cfa: $rsp 64 +
+STACK CFI INIT 19b8 5 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 19b8 .cfa: $rsp 64 +
+STACK CFI INIT 19bd 13 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 19bd .cfa: $rsp 64 +
+STACK CFI INIT 19d0 73 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 19d0 .cfa: $rsp 64 +
+STACK CFI INIT 1a90 3a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1a90 .cfa: $rsp 48 +
+STACK CFI INIT 1ae0 f8 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1ae0 .cfa: $rsp 96 +
+STACK CFI INIT 1c30 21 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1c30 .cfa: $rsp 8 +
+STACK CFI INIT 1c60 87 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1c60 .cfa: $rsp 64 +
+STACK CFI INIT 1d10 13a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1d10 .cfa: $rsp 80 +
+STACK CFI INIT 1ea0 88 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1ea0 .cfa: $rsp 64 +
+STACK CFI INIT 1f50 135 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 1f50 .cfa: $rsp 80 +
+STACK CFI INIT 20e0 4d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 20e0 .cfa: $rsp 64 +
+STACK CFI INIT 2140 2a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2140 .cfa: $rsp 48 +
+STACK CFI INIT 2180 36 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2180 .cfa: $rsp 48 +
+STACK CFI INIT 2290 36 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2290 .cfa: $rsp 96 +
+STACK CFI INIT 22e0 44 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 22e0 .cfa: $rsp 96 +
+STACK CFI INIT 2340 5f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2340 .cfa: $rsp 544 +
+STACK CFI INIT 239f d9 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 239f .cfa: $rsp 544 +
+STACK CFI INIT 2478 1d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2478 .cfa: $rsp 544 +
+STACK CFI INIT 2560 cf .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2560 .cfa: $rsp 1088 +
+STACK CFI INIT 2670 2d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2670 .cfa: $rsp 80 +
+STACK CFI INIT 269d 6b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 269d .cfa: $rsp 80 +
+STACK CFI INIT 2708 1a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2708 .cfa: $rsp 80 +
+STACK CFI INIT 2770 260 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2770 .cfa: $rsp 3824 +
+STACK CFI INIT 2a70 1f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2a70 .cfa: $rsp 48 +
+STACK CFI INIT 2aa0 c5 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2aa0 .cfa: $rsp 1088 +
+STACK CFI INIT 2ba0 64 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2ba0 .cfa: $rsp 64 +
+STACK CFI INIT 2c20 25 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2c20 .cfa: $rsp 64 +
+STACK CFI INIT 2c50 35 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2c50 .cfa: $rsp 48 +
+STACK CFI INIT 2ca0 d1 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2ca0 .cfa: $rsp 64 +
+STACK CFI INIT 2db0 13 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2db0 .cfa: $rsp 48 +
+STACK CFI INIT 2dd0 9b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2dd0 .cfa: $rsp 48 +
+STACK CFI INIT 2ea0 10e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 2ea0 .cfa: $rsp 64 +
+STACK CFI INIT 3000 91 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3000 .cfa: $rsp 128 +
+STACK CFI INIT 30c0 b2 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 30c0 .cfa: $rsp 128 +
+STACK CFI INIT 31a0 be .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 31a0 .cfa: $rsp 80 +
+STACK CFI INIT 3290 74 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3290 .cfa: $rsp 64 +
+STACK CFI INIT 3330 16 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3330 .cfa: $rsp 48 +
+STACK CFI INIT 3350 15 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3350 .cfa: $rsp 48 +
+STACK CFI INIT 3380 45 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3380 .cfa: $rsp 64 +
+STACK CFI INIT 33e0 3b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 33e0 .cfa: $rsp 48 +
+STACK CFI INIT 3430 40 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3430 .cfa: $rsp 48 +
+STACK CFI INIT 34a0 15 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 34a0 .cfa: $rsp 48 +
+STACK CFI INIT 34c0 c6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 34c0 .cfa: $rsp 64 +
+STACK CFI INIT 35c0 e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 35c0 .cfa: $rsp 48 +
+STACK CFI INIT 35e0 8a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 35e0 .cfa: $rsp 48 +
+STACK CFI INIT 36a0 62 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 36a0 .cfa: $rsp 80 +
+STACK CFI INIT 3720 2d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3720 .cfa: $rsp 48 +
+STACK CFI INIT 3760 1d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3760 .cfa: $rsp 48 +
+STACK CFI INIT 3790 30 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3790 .cfa: $rsp 48 +
+STACK CFI INIT 37d0 15 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 37d0 .cfa: $rsp 48 +
+STACK CFI INIT 37f0 5b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 37f0 .cfa: $rsp 64 +
+STACK CFI INIT 3870 2e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3870 .cfa: $rsp 48 +
+STACK CFI INIT 38b0 15 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 38b0 .cfa: $rsp 48 +
+STACK CFI INIT 38d0 49 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 38d0 .cfa: $rsp 48 +
+STACK CFI INIT 3930 10c .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3930 .cfa: $rsp 128 +
+STACK CFI INIT 3a80 8b .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3a80 .cfa: $rsp 96 +
+STACK CFI INIT 3b30 2f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3b30 .cfa: $rsp 48 +
+STACK CFI INIT 3b70 3f .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3b70 .cfa: $rsp 48 +
+STACK CFI INIT 3bc0 82 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3bc0 .cfa: $rsp 80 +
+STACK CFI INIT 3c70 50 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3c70 .cfa: $rsp 64 +
+STACK CFI INIT 3ce0 33 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3ce0 .cfa: $rsp 64 +
+STACK CFI INIT 3d50 191 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3d50 .cfa: $rsp 1536 +
+STACK CFI INIT 3f50 51 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3f50 .cfa: $rsp 176 +
+STACK CFI INIT 3fc0 e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3fc0 .cfa: $rsp 48 +
+STACK CFI INIT 3ff0 a6 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 3ff0 .cfa: $rsp 64 +
+STACK CFI INIT 40c0 16 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 40c0 .cfa: $rsp 48 +
+STACK CFI INIT 40f0 72 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 40f0 .cfa: $rsp 64 +
+STACK CFI INIT 4180 42 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4180 .cfa: $rsp 48 +
+STACK CFI INIT 41e0 42 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 41e0 .cfa: $rsp 48 +
+STACK CFI INIT 4250 1e .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4250 .cfa: $rsp 32 +
+STACK CFI INIT 4280 18 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4280 .cfa: $rsp 48 +
+STACK CFI INIT 42a0 37 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 42a0 .cfa: $rsp 64 +
+STACK CFI INIT 4300 145 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4300 .cfa: $rsp 1120 +
+STACK CFI INIT 44a0 2ae .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 44a0 .cfa: $rsp 640 +
+STACK CFI INIT 4800 103 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4800 .cfa: $rsp 1664 +
+STACK CFI INIT 4950 3c5 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4950 .cfa: $rsp 240 +
+STACK CFI INIT 4e10 36d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 4e10 .cfa: $rsp 96 +
+STACK CFI INIT 5270 25 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 5270 .cfa: $rsp 32 +
+STACK CFI INIT 66c0 2 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 66c0 .cfa: $rsp 8 +
+STACK CFI INIT 76d0 1a .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 76d0 .cfa: $rsp 48 +
+STACK CFI INIT 76f0 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 76f0 .cfa: $rsp 48 +
+STACK CFI INIT 7720 48 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7720 .cfa: $rsp 64 +
+STACK CFI INIT 7780 20 .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 7780 .cfa: $rsp 48 +
+STACK CFI INIT 77b0 3d .cfa: $rsp .ra: .cfa 8 - ^
+STACK CFI 77b0 .cfa: $rsp 48 +
diff --git a/externals/breakpad/src/tools/windows/refresh_binaries.bat b/externals/breakpad/src/tools/windows/refresh_binaries.bat new file mode 100644 index 0000000000..bf18d5079d --- /dev/null +++ b/externals/breakpad/src/tools/windows/refresh_binaries.bat @@ -0,0 +1,23 @@ +REM This batch file is meant to facilitate regenerating prebuilt binaries for
+REM the Windows tools.
+REM You MUST run it from a Visual Studio xxxx Command Prompt. To do this,
+REM navigate to:
+REM
+REM Start->Programs->Microsoft Visual Studio XXXX->Tools->
+REM Visual Studio Command Prompt
+REM
+REM Then run this batch file. It performs an SVN update, edits the
+REM README.binaries file to contain
+REM the revision number, and builds the tools. You must run 'svn commit' to
+REM commit the pending edits to the repository.
+
+pushd %~dp0
+if %VisualStudioVersion% == 14.0 set GYP_MSVS_VERSION=2015
+gyp tools_windows.gyp
+msbuild tools_windows.sln /p:Configuration=Release /t:Clean,Build
+copy Release\symupload.exe binaries\
+copy Release\dump_syms.exe binaries\
+git add binaries
+git commit -m "Built Windows binaries"
+echo Done!
+popd
diff --git a/externals/breakpad/src/tools/windows/symupload/symupload.cc b/externals/breakpad/src/tools/windows/symupload/symupload.cc new file mode 100644 index 0000000000..46ace95adb --- /dev/null +++ b/externals/breakpad/src/tools/windows/symupload/symupload.cc @@ -0,0 +1,316 @@ +// Copyright 2006 Google LLC +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google LLC nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Tool to upload an exe/dll and its associated symbols to an HTTP server. +// The PDB file is located automatically, using the path embedded in the +// executable. The upload is sent as a multipart/form-data POST request, +// with the following parameters: +// code_file: the basename of the module, e.g. "app.exe" +// debug_file: the basename of the debugging file, e.g. "app.pdb" +// debug_identifier: the debug file's identifier, usually consisting of +// the guid and age embedded in the pdb, e.g. +// "11111111BBBB3333DDDD555555555555F" +// product: the HTTP-friendly product name, e.g. "MyApp" +// version: the file version of the module, e.g. "1.2.3.4" +// os: the operating system that the module was built for, always +// "windows" in this implementation. +// cpu: the CPU that the module was built for, typically "x86". +// symbol_file: the contents of the breakpad-format symbol file + +#ifdef HAVE_CONFIG_H +#include <config.h> // Must come first +#endif + +#include <windows.h> +#include <dbghelp.h> +#include <wininet.h> + +#include <cstdio> +#include <map> +#include <string> +#include <vector> + +#include "common/windows/string_utils-inl.h" + +#include "common/windows/http_upload.h" +#include "common/windows/pdb_source_line_writer.h" +#include "common/windows/sym_upload_v2_protocol.h" +#include "common/windows/symbol_collector_client.h" + +using google_breakpad::HTTPUpload; +using google_breakpad::PDBModuleInfo; +using google_breakpad::PDBSourceLineWriter; +using google_breakpad::WindowsStringUtils; +using std::map; +using std::string; +using std::vector; +using std::wstring; + +const wchar_t* kSymbolUploadTypeBreakpad = L"BREAKPAD"; + +// Extracts the file version information for the given filename, +// as a string, for example, "1.2.3.4". Returns true on success. +static bool GetFileVersionString(const wchar_t* filename, wstring* version) { + DWORD handle; + DWORD version_size = GetFileVersionInfoSize(filename, &handle); + if (version_size < sizeof(VS_FIXEDFILEINFO)) { + return false; + } + + vector<char> version_info(version_size); + if (!GetFileVersionInfo(filename, handle, version_size, &version_info[0])) { + return false; + } + + void* file_info_buffer = NULL; + unsigned int file_info_length; + if (!VerQueryValue(&version_info[0], L"\\", + &file_info_buffer, &file_info_length)) { + return false; + } + + // The maximum value of each version component is 65535 (0xffff), + // so the max length is 24, including the terminating null. + wchar_t ver_string[24]; + VS_FIXEDFILEINFO* file_info = + reinterpret_cast<VS_FIXEDFILEINFO*>(file_info_buffer); + swprintf(ver_string, sizeof(ver_string) / sizeof(ver_string[0]), + L"%d.%d.%d.%d", + file_info->dwFileVersionMS >> 16, + file_info->dwFileVersionMS & 0xffff, + file_info->dwFileVersionLS >> 16, + file_info->dwFileVersionLS & 0xffff); + + // remove when VC++7.1 is no longer supported + ver_string[sizeof(ver_string) / sizeof(ver_string[0]) - 1] = L'\0'; + + *version = ver_string; + return true; +} + +// Creates a new temporary file and writes the symbol data from the given +// exe/dll file to it. Returns the path to the temp file in temp_file_path +// and information about the pdb in pdb_info. +static bool DumpSymbolsToTempFile(const wchar_t* file, + wstring* temp_file_path, + PDBModuleInfo* pdb_info, + bool handle_inline) { + google_breakpad::PDBSourceLineWriter writer(handle_inline); + // Use EXE_FILE to get information out of the exe/dll in addition to the + // pdb. The name and version number of the exe/dll are of value, and + // there's no way to locate an exe/dll given a pdb. + if (!writer.Open(file, PDBSourceLineWriter::EXE_FILE)) { + return false; + } + + wchar_t temp_path[_MAX_PATH]; + if (GetTempPath(_MAX_PATH, temp_path) == 0) { + return false; + } + + wchar_t temp_filename[_MAX_PATH]; + if (GetTempFileName(temp_path, L"sym", 0, temp_filename) == 0) { + return false; + } + + FILE* temp_file = NULL; +#if _MSC_VER >= 1400 // MSVC 2005/8 + if (_wfopen_s(&temp_file, temp_filename, L"w") != 0) +#else // _MSC_VER >= 1400 + // _wfopen_s was introduced in MSVC8. Use _wfopen for earlier environments. + // Don't use it with MSVC8 and later, because it's deprecated. + if (!(temp_file = _wfopen(temp_filename, L"w"))) +#endif // _MSC_VER >= 1400 + { + return false; + } + + bool success = writer.WriteSymbols(temp_file); + fclose(temp_file); + if (!success) { + _wunlink(temp_filename); + return false; + } + + *temp_file_path = temp_filename; + + return writer.GetModuleInfo(pdb_info); +} + +__declspec(noreturn) void printUsageAndExit() { + wprintf(L"Usage:\n\n" + L" symupload [--i] [--timeout NN] [--product product_name] ^\n" + L" <file.exe|file.dll> <symbol upload URL> ^\n" + L" [...<symbol upload URLs>]\n\n"); + wprintf(L" - i: Extract inline information from pdb.\n"); + wprintf(L" - Timeout is in milliseconds, or can be 0 to be unlimited.\n"); + wprintf(L" - product_name is an HTTP-friendly product name. It must only\n" + L" contain an ascii subset: alphanumeric and punctuation.\n" + L" This string is case-sensitive.\n\n"); + wprintf(L"Example:\n\n" + L" symupload.exe --timeout 0 --product Chrome ^\n" + L" chrome.dll http://no.free.symbol.server.for.you\n"); + wprintf(L"\n"); + wprintf(L"sym-upload-v2 usage:\n" + L" symupload -p [-f] <file.exe|file.dll> <API-URL> <API-key>\n"); + wprintf(L"\n"); + wprintf(L"sym_upload_v2 Options:\n"); + wprintf(L" <API-URL> is the sym_upload_v2 API URL.\n"); + wprintf(L" <API-key> is a secret used to authenticate with the API.\n"); + wprintf(L" -p:\t Use sym_upload_v2 protocol.\n"); + wprintf(L" -f:\t Force symbol upload if already exists.\n"); + + exit(0); +} + +int wmain(int argc, wchar_t* argv[]) { + const wchar_t* module; + const wchar_t* product = nullptr; + bool handle_inline = false; + int timeout = -1; + int currentarg = 1; + bool use_sym_upload_v2 = false; + bool force = false; + const wchar_t* api_url = nullptr; + const wchar_t* api_key = nullptr; + while (argc > currentarg + 1) { + if (!wcscmp(L"--i", argv[currentarg])) { + handle_inline = true; + ++currentarg; + continue; + } + if (!wcscmp(L"--timeout", argv[currentarg])) { + timeout = _wtoi(argv[currentarg + 1]); + currentarg += 2; + continue; + } + if (!wcscmp(L"--product", argv[currentarg])) { + product = argv[currentarg + 1]; + currentarg += 2; + continue; + } + if (!wcscmp(L"-p", argv[currentarg])) { + use_sym_upload_v2 = true; + ++currentarg; + continue; + } + if (!wcscmp(L"-f", argv[currentarg])) { + force = true; + ++currentarg; + continue; + } + break; + } + + if (argc >= currentarg + 2) + module = argv[currentarg++]; + else + printUsageAndExit(); + + wstring symbol_file; + PDBModuleInfo pdb_info; + if (!DumpSymbolsToTempFile(module, &symbol_file, &pdb_info, handle_inline)) { + fwprintf(stderr, L"Could not get symbol data from %s\n", module); + return 1; + } + + wstring code_file = WindowsStringUtils::GetBaseName(wstring(module)); + wstring file_version; + // Don't make a missing version a hard error. Issue a warning, and let the + // server decide whether to reject files without versions. + if (!GetFileVersionString(module, &file_version)) { + fwprintf(stderr, L"Warning: Could not get file version for %s\n", module); + } + + bool success = true; + + if (use_sym_upload_v2) { + if (argc >= currentarg + 2) { + api_url = argv[currentarg++]; + api_key = argv[currentarg++]; + wstring product_name = product ? wstring(product) : L""; + + success = google_breakpad::SymUploadV2ProtocolSend( + api_url, api_key, timeout == -1 ? nullptr : &timeout, + pdb_info.debug_file, pdb_info.debug_identifier, symbol_file, + kSymbolUploadTypeBreakpad, product_name, force); + } else { + printUsageAndExit(); + } + } else { + map<wstring, wstring> parameters; + parameters[L"code_file"] = code_file; + parameters[L"debug_file"] = pdb_info.debug_file; + parameters[L"debug_identifier"] = pdb_info.debug_identifier; + parameters[L"os"] = L"windows"; // This version of symupload is Windows-only + parameters[L"cpu"] = pdb_info.cpu; + + map<wstring, wstring> files; + files[L"symbol_file"] = symbol_file; + + if (!file_version.empty()) { + parameters[L"version"] = file_version; + } + + // Don't make a missing product name a hard error. Issue a warning and let + // the server decide whether to reject files without product name. + if (product) { + parameters[L"product"] = product; + } + else { + fwprintf( + stderr, + L"Warning: No product name (flag --product) was specified for %s\n", + module); + } + + while (currentarg < argc) { + int response_code; + if (!HTTPUpload::SendMultipartPostRequest(argv[currentarg], parameters, files, + timeout == -1 ? NULL : &timeout, + nullptr, &response_code)) { + success = false; + fwprintf(stderr, + L"Symbol file upload to %s failed. Response code = %ld\n", + argv[currentarg], response_code); + } + currentarg++; + } + } + + _wunlink(symbol_file.c_str()); + + if (success) { + wprintf(L"Uploaded breakpad symbols for windows-%s/%s/%s (%s %s)\n", + pdb_info.cpu.c_str(), pdb_info.debug_file.c_str(), + pdb_info.debug_identifier.c_str(), code_file.c_str(), + file_version.c_str()); + } + + return success ? 0 : 1; +} |