From b42967112f2e907e6c3b5dc47b424f8a1d7eb50e Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 2 Nov 2020 13:13:32 +0800 Subject: add broadwell_refcode.asm --- src/soc/intel/broadwell/Kconfig | 17 - src/soc/intel/broadwell/Makefile.inc | 3 +- src/soc/intel/broadwell/include/soc/ramstage.h | 4 - src/soc/intel/broadwell/refcode.c | 48 +- src/soc/intel/broadwell/refcode/Makefile.inc | 5 + .../intel/broadwell/refcode/broadwell_refcode.asm | 66416 +++++++++++++++++++ 6 files changed, 66425 insertions(+), 68 deletions(-) create mode 100644 src/soc/intel/broadwell/refcode/Makefile.inc create mode 100644 src/soc/intel/broadwell/refcode/broadwell_refcode.asm diff --git a/src/soc/intel/broadwell/Kconfig b/src/soc/intel/broadwell/Kconfig index 6e57f0aa8e..5871d58d17 100644 --- a/src/soc/intel/broadwell/Kconfig +++ b/src/soc/intel/broadwell/Kconfig @@ -189,21 +189,4 @@ config SERIRQ_CONTINUOUS_MODE If you set this option to y, the serial IRQ machine will be operated in continuous mode. -config HAVE_REFCODE_BLOB - depends on ARCH_X86 - bool "An external reference code blob should be put into cbfs." - default n - help - The reference code blob will be placed into cbfs. - -if HAVE_REFCODE_BLOB - -config REFCODE_BLOB_FILE - string "Path and filename to reference code blob." - default "refcode.elf" - help - The path and filename to the file to be added to cbfs. - -endif # HAVE_REFCODE_BLOB - endif diff --git a/src/soc/intel/broadwell/Makefile.inc b/src/soc/intel/broadwell/Makefile.inc index 7ee69908f8..f8743cf7b5 100644 --- a/src/soc/intel/broadwell/Makefile.inc +++ b/src/soc/intel/broadwell/Makefile.inc @@ -2,6 +2,7 @@ ifeq ($(CONFIG_SOC_INTEL_BROADWELL),y) subdirs-y += cpu subdirs-y += pch +subdirs-y += refcode bootblock-y += bootblock.c @@ -20,7 +21,7 @@ ramstage-y += minihd.c ramstage-y += pei_data.c romstage-y += pei_data.c ramstage-y += ramstage.c -ramstage-$(CONFIG_HAVE_REFCODE_BLOB) += refcode.c +ramstage-y += refcode.c ramstage-y += systemagent.c CPPFLAGS_common += -Isrc/soc/intel/broadwell/include diff --git a/src/soc/intel/broadwell/include/soc/ramstage.h b/src/soc/intel/broadwell/include/soc/ramstage.h index 5d7eceb4a5..1adbdc111a 100644 --- a/src/soc/intel/broadwell/include/soc/ramstage.h +++ b/src/soc/intel/broadwell/include/soc/ramstage.h @@ -9,10 +9,6 @@ void broadwell_init_pre_device(void *chip_info); void broadwell_init_cpus(struct device *dev); -#if CONFIG(HAVE_REFCODE_BLOB) void broadwell_run_reference_code(void); -#else -static inline void broadwell_run_reference_code(void) { } -#endif #endif diff --git a/src/soc/intel/broadwell/refcode.c b/src/soc/intel/broadwell/refcode.c index 882f888af9..4edadfa7d2 100644 --- a/src/soc/intel/broadwell/refcode.c +++ b/src/soc/intel/broadwell/refcode.c @@ -13,50 +13,10 @@ #include #include -static pei_wrapper_entry_t load_refcode_from_cache(void) -{ - struct prog refcode; - - printk(BIOS_DEBUG, "refcode loading from cache.\n"); - - stage_cache_load_stage(STAGE_REFCODE, &refcode); - - return (pei_wrapper_entry_t)prog_entry(&refcode); -} - -static pei_wrapper_entry_t load_reference_code(void) -{ - struct prog prog = - PROG_INIT(PROG_REFCODE, CONFIG_CBFS_PREFIX "/refcode"); - struct rmod_stage_load refcode = { - .cbmem_id = CBMEM_ID_REFCODE, - .prog = &prog, - }; - - if (acpi_is_wakeup_s3()) - return load_refcode_from_cache(); - - if (prog_locate(&prog)) { - printk(BIOS_DEBUG, "Couldn't locate reference code.\n"); - return NULL; - } - - if (rmodule_stage_load(&refcode)) { - printk(BIOS_DEBUG, "Error loading reference code.\n"); - return NULL; - } - - /* Cache loaded reference code. */ - stage_cache_add(STAGE_REFCODE, &prog); - - return (pei_wrapper_entry_t)prog_entry(&prog); -} - void broadwell_run_reference_code(void) { int ret, dummy; struct pei_data pei_data; - pei_wrapper_entry_t entry; memset(&pei_data, 0, sizeof(pei_data)); mainboard_fill_pei_data(&pei_data); @@ -65,14 +25,10 @@ void broadwell_run_reference_code(void) pei_data.boot_mode = acpi_is_wakeup_s3() ? ACPI_S3 : 0; pei_data.saved_data = (void *) &dummy; - entry = load_reference_code(); - if (entry == NULL) { - printk(BIOS_ERR, "Reference code not found\n"); - return; - } + extern int ABI_X86 refcode_entry(struct pei_data *pei_data); /* Call into reference code. */ - ret = entry(&pei_data); + ret = refcode_entry(&pei_data); if (ret != 0) { printk(BIOS_ERR, "Reference code returned %d\n", ret); return; diff --git a/src/soc/intel/broadwell/refcode/Makefile.inc b/src/soc/intel/broadwell/refcode/Makefile.inc new file mode 100644 index 0000000000..74bd08dfcd --- /dev/null +++ b/src/soc/intel/broadwell/refcode/Makefile.inc @@ -0,0 +1,5 @@ +ramstage-libs += $(obj)/broadwell_refcode.o + +$(obj)/%.o: $(src)/soc/intel/broadwell/refcode/%.asm + echo "NASM $@" + nasm -f elf32 -o $@ $< diff --git a/src/soc/intel/broadwell/refcode/broadwell_refcode.asm b/src/soc/intel/broadwell/refcode/broadwell_refcode.asm new file mode 100644 index 0000000000..4ceeb64950 --- /dev/null +++ b/src/soc/intel/broadwell/refcode/broadwell_refcode.asm @@ -0,0 +1,66416 @@ +;; Generated with r2dumpbin (https://github.com/mytbk/r2dumpbin) + +;; First convert the ELF file to binary, and pad it to MemSiz of +;; the loadable segment: +;; objcopy -O binary refcode.elf refcode.bin +;; fallocate -l 201288 refcode.bin + +;; Then get the relocation addresses: +;; readelf -r refcode.elf | cut -d' ' -f1 | grep '^[0-9]' \ +;; | sed -e 's/^/0x/g' -e 's/$/,/g' > refcode_reloc.txt + +;; Run these in r2 before running dumpbin.py: +;; f va @ 0 +;; f reloc:refcode_reloc.txt @ 0 + +bits 32 + +global refcode_entry + +refcode_entry: +pushad +mov eax, dword [esp + 0x24] +push eax +call fcn_00000012 ; call 0x12 +pop ecx +mov dword [esp + 0x1c], eax +popad +ret + +fcn_00000012: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 8] +push esi +call fcn_000163a4 ; call 0x163a4 +add esp, 0x10 +mov ebx, eax +test eax, eax +je loc_000000c4 ; je 0xc4 +sub esp, 0xc +push ref_000205f8 ; push 0x205f8 +call fcn_000153ce ; call 0x153ce +pop eax +pop edx +push ebx +push 0 +call fcn_0000dfb2 ; call 0xdfb2 +mov dword [esp], ref_0002060a ; mov dword [esp], 0x2060a +call fcn_000153ce ; call 0x153ce +pop ecx +pop eax +push ebx +push 0 +call fcn_0000058b ; call 0x58b +mov dword [esp], ref_00020625 ; mov dword [esp], 0x20625 +call fcn_000153ce ; call 0x153ce +add esp, 0xc +push 0 +push 0 +push ebx +call fcn_0000d811 ; call 0xd811 +lea eax, [ebp - 0xc] +push eax +push 0 +push 0 +push ref_0002912c ; push 0x2912c +call fcn_00019699 ; call 0x19699 +mov eax, dword [ebp - 0xc] +add esp, 0x20 +movzx edx, byte [eax] +add eax, 0x284 +push edx +push dword [esi + 0x1a] +push dword [esi + 0x1e] +push eax +call fcn_000116c1 ; call 0x116c1 +mov eax, dword [ebp - 0xc] +pop edx +pop ecx +push dword [eax + 4] +push eax +call fcn_0001501f ; call 0x1501f +mov dword [esp], ref_00020637 ; mov dword [esp], 0x20637 +call fcn_000153ce ; call 0x153ce +add esp, 0x10 +xor eax, eax +jmp short loc_000000c7 ; jmp 0xc7 + +loc_000000c4: +or eax, 0xffffffff + +loc_000000c7: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_000000ce: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x14 +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov ebx, eax +lea eax, [ebp - 0xc] +and ebx, 0xfffffffe +push eax +push 0 +push 0 +push ref_0002925c ; push 0x2925c +call fcn_00019699 ; call 0x19699 +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000014a ; je 0x14a +test esi, esi +jns short loc_0000014a ; jns 0x14a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000132 ; je 0x132 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000132: ; not directly referenced +push esi +push ref_00020664 ; push 0x20664 +push 0x126 +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000014a: ; not directly referenced +push ecx +push 0x600 +push 0xfffff9ff +lea eax, [ebx + 0x5f00] +push eax +call fcn_00018aa4 ; call 0x18aa4 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0000017e ; je 0x17e +push edx +push edx +push ref_000206a8 ; push 0x206a8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000017e: ; not directly referenced +push eax +add ebx, 0x5da8 +push eax +push 3 +push ebx +call fcn_0001866c ; call 0x1866c +lea esp, [ebp - 8] +xor eax, eax +pop ebx +pop esi +pop ebp +ret + +fcn_00000197: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +call fcn_0001c5b4 ; call 0x1c5b4 +mov esi, eax +call fcn_0001c58d ; call 0x1c58d +sub esp, 0xc +push ref_000294ac ; push 0x294ac +mov ebx, eax +call fcn_00019039 ; call 0x19039 +add esp, 0x10 +test eax, eax +je short loc_000001c4 ; je 0x1c4 +cmp byte [eax + 0x4a], 0 +jne short loc_00000228 ; jne 0x228 + +loc_000001c4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000001de ; je 0x1de +push eax +push eax +push ref_000206e4 ; push 0x206e4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000001de: ; not directly referenced +test esi, esi +jne short loc_000001ea ; jne 0x1ea +cmp ebx, 0x40670 +je short loc_000001fc ; je 0x1fc + +loc_000001ea: ; not directly referenced +push esi +push 0 +push 1 +push 0x2e7 +call fcn_0001784b ; call 0x1784b +add esp, 0x10 + +loc_000001fc: ; not directly referenced +cmp ebx, 0x40670 +je short loc_0000020c ; je 0x20c +cmp ebx, 0x306d0 +jne short loc_00000228 ; jne 0x228 + +loc_0000020c: ; not directly referenced +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 1 +sub eax, 0xffffff80 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00000228: ; not directly referenced +lea esp, [ebp - 8] +xor eax, eax +pop ebx +pop esi +pop ebp +ret + +fcn_00000231: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +call fcn_0001c58d ; call 0x1c58d +push edx +mov esi, eax +push 0 +and esi, 0xffffffef +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +xor edx, edx +mov edi, eax +mov eax, dword [ebx + 1] +mov eax, dword [eax + 4] +push edx +or eax, 1 +push eax +lea eax, [edi + 0x48] +push eax +call fcn_00017e64 ; call 0x17e64 +mov eax, dword [ebx + 1] +add esp, 0xc +xor edx, edx +mov eax, dword [eax + 8] +push edx +or eax, 1 +push eax +lea eax, [edi + 0x68] +add edi, 0x40 +push eax +call fcn_00017e64 ; call 0x17e64 +mov eax, dword [ebx + 1] +add esp, 0xc +xor edx, edx +mov eax, dword [eax + 0xc] +push edx +or eax, 1 +push eax +push edi +call fcn_00017e64 ; call 0x17e64 +mov ecx, dword [ebx + 1] +add esp, 0xc +xor edx, edx +mov eax, dword [ecx + 0x18] +push edx +or eax, 1 +push eax +mov eax, dword [ecx + 4] +add eax, 0x5420 +push eax +call fcn_00017e64 ; call 0x17e64 +add esp, 0x10 +cmp esi, 0x40660 +jne short loc_000002e8 ; jne 0x2e8 +mov ecx, dword [ebx + 1] +xor edx, edx +push eax +mov eax, dword [ecx + 0x22] +push edx +or eax, 1 +push eax +mov eax, dword [ecx + 4] +add eax, 0x5408 +push eax +call fcn_00017e64 ; call 0x17e64 +add esp, 0x10 + +loc_000002e8: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000002f0: +push ebp +mov ebp, esp +sub esp, 0x10 +mov eax, dword [ebp + 8] +push 1 +mov eax, dword [eax + 1] +mov eax, dword [eax + 4] +add eax, 0x5f00 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +leave +ret + +fcn_00000311: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov ebx, dword [ebp + 0xc] +lea eax, [ebp - 0x20] +push eax +push 0x73 +push 4 +call fcn_0001971b ; call 0x1971b +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00000371 ; je 0x371 +test esi, esi +jns short loc_00000371 ; jns 0x371 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000359 ; je 0x359 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000359: +push edi +push ref_00020664 ; push 0x20664 +push 0x18b +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000371: +mov eax, dword [ebp - 0x20] +mov esi, ref_000294ac ; mov esi, 0x294ac +mov ecx, 4 +lea edi, [eax + 8] +add eax, 0x18 +rep movsd ; rep movsd dword es:[edi], dword ptr [esi] +push edi +push edi +push 8 +push eax +call fcn_00016f3b ; call 0x16f3b +pop eax +mov eax, dword [ebp - 0x20] +pop edx +add eax, 0x20 +push 8 +push eax +call fcn_00016f3b ; call 0x16f3b +mov eax, dword [ebp - 0x20] +pop ecx +pop esi +add eax, 0x29 +push 0x21 +push eax +call fcn_00016f3b ; call 0x16f3b +mov eax, dword [ebp - 0x20] +add esp, 0x10 +mov byte [eax + 0x28], 0 +mov byte [eax + 0x71], 0 +cmp byte [ebx], 1 +jbe short loc_000003ce ; jbe 0x3ce +mov edx, dword [ebx + 0xd] +mov dl, byte [edx + 0x49] +mov byte [eax + 0x4a], dl +jmp short loc_000003d2 ; jmp 0x3d2 + +loc_000003ce: +mov byte [eax + 0x4a], 0 + +loc_000003d2: +mov edx, dword [ebx + 5] +mov dl, byte [edx + 7] +mov byte [eax + 0x72], dl +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_000291dc ; push 0x291dc +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00000434 ; je 0x434 +test ebx, ebx +jns short loc_00000434 ; jns 0x434 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000041c ; je 0x41c +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000041c: +push ecx +push ref_00020664 ; push 0x20664 +push 0x1a6 +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000434: +mov eax, dword [ebp - 0x1c] +mov edx, dword [eax + 9] +cmp dword [edx + 4], 0 +je short loc_00000469 ; je 0x469 +mov ebx, dword [ebp - 0x20] +mov byte [ebx + 0x18], 1 +mov edx, dword [eax + 1] +cmp byte [edx], 0 +jns short loc_00000469 ; jns 0x469 +push edx +push 0x14 +mov eax, dword [eax + 9] +mov eax, dword [eax + 4] +push dword [eax + 0x1c] +push dword [eax + 0x18] +call fcn_0001718b ; call 0x1718b +add esp, 0x10 +mov byte [ebx + 0x19], al + +loc_00000469: +mov eax, dword [ebp - 0x20] +mov edx, dword [ebp - 0x1c] +mov byte [eax + 0x20], 2 +mov ecx, dword [edx + 1] +test byte [ecx], 0x10 +je short loc_00000489 ; je 0x489 +mov edx, dword [edx + 9] +mov edx, dword [edx] +mov dl, byte [edx + 0x301] +mov byte [eax + 0x21], dl + +loc_00000489: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000004a3 ; je 0x4a3 +push eax +push eax +push ref_000206fe ; push 0x206fe +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000004a3: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000004ad: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000004cf ; je 0x4cf +push eax +push eax +push ref_00020715 ; push 0x20715 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000004cf: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000004ea ; je 0x4ea +push eax +push 2 +push ref_00020759 ; push 0x20759 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000004ea: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000505 ; je 0x505 +push eax +push 4 +push ref_0002079d ; push 0x2079d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000505: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000520 ; je 0x520 +push eax +push 0 +push ref_000207e1 ; push 0x207e1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000520: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000053b ; je 0x53b +push eax +push 0 +push ref_00020825 ; push 0x20825 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000053b: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000555 ; je 0x555 +push eax +push eax +push ref_00020869 ; push 0x20869 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000555: +push eax +push eax +movzx eax, byte [ebx] +push eax +mov eax, dword [ebx + 1] +mov eax, dword [eax + 8] +add eax, 0x71c +push eax +call fcn_00017dcb ; call 0x17dcb +pop edx +pop ecx +push 0x2040000 +mov eax, dword [ebx + 1] +mov eax, dword [eax + 8] +add eax, 0x720 +push eax +call fcn_00017dcb ; call 0x17dcb +xor eax, eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000058b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 0xc] +call fcn_0001c58d ; call 0x1c58d +mov edi, eax +lea eax, [ebp - 0x24] +push eax +push 0 +push 0 +push ref_0002925c ; push 0x2925c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000005f7 ; je 0x5f7 +test ebx, ebx +jns short loc_000005f7 ; jns 0x5f7 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000005df ; je 0x5df +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000005df: +push ebx +push ref_00020664 ; push 0x20664 +push 0x8e +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000005f7: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000611 ; je 0x611 +push ecx +push ecx +push ref_000208ad ; push 0x208ad +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000611: +sub esp, 0xc +push dword [ebp - 0x24] +call fcn_00000231 ; call 0x231 +pop eax +pop edx +push dword [ebp - 0x24] +push esi +call fcn_00000311 ; call 0x311 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00000644 ; je 0x644 +push eax +push eax +push ref_000208c2 ; push 0x208c2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000644: +sub esp, 0xc +push dword [ebp - 0x24] +call fcn_000004ad ; call 0x4ad +add esp, 0x10 +cmp edi, 0x40660 +sete bl +cmp edi, 0x306c0 +sete al +or bl, al +je short loc_00000684 ; je 0x684 + +loc_00000668: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000006b0 ; je 0x6b0 +push ecx +push ecx +push ref_000208e2 ; push 0x208e2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_000006b0 ; jmp 0x6b0 + +loc_00000684: +cmp edi, 0x40670 +jne loc_00000714 ; jne 0x714 +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_00000668 ; jne 0x668 +jmp short loc_000006e6 ; jmp 0x6e6 + +loc_000006b0: +push edx +push edx +push dword [ebp - 0x24] +push esi +call fcn_000020ad ; call 0x20ad +add esp, 0x10 +test bl, bl +je short loc_000006de ; je 0x6de + +loc_000006c2: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000706 ; je 0x706 +push eax +push eax +push ref_000208f4 ; push 0x208f4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_00000706 ; jmp 0x706 + +loc_000006de: +cmp edi, 0x40670 +jne short loc_00000714 ; jne 0x714 + +loc_000006e6: +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_000006c2 ; jne 0x6c2 +jmp short loc_00000714 ; jmp 0x714 + +loc_00000706: +push eax +push eax +push dword [ebp - 0x24] +push esi +call fcn_00004a9a ; call 0x4a9a +add esp, 0x10 + +loc_00000714: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000072e ; je 0x72e +push eax +push eax +push ref_0002090a ; push 0x2090a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000072e: +push eax +push eax +push dword [ebp - 0x24] +push esi +call fcn_000015f5 ; call 0x15f5 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00000756 ; je 0x756 +push eax +push eax +push ref_00020921 ; push 0x20921 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000756: +push edi +push edi +push dword [ebp - 0x24] +push esi +call fcn_000009ac ; call 0x9ac +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0000077e ; je 0x77e +push ebx +push ebx +push ref_00020949 ; push 0x20949 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000077e: +push ecx +push ecx +push dword [ebp - 0x24] +push esi +call fcn_00001ddb ; call 0x1ddb +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_000007a6 ; je 0x7a6 +push edx +push edx +push ref_00020969 ; push 0x20969 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000007a6: +sub esp, 0xc +push dword [ebp - 0x24] +call fcn_000002f0 ; call 0x2f0 +mov dword [esp], ref_00026e34 ; mov dword [esp], 0x26e34 +call fcn_000196bb ; call 0x196bb +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00000804 ; je 0x804 +test ebx, ebx +jns short loc_00000804 ; jns 0x804 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000007ec ; je 0x7ec +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000007ec: +push eax +push ref_00020664 ; push 0x20664 +push 0xde +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000804: +sub esp, 0xc +lea eax, [ebp - 0x20] +push eax +call fcn_000196d3 ; call 0x196d3 +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00000831 ; je 0x831 +push eax +push dword [ebp - 0x20] +push ref_00020986 ; push 0x20986 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000831: +test ebx, ebx +jne short loc_000008a9 ; jne 0x8a9 +cmp dword [ebp - 0x20], 0x11 +jne short loc_000008a9 ; jne 0x8a9 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000855 ; je 0x855 +push eax +push eax +push ref_0002099a ; push 0x2099a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000855: +sub esp, 0xc +push ref_00026e28 ; push 0x26e28 +call fcn_000196bb ; call 0x196bb +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je loc_00000949 ; je 0x949 +test ebx, ebx +jns loc_00000949 ; jns 0x949 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000899 ; je 0x899 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000899: +push eax +push ref_00020664 ; push 0x20664 +push 0xe8 +jmp near loc_0000093c ; jmp 0x93c + +loc_000008a9: +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002927c ; push 0x2927c +mov dword [ebp - 0x1c], 0 +call fcn_00019699 ; call 0x19699 +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +test eax, eax +je short loc_00000949 ; je 0x949 +test byte [eax + 1], 1 +je short loc_00000949 ; je 0x949 +call fcn_00016597 ; call 0x16597 +dec al +jne short loc_00000949 ; jne 0x949 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000008f5 ; je 0x8f5 +push edi +push edi +push ref_000209be ; push 0x209be +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000008f5: +sub esp, 0xc +push ref_00026e28 ; push 0x26e28 +call fcn_000196bb ; call 0x196bb +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00000949 ; je 0x949 +test ebx, ebx +jns short loc_00000949 ; jns 0x949 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000931 ; je 0x931 +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000931: +push ecx +push ref_00020664 ; push 0x20664 +push 0xf8 + +loc_0000093c: +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000949: +sub esp, 0xc +push ref_00026e40 ; push 0x26e40 +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000099d ; je 0x99d +test ebx, ebx +jns short loc_0000099d ; jns 0x99d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000985 ; je 0x985 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000985: +push eax +push ref_00020664 ; push 0x20664 +push 0x102 +push ref_00020678 ; push 0x20678 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000099d: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000009a7: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +ret + +fcn_000009ac: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov ebx, dword [ebp + 0xc] +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x34], 0 +mov esi, eax +mov eax, dword [ebx + 0x11] +cmp byte [eax + 0xb], 0 +jne short loc_000009f7 ; jne 0x9f7 +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je loc_00000ca8 ; je 0xca8 +push ecx +push ecx +push ref_000209f3 ; push 0x209f3 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_00000ca8 ; jmp 0xca8 + +loc_000009f7: +push eax +push eax +push 7 +lea eax, [ebp - 0x26] +push eax +call fcn_00016f3b ; call 0x16f3b +pop eax +pop edx +lea eax, [ebp - 0x1f] +push 7 +push eax +call fcn_00016f3b ; call 0x16f3b +lea eax, [ebp - 0x30] +push eax +push 0 +push 0 +push ref_000290ec ; push 0x290ec +call fcn_00019699 ; call 0x19699 +add esp, 0x20 +mov dword [ebp - 0x3c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00000a6c ; je 0xa6c +cmp dword [ebp - 0x3c], 0 +jns short loc_00000a6c ; jns 0xa6c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000a57 ; je 0xa57 +push eax +push dword [ebp - 0x3c] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000a57: +push edi +push ref_00020664 ; push 0x20664 +push 0x54 +push ref_00020a33 ; push 0x20a33 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000a6c: +cmp esi, 0x40670 +jne short loc_00000ad8 ; jne 0xad8 +mov eax, dword [ebx + 0x11] +cmp byte [eax + 0x10], 0 +je short loc_00000ad8 ; je 0xad8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000a9e ; je 0xa9e +push esi +mov eax, dword [ebx + 0x11] +movzx eax, byte [eax + 0x10] +push eax +push ref_00020a61 ; push 0x20a61 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000a9e: +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +pop edx +mov edx, dword [ebx + 0x11] +pop ecx +mov dl, byte [edx + 0x10] +and eax, 0xfffffffe +add eax, 0x5e08 +and edx, 0x7f +or edx, 0x80000000 +push edx +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00000ad8: +mov dword [ebp - 0x40], 1 + +loc_00000adf: +mov ecx, dword [ebp - 0x40] +cmp cl, 1 +mov eax, ecx +mov byte [ebp - 0x41], cl +sete cl +sub eax, 3 +cmp al, 2 +mov byte [ebp - 0x43], cl +setbe byte [ebp - 0x42] +jbe short loc_00000b03 ; jbe 0xb03 +test cl, cl +je loc_00000c98 ; je 0xc98 + +loc_00000b03: +push ecx +push ecx +push 5 +lea eax, [ebp - 0x2b] +push eax +call fcn_00016f3b ; call 0x16f3b +mov al, byte [ebp - 0x41] +pop esi +pop edi +mov byte [ebp - 0x27], al +lea eax, [ebp - 0x34] +push eax +lea eax, [ebp - 0x2b] +push eax +call fcn_0001d2de ; call 0x1d2de +add esp, 0x10 +cmp dword [ebp - 0x34], 0 +mov dword [ebp - 0x3c], eax +jne loc_00000c77 ; jne 0xc77 +cmp byte [ebp - 0x2a], 0 +jne short loc_00000b4b ; jne 0xb4b +cmp byte [ebp - 0x29], 0 +jne short loc_00000b4b ; jne 0xb4b +cmp byte [ebp - 0x28], 0 +je loc_00000c61 ; je 0xc61 + +loc_00000b4b: +push edi +push edi +push 7 +lea edi, [ebp - 0x26] +push edi +call fcn_00016f3b ; call 0x16f3b +mov al, byte [ebp - 0x41] +mov byte [ebp - 0x20], al +pop eax +pop edx +lea eax, [ebp - 0x34] +push eax +push edi +call fcn_0001d131 ; call 0x1d131 +add esp, 0x10 +mov dword [ebp - 0x3c], eax +test eax, eax +jne loc_00000c98 ; jne 0xc98 +cmp dword [ebp - 0x34], 0 +jne loc_00000c98 ; jne 0xc98 +push esi +push esi +push 7 +lea esi, [ebp - 0x1f] +push esi +call fcn_00016f3b ; call 0x16f3b +mov al, byte [ebp - 0x41] +add esp, 0x10 +cmp byte [ebp - 0x43], 0 +mov byte [ebp - 0x19], al +je short loc_00000c08 ; je 0xc08 +mov eax, dword [ebx + 0x11] +mov dx, word [eax + 6] +mov byte [ebp - 0x1f], dl +mov dl, byte [eax + 0xa] +mov byte [ebp - 0x1e], dl +test dl, dl +jne short loc_00000bb8 ; jne 0xbb8 +mov dx, word [eax + 4] +jmp short loc_00000bbc ; jmp 0xbbc + +loc_00000bb8: +mov dx, word [eax + 2] + +loc_00000bbc: +mov word [ebp - 0x1d], dx +mov ax, word [eax] +push ecx +push 7 +push edi +push esi +mov word [ebp - 0x1b], ax +call fcn_00016fa3 ; call 0x16fa3 +add esp, 0x10 +test al, al + +loc_00000bd6: +je loc_00000c98 ; je 0xc98 +mov eax, dword [ebp - 0x30] +sub esp, 0xc +push 0x3c +call dword [eax] ; ucall +add esp, 0xc +mov ecx, 7 +lea eax, [ebp - 0x34] +push eax +push edx +push edx +mov edi, esp +rep movsb ; rep movsb byte es:[edi], byte ptr [esi] +call fcn_0001d1b8 ; call 0x1d1b8 +add esp, 0x10 +mov esi, eax +test eax, eax +je short loc_00000c44 ; je 0xc44 +jmp short loc_00000c4a ; jmp 0xc4a + +loc_00000c08: +cmp byte [ebp - 0x42], 0 +je loc_00000c98 ; je 0xc98 +movzx edi, byte [ebp - 0x41] +mov eax, edi +cmp al, 4 +mov eax, dword [ebx + 0x11] +je short loc_00000c2c ; je 0xc2c +mov ecx, edi +cmp cl, 5 +je short loc_00000c32 ; je 0xc32 +mov ax, word [eax + 8] +jmp short loc_00000c36 ; jmp 0xc36 + +loc_00000c2c: +mov ax, word [eax + 0xc] +jmp short loc_00000c36 ; jmp 0xc36 + +loc_00000c32: +mov ax, word [eax + 0xe] + +loc_00000c36: +mov word [ebp - 0x1b], ax +mov ax, word [ebp - 0x22] +cmp word [ebp - 0x1b], ax +jmp short loc_00000bd6 ; jmp 0xbd6 + +loc_00000c44: +cmp dword [ebp - 0x34], 0 +je short loc_00000c98 ; je 0xc98 + +loc_00000c4a: +call fcn_000153e9 ; call 0x153e9 +mov dword [ebp - 0x3c], esi +test al, al +je short loc_00000c98 ; je 0xc98 +push dword [ebp - 0x34] +push esi +push ref_00020a87 ; push 0x20a87 +jmp short loc_00000c8b ; jmp 0xc8b + +loc_00000c61: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000c98 ; je 0xc98 +push eax +push dword [ebp - 0x40] +push ref_00020ad0 ; push 0x20ad0 +push 0x40 +jmp short loc_00000c90 ; jmp 0xc90 + +loc_00000c77: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000c98 ; je 0xc98 +push dword [ebp - 0x40] +push dword [ebp - 0x34] +push ref_00020af9 ; push 0x20af9 + +loc_00000c8b: +push 0x80000000 + +loc_00000c90: +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000c98: +inc dword [ebp - 0x40] +cmp dword [ebp - 0x40], 6 +jne loc_00000adf ; jne 0xadf +mov ebx, dword [ebp - 0x3c] + +loc_00000ca8: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00000cb2: +push ebp +mov ebp, esp +push edi +push esi +mov esi, 0x10 +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0x14] +mov dword [eax], 0 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x1c], eax +add eax, 0xb +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, 6 +je short loc_00000d67 ; je 0xd67 + +loc_00000cec: +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +lea ebx, [esi + eax] +push ebx +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +pop eax +pop edx +push 0 +push ebx +call fcn_00018a7a ; call 0x18a7a +pop ecx +pop eax +push 0xffffffffffffffff +push ebx +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +cmp edi, eax +je short loc_00000d28 ; je 0xd28 +test edi, 1 +je short loc_00000d36 ; je 0xd36 + +loc_00000d28: +push ecx +push ecx +push edi +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +jmp short loc_00000d5f ; jmp 0xd5f + +loc_00000d36: +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp + 0x14] +and eax, 0xfffffff0 +sub dword [edx], eax +pop eax +pop edx +push edi +and edi, 6 +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp edi, 4 +lea eax, [esi + 4] +cmove esi, eax + +loc_00000d5f: +add esi, 4 +cmp esi, 0x24 +jbe short loc_00000cec ; jbe 0xcec + +loc_00000d67: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00000d6f: +push ebp +mov ebp, esp +push edi +xor edi, edi +push esi +xor esi, esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov dword [ebp - 0x24], eax +mov byte [ebp - 0x19], al +movzx eax, al +mov dword [ebp - 0x20], eax + +loc_00000d8b: +push eax +push 0 +push esi +push dword [ebp - 0x20] +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov ebx, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_00000e2d ; je 0xe2d +sub esp, 0xc +lea eax, [ebx + 0xa] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x604 +jne short loc_00000e2d ; jne 0xe2d +mov al, byte [ebp - 0x19] +inc eax +mov byte [ebp - 0x19], al +push eax +push eax +push dword [ebp - 0x20] +lea eax, [ebx + 0x18] +push eax +call fcn_00017ce1 ; call 0x17ce1 +movzx edi, byte [ebp - 0x19] +lea eax, [ebx + 0x19] +pop edx +add ebx, 0x1a +pop ecx +push edi +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop eax +pop edx +push 0xff +push ebx +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +push 0 +push 0 +push edi +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop edx +push 0 +push eax +call fcn_00017d40 ; call 0x17d40 +mov dword [esp], edi +call fcn_00000d6f ; call 0xd6f +pop ecx +mov edi, eax +pop eax +mov eax, edi +movzx eax, al +push eax +push ebx +call fcn_00017ce1 ; call 0x17ce1 +mov eax, edi +add esp, 0x10 +mov byte [ebp - 0x19], al + +loc_00000e2d: +inc esi +cmp esi, 0x20 +jne loc_00000d8b ; jne 0xd8b +mov eax, edi +test al, al +mov al, byte [ebp - 0x24] +cmovne eax, edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00000e49: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002901c ; push 0x2901c +mov dword [ebp - 0x20], 0 +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00000eb2 ; je 0xeb2 +test ebx, ebx +jns short loc_00000eb2 ; jns 0xeb2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00000e9a ; je 0xe9a +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00000e9a: +push ebx +push ref_00020664 ; push 0x20664 +push 0x2d0 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00000eb2: +mov byte [ebp - 0x29], 0 +mov esi, 0x10100 +xor ebx, ebx + +loc_00000ebd: +call fcn_0001c0fb ; call 0x1c0fb +cmp bl, al +jae loc_00000f52 ; jae 0xf52 +movzx eax, bl +push ecx +push eax +push 0x1c +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov edi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_00000f4c ; je 0xf4c +push eax +push eax +push esi +lea eax, [edi + 0x18] +push eax +call fcn_00017dcb ; call 0x17dcb +lea eax, [edi + 0x19] +add edi, 0x1a +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +pop edx +pop ecx +push 0xff +push edi +mov esi, eax +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +mov eax, esi +push 0 +movzx esi, al +push 0 +push esi +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0 +push eax +call fcn_00017d40 ; call 0x17d40 +mov dword [esp], esi +call fcn_00000d6f ; call 0xd6f +movzx esi, al +mov byte [ebp - 0x29], al +pop eax +pop edx +push esi +inc esi +push edi +call fcn_00017ce1 ; call 0x17ce1 +shl esi, 8 +add esp, 0x10 + +loc_00000f4c: +inc ebx +jmp near loc_00000ebd ; jmp 0xebd + +loc_00000f52: +mov byte [ebp - 0x2b], 0 +mov byte [ebp - 0x2d], 1 + +loc_00000f5a: +mov al, byte [ebp - 0x29] +mov dl, byte [ebp - 0x2d] +cmp dl, al +ja loc_00001071 ; ja 0x1071 +xor ebx, ebx +movzx esi, dl + +loc_00000f6d: +push eax +push 0 +push ebx +push esi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov edi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_00001035 ; je 0x1035 +sub esp, 0xc +add edi, 0xe +push edi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x2c], 0 +mov byte [ebp - 0x2a], al +sar byte [ebp - 0x2a], 7 +and byte [ebp - 0x2a], 7 + +loc_00000faa: +movzx edi, byte [ebp - 0x2c] +push eax +push edi +push ebx +push esi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_00001026 ; je 0x1026 +lea eax, [ebp - 0x20] +push eax +push edi +push ebx +push esi +call fcn_00000cb2 ; call 0xcb2 +mov ecx, dword [ebp + 0xc] +add esp, 0xc +mov eax, dword [ebp - 0x20] +add dword [ecx], eax +push edi +push ebx +push esi +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xa +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x300 +jne short loc_00001026 ; jne 0x1026 +cmp byte [ebp - 0x2b], 1 +je short loc_00001022 ; je 0x1022 +mov eax, dword [ebp + 0x10] +mov dword [eax], 2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001022 ; je 0x1022 +push eax +push eax +push ref_00020b74 ; push 0x20b74 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001022: +mov byte [ebp - 0x2b], 1 + +loc_00001026: +inc byte [ebp - 0x2c] +mov al, byte [ebp - 0x2a] +cmp byte [ebp - 0x2c], al +jbe loc_00000faa ; jbe 0xfaa + +loc_00001035: +inc ebx +cmp ebx, 0x20 +jne loc_00000f6d ; jne 0xf6d +inc byte [ebp - 0x2d] +jmp near loc_00000f5a ; jmp 0xf5a + +loc_00001047: +movzx edi, byte [ebp - 0x29] +xor ebx, ebx + +loc_0000104d: +push eax +push 0 +push ebx +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_0000107b ; jne 0x107b + +loc_00001068: +inc ebx +cmp ebx, 0x20 +jne short loc_0000104d ; jne 0x104d +dec byte [ebp - 0x29] + +loc_00001071: +cmp byte [ebp - 0x29], 0 +jne short loc_00001047 ; jne 0x1047 +xor ebx, ebx +jmp short loc_000010a2 ; jmp 0x10a2 + +loc_0000107b: +sub esp, 0xc +lea eax, [esi + 0xa] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x604 +jne short loc_00001068 ; jne 0x1068 +push eax +add esi, 0x18 +push eax +push 0 +push esi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +jmp short loc_00001068 ; jmp 0x1068 + +loc_000010a2: +call fcn_0001c0fb ; call 0x1c0fb +cmp bl, al +jae short loc_000010cc ; jae 0x10cc +push eax +movzx eax, bl +push eax +inc ebx +push 0x1c +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0 +add eax, 0x18 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +jmp short loc_000010a2 ; jmp 0x10a2 + +loc_000010cc: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000010d4: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +movzx eax, byte [ebp + 0x10] +movzx edx, byte [ebp + 0xc] +movzx ecx, byte [ebp + 8] +push eax +push edx +push ecx +mov dword [ebp - 0x38], ecx +mov dword [ebp - 0x34], edx +mov dword [ebp - 0x30], eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +pop eax +pop edx +lea eax, [ebx + 0x19] +add ebx, 0x1a +push 1 +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop ecx +pop esi +lea esi, [ebp - 0x1c] +push 0xff +push ebx +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +push 0 +push 0 +push 1 +call fcn_00016bd6 ; call 0x16bd6 +pop edi +pop edx +push 0 +push eax +call fcn_00017d40 ; call 0x17d40 +mov dword [esp], 1 +call fcn_00000d6f ; call 0xd6f +add esp, 0x10 +mov byte [ebp - 0x2b], 0 +mov byte [ebp - 0x2a], 1 +mov byte [ebp - 0x29], al + +loc_0000114e: +mov al, byte [ebp - 0x29] +mov dl, byte [ebp - 0x2a] +cmp dl, al +ja loc_000011e3 ; ja 0x11e3 +xor ebx, ebx +movzx edi, dl + +loc_00001161: +push eax +push 0 +push ebx +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_000011b4 ; je 0x11b4 +push esi +push 0 +push ebx +push edi +call fcn_00000cb2 ; call 0xcb2 +mov ecx, dword [ebp + 0x14] +add esp, 0xc +mov eax, dword [ebp - 0x1c] +add dword [ecx], eax +push 0 +push ebx +push edi +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xa +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x300 +je short loc_000011b0 ; je 0x11b0 +dec ax +jne short loc_000011b4 ; jne 0x11b4 + +loc_000011b0: +mov byte [ebp - 0x2b], 1 + +loc_000011b4: +inc ebx +cmp ebx, 0x20 +jne short loc_00001161 ; jne 0x1161 +inc byte [ebp - 0x2a] +jmp short loc_0000114e ; jmp 0x114e + +loc_000011bf: +push eax +push 0 +push ebx +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_000011f1 ; jne 0x11f1 + +loc_000011da: +inc ebx +cmp ebx, 0x20 +jne short loc_000011bf ; jne 0x11bf +dec byte [ebp - 0x29] + +loc_000011e3: +mov al, byte [ebp - 0x29] +test al, al +je short loc_00001218 ; je 0x1218 +xor ebx, ebx +movzx edi, al +jmp short loc_000011bf ; jmp 0x11bf + +loc_000011f1: +sub esp, 0xc +lea eax, [esi + 0xa] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x604 +jne short loc_000011da ; jne 0x11da +push eax +add esi, 0x18 +push eax +push 0 +push esi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +jmp short loc_000011da ; jmp 0x11da + +loc_00001218: +push eax +push dword [ebp - 0x30] +push dword [ebp - 0x34] +push dword [ebp - 0x38] +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0 +add eax, 0x18 +push eax +call fcn_00017dcb ; call 0x17dcb +mov al, byte [ebp - 0x2b] +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000123f: +push ebp +mov ecx, 0xf +mov ebp, esp +push edi +push esi +mov esi, ref_00020310 ; mov esi, 0x20310 +push ebx +sub esp, 0x50 +mov al, byte [ebp + 0xc] +lea edi, [ebp - 0x27] +rep movsb ; rep movsb byte es:[edi], byte ptr [esi] +lea edi, [ebp - 0x27] +push 0 +push 0 +push 1 +mov byte [ebp - 0x4f], al +mov al, byte [ebp + 0x14] +mov dword [ebp - 0x2c], 0 +mov byte [ebp - 0x50], al +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0 +push 0 +mov esi, eax +mov dword [ebp - 0x48], eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x54 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0xc +push 0 +push 2 +push 0 +mov word [ebp - 0x3c], ax +and word [ebp - 0x3c], 0xe +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov byte [ebp - 0x39], 0xff +inc ax +mov eax, esi +setne byte [ebp - 0x4e] +add eax, 0xe +mov dword [ebp - 0x54], eax + +loc_000012ca: +mov al, byte [edi] +mov bx, word [edi + 3] +mov cl, al +mov byte [ebp - 0x4c], al +mov al, byte [edi + 1] +mov dl, al +mov byte [ebp - 0x4d], al +movzx eax, byte [edi + 2] +push esi +push eax +mov byte [ebp - 0x3a], al +movzx eax, dl +push eax +movzx eax, cl +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov esi, eax +test word [ebp - 0x3c], bx +je loc_000014c6 ; je 0x14c6 +sub esp, 0xc +lea eax, [eax + 0xba] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x40 +je loc_000014c6 ; je 0x14c6 +push edx +push 0x10100 +push 0xff0000ff +lea eax, [esi + 0x18] +push eax +mov dword [ebp - 0x40], eax +call fcn_00018aa4 ; call 0x18aa4 +pop ecx +pop ebx +mov ebx, dword [ebp - 0x48] +push 0 +push ebx +call fcn_00017d40 ; call 0x17d40 +mov dword [esp], ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_000014c6 ; je 0x14c6 +sub esp, 0xc +push dword [ebp - 0x54] +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x44], 0 +mov bl, al +sar bl, 7 +and ebx, 7 + +loc_0000136d: +movzx edx, byte [ebp - 0x44] +push eax +push edx +push 0 +push 1 +mov dword [ebp - 0x58], edx +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_000013aa ; je 0x13aa +mov edx, dword [ebp - 0x58] +lea eax, [ebp - 0x2c] +push eax +push edx +push 0 +push 1 +call fcn_00000cb2 ; call 0xcb2 +mov ecx, dword [ebp + 0x18] +add esp, 0x10 +mov eax, dword [ebp - 0x2c] +add dword [ecx], eax + +loc_000013aa: +inc byte [ebp - 0x44] +cmp byte [ebp - 0x44], bl +jbe short loc_0000136d ; jbe 0x136d +mov eax, dword [ebp - 0x48] +sub esp, 0xc +add eax, 0xb +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, 3 +jne short loc_00001442 ; jne 0x1442 +cmp byte [ebp - 0x4f], 0 +jne short loc_000013ea ; jne 0x13ea +cmp byte [ebp - 0x4e], 0 +je short loc_000013de ; je 0x13de +cmp byte [ebp - 0x50], 0 +je loc_000014b4 ; je 0x14b4 + +loc_000013de: +mov eax, dword [ebp + 0x10] +cmp dword [eax], 2 +je loc_000014b4 ; je 0x14b4 + +loc_000013ea: +mov eax, dword [ebp + 0x10] +cmp dword [eax], 1 +je loc_0000153f ; je 0x153f +push ebx +add esi, 0x3e +push ebx +push 0x18 +push esi +call fcn_00018863 ; call 0x18863 +mov eax, dword [ebp + 0x10] +mov dword [eax], 1 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je loc_00001545 ; je 0x1545 +movzx edx, byte [ebp - 0x3a] +movzx eax, byte [ebp - 0x4d] +movzx ebx, byte [ebp - 0x4c] +push ecx +push edx +push eax +push ebx +push edx +push eax +push ref_00020b95 ; push 0x20b95 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 +jmp near loc_00001545 ; jmp 0x1545 + +loc_00001442: +cmp al, 6 +jne short loc_000014b4 ; jne 0x14b4 +push dword [ebp + 0x18] +movzx edx, byte [ebp - 0x3a] +movzx ebx, byte [ebp - 0x4d] +movzx eax, byte [ebp - 0x4c] +push edx +push ebx +push eax +mov dword [ebp - 0x44], eax +mov dword [ebp - 0x4c], edx +call fcn_000010d4 ; call 0x10d4 +add esp, 0x10 +dec al +jne short loc_000014b4 ; jne 0x14b4 +mov eax, dword [ebp + 0x10] +cmp dword [eax], 1 +je short loc_000014b4 ; je 0x14b4 +push eax +add esi, 0x3e +push eax +push 0x18 +push esi +call fcn_00018863 ; call 0x18863 +mov eax, dword [ebp + 0x10] +mov dword [eax], 1 +call fcn_000153e9 ; call 0x153e9 +mov cl, byte [ebp - 0x3a] +add esp, 0x10 +mov edx, dword [ebp - 0x4c] +mov byte [ebp - 0x39], cl +test al, al +je short loc_000014b4 ; je 0x14b4 +push esi +push edx +push ebx +push dword [ebp - 0x44] +push edx +push ebx +push ref_00020b95 ; push 0x20b95 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_000014b4: +push ecx +push ecx +push 0xff0000ff +push dword [ebp - 0x40] +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_000014c6: +add edi, 5 +lea eax, [ebp - 0x18] +cmp edi, eax +jne loc_000012ca ; jne 0x12ca +cmp byte [ebp - 0x39], 0xff +je short loc_00001550 ; je 0x1550 +lea ebx, [ebp - 0x27] +mov byte [ebp - 0x3a], 0 + +loc_000014e1: +mov al, byte [ebp - 0x3a] +cmp byte [ebp - 0x39], al +je short loc_00001531 ; je 0x1531 +push edx +movzx esi, byte [ebx + 2] +push esi +movzx edi, byte [ebx + 1] +push edi +movzx ecx, byte [ebx] +push ecx +mov dword [ebp - 0x40], ecx +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop edx +push 4 +add eax, 0x3e +push eax +call fcn_00018863 ; call 0x18863 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +mov ecx, dword [ebp - 0x40] +test al, al +je short loc_00001531 ; je 0x1531 +push eax +push esi +push edi +push ecx +push esi +push edi +push ref_00020bc6 ; push 0x20bc6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00001531: +inc byte [ebp - 0x3a] +add ebx, 5 +cmp byte [ebp - 0x3a], 3 +jne short loc_000014e1 ; jne 0x14e1 +jmp short loc_00001550 ; jmp 0x1550 + +loc_0000153f: +mov al, byte [ebp - 0x39] +mov byte [ebp - 0x3a], al + +loc_00001545: +mov al, byte [ebp - 0x3a] +mov byte [ebp - 0x39], al +jmp near loc_000014b4 ; jmp 0x14b4 + +loc_00001550: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00001558: +push ebp +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x28 +mov eax, dword [ebp + 8] +mov edi, dword [ebp + 0x18] +add edi, dword [ebp + 0x10] +mov esi, dword [ebp + 0xc] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x1c] +push edi +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x20] +mov dword [ebp - 0x24], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov ecx, eax + +loc_00001589: +and ecx, dword [ebp - 0x20] +cmp ecx, dword [ebp - 0x24] +je short loc_000015bc ; je 0x15bc +cmp bx, 0xbb8 +je short loc_000015bc ; je 0x15bc +sub esp, 0xc +inc ebx +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +push 0x3e8 +push esi +push dword [ebp - 0x1c] +mov dword [ebp - 0x28], eax +call dword [esi + 4] ; ucall +add esp, 0x10 +mov ecx, dword [ebp - 0x28] +jmp short loc_00001589 ; jmp 0x1589 + +loc_000015bc: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000015ed ; je 0x15ed +cmp bx, 0xbb8 +jne short loc_000015ed ; jne 0x15ed +mov dword [ebp + 0x10], ref_00020bee ; mov dword [ebp + 0x10], 0x20bee +mov dword [ebp + 0xc], 0x41b +mov dword [ebp + 8], ref_00020b42 ; mov dword [ebp + 8], 0x20b42 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153fc ; jmp 0x153fc + +loc_000015ed: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000015f5: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x50 +mov edi, dword [ebp + 0xc] +push 0 +push 0 +push 0 +mov dword [ebp - 0x30], 0 +mov dword [ebp - 0x2c], 0 +mov dword [ebp - 0x28], 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 2 +push 0 +mov ebx, eax +mov dword [ebp - 0x4c], eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x44], eax +mov eax, ebx +add eax, 0x48 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x54], eax +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x3c], eax +lea eax, [ebp - 0x1c] +mov dword [esp], eax +call fcn_000196d3 ; call 0x196d3 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000169e ; je 0x169e +test ebx, ebx +jns short loc_0000169e ; jns 0x169e +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001689 ; je 0x1689 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001689: +push eax +push ref_00020664 ; push 0x20664 +push 0x55 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000169e: +lea eax, [ebp - 0x20] +push eax +push 0 +push 0 +push ref_0002912c ; push 0x2912c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000016f4 ; je 0x16f4 +test ebx, ebx +jns short loc_000016f4 ; jns 0x16f4 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000016df ; je 0x16df +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000016df: +push eax +push ref_00020664 ; push 0x20664 +push 0x60 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000016f4: +mov eax, dword [ebp - 0x4c] +lea ebx, [eax + 0x50] +push eax +push eax +push 2 +push ebx +call fcn_00018863 ; call 0x18863 +pop eax +push dword [ebp - 0x44] +mov dword [ebp - 0x34], 0 +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp byte [edi], 0x10 +mov word [ebp - 0x40], ax +jbe short loc_00001729 ; jbe 0x1729 +mov eax, dword [edi + 1] +cmp byte [eax + 0x33], 0 +jne short loc_0000175c ; jne 0x175c + +loc_00001729: +lea esi, [ebp - 0x34] +push eax +push esi +lea edx, [ebp - 0x30] +push edx +push dword [ebp + 8] +call fcn_00000e49 ; call 0xe49 +lea edx, [ebp - 0x2c] +mov dword [esp], edx +mov edx, dword [edi + 5] +movzx edx, byte [edx + 6] +push edx +push esi +mov eax, dword [edi + 0xd] +movzx eax, byte [eax + 4] +push eax +push dword [ebp + 8] +call fcn_0000123f ; call 0x123f +add esp, 0x20 + +loc_0000175c: +mov eax, dword [edi + 5] +mov eax, dword [eax + 8] +test eax, eax +jne short loc_000017aa ; jne 0x17aa +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001780 ; je 0x1780 +push esi +push esi +push ref_00020c03 ; push 0x20c03 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001780: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_00001cc0 ; je 0x1cc0 +push ebx +push ref_00020c4e ; push 0x20c4e +push 0x83 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_00001cc0 ; jmp 0x1cc0 + +loc_000017aa: +mov edx, dword [ebp - 0x3c] +cmp edx, 0x40650 +sete cl +cmp edx, 0x306c0 +sete dl +or dl, cl +mov byte [ebp - 0x47], cl +mov byte [ebp - 0x45], dl +jne short loc_000017da ; jne 0x17da +mov edx, eax +and edx, 0xff000000 +cmp dword [ebp - 0x3c], 0x40660 +jne short loc_000017e1 ; jne 0x17e1 + +loc_000017da: +and eax, 0xffc00000 +mov edx, eax + +loc_000017e1: +mov eax, dword [ebp - 0x44] +cmp word [ebp - 0x40], 0xffff +setne byte [ebp - 0x46] +add eax, 0x10 +mov esi, eax +mov dword [ebp - 0x58], eax +push eax +push eax +push edx +push esi +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +push 6 +mov dword [ebp - 0x40], eax +mov eax, dword [ebp - 0x44] +and dword [ebp - 0x40], 0xfffffff0 +add eax, 4 +push eax +mov dword [ebp - 0x50], eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp byte [ebp - 0x46], 0 +je loc_00001a8c ; je 0x1a8c +cmp dword [ebp - 0x34], 0 +mov eax, dword [edi + 5] +je short loc_0000183c ; je 0x183c +cmp byte [eax + 6], 0 +jne short loc_00001842 ; jne 0x1842 + +loc_0000183c: +cmp byte [eax + 5], 0 +jne short loc_0000184c ; jne 0x184c + +loc_00001842: +cmp byte [eax + 5], 1 +jne loc_00001a8c ; jne 0x1a8c + +loc_0000184c: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001866 ; je 0x1866 +push eax +push eax +push ref_00020c5c ; push 0x20c5c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001866: +push eax +push eax +mov eax, dword [ebp - 0x20] +push 1 +push dword [eax + 4] +call fcn_0001c50d ; call 0x1c50d +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000018bc ; je 0x18bc +test esi, esi +jns short loc_000018bc ; jns 0x18bc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000018a4 ; je 0x18a4 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000018a4: +push ecx +push ref_00020664 ; push 0x20664 +push 0xae +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000018bc: +mov eax, dword [edi + 5] +cmp byte [ebp - 0x45], 0 +movzx esi, byte [eax + 4] +jne short loc_000018d2 ; jne 0x18d2 +cmp dword [ebp - 0x3c], 0x40660 +jne short loc_000018f4 ; jne 0x18f4 + +loc_000018d2: +push eax +push eax +push 0xff07 +push ebx +call fcn_00018890 ; call 0x18890 +pop eax +pop edx +lea eax, [esi*8] +movzx esi, al +push esi +push ebx +call fcn_0001866c ; call 0x1866c +jmp short loc_00001913 ; jmp 0x1913 + +loc_000018f4: +push eax +push eax +push 0xff +push ebx +call fcn_00018890 ; call 0x18890 +shl esi, 8 +pop edx +and esi, 0x3f00 +pop ecx +push esi +push ebx +call fcn_00018863 ; call 0x18863 + +loc_00001913: +mov eax, dword [edi + 5] +add esp, 0x10 +cmp word [eax + 2], 0 +mov eax, dword [ebp - 0x44] +lea esi, [eax + 0x62] +je short loc_00001995 ; je 0x1995 +cmp byte [ebp - 0x45], 0 +jne short loc_00001935 ; jne 0x1935 +cmp dword [ebp - 0x3c], 0x40660 +jne short loc_0000194b ; jne 0x194b + +loc_00001935: +push eax +push 0x200 +push 0xfcff +push ebx +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +jmp short loc_00001995 ; jmp 0x1995 + +loc_0000194b: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00001976 ; je 0x1976 +mov eax, dword [edi + 5] +cmp word [eax + 2], 3 +jbe short loc_00001976 ; jbe 0x1976 +push eax +push ref_00020c6a ; push 0x20c6a +push 0xd0 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001976: +push eax +mov eax, dword [edi + 5] +movzx eax, word [eax + 2] +shl eax, 6 +movzx eax, al +push eax +push 0xff3f +push ebx +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +jmp short loc_000019b8 ; jmp 0x19b8 + +loc_00001995: +cmp byte [ebp - 0x45], 0 +jne short loc_000019a4 ; jne 0x19a4 +cmp dword [ebp - 0x3c], 0x40660 +jne short loc_000019b8 ; jne 0x19b8 + +loc_000019a4: +push eax +mov eax, dword [edi + 5] +mov al, byte [eax + 7] +add eax, eax +movzx eax, al +push eax +push 0xf9 +jmp short loc_000019c6 ; jmp 0x19c6 + +loc_000019b8: +push eax +mov eax, dword [edi + 5] +movzx eax, byte [eax + 7] +push eax +push 0xe0 + +loc_000019c6: +push esi +call fcn_000186c6 ; call 0x186c6 +mov eax, dword [edi + 5] +add esp, 0x10 +cmp byte [eax + 6], 0 +je short loc_00001a04 ; je 0x1a04 +cmp dword [ebp - 0x34], 0 +je short loc_00001a04 ; je 0x1a04 +push ecx +push ecx +push 2 +push ebx +call fcn_00018863 ; call 0x18863 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00001a14 ; je 0x1a14 +push edx +push edx +push ref_00020c96 ; push 0x20c96 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +jmp short loc_00001a11 ; jmp 0x1a11 + +loc_00001a04: +push eax +push eax +push 0xfffd +push ebx +call fcn_00018890 ; call 0x18890 + +loc_00001a11: +add esp, 0x10 + +loc_00001a14: +mov eax, dword [ebp - 0x3c] +cmp eax, 0x40670 +je short loc_00001a25 ; je 0x1a25 +cmp eax, 0x306d0 +jne short loc_00001a3d ; jne 0x1a3d + +loc_00001a25: +push eax +push eax +mov eax, dword [ebp - 0x40] +push 0x4000 +add eax, 0x6c004 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00001a3d: +cmp byte [edi], 0xd +jbe short loc_00001a66 ; jbe 0x1a66 +mov eax, dword [edi + 5] +cmp byte [eax + 0xc], 1 +jne short loc_00001a66 ; jne 0x1a66 +cmp dword [ebp - 0x1c], 0x11 +je short loc_00001a66 ; je 0x1a66 +push eax +push eax +mov eax, dword [ebp - 0x40] +push 8 +add eax, 0xc7204 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00001a66: +push eax +push eax +push 0xfff9 +push dword [ebp - 0x50] +call fcn_00018890 ; call 0x18890 +lea eax, [ebp - 0x28] +push eax +push 0 +push 2 +push 0 +call fcn_00000cb2 ; call 0xcb2 +add esp, 0x20 +jmp near loc_00001c56 ; jmp 0x1c56 + +loc_00001a8c: +push eax +push eax +mov eax, dword [ebp - 0x20] +push 0 +push dword [eax + 4] +call fcn_0001c50d ; call 0x1c50d +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00001ae2 ; je 0x1ae2 +test esi, esi +jns short loc_00001ae2 ; jns 0x1ae2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001aca ; je 0x1aca +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001aca: +push esi +push ref_00020664 ; push 0x20664 +push 0x106 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001ae2: +lea eax, [ebp - 0x24] +push eax +push 0 +push 0 +push ref_0002901c ; push 0x2901c +call fcn_00019699 ; call 0x19699 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00001b3b ; je 0x1b3b +test esi, esi +jns short loc_00001b3b ; jns 0x1b3b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001b23 ; je 0x1b23 +push ecx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001b23: +push edx +push ref_00020664 ; push 0x20664 +push 0x108 +push ref_00020b42 ; push 0x20b42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001b3b: +cmp dword [ebp - 0x3c], 0x306d0 +je short loc_00001b4e ; je 0x1b4e +cmp byte [ebp - 0x47], 0 +je loc_00001bdd ; je 0x1bdd + +loc_00001b4e: +push eax +mov eax, dword [ebp - 0x40] +push 0x80000000 +push 0xffffffffffffffff +add eax, 0x130040 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp byte [ebp - 0x46], 0 +je short loc_00001b8f ; je 0x1b8f +push eax +mov eax, dword [ebp - 0x40] +xor edx, edx +push 0 +push 0x40000000 +push 0x130040 +push edx +push eax +push dword [ebp - 0x24] +push dword [ebp + 8] +call fcn_00001558 ; call 0x1558 +add esp, 0x20 + +loc_00001b8f: +mov esi, dword [ebp - 0x54] +push eax +push 1 +push 0xffffffffffffffff +and esi, 0xfffffffe +lea eax, [esi + 0x5f0c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x24] +add esp, 0xc +push 1 +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +cmp byte [ebp - 0x46], 0 +je short loc_00001bdd ; je 0x1bdd +push eax +xor edx, edx +push 0 +push 0x200 +push 0x5f0c +push edx +push esi +push dword [ebp - 0x24] +push dword [ebp + 8] +call fcn_00001558 ; call 0x1558 +add esp, 0x20 + +loc_00001bdd: +push eax +push eax +push 0xfff9 +push dword [ebp - 0x50] +call fcn_00018890 ; call 0x18890 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00001c09 ; je 0x1c09 +push eax +push eax +push ref_00020cd6 ; push 0x20cd6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001c09: +cmp byte [ebp - 0x45], 0 +jne short loc_00001c18 ; jne 0x1c18 +cmp dword [ebp - 0x3c], 0x40660 +jne short loc_00001c22 ; jne 0x1c22 + +loc_00001c18: +push esi +push 2 +push 0xfc07 +jmp short loc_00001c27 ; jmp 0x1c27 + +loc_00001c22: +push ecx +push 2 +push 0x3f + +loc_00001c27: +push ebx +call fcn_000188bd ; call 0x188bd +mov eax, dword [edi + 5] +add esp, 0x10 +mov word [eax + 2], 0 +mov eax, dword [edi + 5] +mov byte [eax + 4], 0 +mov eax, dword [ebp - 0x4c] +push edx +push edx +push 0xef +add eax, 0x54 +push eax +call fcn_00018699 ; call 0x18699 +add esp, 0x10 + +loc_00001c56: +mov eax, dword [ebp - 0x2c] +mov esi, dword [ebp - 0x30] +mov ebx, dword [ebp - 0x28] +mov dword [ebp - 0x3c], eax +push eax +push eax +push 0 +push dword [ebp - 0x58] +call fcn_00018a7a ; call 0x18a7a +mov eax, dword [edi + 9] +add esp, 0x10 +cmp byte [eax + 3], 0 +jne short loc_00001cc0 ; jne 0x1cc0 +add esi, dword [ebp - 0x3c] +mov edx, dword [edi + 5] +add ebx, esi +cmp ebx, 0x3fffffff +jbe short loc_00001c91 ; jbe 0x1c91 +mov word [edx], 0x800 +jmp short loc_00001cc0 ; jmp 0x1cc0 + +loc_00001c91: +cmp ebx, 0x2fffffff +jbe short loc_00001ca0 ; jbe 0x1ca0 +mov word [edx], 0x700 +jmp short loc_00001cc0 ; jmp 0x1cc0 + +loc_00001ca0: +cmp ebx, 0x1fffffff +jbe short loc_00001caf ; jbe 0x1caf +mov word [edx], 0x600 +jmp short loc_00001cc0 ; jmp 0x1cc0 + +loc_00001caf: +cmp ebx, 0x10000000 +sbb eax, eax +xor al, al +add ax, 0x500 +mov word [edx], ax + +loc_00001cc0: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00001cc8: +push ebp +xor ecx, ecx +mov ebp, esp +mov edx, 1 +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov dword [ebp - 0x1c], 0 + +loc_00001ce5: +mov eax, dword [esi + ecx*4] +mov ebx, edx +shl ebx, cl +inc ecx +or byte [ebp + eax - 0x1c], bl +cmp ecx, 8 +jne short loc_00001ce5 ; jne 0x1ce5 +xor ebx, ebx + +loc_00001cf8: +cmp byte [esi + ebx*2 + 0x20], 1 +mov cl, bl +jne short loc_00001d4f ; jne 0x1d4f +movzx eax, byte [esi + ebx*2 + 0x21] +movzx edx, byte [ebp + ebx - 0x1c] +shl eax, 0x18 +or edx, 0x80000000 +or edx, eax +cmp bl, 2 +je short loc_00001d31 ; je 0x1d31 +cmp bl, 3 +je short loc_00001d38 ; je 0x1d38 +dec cl +mov eax, 0x14 +mov ecx, 0x20 +cmove eax, ecx +jmp short loc_00001d3d ; jmp 0x1d3d + +loc_00001d31: +mov eax, 0x2c +jmp short loc_00001d3d ; jmp 0x1d3d + +loc_00001d38: +mov eax, 0x38 + +loc_00001d3d: +push ecx +add eax, edi +push edx +push 0xf8ffff01 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00001d4f: +inc ebx +cmp ebx, 4 +jne short loc_00001cf8 ; jne 0x1cf8 +push eax +xor eax, eax +cmp byte [esi + 0x22], 1 +sete al +add edi, 4 +push eax +push 0xf8 +push edi +call fcn_000186c6 ; call 0x186c6 +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00001d78: +push ebp +mov ebp, esp +push edi +xor edi, edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 0xc] + +loc_00001d86: +mov ecx, dword [ebp + 8] +mov eax, edi +cmp byte [ecx + edi*2 + 0x20], 1 +je short loc_00001da2 ; je 0x1da2 + +loc_00001d92: +inc edi +cmp edi, 4 +jne short loc_00001d86 ; jne 0x1d86 +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +loc_00001da2: +cmp al, 2 +je short loc_00001dbb ; je 0x1dbb +cmp al, 3 +je short loc_00001dc2 ; je 0x1dc2 +dec al +mov esi, 0x1a +mov eax, 0x26 +cmove esi, eax +jmp short loc_00001dc7 ; jmp 0x1dc7 + +loc_00001dbb: +mov esi, 0x32 +jmp short loc_00001dc7 ; jmp 0x1dc7 + +loc_00001dc2: +mov esi, 0x3e + +loc_00001dc7: +add esi, ebx + +loc_00001dc9: +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_00001dc9 ; jne 0x1dc9 +jmp short loc_00001d92 ; jmp 0x1d92 + +fcn_00001ddb: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +mov ebx, dword [ebp + 0xc] +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +add esi, 0x68 +lea eax, [eax + 0x48] +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov dword [esp], esi +call fcn_00017e14 ; call 0x17e14 +and eax, 0xfffffffe +mov edi, edx +mov esi, eax +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x30], eax +lea eax, [ebp - 0x20] +push eax +push 0 +push 0 +push ref_000290fc ; push 0x290fc +call fcn_00019699 ; call 0x19699 +add esp, 0x20 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00001e74 ; je 0x1e74 +cmp dword [ebp - 0x2c], 0 +jns short loc_00001e74 ; jns 0x1e74 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001e5f ; je 0x1e5f +push eax +push dword [ebp - 0x2c] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001e5f: +push ecx +push ref_00020664 ; push 0x20664 +push 0x3e +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001e74: +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_000290cc ; push 0x290cc +call fcn_00019699 ; call 0x19699 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00001ecf ; je 0x1ecf +cmp dword [ebp - 0x2c], 0 +jns short loc_00001ecf ; jns 0x1ecf +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001eba ; je 0x1eba +push edx +push dword [ebp - 0x2c] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001eba: +push eax +push ref_00020664 ; push 0x20664 +push 0x41 +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001ecf: +mov eax, dword [ebp - 0x30] +cmp eax, 0x40660 +je short loc_00001f1a ; je 0x1f1a +cmp eax, 0x306c0 +je short loc_00001f1a ; je 0x1f1a +cmp eax, 0x40670 +je short loc_00001efc ; je 0x1efc + +loc_00001ee7: +push eax +push eax +push 2 +lea eax, [esi + 0xa78] +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 +jmp short loc_00001f1a ; jmp 0x1f1a + +loc_00001efc: +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +je short loc_00001ee7 ; je 0x1ee7 + +loc_00001f1a: +mov edx, dword [ebx + 0xd] +mov eax, dword [ebp - 0x1c] +mov dl, byte [edx] +mov byte [eax + 0x22], dl +mov edx, dword [ebx + 0xd] +mov dl, byte [edx + 1] +mov byte [eax + 0x24], dl +mov edx, dword [ebx + 0xd] +mov dl, byte [edx + 2] +mov byte [eax + 0x26], dl +xor eax, eax + +loc_00001f39: +mov edx, dword [ebp - 0x1c] +lea ebx, [edx + eax*4] +mov ecx, dword [ebx] +cmp ecx, 1 +jne short loc_00001f4c ; jne 0x1f4c +cmp byte [edx + 0x22], 0 +jmp short loc_00001f60 ; jmp 0x1f60 + +loc_00001f4c: +cmp ecx, 2 +jne short loc_00001f57 ; jne 0x1f57 +cmp byte [edx + 0x24], 0 +jmp short loc_00001f60 ; jmp 0x1f60 + +loc_00001f57: +cmp ecx, 3 +jne short loc_00001f68 ; jne 0x1f68 +cmp byte [edx + 0x26], 0 + +loc_00001f60: +jne short loc_00001f68 ; jne 0x1f68 +mov dword [ebx], 0 + +loc_00001f68: +inc eax +cmp eax, 8 +jne short loc_00001f39 ; jne 0x1f39 +push eax +push edi +push esi +push dword [ebp - 0x1c] +call fcn_00001cc8 ; call 0x1cc8 +mov eax, dword [ebp - 0x20] +call dword [eax + 4] ; ucall +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00001fc3 ; je 0x1fc3 +test ebx, ebx +jns short loc_00001fc3 ; jns 0x1fc3 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001fae ; je 0x1fae +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001fae: +push eax +push ref_00020664 ; push 0x20664 +push 0x62 +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00001fc3: +push ecx +push edi +push esi +push dword [ebp - 0x1c] +call fcn_00001d78 ; call 0x1d78 +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00002010 ; je 0x2010 +test ebx, ebx +jns short loc_00002010 ; jns 0x2010 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00001ffb ; je 0x1ffb +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00001ffb: +push eax +push ref_00020664 ; push 0x20664 +push 0x68 +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00002010: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000201a: +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +push 0x20 +lea eax, [ebx + 0x88] +add ebx, 0x8a +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000203b: +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 8 +jne short loc_0000203b ; jne 0x203b +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00002051: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +mov ebx, dword [ebp + 0x10] +push 0x20000000 +push 0xdfffffff +lea eax, [ebx + 0x258] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x6b5 +push 0xfffff800 +lea eax, [ebx + 0x208] +add ebx, 0x22c +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +mov dword [ebp + 0x10], 0x2020 +mov dword [ebp + 0xc], 0xffff0000 +leave +jmp near fcn_00018aa4 ; jmp 0x18aa4 + +fcn_000020ad: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 0x48] +add ebx, 0x68 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov dword [esp], ebx +mov dword [ebp - 0x30], eax +call fcn_00017e14 ; call 0x17e14 +mov ebx, eax +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002912c ; push 0x2912c +mov dword [ebp - 0x2c], edx +call fcn_00019699 ; call 0x19699 +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000213a ; je 0x213a +test esi, esi +jns short loc_0000215c ; jns 0x215c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002122 ; je 0x2122 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002122: +push eax +push ref_00020664 ; push 0x20664 +push 0x13f +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000213a: +test esi, esi +jns short loc_0000215c ; jns 0x215c +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_000023a3 ; je 0x23a3 +push edi +push edi +push ref_00020d1a ; push 0x20d1a +push 0x80000000 +jmp near loc_000022ee ; jmp 0x22ee + +loc_0000215c: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002176 ; je 0x2176 +push esi +push esi +push ref_00020d49 ; push 0x20d49 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002176: +and ebx, 0xfffffffe +mov edi, dword [ebp - 0x2c] +sub esp, 0xc +mov esi, ebx +mov dword [ebp - 0x2c], ebx +mov ebx, dword [ebp - 0x30] +push 0 +push 0 +push esi +and ebx, 0xfffffffe +push ebx +push dword [ebp + 0xc] +call fcn_000041e9 ; call 0x41e9 +add esp, 0x20 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000021b5 ; je 0x21b5 +push ecx +push ecx +push ref_00020d58 ; push 0x20d58 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000021b5: +push edx +push dword [ebp - 0x2c] +push ebx +push dword [ebp + 0xc] +call fcn_00002051 ; call 0x2051 +mov ecx, dword [ebp + 0xc] +add esp, 0x10 +mov eax, dword [ecx + 0xd] +cmp byte [eax + 3], 0 +mov eax, dword [ebp - 0x2c] +lea eax, [eax + 0x84] +mov dword [ebp - 0x30], eax +jne short loc_00002200 ; jne 0x2200 + +loc_000021dd: +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_0000239c ; je 0x239c +push eax +push eax +push ref_00020d78 ; push 0x20d78 +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_0000239c ; jmp 0x239c + +loc_00002200: +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +mov eax, dword [eax + 4] +add eax, 0x21a4 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +and eax, 0xf +dec al +je short loc_000021dd ; je 0x21dd +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe4 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x400000 +jne short loc_000021dd ; jne 0x21dd +lea eax, [ebp - 0x20] +push eax +push 0 +push 0 +push ref_000290fc ; push 0x290fc +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00002269 ; je 0x2269 +test ebx, ebx +js loc_000022fb ; js 0x22fb + +loc_00002269: +mov eax, dword [ebp - 0x20] +mov bl, 1 +call dword [eax + 8] ; ucall +push eax +push 2 +push 0xfffffffffffffff0 +push dword [ebp - 0x30] +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00002281: +sub esp, 0xc +push dword [ebp - 0x30] +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +and eax, 0xf +push eax +mov eax, dword [ebp - 0x2c] +push 0xfffffffffffffff0 +add eax, 0x98 +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop ecx +pop eax +push edi +push esi +call fcn_0000201a ; call 0x201a +mov eax, dword [ebp - 0x2c] +add esp, 0x10 +test bl, bl +lea ebx, [eax + 0x8a] +jne short loc_00002335 ; jne 0x2335 + +loc_000022bc: +sub esp, 0xc +xor esi, esi +push ebx +call fcn_00017cfe ; call 0x17cfe +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je loc_000023a3 ; je 0x23a3 +mov eax, ebx +and eax, 0xf +shr bx, 4 +push eax +and ebx, 0x3f +push ebx +push ref_00020dcf ; push 0x20dcf +push 0x40 + +loc_000022ee: +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_000023a3 ; jmp 0x23a3 + +loc_000022fb: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002318 ; je 0x2318 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002318: +push eax +push ref_00020664 ; push 0x20664 +push 0x15f +push ref_00020ceb ; push 0x20ceb +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_00002269 ; jmp 0x2269 + +loc_00002335: +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf +cmp ax, 2 +je short loc_00002366 ; je 0x2366 + +loc_0000234a: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000238b ; je 0x238b +push edx +push edx +push ref_00020db0 ; push 0x20db0 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0000238b ; jmp 0x238b + +loc_00002366: +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +mov eax, dword [eax + 4] +add eax, 0x21aa +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf +cmp ax, 2 +jne short loc_0000234a ; jne 0x234a +jmp near loc_000022bc ; jmp 0x22bc + +loc_0000238b: +push eax +push eax +push edi +push esi +call fcn_0000201a ; call 0x201a +add esp, 0x10 +jmp near loc_000022bc ; jmp 0x22bc + +loc_0000239c: +xor ebx, ebx +jmp near loc_00002281 ; jmp 0x2281 + +loc_000023a3: +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000023ad: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 8] +push 0 +push 0 +push 0 +mov esi, eax +mov eax, dword [ebp + 0xc] +mov edi, eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x54 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +shr ebx, 1 +add esp, 0x10 +and ebx, 7 +test al, al +je short loc_00002412 ; je 0x2412 +movzx edx, byte [ebp - 0x1c] +mov eax, edi +push ecx +movzx eax, al +mov ecx, esi +movzx ecx, cl +push edx +push eax +push ecx +push edx +push eax +push ref_00020dec ; push 0x20dec +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00002412: +movzx edx, byte [ebp - 0x1c] +mov eax, 2 +sub eax, edx +bt ebx, eax +jae loc_000024b6 ; jae 0x24b6 +mov eax, edi +push ecx +movzx eax, al +push edx +push eax +mov eax, esi +movzx eax, al +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0xb2] +add esi, 0x11a +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dword [esp], esi +mov ebx, eax +call fcn_00017cfe ; call 0x17cfe +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00002484 ; je 0x2484 +mov eax, ebx +and eax, 0xf +shr bx, 4 +push eax +and ebx, 0x3f +push ebx +push ref_00020e02 ; push 0x20e02 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002484: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000024a4 ; je 0x24a4 +shr si, 1 +and esi, 1 +push eax +push esi +push ref_00020e1b ; push 0x20e1b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000024a4: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000024d9 ; je 0x24d9 +mov dword [ebp + 0xc], ref_00021e91 ; mov dword [ebp + 0xc], 0x21e91 +jmp short loc_000024c6 ; jmp 0x24c6 + +loc_000024b6: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000024d9 ; je 0x24d9 +mov dword [ebp + 0xc], ref_000216c1 ; mov dword [ebp + 0xc], 0x216c1 + +loc_000024c6: +mov dword [ebp + 8], 0x40 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153f7 ; jmp 0x153f7 + +loc_000024d9: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000024e1: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0x10] +movzx ebx, byte [ebp + 0x18] +mov ecx, eax +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x14] +push ebx +mov dword [ebp - 0x20], eax +movzx eax, al +push eax +movzx eax, cl +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0 +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x54 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov edx, 2 +add esp, 0x10 +sub edx, ebx +shr eax, 1 +and eax, 7 +bt eax, edx +jae loc_000025be ; jae 0x25be +sub esp, 0xc +add edi, 0x11a +push edi +xor esi, esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, eax +shr dx, 1 +and edx, 1 + +loc_00002559: +cmp esi, 0x63 +ja short loc_0000258b ; ja 0x258b +test dx, dx +je short loc_0000258b ; je 0x258b +push eax +mov eax, dword [ebp + 0xc] +inc esi +push 0x3e8 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +mov dword [esp], edi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, eax +shr dx, 1 +and edx, 1 +jmp short loc_00002559 ; jmp 0x2559 + +loc_0000258b: +mov dword [ebp - 0x24], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x24] +test al, al +je short loc_000025be ; je 0x25be +sub esp, 0xc +movzx eax, byte [ebp - 0x20] +movzx edx, dx +push esi +push edx +movzx edx, byte [ebp - 0x1c] +push ebx +push eax +push edx +push ebx +push eax +push ref_00020e3a ; push 0x20e3a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x30 + +loc_000025be: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000025c6: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x38 +mov esi, dword [ebp + 0x14] +lea eax, [ebp - 0x1c] +mov ebx, dword [ebp + 0x18] +push eax +call fcn_000196d3 ; call 0x196d3 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00002625 ; je 0x2625 +test edi, edi +jns short loc_00002625 ; jns 0x2625 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000260d ; je 0x260d +push ecx +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000260d: +push edx +push ref_00020664 ; push 0x20664 +push 0xa0 +push ref_00020e7c ; push 0x20e7c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00002625: +cmp dword [ebp - 0x1c], 0x11 +jne short loc_00002631 ; jne 0x2631 + +loc_0000262b: +test esi, esi +jne short loc_00002648 ; jne 0x2648 +jmp short loc_00002642 ; jmp 0x2642 + +loc_00002631: +sub esp, 0xc +push 1 +call fcn_0001c25d ; call 0x1c25d +add esp, 0x10 +dec al +je short loc_0000262b ; je 0x262b + +loc_00002642: +mov byte [ebp - 0x2a], 0xf8 +jmp short loc_00002676 ; jmp 0x2676 + +loc_00002648: +cmp byte [esi + 0x28], 0 +je short loc_00002642 ; je 0x2642 +mov al, byte [esi + 0x46] +mov byte [ebp - 0x2a], al +test al, al +je short loc_00002642 ; je 0x2642 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002676 ; je 0x2676 +push eax +movzx eax, byte [esi + 0x46] +push eax +push ref_00020eb0 ; push 0x20eb0 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002676: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002694 ; je 0x2694 +push eax +movzx eax, byte [ebp - 0x2a] +push eax +push ref_00020eda ; push 0x20eda +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002694: +cmp bl, 2 +je short loc_000026a5 ; je 0x26a5 +xor edi, edi +mov al, 6 +cmp bl, 3 +cmove edi, eax +jmp short loc_000026aa ; jmp 0x26aa + +loc_000026a5: +mov edi, 4 + +loc_000026aa: +mov al, byte [ebp - 0x2a] +mov byte [ebp - 0x2b], 0 +mov byte [ebp - 0x29], 0 +or eax, edi +mov byte [ebp - 0x2d], al + +loc_000026ba: +xor ebx, ebx +mov byte [ebp - 0x2c], 1 + +loc_000026c0: +mov dl, byte [ebp - 0x2c] +mov al, dl +and eax, edi +cmp dl, al +jne short loc_000026fc ; jne 0x26fc +cmp byte [ebp - 0x2b], 0 +jne loc_0000276b ; jne 0x276b +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_0000276b ; je 0x276b +push eax +push ebx +push 1 +push 0 +push ebx +push 1 +push ref_00020eff ; push 0x20eff +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 +jmp short loc_0000276b ; jmp 0x276b + +loc_000026fc: +mov al, byte [ebp - 0x29] +mov cl, byte [ebp - 0x2c] +or al, byte [ebp - 0x2a] +and eax, ecx +cmp cl, al +je short loc_0000276b ; je 0x276b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000272c ; je 0x272c +push eax +push ebx +push 1 +push 0 +push ebx +push 1 +push ref_00020f30 ; push 0x20f30 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0000272c: +push eax +push ebx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x11a +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_0000276b ; jne 0x276b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00002765 ; je 0x2765 +push eax +push eax +push ref_00020f50 ; push 0x20f50 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00002765: +mov al, byte [ebp - 0x2c] +or byte [ebp - 0x29], al + +loc_0000276b: +inc ebx +shl byte [ebp - 0x2c], 1 +cmp ebx, 3 +jne loc_000026c0 ; jne 0x26c0 +mov al, byte [ebp - 0x2d] +or al, byte [ebp - 0x29] +inc al +je short loc_000027a4 ; je 0x27a4 +push ecx +mov eax, dword [ebp + 0xc] +push 0x3e8 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +inc byte [ebp - 0x2b] +add esp, 0x10 +cmp byte [ebp - 0x2b], 0x64 +jne loc_000026ba ; jne 0x26ba + +loc_000027a4: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000027c2 ; je 0x27c2 +movzx eax, byte [ebp - 0x2b] +push edx +push eax +push ref_00020f6e ; push 0x20f6e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000027c2: +test esi, esi +je short loc_000027ec ; je 0x27ec +mov al, byte [ebp - 0x29] +not eax +mov byte [esi + 0x46], al +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000027ec ; je 0x27ec +push eax +movzx eax, byte [esi + 0x46] +push eax +push ref_00020f84 ; push 0x20f84 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000027ec: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000027f4: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov al, byte [ebp + 0x14] +mov byte [ebp - 0x19], al +movzx eax, byte [ebp + 0x10] +push eax +movzx eax, byte [ebp + 0xc] +push eax +movzx eax, byte [ebp + 8] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0x34] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, 0xff +jne short loc_0000285a ; jne 0x285a + +loc_0000282b: +xor eax, eax +jmp short loc_00002862 ; jmp 0x2862 + +loc_0000282f: +mov edi, eax +sub esp, 0xc +and edi, 0xfc +lea ebx, [edi + esi] +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, byte [ebp - 0x19] +je short loc_00002860 ; je 0x2860 +sub esp, 0xc +lea edx, [ebx + 1] +push edx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 + +loc_0000285a: +test al, al +jne short loc_0000282f ; jne 0x282f +jmp short loc_0000282b ; jmp 0x282b + +loc_00002860: +mov eax, edi + +loc_00002862: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000286a: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +mov eax, dword [ebp + 0xc] +mov edi, dword [ebp + 8] +mov dword [ebp - 0x2c], eax +mov ebx, eax +movzx eax, byte [ebp + 0x14] +push eax +movzx eax, byte [ebp + 0x10] +push eax +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +test bl, bl +je loc_0000296c ; je 0x296c +mov esi, eax +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002901c ; push 0x2901c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000028f5 ; je 0x28f5 +test ebx, ebx +jns short loc_000028f5 ; jns 0x28f5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000028dd ; je 0x28dd +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000028dd: +push eax +push ref_00020664 ; push 0x20664 +push 0x146 +push ref_00020e7c ; push 0x20e7c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000028f5: +push eax +push eax +push 0x10 +lea ebx, [esi + 0xb0] +push ebx +call fcn_00018863 ; call 0x18863 +mov eax, dword [ebp - 0x1c] +add esp, 0xc +push 0x3e8 +push eax +push edi +call dword [eax + 4] ; ucall +mov al, byte [ebp - 0x2c] +add esp, 0x10 +xor edx, edx +dec eax +cmp al, 7 +ja short loc_0000292c ; ja 0x292c +movzx eax, al +movzx edx, byte [eax + ref_00020338] ; movzx edx, byte [eax + 0x20338] + +loc_0000292c: +push eax +add esi, 0x224 +push edx +push 0xffffffffffffffe0 +push esi +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x1c] +add esp, 0xc +push 0x3e8 +push eax +push edi +call dword [eax + 4] ; ucall +pop edx +pop ecx +push 0xffef +push ebx +call fcn_00018890 ; call 0x18890 +mov eax, dword [ebp - 0x1c] +add esp, 0xc +push 0x186a0 +push eax +push edi +call dword [eax + 4] ; ucall +add esp, 0x10 + +loc_0000296c: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00002974: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov edx, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x18] +mov eax, dword [ebp + 0x14] +mov ecx, dword [ebp + 0xc] +mov esi, edx +and edx, 1 +mov edi, dword [ebp + 8] +shr esi, 1 +shl esi, 5 +add esi, 0x914 +cmp edx, 1 +sbb edx, edx +add ebx, ebx +and ebx, 0x7fff +and eax, 0x3f +and edx, 0xfff80000 +or ebx, 0x70000000 +shl eax, 0x15 +add edx, 0x100000 +or ebx, eax +or ebx, edx +test ecx, ecx +jne short loc_000029d0 ; jne 0x29d0 +mov dword [ebp + 0xc], ebx +add esi, edi +jmp short loc_000029e3 ; jmp 0x29e3 + +loc_000029d0: +push eax +push 0 +push ecx +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov dword [ebp + 0xc], ebx +add esi, eax + +loc_000029e3: +mov dword [ebp + 8], esi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_000029f2: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 0x10] +mov esi, dword [ebp + 0xc] +shr ebx, 1 +shl ebx, 5 +add ebx, 0x914 +test esi, esi +jne short loc_00002a1b ; jne 0x2a1b +mov eax, dword [ebp + 8] +sub esp, 0xc +add eax, ebx +push eax +jmp short loc_00002a2b ; jmp 0x2a2b + +loc_00002a1b: +push edi +push 0 +push esi +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, ebx +mov dword [esp], eax + +loc_00002a2b: +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp + 0x10] +add esp, 0x10 +mov edi, dword [ebp + 0x14] +and edx, 1 +and eax, 0x7ffe +cmp edx, 1 +sbb ecx, ecx +and edi, 0x3f +shl edi, 0x15 +and ecx, 0xfff80000 +or edi, 0x68008000 +add ecx, 0x100000 +or edi, eax +or edi, ecx +test esi, esi +jne short loc_00002a6d ; jne 0x2a6d +push esi +add ebx, dword [ebp + 8] +push esi +jmp short loc_00002a7c ; jmp 0x2a7c + +loc_00002a6d: +push eax +push 0 +push esi +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +add ebx, eax + +loc_00002a7c: +push edi +push ebx +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +shr eax, 1 +and eax, 0x3fff +ret + +fcn_00002a9d: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edx, dword [ebp + 0x10] +mov eax, dword [ebp + 0xc] +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x14] +mov dword [ebp - 0x24], edx +mov dword [ebp - 0x20], eax +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x1c], eax +call fcn_0001c5b4 ; call 0x1c5b4 +mov edx, dword [ebp - 0x24] +cmp dl, 1 +je short loc_00002ad4 ; je 0x2ad4 +cmp dl, 2 +je short loc_00002af8 ; je 0x2af8 +jmp short loc_00002b34 ; jmp 0x2b34 + +loc_00002ad4: +lea edi, [ebx - 8] +cmp bl, 7 +ja short loc_00002b36 ; ja 0x2b36 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00002bc1 ; je 0x2bc1 +movzx ebx, bl +mov dword [ebp + 0x14], ebx +mov dword [ebp + 0x10], 1 +jmp short loc_00002b1a ; jmp 0x2b1a + +loc_00002af8: +lea edi, [ebx - 0xc] +cmp bl, 0xb +ja short loc_00002b36 ; ja 0x2b36 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00002bc1 ; je 0x2bc1 +movzx ebx, bl +mov dword [ebp + 0x14], ebx +mov dword [ebp + 0x10], 2 + +loc_00002b1a: +mov dword [ebp + 0xc], ref_00020fa6 ; mov dword [ebp + 0xc], 0x20fa6 +mov dword [ebp + 8], 2 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153f7 ; jmp 0x153f7 + +loc_00002b34: +mov edi, ebx + +loc_00002b36: +mov ecx, esi +movzx esi, byte [ebp - 0x20] +test cl, cl +je short loc_00002b5c ; je 0x2b5c +test edi, 1 +jne short loc_00002b52 ; jne 0x2b52 +shl esi, 8 +mov ebx, 0xfffff0ff +jmp short loc_00002b8d ; jmp 0x2b8d + +loc_00002b52: +shl esi, 0x18 +mov ebx, 0xf0ffffff +jmp short loc_00002b8d ; jmp 0x2b8d + +loc_00002b5c: +test eax, eax +je short loc_00002b78 ; je 0x2b78 +cmp dword [ebp - 0x1c], 0x40670 +jne short loc_00002b78 ; jne 0x2b78 + +loc_00002b69: +test edi, 1 +jne short loc_00002b85 ; jne 0x2b85 + +loc_00002b71: +mov ebx, 0xfffffff0 +jmp short loc_00002b8d ; jmp 0x2b8d + +loc_00002b78: +cmp bl, 7 +jbe short loc_00002b69 ; jbe 0x2b69 +test edi, 1 +jne short loc_00002b71 ; jne 0x2b71 + +loc_00002b85: +shl esi, 0x10 +mov ebx, 0xfff0ffff + +loc_00002b8d: +movzx edx, dl +push eax +push edx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edx, edi +add esp, 0x10 +shr dl, 1 +movzx edx, dl +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +lea eax, [eax + edx*4 + 0xda0] +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018aa4 ; jmp 0x18aa4 + +loc_00002bc1: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00002bc9: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0x14] +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x1c], eax +call fcn_0001c5b4 ; call 0x1c5b4 +mov dword [ebp - 0x20], eax +xor eax, eax + +loc_00002bea: +cmp byte [ebx + eax], 9 +jbe short loc_00002bf4 ; jbe 0x2bf4 +mov byte [ebx + eax], 8 + +loc_00002bf4: +mov edi, dword [ebp + 0xc] +cmp byte [edi + eax], 9 +jbe short loc_00002c01 ; jbe 0x2c01 +mov byte [edi + eax], 7 + +loc_00002c01: +mov edi, dword [ebp + 0x10] +cmp byte [edi + eax], 6 +jbe short loc_00002c0e ; jbe 0x2c0e +mov byte [edi + eax], 2 + +loc_00002c0e: +inc eax +cmp eax, 0x10 +jne short loc_00002bea ; jne 0x2bea +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 1 +push 1 +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 1 +push 0 +mov dword [ebp - 0x28], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +cmp esi, 2 +mov ecx, dword [ebp - 0x28] +mov dword [ebp - 0x24], eax +je loc_00002da9 ; je 0x2da9 +cmp esi, 3 +je short loc_00002c6d ; je 0x2c6d +test esi, esi +jne loc_0000314a ; jne 0x314a +add edi, 0xda0 +xor esi, esi +jmp near loc_00002f4c ; jmp 0x2f4c + +loc_00002c6d: +cmp dword [ebp - 0x20], 0 +lea ecx, [edi + 0xda0] +je short loc_00002ce4 ; je 0x2ce4 +cmp dword [ebp - 0x1c], 0x40670 +jne short loc_00002ce4 ; jne 0x2ce4 +mov edi, ecx +xor esi, esi + +loc_00002c86: +mov ecx, dword [ebp + 0x10] +push eax +mov eax, dword [ebp + 0xc] +movzx edx, byte [ecx + esi*2] +movzx eax, byte [eax + esi*2] +mov ecx, dword [ebp + 0xc] +shl edx, 0xc +shl eax, 8 +or eax, edx +movzx edx, byte [ebx + esi*2] +or eax, edx +movzx edx, byte [ebx + esi*2 + 1] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +mov ecx, dword [ebp + 0x10] +shl edx, 0x18 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +inc esi +shl edx, 0x1c +or eax, edx +push eax +push 0x80f080f0 +push edi +add edi, 4 +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 8 +jne short loc_00002c86 ; jne 0x2c86 +jmp near loc_0000314a ; jmp 0x314a + +loc_00002ce4: +xor esi, esi + +loc_00002ce6: +push eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x1c], ecx +movzx edx, byte [eax + esi*2] +mov eax, dword [ebp + 0x10] +shl edx, 8 +movzx eax, byte [eax + esi*2] +shl eax, 0xc +or edx, eax +movzx eax, byte [ebx + esi*2] +or edx, eax +movzx eax, byte [ebx + esi*2 + 1] +shl eax, 0x10 +or edx, eax +mov eax, dword [ebp + 0xc] +movzx eax, byte [eax + esi*2 + 1] +shl eax, 0x18 +or edx, eax +mov eax, dword [ebp + 0x10] +movzx eax, byte [eax + esi*2 + 1] +inc esi +shl eax, 0x1c +or edx, eax +push edx +push 0x80f080f0 +push ecx +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp - 0x1c] +add esp, 0x10 +add ecx, 4 +cmp esi, 4 +jne short loc_00002ce6 ; jne 0x2ce6 +add edi, 0xdb0 + +loc_00002d4b: +mov ecx, dword [ebp + 0x10] +push eax +mov eax, dword [ebp + 0xc] +movzx edx, byte [ecx + esi*2] +movzx eax, byte [eax + esi*2] +mov ecx, dword [ebp + 0xc] +shl edx, 0xc +shl eax, 8 +or eax, edx +movzx edx, byte [ebx + esi*2 + 1] +or eax, edx +movzx edx, byte [ebx + esi*2] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +mov ecx, dword [ebp + 0x10] +shl edx, 0x18 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +inc esi +shl edx, 0x1c +or eax, edx +push eax +push 0x80f080f0 +push edi +add edi, 4 +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 8 +jne short loc_00002d4b ; jne 0x2d4b +jmp near loc_0000314a ; jmp 0x314a + +loc_00002da9: +sub ecx, edi +xor esi, esi +cmp dword [ebp - 0x20], 0 +lea edx, [edi + 0xda0] +mov edi, ecx +je loc_00002e8c ; je 0x2e8c +cmp dword [ebp - 0x1c], 0x40670 +jne loc_00002e8c ; jne 0x2e8c + +loc_00002dcc: +mov ecx, dword [ebp + 0x10] +push eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x1c], edx +movzx ecx, byte [ecx + esi*2] +movzx eax, byte [eax + esi*2] +shl ecx, 0xc +shl eax, 8 +or eax, ecx +movzx ecx, byte [ebx + esi*2] +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 1] +shl ecx, 0x10 +or eax, ecx +mov ecx, dword [ebp + 0xc] +movzx ecx, byte [ecx + esi*2 + 1] +shl ecx, 0x18 +or eax, ecx +mov ecx, dword [ebp + 0x10] +movzx ecx, byte [ecx + esi*2 + 1] +shl ecx, 0x1c +or eax, ecx +push eax +push 0x80f080f0 +push edx +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp + 0xc] +add esp, 0xc +mov ecx, dword [ebp + 0x10] +mov edx, dword [ebp - 0x1c] +movzx eax, byte [eax + esi*2 + 8] +movzx ecx, byte [ecx + esi*2 + 8] +shl eax, 8 +shl ecx, 0xc +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 8] +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 9] +shl ecx, 0x10 +or eax, ecx +mov ecx, dword [ebp + 0xc] +movzx ecx, byte [ecx + esi*2 + 9] +shl ecx, 0x18 +or eax, ecx +mov ecx, dword [ebp + 0x10] +movzx ecx, byte [ecx + esi*2 + 9] +inc esi +shl ecx, 0x1c +or eax, ecx +push eax +push 0x80f080f0 +lea eax, [edi + edx] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +add edx, 4 +cmp esi, 4 +jne loc_00002dcc ; jne 0x2dcc +jmp near loc_0000314a ; jmp 0x314a + +loc_00002e8c: +mov ecx, dword [ebp + 0x10] +push eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x1c], edx +movzx ecx, byte [ecx + esi*2] +movzx eax, byte [eax + esi*2] +shl ecx, 0xc +shl eax, 8 +or eax, ecx +movzx ecx, byte [ebx + esi*2] +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 1] +shl ecx, 0x10 +or eax, ecx +mov ecx, dword [ebp + 0xc] +movzx ecx, byte [ecx + esi*2 + 1] +shl ecx, 0x18 +or eax, ecx +mov ecx, dword [ebp + 0x10] +movzx ecx, byte [ecx + esi*2 + 1] +shl ecx, 0x1c +or eax, ecx +push eax +push 0x80f080f0 +push edx +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp + 0xc] +add esp, 0xc +mov ecx, dword [ebp + 0x10] +mov edx, dword [ebp - 0x1c] +movzx eax, byte [eax + esi*2 + 8] +movzx ecx, byte [ecx + esi*2 + 8] +shl eax, 8 +shl ecx, 0xc +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 9] +or eax, ecx +movzx ecx, byte [ebx + esi*2 + 8] +shl ecx, 0x10 +or eax, ecx +mov ecx, dword [ebp + 0xc] +movzx ecx, byte [ecx + esi*2 + 9] +shl ecx, 0x18 +or eax, ecx +mov ecx, dword [ebp + 0x10] +movzx ecx, byte [ecx + esi*2 + 9] +inc esi +shl ecx, 0x1c +or eax, ecx +push eax +push 0x80f080f0 +lea eax, [edi + edx] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +add edx, 4 +cmp esi, 4 +jne loc_00002e8c ; jne 0x2e8c +jmp near loc_0000314a ; jmp 0x314a + +loc_00002f4c: +mov dword [ebp - 0x28], ecx +mov eax, dword [ebp + 0xc] +push ecx +mov ecx, dword [ebp + 0x10] +movzx eax, byte [eax + esi*2] +movzx edx, byte [ecx + esi*2] +mov ecx, dword [ebp + 0xc] +shl eax, 8 +shl edx, 0xc +or eax, edx +movzx edx, byte [ebx + esi*2] +or eax, edx +movzx edx, byte [ebx + esi*2 + 1] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +mov ecx, dword [ebp + 0x10] +shl edx, 0x18 +or eax, edx +movzx edx, byte [ecx + esi*2 + 1] +inc esi +shl edx, 0x1c +or eax, edx +push eax +push 0x80f080f0 +push edi +add edi, 4 +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 4 +mov ecx, dword [ebp - 0x28] +jne short loc_00002f4c ; jne 0x2f4c +cmp dword [ebp - 0x20], 0 +lea edi, [ecx + 0xda0] +je loc_0000308c ; je 0x308c +cmp dword [ebp - 0x1c], 0x40670 +jne loc_0000308c ; jne 0x308c +mov eax, dword [ebp - 0x24] +xor si, si +sub eax, ecx +mov dword [ebp - 0x1c], eax + +loc_00002fd3: +mov eax, dword [ebp + 0xc] +push edx +mov edx, dword [ebp + 0x10] +mov ecx, dword [ebp + 0xc] +movzx eax, byte [eax + esi*2 + 8] +movzx edx, byte [edx + esi*2 + 8] +shl eax, 8 +shl edx, 0xc +or eax, edx +movzx edx, byte [ebx + esi*2 + 8] +or eax, edx +movzx edx, byte [ebx + esi*2 + 9] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ecx + esi*2 + 9] +shl edx, 0x18 +or eax, edx +mov edx, dword [ebp + 0x10] +movzx edx, byte [edx + esi*2 + 9] +shl edx, 0x1c +or eax, edx +push eax +push 0x80f080f0 +push edi +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp + 0x10] +add esp, 0xc +mov eax, dword [ebp + 0xc] +movzx edx, byte [ecx + esi*2 + 0xc] +movzx eax, byte [eax + esi*2 + 0xc] +shl edx, 0xc +shl eax, 8 +or eax, edx +movzx edx, byte [ebx + esi*2 + 0xc] +or eax, edx +movzx edx, byte [ebx + esi*2 + 0xd] +shl edx, 0x10 +or eax, edx +mov edx, dword [ebp + 0xc] +movzx edx, byte [edx + esi*2 + 0xd] +shl edx, 0x18 +or eax, edx +movzx edx, byte [ecx + esi*2 + 0xd] +inc esi +shl edx, 0x1c +or eax, edx +push eax +mov eax, dword [ebp - 0x1c] +push 0x80f080f0 +add eax, edi +add edi, 4 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 2 +je loc_0000314a ; je 0x314a +jmp near loc_00002fd3 ; jmp 0x2fd3 + +loc_0000308c: +mov eax, dword [ebp - 0x24] +xor esi, esi +sub eax, ecx +mov dword [ebp - 0x1c], eax + +loc_00003096: +mov edx, dword [ebp + 0x10] +push eax +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp + 0xc] +movzx edx, byte [edx + esi*2 + 8] +movzx eax, byte [eax + esi*2 + 8] +shl edx, 0xc +shl eax, 8 +or eax, edx +movzx edx, byte [ebx + esi*2 + 9] +or eax, edx +movzx edx, byte [ebx + esi*2 + 8] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ecx + esi*2 + 9] +shl edx, 0x18 +or eax, edx +mov edx, dword [ebp + 0x10] +movzx edx, byte [edx + esi*2 + 9] +shl edx, 0x1c +or eax, edx +push eax +push 0x80f080f0 +push edi +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp + 0x10] +add esp, 0xc +mov eax, dword [ebp + 0xc] +movzx edx, byte [ecx + esi*2 + 0xc] +movzx eax, byte [eax + esi*2 + 0xc] +shl edx, 0xc +shl eax, 8 +or eax, edx +movzx edx, byte [ebx + esi*2 + 0xd] +or eax, edx +movzx edx, byte [ebx + esi*2 + 0xc] +shl edx, 0x10 +or eax, edx +mov edx, dword [ebp + 0xc] +movzx edx, byte [edx + esi*2 + 0xd] +shl edx, 0x18 +or eax, edx +movzx edx, byte [ecx + esi*2 + 0xd] +inc esi +shl edx, 0x1c +or eax, edx +push eax +mov eax, dword [ebp - 0x1c] +push 0x80f080f0 +add eax, edi +add edi, 4 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 2 +jne loc_00003096 ; jne 0x3096 + +loc_0000314a: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00003152: +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov eax, dword [eax + 0xd] +push dword [ebp + 0x10] +lea edx, [eax + 0x29] +push edx +lea edx, [eax + 0x19] +add eax, 9 +push edx +push eax +call fcn_00002bc9 ; call 0x2bc9 +add esp, 0x10 +leave +ret + +fcn_00003177: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 0x10], 1 +movzx edx, word [eax + 1] +lea ecx, [eax + 3] +lea edi, [edx + edx*2] +mov dword [ebp - 0x14], edx +add edi, eax + +loc_00003199: +mov eax, dword [ebp - 0x14] +cmp dword [ebp - 0x10], eax +ja short loc_000031d2 ; ja 0x31d2 +mov eax, edi + +loc_000031a3: +cmp eax, ecx +je short loc_000031ca ; je 0x31ca +mov bl, byte [eax - 3] +cmp bl, byte [eax] +jbe short loc_000031c5 ; jbe 0x31c5 +mov dx, word [eax] +mov si, word [eax - 2] +mov byte [eax], bl +mov word [eax - 3], dx +mov dl, byte [eax + 2] +mov word [eax + 1], si +mov byte [eax - 1], dl + +loc_000031c5: +sub eax, 3 +jmp short loc_000031a3 ; jmp 0x31a3 + +loc_000031ca: +inc dword [ebp - 0x10] +add ecx, 3 +jmp short loc_00003199 ; jmp 0x3199 + +loc_000031d2: +pop eax +pop edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000031d9: +push ebp +mov ebp, esp +mov edx, dword [ebp + 8] +pop ebp +movzx eax, word [edx + 1] +shr eax, 1 +inc eax +lea eax, [eax + eax*2] +movzx eax, byte [edx + eax] +ret + +fcn_000031ef: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xca0 +mov ebx, dword [ebp + 0x1c] +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 1 +push dword [ebp + 0x14] +push 0 +mov esi, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push dword [ebp + 0x14] +push 0 +mov dword [ebp - 0xc88], eax +call fcn_00016bd6 ; call 0x16bd6 +mov ecx, 0xa +cmp dword [ebp + 0x18], 0x10 +pop edi +mov dword [ebp - 0xc8c], eax +pop eax +mov eax, 0x14 +cmove eax, ecx +mov dword [ebp - 0xc98], eax +lea eax, [ebp - 0xc78] +push 0xc60 +push eax +call fcn_00016f3b ; call 0x16f3b +add esp, 0x10 +cmp ebx, 2 +je short loc_0000327b ; je 0x327b +cmp ebx, 1 +setb byte [ebp - 0xc7a] +setb byte [ebp - 0xc79] +jmp short loc_00003289 ; jmp 0x3289 + +loc_0000327b: +mov byte [ebp - 0xc7a], 0 +mov byte [ebp - 0xc79], 1 + +loc_00003289: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000032a3 ; je 0x32a3 +push ecx +push ecx +push ref_00020fe7 ; push 0x20fe7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000032a3: +push edx +push edx +lea eax, [esi + 0xb0] +push 0x10 +push eax +mov dword [ebp - 0xc9c], eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp byte [ebp - 0xc79], 0 +je short loc_000032dd ; je 0x32dd +push eax +push eax +mov eax, dword [ebp - 0xc88] +push 0x10 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_000032dd: +cmp byte [ebp - 0xc7a], 0 +je short loc_000032fe ; je 0x32fe +mov eax, dword [ebp - 0xc8c] +push edi +push edi +push 0x10 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_000032fe: +mov eax, dword [ebp + 0xc] +push ecx +push 0x2710 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +lea eax, [esi + 0xc20] +pop ebx +pop esi +mov dword [ebp - 0xca0], eax +push 0xa800 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp byte [ebp - 0xc79], 0 +je short loc_00003350 ; je 0x3350 +mov eax, dword [ebp - 0xc88] +push edx +push edx +push 0xa800 +add eax, 0xc20 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00003350: +cmp byte [ebp - 0xc7a], 0 +je short loc_00003374 ; je 0x3374 +push eax +push eax +mov eax, dword [ebp - 0xc8c] +push 0xa800 +add eax, 0xc20 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00003374: +mov dword [ebp - 0xc80], 0 + +loc_0000337e: +mov eax, dword [ebp - 0xc80] +mov ecx, 0x64 +xor edx, edx +sub esp, 0xc +xor ebx, ebx +div ecx +push eax +call fcn_0001a76d ; call 0x1a76d +add esp, 0x10 + +loc_0000339b: +cmp ebx, dword [ebp + 0x18] +je short loc_000033ca ; je 0x33ca +sub esp, 0xc +push 1 +push 0x39 +push ebx +push dword [ebp + 0x14] +push 0 +call fcn_00002974 ; call 0x2974 +add esp, 0x14 +push 0xc +push 0x3a +push ebx +inc ebx +push dword [ebp + 0x14] +push 0 +call fcn_00002974 ; call 0x2974 +add esp, 0x20 +jmp short loc_0000339b ; jmp 0x339b + +loc_000033ca: +push eax +mov eax, dword [ebp + 0xc] +push dword [ebp - 0xc98] +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +lea eax, [ebp - 0xc78] +mov dword [ebp - 0xc90], eax +mov dword [ebp - 0xc84], 0 +add esp, 0x10 + +loc_000033f6: +mov eax, dword [ebp - 0xc84] +cmp eax, dword [ebp + 0x18] +je loc_00003509 ; je 0x3509 +imul eax, eax, 0xc6 +mov edi, dword [ebp - 0xc90] +xor ebx, ebx +mov dword [ebp - 0xc94], eax + +loc_00003419: +lea eax, [ebx + 0x31] +mov esi, 1 +push eax +push dword [ebp - 0xc84] +push dword [ebp + 0x14] +push 0 +call fcn_000029f2 ; call 0x29f2 +movzx edx, word [edi + 1] +add esp, 0x10 +and eax, 0x3f +mov byte [ebp - 0xc7b], al + +loc_00003442: +cmp esi, edx +ja short loc_0000346c ; ja 0x346c +lea eax, [esi + esi*2] +mov cl, byte [ebp - 0xc7b] +cmp byte [edi + eax], cl +jne short loc_00003469 ; jne 0x3469 +imul edx, ebx, 0x21 +add eax, dword [ebp - 0xc94] +add eax, edx +inc word [ebp + eax - 0xc77] +jmp short loc_000034e7 ; jmp 0x34e7 + +loc_00003469: +inc esi +jmp short loc_00003442 ; jmp 0x3442 + +loc_0000346c: +cmp esi, 0xb +jne short loc_000034be ; jne 0x34be +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000349f ; je 0x349f +push eax +push 0xa +push dword [ebp - 0xc80] +push ebx +push dword [ebp - 0xc84] +push dword [ebp + 0x14] +push ref_00021012 ; push 0x21012 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0000349f: +cmp dword [ebp + 0x18], 0x10 +jne loc_00003691 ; jne 0x3691 +sub esp, 0xc +push 0xee + +loc_000034b1: +call fcn_0001a76d ; call 0x1a76d +add esp, 0x10 +call fcn_00017175 ; call 0x17175 + +loc_000034be: +imul eax, ebx, 0x21 +lea esi, [esi + esi*2] +add esi, dword [ebp - 0xc94] +inc word [edi + 1] +add esi, eax +mov al, byte [ebp - 0xc7b] +mov word [ebp + esi - 0xc77], 1 +mov byte [ebp + esi - 0xc78], al + +loc_000034e7: +inc ebx +add edi, 0x21 +cmp ebx, 6 +jne loc_00003419 ; jne 0x3419 +inc dword [ebp - 0xc84] +add dword [ebp - 0xc90], 0xc6 +jmp near loc_000033f6 ; jmp 0x33f6 + +loc_00003509: +cmp dword [ebp - 0xc80], 0x64 +jbe short loc_00003546 ; jbe 0x3546 +lea ecx, [ebp - 0xc78] +xor edx, edx + +loc_0000351a: +cmp edx, dword [ebp + 0x18] +jne short loc_00003523 ; jne 0x3523 + +loc_0000351f: +xor edi, edi +jmp short loc_0000359d ; jmp 0x359d + +loc_00003523: +xor eax, eax + +loc_00003525: +mov di, word [ecx + eax + 1] +lea ebx, [edi - 2] +cmp bx, 2 +jbe short loc_00003546 ; jbe 0x3546 +add eax, 0x21 +cmp eax, 0xc6 +jne short loc_00003525 ; jne 0x3525 +inc edx +add ecx, 0xc6 +jmp short loc_0000351a ; jmp 0x351a + +loc_00003546: +inc dword [ebp - 0xc80] +cmp dword [ebp - 0xc80], 0x1f4 +jne loc_0000337e ; jne 0x337e +jmp short loc_0000351f ; jmp 0x351f + +loc_0000355e: +imul eax, esi, 0x21 +sub esp, 0xc +add eax, dword [ebp - 0xc80] +lea edx, [ebp - 0xc78] +lea ebx, [edx + eax] +push ebx +call fcn_00003177 ; call 0x3177 +mov dword [esp], ebx +call fcn_000031d9 ; call 0x31d9 +mov dword [esp], eax +lea eax, [esi + 0x31] +inc esi +push eax +push edi +push dword [ebp + 0x14] +push 0 +call fcn_00002974 ; call 0x2974 +add esp, 0x20 +cmp esi, 6 +jne short loc_0000355e ; jne 0x355e +inc edi + +loc_0000359d: +cmp edi, dword [ebp + 0x18] +je short loc_000035b2 ; je 0x35b2 +imul eax, edi, 0xc6 +xor esi, esi +mov dword [ebp - 0xc80], eax +jmp short loc_0000355e ; jmp 0x355e + +loc_000035b2: +push eax +push eax +push 0 +push dword [ebp - 0xca0] +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp byte [ebp - 0xc79], 0 +je short loc_000035e5 ; je 0x35e5 +push eax +push eax +mov eax, dword [ebp - 0xc88] +push 0 +add eax, 0xc20 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_000035e5: +cmp byte [ebp - 0xc7a], 0 +je short loc_00003606 ; je 0x3606 +push eax +push eax +mov eax, dword [ebp - 0xc8c] +push 0 +add eax, 0xc20 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00003606: +mov eax, dword [ebp + 0xc] +push ebx +push 0x3e8 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +pop esi +pop edi +push 0xffef +push dword [ebp - 0xc9c] +call fcn_00018890 ; call 0x18890 +add esp, 0x10 +cmp byte [ebp - 0xc79], 0 +je short loc_00003651 ; je 0x3651 +mov eax, dword [ebp - 0xc88] +push ecx +push ecx +push 0xffef +add eax, 0xb0 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 + +loc_00003651: +cmp byte [ebp - 0xc7a], 0 +je short loc_00003675 ; je 0x3675 +mov eax, dword [ebp - 0xc8c] +push edx +push edx +push 0xffef +add eax, 0xb0 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 + +loc_00003675: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000369e ; je 0x369e +push eax +push eax +push ref_0002106e ; push 0x2106e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0000369e ; jmp 0x369e + +loc_00003691: +sub esp, 0xc +push 0xed +jmp near loc_000034b1 ; jmp 0x34b1 + +loc_0000369e: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000036a6: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 0x14] +push 0 +mov esi, dword [ebp + 0x18] +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov edi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_00003711 ; je 0x3711 +sub esp, 0xc +add edi, 0x214 +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test ax, ax +je short loc_00003711 ; je 0x3711 +shr eax, 0x10 +and eax, 0xf +cmp eax, 6 +jbe short loc_00003711 ; jbe 0x3711 +push eax +movzx ebx, bl +push eax +mov eax, esi +movzx esi, al +push esi +push 0x10 +push 1 +push ebx +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_000031ef ; call 0x31ef +add esp, 0x20 + +loc_00003711: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00003719: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x38 +mov eax, dword [ebp + 0x20] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x38], eax +lea eax, [ebp - 0x1c] +push eax +call fcn_000196d3 ; call 0x196d3 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000377b ; je 0x377b +test ebx, ebx +jns short loc_0000377b ; jns 0x377b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003763 ; je 0x3763 +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00003763: +push ecx +push ref_00020664 ; push 0x20664 +push 0x5bc +push ref_00020e7c ; push 0x20e7c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000377b: +imul eax, dword [ebp + 0x1c], 7 +add eax, dword [ebp + 0x18] +mov ebx, dword [ebp + 0x18] +mov byte [ebp - 0x29], 0 +mov dword [ebp - 0x30], eax + +loc_0000378c: +cmp ebx, dword [ebp - 0x30] +je loc_00003837 ; je 0x3837 +movzx eax, byte [ebx + 2] +push edx +push eax +mov byte [ebp - 0x34], al +movzx eax, byte [ebx + 1] +push eax +movzx eax, byte [ebx] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_0000382f ; je 0x382f +sub esp, 0xc +lea eax, [esi + 0x11a] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +je short loc_0000382f ; je 0x382f +sub esp, 0xc +lea eax, [esi + 0xba] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x40 +je short loc_0000382f ; je 0x382f +mov cl, byte [ebp - 0x34] +mov eax, 1 +lea edx, [esi + 0xb0] +add esi, 0x25c +mov dword [ebp - 0x34], edx +shl eax, cl +or byte [ebp - 0x29], al +push eax +push eax +push 0x10 +push edx +call fcn_00018863 ; call 0x18863 +pop eax +pop edx +push 0x200 +push esi +call fcn_00018a50 ; call 0x18a50 +mov edx, dword [ebp - 0x34] +pop ecx +pop esi +push 0xffef +push edx +call fcn_00018890 ; call 0x18890 +add esp, 0x10 + +loc_0000382f: +add ebx, 7 +jmp near loc_0000378c ; jmp 0x378c + +loc_00003837: +cmp byte [ebp - 0x29], 0 +je loc_0000395d ; je 0x395d +cmp dword [ebp - 0x1c], 0x11 +jne short loc_0000384d ; jne 0x384d + +loc_00003847: +test edi, edi +jne short loc_00003860 ; jne 0x3860 +jmp short loc_00003870 ; jmp 0x3870 + +loc_0000384d: +sub esp, 0xc +push 1 +call fcn_0001c25d ; call 0x1c25d +add esp, 0x10 +dec al +jne short loc_00003870 ; jne 0x3870 +jmp short loc_00003847 ; jmp 0x3847 + +loc_00003860: +cmp byte [edi + 0x28], 0 +je short loc_00003870 ; je 0x3870 +cmp byte [edi + 0x46], 0 +je short loc_00003870 ; je 0x3870 +mov byte [edi + 0x46], 0 + +loc_00003870: +movzx esi, byte [ebp - 0x38] +sub esp, 0xc +push esi +push edi +push dword [ebp + 0xc] +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_000025c6 ; call 0x25c6 +movzx eax, byte [ebp - 0x29] +add esp, 0x20 +mov ebx, dword [ebp + 0x18] +mov dword [ebp - 0x38], eax + +loc_00003894: +cmp ebx, dword [ebp - 0x30] +je short loc_000038d9 ; je 0x38d9 +mov al, byte [ebx] +movzx ecx, byte [ebx + 1] +mov byte [ebp - 0x29], al +mov al, byte [ebx + 2] +movzx edx, al +mov dword [ebp - 0x34], edx +mov edx, dword [ebp - 0x38] +bt edx, eax +jae short loc_000038d4 ; jae 0x38d4 +push eax +movzx edx, byte [ebp - 0x29] +push dword [ebp - 0x34] +push ecx +push edx +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x20 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_000038d4: +add ebx, 7 +jmp short loc_00003894 ; jmp 0x3894 + +loc_000038d9: +cmp dword [ebp - 0x1c], 0x11 +jne short loc_000038e5 ; jne 0x38e5 + +loc_000038df: +test edi, edi +jne short loc_000038f8 ; jne 0x38f8 +jmp short loc_00003908 ; jmp 0x3908 + +loc_000038e5: +sub esp, 0xc +push 1 +call fcn_0001c25d ; call 0x1c25d +add esp, 0x10 +dec al +jne short loc_00003908 ; jne 0x3908 +jmp short loc_000038df ; jmp 0x38df + +loc_000038f8: +cmp byte [edi + 0x28], 0 +je short loc_00003908 ; je 0x3908 +cmp byte [edi + 0x46], 0 +je short loc_00003908 ; je 0x3908 +mov byte [edi + 0x46], 0 + +loc_00003908: +sub esp, 0xc +push esi +push edi +push dword [ebp + 0xc] +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_000025c6 ; call 0x25c6 +add esp, 0x20 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003938 ; je 0x3938 +push edx +push edx +push ref_00021098 ; push 0x21098 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00003938: +mov ebx, dword [ebp + 0x18] + +loc_0000393b: +cmp ebx, dword [ebp - 0x30] +je short loc_0000395d ; je 0x395d +push eax +movzx eax, byte [ebx + 2] +add ebx, 7 +push eax +movzx eax, byte [ebx - 6] +push eax +movzx eax, byte [ebx - 7] +push eax +call fcn_000023ad ; call 0x23ad +add esp, 0x10 +jmp short loc_0000393b ; jmp 0x393b + +loc_0000395d: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00003965: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0x20] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x24], eax +imul eax, dword [ebp + 0x18], 7 +add eax, dword [ebp + 0x14] +mov dl, byte [eax + 3] +movzx edi, byte [eax + 2] +mov cl, byte [eax] +mov byte [ebp - 0x20], dl +mov dl, byte [eax + 5] +mov dword [ebp - 0x28], edi +push edi +movzx edi, byte [eax + 1] +movzx eax, cl +mov byte [ebp - 0x19], cl +mov byte [ebp - 0x1a], dl +push edi +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_00003a9d ; je 0x3a9d +mov eax, dword [ebx + 0xd] +movzx ebx, byte [ebp - 0x20] +mov dl, byte [eax + ebx + 5] +test dl, dl +jne short loc_000039fc ; jne 0x39fc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000039e6 ; je 0x39e6 +push ebx +push ebx +push ref_000210c3 ; push 0x210c3 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000039e6: +sub esp, 0xc +lea eax, [esi + 0xac] +push eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +and ebx, 0xf +jmp short loc_00003a22 ; jmp 0x3a22 + +loc_000039fc: +movzx ebx, dl +mov dword [ebp - 0x20], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x20] +test al, al +je short loc_00003a25 ; je 0x3a25 +movzx edx, dl +push ecx +push edx +push ref_000210c9 ; push 0x210c9 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 + +loc_00003a22: +add esp, 0x10 + +loc_00003a25: +cmp byte [ebp - 0x24], 0 +jne short loc_00003a37 ; jne 0x3a37 +cmp bx, 2 +mov eax, 2 +cmova ebx, eax + +loc_00003a37: +call fcn_000153e9 ; call 0x153e9 +movzx ebx, bx +test al, al +je short loc_00003a5f ; je 0x3a5f +mov ecx, dword [ebp - 0x28] +movzx eax, byte [ebp - 0x19] +push ebx +push ecx +push edi +push eax +push ecx +push edi +push ref_000210de ; push 0x210de +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00003a5f: +push eax +movzx eax, byte [ebp - 0x1a] +shl eax, 4 +or eax, ebx +push eax +push 0xfffffc00 +lea eax, [esi + 0xac] +add esi, 0xd0 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], 0xfff0 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000188bd ; jmp 0x188bd + +loc_00003a9d: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00003aa5: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +movzx eax, byte [ebp + 0x14] +push eax +movzx eax, byte [ebp + 0x10] +push eax +movzx eax, byte [ebp + 0xc] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0x2020 +push 0xffff0000 +mov ebx, eax +lea eax, [eax + 0x22c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x20000000 +push 0xdfffffff +lea eax, [ebx + 0x258] +push eax +call fcn_00018aa4 ; call 0x18aa4 +lea eax, [ebx + 0x11a] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_00003b33 ; jne 0x3b33 +push eax +push eax +push 0x20 +lea eax, [ebx + 0xb0] +add ebx, 0xb2 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_00003b22: +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 8 +jne short loc_00003b22 ; jne 0x3b22 + +loc_00003b33: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00003b38: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov ebx, eax +and ebx, 0xfffffffe +lea eax, [ebx + 0x7400] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x1c], eax +lea eax, [ebx + 0x7404] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +lea eax, [ebx + 0x7408] +add ebx, 0x740c +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], ebx +xor ebx, ebx +mov esi, eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +xor ecx, ecx + +loc_00003ba2: +mov eax, dword [ebp - 0x1c] +mov edx, edi +shr edx, cl +and edx, 7 +shr eax, cl +add ecx, 3 +and eax, 7 +add eax, edx +add ebx, eax +cmp ecx, 0x18 +jne short loc_00003ba2 ; jne 0x3ba2 +cmp bl, 0x28 +jbe short loc_00003be5 ; jbe 0x3be5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003c10 ; je 0x3c10 +movzx ebx, bl +push ebx +push 0x28 +push ref_0002110b ; push 0x2110b +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_00003c10 ; jmp 0x3c10 + +loc_00003be5: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003c10 ; je 0x3c10 +mov al, 0x28 +movzx edx, bl +sub eax, ebx +sub esp, 0xc +movzx eax, al +lea ecx, [edx + eax] +push ecx +push eax +push edx +push ref_00021159 ; push 0x21159 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00003c10: +xor ecx, ecx +xor eax, eax + +loc_00003c14: +mov edx, esi +shr edx, cl +add ecx, 3 +and edx, 7 +add eax, edx +cmp ecx, 0x18 +jne short loc_00003c14 ; jne 0x3c14 +shr esi, 0x18 +and esi, 0x3f +lea ebx, [eax + esi] +cmp bl, 0x47 +jbe short loc_00003c56 ; jbe 0x3c56 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003c81 ; je 0x3c81 +movzx ebx, bl +push ebx +push 0x47 +push ref_00021189 ; push 0x21189 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_00003c81 ; jmp 0x3c81 + +loc_00003c56: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003c81 ; je 0x3c81 +mov al, 0x47 +movzx edx, bl +sub eax, ebx +sub esp, 0xc +movzx eax, al +lea ecx, [edx + eax] +push ecx +push eax +push edx +push ref_000211d7 ; push 0x211d7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00003c81: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00003c89: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x60 +mov eax, dword [ebp + 8] +push 0 +push 0 +push 0 +mov dword [ebp - 0x3c], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x40], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x44], eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov ebx, eax +and ebx, 0xfffffffe +lea eax, [ebx + 0x7410] +mov dword [esp], eax +mov dword [ebp - 0x48], eax +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +lea eax, [ebx + 0x7418] +mov dword [esp], eax +mov dword [ebp - 0x5c], eax +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +lea eax, [ebx + 0x7454] +mov dword [esp], eax +mov dword [ebp - 0x60], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00003d19 ; je 0x3d19 +sub esp, 0xc +push ebx +push esi +push edi +push ref_00021207 ; push 0x21207 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00003d19: +cmp byte [ebp - 0x3c], 0 +mov word [ebp - 0x28], 0 +jne short loc_00003d4c ; jne 0x3d4c +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0x3f0 +shr eax, 4 +mov dword [ebp - 0x28], eax + +loc_00003d4c: +cmp byte [ebp - 0x40], 0 +mov word [ebp - 0x38], 0 +jne short loc_00003d7f ; jne 0x3d7f +push ecx +push 1 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0x3f0 +shr eax, 4 +mov dword [ebp - 0x38], eax + +loc_00003d7f: +cmp byte [ebp - 0x44], 0 +mov word [ebp - 0x58], 0 +jne short loc_00003db2 ; jne 0x3db2 +push edx +push 2 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0x3f0 +shr eax, 4 +mov dword [ebp - 0x58], eax + +loc_00003db2: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003dd4 ; je 0x3dd4 +movzx eax, word [ebp - 0x28] +push eax +movzx eax, byte [ebp - 0x3c] +push eax +push ref_00021235 ; push 0x21235 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00003dd4: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003df6 ; je 0x3df6 +movzx eax, word [ebp - 0x38] +push eax +movzx eax, byte [ebp - 0x40] +push eax +push ref_0002125b ; push 0x2125b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00003df6: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003e18 ; je 0x3e18 +movzx eax, word [ebp - 0x58] +push eax +movzx eax, byte [ebp - 0x44] +push eax +push ref_00021281 ; push 0x21281 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00003e18: +mov al, byte [ebp - 0x40] +or al, byte [ebp - 0x3c] +jne short loc_00003e64 ; jne 0x3e64 +cmp word [ebp - 0x28], 8 +jne short loc_00003e64 ; jne 0x3e64 +cmp word [ebp - 0x38], 8 +jne short loc_00003e64 ; jne 0x3e64 +mov eax, edi +and edi, 0x7c00 +and eax, 0xfffffc1f +shr edi, 5 +or edi, eax +mov eax, esi +and esi, 0x7c00 +and eax, 0xfffffc1f +shr esi, 5 +or esi, eax +mov eax, ebx +and ebx, 0x3f000 +and eax, 0xfffff03f +shr ebx, 6 +or ebx, eax + +loc_00003e64: +cmp word [ebp - 0x58], 4 +jne loc_00003efb ; jne 0x3efb +cmp byte [ebp - 0x44], 0 +jne loc_00003efb ; jne 0x3efb +cmp word [ebp - 0x28], 4 +jne short loc_00003ebc ; jne 0x3ebc +cmp byte [ebp - 0x3c], 0 +jne short loc_00003ebc ; jne 0x3ebc +mov eax, edi +and edi, 0xf8000 +and eax, 0xfffffc1f +shr edi, 0xa +or edi, eax +mov eax, esi +and esi, 0xf8000 +and eax, 0xfffffc1f +shr esi, 0xa +or esi, eax +mov eax, ebx +and ebx, 0xfc0000 +and eax, 0xfffff03f +shr ebx, 0xc +or ebx, eax + +loc_00003ebc: +cmp word [ebp - 0x38], 4 +jne short loc_00003efb ; jne 0x3efb +cmp byte [ebp - 0x40], 0 +jne short loc_00003efb ; jne 0x3efb +mov eax, edi +and edi, 0xf8000 +and ah, 0x83 +shr edi, 5 +or edi, eax +mov eax, esi +and esi, 0xf8000 +and ah, 0x83 +shr esi, 5 +or esi, eax +mov eax, ebx +and ebx, 0xfc0000 +and eax, 0xfffc0fff +shr ebx, 6 +or ebx, eax + +loc_00003efb: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00003f19 ; je 0x3f19 +sub esp, 0xc +push ebx +push esi +push edi +push ref_000212a7 ; push 0x212a7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00003f19: +push eax +push edi +push 0xfe000000 +push dword [ebp - 0x48] +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push esi +push 0xfe000000 +push dword [ebp - 0x5c] +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x60] +add esp, 0x10 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], 0xc0000000 +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018aa4 ; jmp 0x18aa4 + +fcn_00003f58: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 8] +mov dword [ebp - 0x1c], eax +call fcn_0001c58d ; call 0x1c58d +movzx ebx, bl +mov edi, eax +push eax +mov eax, esi +movzx eax, al +push eax +movzx eax, byte [ebp - 0x1c] +push eax +push ebx +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0x1f +push 0xfffffeff +mov ebx, eax +lea eax, [eax + 0x224] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov eax, esi +add esp, 0x10 +test al, al +jne short loc_00003fb0 ; jne 0x3fb0 +cmp byte [ebp - 0x1c], 1 +je short loc_00003fc2 ; je 0x3fc2 + +loc_00003fb0: +cmp edi, 0x40660 +je short loc_00004000 ; je 0x4000 +cmp edi, 0x306c0 +jne short loc_00004014 ; jne 0x4014 +jmp short loc_00004000 ; jmp 0x4000 + +loc_00003fc2: +push eax +push 0 +push 0xefffffff +lea eax, [ebx + 0x490] +push eax +call fcn_00018aa4 ; call 0x18aa4 +lea eax, [ebx + 0xa18] +add esp, 0x10 +lea esi, [ebx + 0x918] +mov dword [ebp - 0x1c], eax + +loc_00003fe8: +push eax +push 0 +push 0xfffffffffffffff3 +push esi +add esi, 0x20 +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jne short loc_00003fe8 ; jne 0x3fe8 +jmp short loc_00003fb0 ; jmp 0x3fb0 + +loc_00004000: +push eax +push 0x10 +push 0xffffffffffffffef +lea eax, [ebx + 0xd14] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00004014: +sub esp, 0xc +lea esi, [ebx + 0x308] +push esi +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +push eax +push esi +lea esi, [ebx + 0x314] +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +pop edi +pop edx +push eax +push esi +lea esi, [ebx + 0x32c] +add ebx, 0x330 +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +pop ecx +pop edi +push eax +push esi +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_0000407d: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +movzx eax, byte [ebp + 0x10] +mov esi, dword [ebp + 8] +movzx ebx, word [ebp + 0xc] +mov dword [ebp - 0x1c], 0xa +shl eax, 0x10 +lea edi, [esi + 0x6c00] +or ebx, eax +lea eax, [esi + 0x6c04] +or ebx, 0x80000000 +mov dword [ebp - 0x20], eax + +loc_000040b2: +push ecx +push ecx +push dword [ebp + 0x14] +push dword [ebp - 0x20] +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push ebx +push edi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov edx, 0x64 + +loc_000040d0: +sub esp, 0xc +push edi +mov dword [ebp - 0x24], edx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, eax +jns short loc_0000410c ; jns 0x410c +mov edx, dword [ebp - 0x24] +dec edx +jne short loc_000040d0 ; jne 0x40d0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000410c ; je 0x410c +push edx +push edx +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push esi +push 0x64 +push ref_000212d4 ; push 0x212d4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0000410c: +sub esp, 0xc +push edi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, eax +cmp ax, 0x40 +je short loc_00004154 ; je 0x4154 +dec dword [ebp - 0x1c] +jne short loc_000040b2 ; jne 0x40b2 +mov dword [ebp - 0x1c], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x1c] +test al, al +je short loc_00004154 ; je 0x4154 +movzx edx, dx +push eax +push edx +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push esi +push 0xa +push ref_00021321 ; push 0x21321 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00004154: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000415c: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edx, dword [ebp + 0x10] +mov edi, dword [ebp + 8] +mov eax, edx +and eax, 0xfffffffd +cmp ax, 0x14 +sete al +cmp al, 1 +lea ecx, [edx - 0x13] +sbb ebx, ebx +cmp cx, 1 +jbe short loc_00004189 ; jbe 0x4189 +add ebx, 4 +jmp short loc_0000418c ; jmp 0x418c + +loc_00004189: +add ebx, 2 + +loc_0000418c: +push ebx +cmp al, 1 +push 0 +sbb esi, esi +push 2 +add esi, 8 +push edi +mov dword [ebp - 0x1c], edx +call fcn_0000407d ; call 0x407d +mov edx, dword [ebp - 0x1c] +push dword [ebp + 0xc] +movzx edx, dx +push 0 +push edx +push edi +call fcn_0000407d ; call 0x407d +add esp, 0x20 +push dword [ebp + 0x14] +push 0 +push esi +push edi +call fcn_0000407d ; call 0x407d +lea eax, [edi + 0x6c04] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +push ebx +push 0 +push 3 +push edi +mov dword [ebp - 0x1c], eax +call fcn_0000407d ; call 0x407d +mov eax, dword [ebp - 0x1c] +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000041e9: +push ebp +mov ebp, esp +push edi +mov edi, 0x10 +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x18] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x28], eax +call fcn_0001c58d ; call 0x1c58d +cmp dword [ebp + 0x14], 1 +mov dword [ebp - 0x20], eax +mov eax, 4 +cmovne edi, eax +xor esi, esi +mov eax, edi +shr eax, 1 +mov dword [ebp - 0x1c], eax +lea eax, [ebx + 0xa00] +mov dword [ebp - 0x24], eax + +loc_00004226: +test ebx, ebx +je short loc_0000423a ; je 0x423a +push eax +mov eax, esi +shl eax, 4 +add eax, dword [ebp - 0x24] +push 0xc +push 0xffffffffffffffe0 +push eax +jmp short loc_0000425a ; jmp 0x425a + +loc_0000423a: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +lea edx, [esi + 0xa0] +push 0xc +shl edx, 4 +push 0xffffffffffffffe0 +add edx, eax +push edx + +loc_0000425a: +inc esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, edi +jb short loc_00004226 ; jb 0x4226 +test ebx, ebx +jne loc_000042f7 ; jne 0x42f7 +cmp byte [ebp - 0x28], 1 +mov edi, 2 +mov eax, 0xc +cmove edi, eax +xor esi, esi + +loc_00004282: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push edi +inc esi +shl edx, 5 +push 0xffffffffffffffe0 +lea eax, [eax + edx + 0x904] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_00004282 ; jb 0x4282 +cmp byte [ebp - 0x28], 1 +mov edi, 3 +mov eax, 0xe +cmove edi, eax +xor esi, esi +shl edi, 5 + +loc_000042c6: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push edi +inc esi +shl edx, 5 +push 0xfffffc1f +lea eax, [eax + edx + 0x904] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_000042c6 ; jb 0x42c6 + +loc_000042f7: +xor esi, esi +lea edi, [ebx + 0x90c] + +loc_000042ff: +test ebx, ebx +je short loc_00004317 ; je 0x4317 +mov eax, esi +push ecx +push 0x120 +shl eax, 5 +push 0xfffff81f +add eax, edi +jmp short loc_0000433d ; jmp 0x433d + +loc_00004317: +push edx +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push 0x120 +shl edx, 5 +push 0xfffff81f +lea eax, [eax + edx + 0x90c] + +loc_0000433d: +push eax +inc esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_000042ff ; jb 0x42ff +test ebx, ebx +jne loc_000043d6 ; jne 0x43d6 +xor esi, esi + +loc_00004356: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push 0xa00000 +inc esi +shl edx, 5 +push 0xfe1fffff +lea eax, [eax + edx + 0x90c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_00004356 ; jb 0x4356 +xor esi, esi + +loc_0000438d: +mov eax, dword [ebp + 8] +mov edi, 0x200 +cmp byte [eax], 2 +jbe short loc_000043a5 ; jbe 0x43a5 +mov eax, dword [eax + 0xd] +movzx edi, byte [eax + esi + 0x54] +shl edi, 6 + +loc_000043a5: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push edi +inc esi +shl edx, 5 +push 0xfffffc3f +lea eax, [eax + edx + 0x910] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_0000438d ; jb 0x438d + +loc_000043d6: +xor esi, esi +lea edi, [ebx + 0x910] +jmp short loc_00004412 ; jmp 0x4412 + +loc_000043e0: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push 0 +shl edx, 5 +push 0xffffc3ff +lea eax, [eax + edx + 0x910] + +loc_00004403: +push eax +inc esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jae short loc_00004427 ; jae 0x4427 + +loc_00004412: +test ebx, ebx +je short loc_000043e0 ; je 0x43e0 +push eax +mov eax, esi +push 0 +shl eax, 5 +push 0xffffc3ff +add eax, edi +jmp short loc_00004403 ; jmp 0x4403 + +loc_00004427: +mov eax, dword [ebp - 0x20] +cmp eax, 0x40660 +sete dl +cmp eax, 0x306c0 +sete al +or dl, al +mov byte [ebp - 0x24], dl +je short loc_00004495 ; je 0x4495 +xor esi, esi +lea edi, [ebx + 0x80c] + +loc_00004449: +test ebx, ebx +je short loc_0000445e ; je 0x445e +push eax +mov eax, esi +push 0 +shl eax, 5 +push 0xffe3ffff +add eax, edi +jmp short loc_00004481 ; jmp 0x4481 + +loc_0000445e: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push 0 +shl edx, 5 +push 0xffe3ffff +lea eax, [eax + edx + 0x80c] + +loc_00004481: +push eax +inc esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_00004449 ; jb 0x4449 +jmp near loc_00004571 ; jmp 0x4571 + +loc_00004495: +cmp dword [ebp - 0x20], 0x40670 +jne loc_0000457e ; jne 0x457e +push ecx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +je short loc_000044f7 ; je 0x44f7 + +loc_000044c0: +test ebx, ebx +je loc_000045af ; je 0x45af +cmp byte [ebp - 0x28], 1 +mov edx, 0x1c000000 +mov eax, 0x6000000 +cmove eax, edx +push edx +push eax +push 0xc1ffffff +lea eax, [ebx + 0xc00] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp byte [ebp - 0x24], 0 +je short loc_000044ff ; je 0x44ff +jmp short loc_0000451d ; jmp 0x451d + +loc_000044f7: +test ebx, ebx +je loc_00004852 ; je 0x4852 + +loc_000044ff: +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +je short loc_0000453a ; je 0x453a + +loc_0000451d: +push eax +push 0x40 +push 0xfffffc0f +lea eax, [ebx + 0xc08] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp byte [ebp - 0x24], 0 +jne short loc_00004558 ; jne 0x4558 + +loc_0000453a: +push edi +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +je short loc_00004586 ; je 0x4586 + +loc_00004558: +push esi +push 0 +push 0xe07fffff +lea eax, [ebx + 0xc0c] +push eax +call fcn_00018aa4 ; call 0x18aa4 + +loc_0000456c: +add esp, 0x10 +jmp short loc_000045af ; jmp 0x45af + +loc_00004571: +cmp dword [ebp - 0x20], 0x40670 +je loc_000044c0 ; je 0x44c0 + +loc_0000457e: +test ebx, ebx +je loc_00004852 ; je 0x4852 + +loc_00004586: +push 0 +push 0x15 +push 0xc0c8001 +push dword [ebp + 0xc] +call fcn_0000415c ; call 0x415c +and eax, 0xe07fffff +push eax +push 0x16 +push 0xc0c8001 +push dword [ebp + 0xc] +call fcn_0000415c ; call 0x415c +add esp, 0x20 + +loc_000045af: +cmp byte [ebp - 0x24], 0 +je short loc_000045f6 ; je 0x45f6 +test ebx, ebx +je short loc_000045d2 ; je 0x45d2 +push ecx +push 0x13 +push 0xffffffffffffffe0 +lea eax, [ebx + 0xc28] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +jmp near loc_000046d0 ; jmp 0x46d0 + +loc_000045d2: +push edx +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0x13 +push 0xffffffffffffffe0 +add eax, 0xc28 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +jmp short loc_000045fe ; jmp 0x45fe + +loc_000045f6: +test ebx, ebx +jne loc_000046d0 ; jne 0x46d0 + +loc_000045fe: +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0xffbf +add eax, 0xc38 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 1 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0xffbf +add eax, 0xc38 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 2 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0xffbf +add eax, 0xc38 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 0xfffc +add eax, 0x260 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 1 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 0xfffc +add eax, 0x260 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 2 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 0xfffc +add eax, 0x260 +push eax +call fcn_000188bd ; call 0x188bd +jmp short loc_000046f4 ; jmp 0x46f4 + +loc_000046d0: +push eax +push 0 +push 0xffffffffffffffbf +lea eax, [ebx + 0xc38] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 2 +push 0xfffffffffffffffc +lea eax, [ebx + 0x260] +push eax +call fcn_00018aa4 ; call 0x18aa4 + +loc_000046f4: +add esp, 0x10 +xor esi, esi +lea edi, [ebx + 0x900] + +loc_000046ff: +test ebx, ebx +je short loc_00004715 ; je 0x4715 +push eax +mov eax, esi +push 0 +shl eax, 5 +push 0xf3ffffff +add eax, edi +push eax +jmp short loc_00004735 ; jmp 0x4735 + +loc_00004715: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +lea edx, [esi + 0x48] +push 0 +shl edx, 5 +push 0xf3ffffff +add edx, eax +push edx + +loc_00004735: +call fcn_00018aa4 ; call 0x18aa4 +inc esi +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_000046ff ; jb 0x46ff +xor esi, esi +lea edi, [ebx + 0x904] + +loc_0000474b: +test ebx, ebx +je short loc_00004763 ; je 0x4763 +push eax +mov eax, esi +push 0xc00 +shl eax, 5 +push 0xfffff3ff +add eax, edi +jmp short loc_00004789 ; jmp 0x4789 + +loc_00004763: +push eax +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, esi +push 0xc00 +shl edx, 5 +push 0xfffff3ff +lea eax, [eax + edx + 0x904] + +loc_00004789: +push eax +inc esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, dword [ebp - 0x1c] +jb short loc_0000474b ; jb 0x474b +test ebx, ebx +jne loc_00004894 ; jne 0x4894 + +loc_000047a0: +push esi +push 0 +push dword [ebp + 0x14] +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +mov edx, ebx +push 0xe000000 +inc ebx +shl edx, 5 +push 0xc1ffffff +lea eax, [eax + edx + 0x90c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp ebx, dword [ebp - 0x1c] +jb short loc_000047a0 ; jb 0x47a0 +cmp dword [ebp - 0x20], 0x40670 +jne short loc_00004802 ; jne 0x4802 +cmp byte [ebp - 0x24], 0 +jne short loc_00004809 ; jne 0x4809 +push ecx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_00004809 ; jne 0x4809 + +loc_00004802: +xor esi, esi +or ebx, 0xffffffff +jmp short loc_00004813 ; jmp 0x4813 + +loc_00004809: +mov esi, 0x124 +mov ebx, 0xfffffedb + +loc_00004813: +push edx +and ebx, 0xc7ffffff +push 0 +or esi, 0x28000000 +push 1 +xor edi, edi +push 0 +mov dword [ebp - 0x20], ebx +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +lea ebx, [eax + 0x91c] + +loc_00004839: +push eax +inc edi +push esi +push dword [ebp - 0x20] +push ebx +add ebx, 0x20 +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp edi, dword [ebp - 0x1c] +jb short loc_00004839 ; jb 0x4839 +jmp short loc_00004894 ; jmp 0x4894 + +loc_00004852: +push 0 +push 0x15 +push 0xc008001 +push dword [ebp + 0xc] +call fcn_0000415c ; call 0x415c +add esp, 0x10 +and eax, 0xc1ffffff +mov edx, eax +or eax, 0x1c000000 +or edx, 0x6000000 +cmp byte [ebp - 0x28], 1 +cmove edx, eax +push edx +push 0x16 +push 0xc008001 +push dword [ebp + 0xc] +call fcn_0000415c ; call 0x415c +jmp near loc_0000456c ; jmp 0x456c + +loc_00004894: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000489c: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov eax, dword [ebp + 0x10] +mov ebx, dword [ebp + 0xc] +mov dword [ebp - 0xc], eax +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000048c7 ; je 0x48c7 +push edx +push edx +push ref_0002138a ; push 0x2138a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000048c7: +test bl, bl +jne short loc_000048db ; jne 0x48db +cmp byte [ebp - 0xc], 3 +sete al +lea esi, [eax*4 + 4] +jmp short loc_000048fd ; jmp 0x48fd + +loc_000048db: +cmp bl, 1 +jne short loc_000048f6 ; jne 0x48f6 +cmp byte [ebp - 0xc], 2 +mov esi, 4 +je short loc_000048fd ; je 0x48fd + +loc_000048eb: +cmp byte [ebp - 0xc], 1 +sbb esi, esi +and esi, 2 +jmp short loc_000048fd ; jmp 0x48fd + +loc_000048f6: +cmp bl, 2 +je short loc_000048eb ; je 0x48eb +xor esi, esi + +loc_000048fd: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000491c ; je 0x491c +push eax +mov eax, esi +movzx eax, al +push eax +push ref_000213a6 ; push 0x213a6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000491c: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_00004925: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0xc] +push 0 +mov ebx, dword [ebp + 0x14] +push 1 +push 0 +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x10] +mov edi, ebx +mov dword [ebp - 0x20], eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00004969 ; je 0x4969 +push eax +push eax +push ref_000213be ; push 0x213be +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004969: +test bl, bl +jne short loc_00004994 ; jne 0x4994 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00004a92 ; je 0x4a92 +mov dword [ebp + 0xc], ref_000213e2 ; mov dword [ebp + 0xc], 0x213e2 +mov dword [ebp + 8], 0x40 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153f7 ; jmp 0x153f7 + +loc_00004994: +sub esp, 0xc +lea eax, [esi + 0xd0c] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +xor ecx, ecx +test eax, 0x100000 +je short loc_000049d1 ; je 0x49d1 +call fcn_000153e9 ; call 0x153e9 +mov cl, 1 +test al, al +je short loc_000049d1 ; je 0x49d1 +push eax +push eax +push ref_00021403 ; push 0x21403 +push 0x40 +mov dword [ebp - 0x24], ecx +call fcn_000153f7 ; call 0x153f7 +mov ecx, dword [ebp - 0x24] +add esp, 0x10 + +loc_000049d1: +cmp byte [ebp - 0x1c], 0 +jne short loc_000049f4 ; jne 0x49f4 +cmp byte [ebp - 0x20], 3 +jne short loc_000049e7 ; jne 0x49e7 +xor edx, edx + +loc_000049df: +test cl, cl +jne short loc_00004a2a ; jne 0x4a2a + +loc_000049e3: +mov dl, 8 +jmp short loc_00004a18 ; jmp 0x4a18 + +loc_000049e7: +mov dl, 4 +mov al, dl +sub eax, ebx +test cl, cl +cmove edx, eax +jmp short loc_00004a2a ; jmp 0x4a2a + +loc_000049f4: +cmp byte [ebp - 0x1c], 1 +jne short loc_00004a1c ; jne 0x4a1c +cmp byte [ebp - 0x20], 2 +jne short loc_00004a08 ; jne 0x4a08 +xor edx, edx +test cl, cl +jne short loc_00004a2a ; jne 0x4a2a +jmp short loc_000049e3 ; jmp 0x49e3 + +loc_00004a08: +xor edx, edx +cmp byte [ebp - 0x20], 0 +jne short loc_00004a2a ; jne 0x4a2a +mov dl, 2 +test cl, cl +jne short loc_00004a2a ; jne 0x4a2a +mov dl, 6 + +loc_00004a18: +sub edx, ebx +jmp short loc_00004a2a ; jmp 0x4a2a + +loc_00004a1c: +xor edx, edx +cmp byte [ebp - 0x1c], 2 +jne short loc_00004a2a ; jne 0x4a2a +cmp byte [ebp - 0x20], 0 +je short loc_000049df ; je 0x49df + +loc_00004a2a: +mov dword [ebp - 0x20], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x20] +test al, al +je short loc_00004a60 ; je 0x4a60 +movzx eax, dl +movzx ebx, bl +push ecx +push ecx +lea ecx, [eax + ebx - 1] +push ecx +push eax +movzx eax, byte [ebp - 0x1c] +push eax +push 0 +push ref_0002141c ; push 0x2141c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +mov edx, dword [ebp - 0x20] +add esp, 0x20 + +loc_00004a60: +xor ebx, ebx +add esi, 0x91c + +loc_00004a68: +lea eax, [edx + ebx] +mov ecx, edi +inc ebx +cmp cl, bl +jb short loc_00004a92 ; jb 0x4a92 +mov dword [ebp - 0x1c], edx +movzx eax, al +push edx +push edx +shl eax, 5 +push 0x80000000 +add eax, esi +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +jmp short loc_00004a68 ; jmp 0x4a68 + +loc_00004a92: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00004a9a: +push ebp +mov ecx, 0x15 +mov ebp, esp +push edi +push esi +mov esi, ref_00020320 ; mov esi, 0x20320 +push ebx +add esp, 0xffffff80 +lea edi, [ebp - 0x2d] +rep movsb ; rep movsb byte es:[edi], byte ptr [esi] +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 1 +push 0 +mov edi, eax +mov dword [ebp - 0x78], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 1 +push 1 +push 0 +mov ebx, eax +mov dword [ebp - 0x40], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 1 +push 0 +mov dword [ebp - 0x50], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0 +push 1 +mov dword [ebp - 0x54], eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x64], eax +lea eax, [edi + 0x48] +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov esi, eax +lea eax, [edi + 0x68] +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +mov eax, dword [ebp + 0xc] +mov byte [ebp - 0x38], 0 +mov eax, dword [eax + 0xd] +mov cl, byte [eax + 0x40] +mov dword [esp], ebx +mov byte [ebp - 0x4a], cl +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_00004b5f ; jne 0x4b5f +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00005cda ; je 0x5cda +push eax +push eax +push ref_00021437 ; push 0x21437 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +jmp near loc_00005c93 ; jmp 0x5c93 + +loc_00004b5f: +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x504 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +shr eax, 0x10 +and eax, 3 +mov byte [ebp - 0x48], al +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00004ba2 ; je 0x4ba2 +push eax +movzx eax, byte [ebp - 0x48] +push eax +push ref_00021454 ; push 0x21454 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004ba2: +lea eax, [ebp - 0x34] +push eax +push 0 +push 0 +push ref_0002901c ; push 0x2901c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00004bfb ; je 0x4bfb +test ebx, ebx +jns short loc_00004bfb ; jns 0x4bfb +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00004be3 ; je 0x4be3 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004be3: +push ebx +push ref_00020664 ; push 0x20664 +push 0x67c +push ref_00020e7c ; push 0x20e7c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00004bfb: +mov al, byte [ebp - 0x48] +test al, al +je short loc_00004c0c ; je 0x4c0c +cmp al, 2 +jne short loc_00004c14 ; jne 0x4c14 +mov byte [ebp - 0x28], 8 +jmp short loc_00004c14 ; jmp 0x4c14 + +loc_00004c0c: +mov byte [ebp - 0x28], 8 +mov byte [ebp - 0x21], 4 + +loc_00004c14: +call fcn_0001c58d ; call 0x1c58d +mov ebx, 1 +mov dword [ebp - 0x58], eax +call fcn_0001c5b4 ; call 0x1c5b4 +push ecx +push 0 +push 0 +push 0 +mov dword [ebp - 0x44], eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe8 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x100000 +je short loc_00004c68 ; je 0x4c68 +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je short loc_00004c68 ; je 0x4c68 +push edx +push edx +push ref_0002146b ; push 0x2146b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004c68: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x3b], 2 +jne short loc_00004c78 ; jne 0x4c78 +mov byte [eax + 0x3b], 1 + +loc_00004c78: +mov eax, dword [ebp + 0xc] +cmp byte [eax], 1 +ja short loc_00004c8c ; ja 0x4c8c + +loc_00004c80: +mov dword [ebp - 0x3c], 0 +jmp near loc_00004d55 ; jmp 0x4d55 + +loc_00004c8c: +sub esp, 0xc +push ref_000294ac ; push 0x294ac +call fcn_00019039 ; call 0x19039 +add esp, 0x10 +mov dword [ebp - 0x3c], eax +test eax, eax +je short loc_00004c80 ; je 0x4c80 +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp dword [eax + 0x44], 0 +jne short loc_00004cc3 ; jne 0x4cc3 + +loc_00004caf: +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp - 0x3c] +mov eax, dword [eax + 0xd] +mov al, byte [eax + 0x3b] +mov byte [ecx + 0x45], al +jmp near loc_00004d55 ; jmp 0x4d55 + +loc_00004cc3: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00004cde ; je 0x4cde +push eax +push 0x21 +push ref_0002147f ; push 0x2147f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004cde: +push eax +mov eax, dword [ebp + 0xc] +push 0x21 +mov edi, dword [ebp - 0x3c] +mov eax, dword [eax + 0xd] +push dword [eax + 0x44] +mov eax, edi +add eax, 0x29 +push eax +call fcn_0001707a ; call 0x1707a +mov eax, dword [ebp + 0xc] +add esp, 0x10 +mov byte [edi + 0x28], 1 +mov eax, dword [eax + 0xd] +mov al, byte [eax + 0x3b] +cmp byte [edi + 0x45], al +je short loc_00004caf ; je 0x4caf +dec al +je short loc_00004caf ; je 0x4caf +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00004d2b ; je 0x4d2b +push eax +push eax +push ref_000214b1 ; push 0x214b1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004d2b: +xor eax, eax + +loc_00004d2d: +mov ecx, dword [ebp - 0x3c] +xor edx, edx +mov dword [ecx + eax + 0x29], 0 + +loc_00004d3a: +mov ecx, dword [ebp - 0x3c] +mov byte [ecx + edx + 0x35], 0 +inc edx +cmp edx, 0x10 +jne short loc_00004d3a ; jne 0x4d3a +add eax, 4 +cmp eax, 0xc +jne short loc_00004d2d ; jne 0x4d2d +jmp near loc_00004caf ; jmp 0x4caf + +loc_00004d55: +lea edi, [ebp - 0x2d] + +loc_00004d58: +push dword [ebp + 0xc] +add edi, 7 +movzx eax, byte [edi - 5] +push eax +movzx eax, byte [edi - 6] +push eax +movzx eax, byte [edi - 7] +push eax +call fcn_00003f58 ; call 0x3f58 +lea eax, [ebp - 0x18] +add esp, 0x10 +cmp edi, eax +jne short loc_00004d58 ; jne 0x4d58 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00004d96 ; je 0x4d96 +push eax +push eax +push ref_000214ea ; push 0x214ea +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004d96: +movzx eax, byte [ebp - 0x4a] +sub esp, 0xc +and esi, 0xfffffffe +push eax +push 1 +push 0 +push esi +push dword [ebp + 0xc] +call fcn_000041e9 ; call 0x41e9 +add esp, 0x20 +cmp bl, 1 +jne short loc_00004df2 ; jne 0x4df2 +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 8], 0 +je short loc_00004df2 ; je 0x4df2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00004ddc ; je 0x4ddc +push eax +push eax +push ref_000214f9 ; push 0x214f9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00004ddc: +push eax +movzx eax, byte [ebp - 0x48] +push eax +movzx eax, byte [ebp - 0x44] +push eax +push dword [ebp + 0xc] +call fcn_00003152 ; call 0x3152 +add esp, 0x10 + +loc_00004df2: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x39], 2 +jne short loc_00004e02 ; jne 0x4e02 +mov byte [eax + 0x39], 0 + +loc_00004e02: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x39], 1 +jne loc_00004e9c ; jne 0x4e9c +mov eax, dword [ebp - 0x40] +sub esp, 0xc +lea edx, [eax + 0xd0] +push edx +mov dword [ebp - 0x60], edx +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x4a], ax +mov eax, dword [ebp - 0x50] +and word [ebp - 0x4a], 0xf +lea edi, [eax + 0xd0] +mov dword [esp], edi +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x4c], ax +mov eax, dword [ebp - 0x54] +and word [ebp - 0x4c], 0xf +lea esi, [eax + 0xd0] +mov dword [esp], esi +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x60] +add esp, 0xc +push 1 +push 0xfff0 +push edx +mov word [ebp - 0x5a], ax +and word [ebp - 0x5a], 0xf +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 1 +push 0xfff0 +push edi +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 1 +push 0xfff0 +push esi +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +jmp short loc_00004eae ; jmp 0x4eae + +loc_00004e9c: +mov word [ebp - 0x5a], 0 +mov word [ebp - 0x4c], 0 +mov word [ebp - 0x4a], 0 + +loc_00004eae: +movzx eax, byte [ebp - 0x44] +xor esi, esi +mov dword [ebp - 0x6c], eax + +loc_00004eb7: +push edi +push ebx +push dword [ebp - 0x6c] +lea eax, [ebp - 0x2d] +push esi +inc esi +push eax +push dword [ebp + 0xc] +push dword [ebp - 0x34] +push dword [ebp + 8] +call fcn_00003965 ; call 0x3965 +add esp, 0x20 +cmp esi, 3 +jne short loc_00004eb7 ; jne 0x4eb7 +mov eax, dword [ebp + 0xc] +cmp byte [eax], 2 +ja loc_00004f95 ; ja 0x4f95 + +loc_00004ee4: +mov esi, dword [ebp - 0x40] +sub esp, 0xc +mov eax, esi +add eax, 0xdd8 +push eax +mov edi, eax +mov dword [ebp - 0x60], eax +call fcn_00017d8a ; call 0x17d8a +pop ecx +pop ebx +or eax, 0x8002 +push eax +push edi +call fcn_00017dcb ; call 0x17dcb +pop edi +pop eax +mov eax, esi +add eax, 0xc24 +push 0xfffeffff +push eax +call fcn_00018a7a ; call 0x18a7a +pop eax +mov eax, dword [ebp - 0x50] +pop edx +add eax, 0xc24 +push 0xfffeffff +push eax +call fcn_00018a7a ; call 0x18a7a +mov eax, dword [ebp - 0x54] +pop ecx +pop ebx +lea ebx, [ebp - 0x2d] +add eax, 0xc24 +push 0xfffeffff +push eax +call fcn_00018a7a ; call 0x18a7a +movzx eax, byte [ebp - 0x48] +mov esi, dword [ebp - 0x3c] +mov dword [esp], eax +mov edi, eax +push esi +push dword [ebp + 0xc] +push dword [ebp - 0x34] +push dword [ebp + 8] +mov dword [ebp - 0x68], eax +call fcn_000025c6 ; call 0x25c6 +add esp, 0x1c +push edi +push 3 +lea eax, [ebp - 0x2d] +push eax +push esi +xor esi, esi +push dword [ebp - 0x34] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00003719 ; call 0x3719 +mov eax, dword [ebp - 0x64] +add esp, 0x20 +add eax, 0xc +mov dword [ebp - 0x70], eax +jmp near loc_0000502c ; jmp 0x502c + +loc_00004f95: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x52], 1 +jne loc_00004ee4 ; jne 0x4ee4 +push edx +mov al, byte [eax + 0x53] +xor ebx, ebx +mov edi, dword [ebp - 0x40] +and eax, 0xf +shl eax, 0x10 +push eax +mov eax, edi +push 0xfff0ffff +add eax, 0xd0c +push eax +call fcn_00018aa4 ; call 0x18aa4 +lea esi, [edi + 0xa00] +add esp, 0x10 + +loc_00004fd0: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp bl, byte [eax + 0x53] +jne short loc_00004fea ; jne 0x4fea +push eax +push eax +push 0xfffffdff +push esi +call fcn_00018a7a ; call 0x18a7a +jmp short loc_00004ff7 ; jmp 0x4ff7 + +loc_00004fea: +push edi +push edi +push 0x200 +push esi +call fcn_00018a50 ; call 0x18a50 + +loc_00004ff7: +inc ebx +add esp, 0x10 +add esi, 0x10 +cmp bl, 0x10 +jne short loc_00004fd0 ; jne 0x4fd0 +jmp near loc_00004ee4 ; jmp 0x4ee4 + +loc_00005008: +sub esp, 0xc +lea eax, [edi + 0xba] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x40 +jne short loc_00005053 ; jne 0x5053 + +loc_0000501e: +add ebx, 7 +lea eax, [ebp - 0x18] +cmp ebx, eax +je loc_000050bc ; je 0x50bc + +loc_0000502c: +push ecx +movzx eax, byte [ebx + 2] +push eax +movzx eax, byte [ebx + 1] +push eax +movzx eax, byte [ebx] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov edi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_00005008 ; jne 0x5008 +jmp short loc_0000501e ; jmp 0x501e + +loc_00005053: +mov byte [ebx + 4], 1 +add edi, 0x18 +push ecx +push 0x10100 +push 0xff0000ff +push edi +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0 +push dword [ebp - 0x64] +call fcn_00017d40 ; call 0x17d40 +push 0x10 +push 0 +push 0 +push 1 +call fcn_000027f4 ; call 0x27f4 +add esp, 0x20 +test eax, eax +je short loc_000050a7 ; je 0x50a7 +add eax, dword [ebp - 0x70] +sub esp, 0xc +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xf +cmp al, 3 +mov byte [ebx + 6], al +mov al, 1 +cmovae esi, eax + +loc_000050a7: +push edx +push edx +push 0xff0000ff +push edi +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +jmp near loc_0000501e ; jmp 0x501e + +loc_000050bc: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000050d6 ; je 0x50d6 +push eax +push eax +push ref_00021513 ; push 0x21513 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000050d6: +lea ebx, [ebp - 0x2d] + +loc_000050d9: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00005107 ; je 0x5107 +push eax +push eax +movzx eax, byte [ebx + 6] +push eax +movzx eax, byte [ebx + 4] +push eax +movzx eax, byte [ebx + 2] +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_0002152d ; push 0x2152d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00005107: +add ebx, 7 +lea eax, [ebp - 0x18] +cmp ebx, eax +jne short loc_000050d9 ; jne 0x50d9 +mov eax, esi +test al, al +jne short loc_0000512c ; jne 0x512c + +loc_00005117: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x39], 1 +jne loc_00005321 ; jne 0x5321 +jmp near loc_0000528a ; jmp 0x528a + +loc_0000512c: +mov eax, dword [ebp - 0x58] +cmp eax, 0x40660 +je short loc_0000513d ; je 0x513d +cmp eax, 0x306c0 +jne short loc_0000514a ; jne 0x514a + +loc_0000513d: +xor ebx, ebx +lea esi, [ebp - 0x38] +lea edi, [ebp - 0x35] +jmp near loc_000051cc ; jmp 0x51cc + +loc_0000514a: +cmp dword [ebp - 0x58], 0x40670 +jne short loc_00005117 ; jne 0x5117 +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_0000513d ; jne 0x513d +jmp short loc_00005117 ; jmp 0x5117 + +loc_00005173: +cmp bl, 0xc +je short loc_000051de ; je 0x51de +test bl, bl +jne short loc_00005189 ; jne 0x5189 +push eax +push eax +push esi +push 0 + +loc_00005181: +call fcn_0000930f ; call 0x930f +add esp, 0x10 + +loc_00005189: +sub esp, 0xc +movzx ecx, byte [ebp - 0x38] +push edi +lea edx, [ebp - 0x36] +push edx +lea eax, [ebp - 0x37] +push eax +push ecx +mov dword [ebp - 0x70], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x74], edx +mov ecx, dword [eax + 0xd] +movzx ecx, byte [ecx + ebx + 0x19] +push ecx +call fcn_0000936b ; call 0x936b +mov edx, dword [ebp - 0x74] +add esp, 0x20 +mov eax, dword [ebp - 0x70] +push edi +push edx +push eax +push ebx +inc ebx +call fcn_00009450 ; call 0x9450 +add esp, 0x10 +cmp ebx, 0x10 +je short loc_000051eb ; je 0x51eb + +loc_000051cc: +cmp bl, 8 +jne short loc_00005173 ; jne 0x5173 +cmp byte [ebp - 0x22], 0 +je short loc_00005189 ; je 0x5189 +push eax +push eax +push esi +push 8 +jmp short loc_00005181 ; jmp 0x5181 + +loc_000051de: +cmp byte [ebp - 0x1b], 0 +je short loc_00005189 ; je 0x5189 +push eax +push eax +push esi +push 0xc +jmp short loc_00005181 ; jmp 0x5181 + +loc_000051eb: +cmp dword [ebp - 0x44], 0 +je short loc_00005215 ; je 0x5215 +cmp dword [ebp - 0x58], 0x40670 +jne short loc_00005215 ; jne 0x5215 +mov edi, dword [ebp - 0x60] +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +and ah, 0x7f +push eax +push edi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00005215: +lea ebx, [ebp - 0x2d] + +loc_00005218: +cmp byte [ebx + 4], 0 +je short loc_00005257 ; je 0x5257 +push eax +movzx eax, byte [ebx + 2] +push eax +movzx eax, byte [ebx + 1] +push eax +movzx eax, byte [ebx] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +pop eax +pop edx +lea eax, [esi + 0xd98] +add esi, 0xb0 +push 1 +push eax +call fcn_00018a50 ; call 0x18a50 +pop ecx +pop edi +push 0x20 +push esi +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00005257: +add ebx, 7 +lea eax, [ebp - 0x18] +cmp ebx, eax +jne short loc_00005218 ; jne 0x5218 +lea ebx, [ebp - 0x2d] + +loc_00005264: +cmp byte [ebx + 4], 0 +je short loc_0000527b ; je 0x527b +push 0 +push ebx +push dword [ebp - 0x34] +push dword [ebp + 8] +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0x10 + +loc_0000527b: +add ebx, 7 +lea eax, [ebp - 0x18] +cmp ebx, eax +jne short loc_00005264 ; jne 0x5264 +jmp near loc_00005117 ; jmp 0x5117 + +loc_0000528a: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000052a4 ; je 0x52a4 +push eax +push eax +push ref_00021565 ; push 0x21565 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000052a4: +sub esp, 0xc +push dword [ebp - 0x68] +push dword [ebp - 0x6c] +push dword [ebp - 0x34] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_000036a6 ; call 0x36a6 +movzx eax, word [ebp - 0x4a] +add esp, 0x1c +push eax +mov eax, dword [ebp - 0x40] +push 0xfff0 +add eax, 0xd0 +push eax +call fcn_000188bd ; call 0x188bd +movzx eax, word [ebp - 0x4c] +add esp, 0xc +push eax +mov eax, dword [ebp - 0x50] +push 0xfff0 +add eax, 0xd0 +push eax +call fcn_000188bd ; call 0x188bd +movzx eax, word [ebp - 0x5a] +add esp, 0xc +push eax +mov eax, dword [ebp - 0x54] +push 0xfff0 +add eax, 0xd0 +push eax +call fcn_000188bd ; call 0x188bd +mov eax, dword [ebp - 0x34] +add esp, 0xc +push 0x186a0 +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 + +loc_00005321: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x3b], 2 +jne short loc_00005331 ; jne 0x5331 +mov byte [eax + 0x3b], 1 + +loc_00005331: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x3b], 1 +jne short loc_00005351 ; jne 0x5351 +push dword [ebp - 0x3c] +push dword [ebp - 0x34] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00008275 ; call 0x8275 +add esp, 0x10 + +loc_00005351: +cmp dword [ebp - 0x58], 0x40670 +sete al +cmp dword [ebp - 0x44], 0 +mov byte [ebp - 0x74], al +je short loc_00005371 ; je 0x5371 +test al, al +je short loc_00005371 ; je 0x5371 +push edi +push edi +push 0x4000 +jmp short loc_00005378 ; jmp 0x5378 + +loc_00005371: +push esi +push esi +push 0xc000 + +loc_00005378: +push dword [ebp - 0x60] +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000539d ; je 0x539d +push ebx +push ebx +push ref_00021580 ; push 0x21580 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000539d: +mov eax, dword [ebp - 0x64] +lea edi, [ebp - 0x2d] +mov byte [ebp - 0x60], 0 +mov byte [ebp - 0x70], 0 +mov byte [ebp - 0x44], 0 +add eax, 0xc +mov byte [ebp - 0x5a], 0 +mov byte [ebp - 0x4a], 0 +mov dword [ebp - 0x80], eax + +loc_000053bd: +mov al, byte [edi] +mov ecx, dword [ebp - 0x3c] +mov byte [ebp - 0x5c], al +mov al, byte [edi + 1] +mov byte [ebp - 0x5b], al +mov al, byte [edi + 2] +mov byte [ebp - 0x6c], al +movzx eax, byte [edi + 3] +mov byte [ebp - 0x4c], al +test ecx, ecx +je short loc_000053ea ; je 0x53ea +mov edx, dword [ebp + 0xc] +mov edx, dword [edx + 0xd] +mov dl, byte [edx + eax + 0x5c] +mov byte [ecx + eax + 0x47], dl + +loc_000053ea: +movzx eax, byte [ebp - 0x6c] +push ecx +push eax +movzx eax, byte [ebp - 0x5b] +push eax +movzx eax, byte [ebp - 0x5c] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +je short loc_0000541c ; je 0x541c +cmp byte [edi + 4], 0 +jne short loc_0000542b ; jne 0x542b + +loc_0000541c: +cmp byte [eax + 4], 0 +je loc_00005720 ; je 0x5720 +jmp near loc_000056fa ; jmp 0x56fa + +loc_0000542b: +cmp byte [eax + 4], 0 +jne short loc_0000547a ; jne 0x547a +push eax +push 0x10100 +push 0xff0000ff +lea ebx, [esi + 0x18] +push ebx +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0 +push dword [ebp - 0x64] +call fcn_00017d40 ; call 0x17d40 +lea eax, [esi + 0x11a] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne loc_00005720 ; jne 0x5720 +push eax +push eax +push 0xff0000ff +push ebx +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0000547a: +mov eax, dword [ebp + 0xc] +cmp byte [eax], 0xf +jbe short loc_000054cf ; jbe 0x54cf +movzx ebx, byte [ebp - 0x4c] +mov eax, dword [eax + 0xd] +cmp byte [eax + ebx + 0x61], 0 +je short loc_000054cf ; je 0x54cf +sub esp, 0xc +lea eax, [esi + 0xb2] +push eax +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp + 0xc] +add esp, 0x10 +mov edx, dword [ecx + 0xd] +and eax, 0x3f0 +sar eax, 4 +movzx edx, byte [edx + ebx + 0x61] +cmp dl, al +je short loc_000054cf ; je 0x54cf +movzx eax, byte [ebp - 0x6c] +push eax +movzx eax, byte [ebp - 0x5b] +push eax +push edx +push dword [ebp + 8] +call fcn_0000286a ; call 0x286a +add esp, 0x10 + +loc_000054cf: +mov eax, dword [ebp + 0xc] +cmp byte [eax], 7 +jbe short loc_000054eb ; jbe 0x54eb +mov edx, dword [eax + 0xd] +movzx eax, byte [ebp - 0x4c] +mov bl, byte [edx + eax + 0x5c] +cmp bl, 0xff +jne loc_0000560f ; jne 0x560f + +loc_000054eb: +sub esp, 0xc +lea eax, [esi + 0xac] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +push 0x10100 +push 0xff0000ff +lea ebx, [esi + 0x18] +push ebx +shr eax, 4 +and eax, 0x3f +mov byte [ebp - 0x79], al +call fcn_00018aa4 ; call 0x18aa4 +pop edx +pop ecx +push 0 +push dword [ebp - 0x64] +call fcn_00017d40 ; call 0x17d40 +pop eax +push dword [ebp - 0x64] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +inc eax +jne short loc_0000557e ; jne 0x557e +sub esp, 0xc +add esi, 0xb2 +push esi +call fcn_00017cfe ; call 0x17cfe +mov esi, eax +and esi, 0x3f0 +sar esi, 4 +mov eax, esi +mov byte [ebp - 0x70], al +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_000055aa ; je 0x55aa +movzx eax, byte [ebp - 0x6c] +sub esp, 0xc +push esi +push eax +movzx eax, byte [ebp - 0x5b] +push eax +push ref_0002159c ; push 0x2159c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 +jmp short loc_000055aa ; jmp 0x55aa + +loc_0000557e: +push 0x10 +push 0 +push 0 +push 1 +call fcn_000027f4 ; call 0x27f4 +add esp, 0x10 +test eax, eax +je short loc_000055aa ; je 0x55aa +add eax, dword [ebp - 0x80] +sub esp, 0xc +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 4 +and eax, 0x3f +mov byte [ebp - 0x70], al + +loc_000055aa: +push eax +push eax +push 0xff0000ff +push ebx +call fcn_00018a7a ; call 0x18a7a +mov cl, byte [ebp - 0x79] +add esp, 0x10 +mov bl, byte [ebp - 0x70] +xor edx, edx +mov al, cl +sub eax, ebx +cmp cl, bl +cmova edx, eax +mov bl, 0xff +mov al, dl +shr al, 1 +mov dword [ebp - 0x84], edx +mov byte [ebp - 0x60], al +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x84] +test al, al +je short loc_00005633 ; je 0x5633 +push eax +movzx edx, dl +push eax +movzx eax, byte [ebp - 0x60] +push eax +movzx eax, byte [ebp - 0x70] +push edx +push eax +movzx eax, byte [ebp - 0x79] +push eax +push ref_00021608 ; push 0x21608 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 +jmp short loc_00005633 ; jmp 0x5633 + +loc_0000560f: +test bl, bl +je short loc_00005633 ; je 0x5633 +call fcn_000153e9 ; call 0x153e9 +mov byte [ebp - 0x60], bl +test al, al +je short loc_00005633 ; je 0x5633 +push eax +movzx eax, bl +push eax +push ref_0002167b ; push 0x2167b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005633: +mov eax, dword [ebp - 0x58] +cmp eax, 0x40660 +je short loc_00005644 ; je 0x5644 +cmp eax, 0x306c0 +jne short loc_0000564a ; jne 0x564a + +loc_00005644: +test bl, bl +je short loc_000056c6 ; je 0x56c6 +jmp short loc_00005670 ; jmp 0x5670 + +loc_0000564a: +cmp byte [ebp - 0x74], 0 +je short loc_000056c6 ; je 0x56c6 +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_00005644 ; jne 0x5644 +jmp short loc_000056c6 ; jmp 0x56c6 + +loc_00005670: +movzx esi, byte [ebp - 0x6c] +push eax +push dword [ebp - 0x68] +push esi +push dword [ebp + 8] +call fcn_0000489c ; call 0x489c +add esp, 0x10 +mov bl, al +cmp byte [ebp - 0x60], al +jbe short loc_000056ad ; jbe 0x56ad +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000056b0 ; je 0x56b0 +push eax +movzx eax, bl +push eax +push ref_00021646 ; push 0x21646 +push 0x80000040 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_000056b0 ; jmp 0x56b0 + +loc_000056ad: +mov bl, byte [ebp - 0x60] + +loc_000056b0: +movzx eax, bl +push eax +push dword [ebp - 0x68] +push esi +push dword [ebp + 8] +call fcn_00004925 ; call 0x4925 +add esp, 0x10 +mov byte [ebp - 0x60], bl + +loc_000056c6: +call fcn_000153e9 ; call 0x153e9 +movzx esi, byte [ebp - 0x6c] +movzx ebx, byte [ebp - 0x5b] +test al, al +je short loc_000056e8 ; je 0x56e8 +push esi +push ebx +push ref_00021690 ; push 0x21690 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000056e8: +movzx eax, byte [ebp - 0x5c] +push esi +push ebx +push eax +push dword [ebp + 0xc] +call fcn_00003aa5 ; call 0x3aa5 +add esp, 0x10 + +loc_000056fa: +cmp byte [ebp - 0x4c], 0 +jne short loc_00005706 ; jne 0x5706 +cmp byte [ebp - 0x48], 3 +je short loc_00005763 ; je 0x5763 + +loc_00005706: +cmp byte [ebp - 0x4c], 1 +jne short loc_00005712 ; jne 0x5712 +cmp byte [ebp - 0x48], 2 +je short loc_0000577b ; je 0x577b + +loc_00005712: +cmp byte [ebp - 0x4c], 2 +jne short loc_00005753 ; jne 0x5753 +cmp byte [ebp - 0x48], 0 +je short loc_0000577f ; je 0x577f +jmp short loc_00005753 ; jmp 0x5753 + +loc_00005720: +mov al, byte [ebp - 0x48] +cmp al, 3 +je short loc_0000576d ; je 0x576d +cmp al, 2 +jne short loc_00005737 ; jne 0x5737 +cmp byte [ebp - 0x4c], 0 +mov byte [ebp - 0x44], 1 +je short loc_0000574f ; je 0x574f +jmp short loc_00005767 ; jmp 0x5767 + +loc_00005737: +cmp byte [ebp - 0x48], 0 +jne short loc_00005753 ; jne 0x5753 +cmp byte [ebp - 0x4c], 0 +je short loc_0000574f ; je 0x574f +cmp byte [ebp - 0x4c], 1 +jne short loc_0000577b ; jne 0x577b +mov byte [ebp - 0x5a], 1 +jmp short loc_00005753 ; jmp 0x5753 + +loc_0000574f: +mov byte [ebp - 0x4a], 1 + +loc_00005753: +add edi, 7 +lea eax, [ebp - 0x18] +cmp edi, eax +jne loc_000053bd ; jne 0x53bd +jmp short loc_0000577f ; jmp 0x577f + +loc_00005763: +mov byte [ebp - 0x44], 1 + +loc_00005767: +mov byte [ebp - 0x5a], 1 +jmp short loc_0000577f ; jmp 0x577f + +loc_0000576d: +mov byte [ebp - 0x44], 1 +mov byte [ebp - 0x5a], 1 +mov byte [ebp - 0x4a], 1 +jmp short loc_0000577f ; jmp 0x577f + +loc_0000577b: +mov byte [ebp - 0x44], 1 + +loc_0000577f: +mov dl, byte [ebp - 0x44] +xor ebx, ebx +mov al, byte [ebp - 0x5a] +xor edx, 1 +xor eax, 1 +or dl, al +je short loc_00005798 ; je 0x5798 +mov bl, byte [ebp - 0x4a] +mov byte [ebp - 0x4a], 0 + +loc_00005798: +sub esp, 0xc +mov esi, 1 +push dword [ebp - 0x40] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_000057cb ; jne 0x57cb +call fcn_000153e9 ; call 0x153e9 +xor esi, esi +test al, al +je short loc_000057cb ; je 0x57cb +push ecx +push ecx +push ref_000216bb ; push 0x216bb +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000057cb: +or bl, byte [ebp - 0x4a] +je loc_000058fa ; je 0x58fa +mov eax, esi +test al, al +je loc_000058fa ; je 0x58fa +mov edi, dword [ebp - 0x40] +mov ebx, 0x3e9 +push eax +push eax +push 0x100 +mov eax, edi +add eax, 0x224 +push eax +call fcn_00018a50 ; call 0x18a50 +lea esi, [edi + 0x464] +pop eax +mov eax, edi +pop edx +add eax, 0xb0 +push 0x10 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_00005814: +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x3f +cmp eax, 2 +je short loc_0000583e ; je 0x583e +dec bx +je short loc_0000583e ; je 0x583e +mov eax, dword [ebp - 0x34] +push edi +push 0x64 +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +jmp short loc_00005814 ; jmp 0x5814 + +loc_0000583e: +mov eax, dword [ebp - 0x40] +push esi +push 0x20 +push 0xcf +add eax, 0xc20 +push eax +call fcn_000186c6 ; call 0x186c6 +mov eax, dword [ebp - 0x58] +add esp, 0x10 +cmp eax, 0x40660 +je short loc_00005868 ; je 0x5868 +cmp eax, 0x306c0 +jne short loc_0000588b ; jne 0x588b + +loc_00005868: +mov edi, dword [ebp - 0x68] +push ebx +push edi +push 0 +push dword [ebp + 8] +call fcn_0000489c ; call 0x489c +movzx eax, al +push eax +push edi +push 0 +push dword [ebp + 8] +call fcn_00004925 ; call 0x4925 +add esp, 0x20 +jmp short loc_000058af ; jmp 0x58af + +loc_0000588b: +cmp byte [ebp - 0x74], 0 +je short loc_000058af ; je 0x58af +push ecx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_00005868 ; jne 0x5868 + +loc_000058af: +cmp byte [ebp - 0x4a], 0 +je short loc_000058fa ; je 0x58fa +push eax +push eax +mov eax, dword [ebp - 0x40] +push 0x40000000 +add eax, 0xd20 +push eax +call fcn_00018a50 ; call 0x18a50 +pop eax +mov eax, dword [ebp - 0x78] +pop edx +add eax, 0x54 +push 0xf7 +push eax +call fcn_00018699 ; call 0x18699 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_000058fa ; je 0x58fa +push eax +push eax +push ref_000216bb ; push 0x216bb +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000058fa: +sub esp, 0xc +mov bl, 1 +push dword [ebp - 0x50] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_0000592a ; jne 0x592a +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je short loc_0000592a ; je 0x592a +push edi +push edi +push ref_000216cc ; push 0x216cc +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000592a: +test byte [ebp - 0x5a], bl +je loc_00005a4f ; je 0x5a4f +mov edi, dword [ebp - 0x50] +push ecx +push ecx +push 0x100 +mov eax, edi +add eax, 0x224 +push eax +call fcn_00018a50 ; call 0x18a50 +mov eax, edi +pop ebx +add eax, 0xb0 +pop esi +mov ebx, 0x3e9 +push 0x10 +push eax +call fcn_0001866c ; call 0x1866c +mov eax, dword [ebp - 0x40] +add esp, 0x10 +lea esi, [eax + 0x464] + +loc_0000596c: +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 8 +and eax, 0x3f +cmp eax, 2 +je short loc_00005999 ; je 0x5999 +dec bx +je short loc_00005999 ; je 0x5999 +mov eax, dword [ebp - 0x34] +push edx +push 0x64 +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +jmp short loc_0000596c ; jmp 0x596c + +loc_00005999: +push eax +mov eax, dword [ebp - 0x50] +push 0x20 +push 0xcf +add eax, 0xc20 +push eax +call fcn_000186c6 ; call 0x186c6 +mov eax, dword [ebp - 0x58] +add esp, 0x10 +cmp eax, 0x40660 +je short loc_000059c3 ; je 0x59c3 +cmp eax, 0x306c0 +jne short loc_000059e6 ; jne 0x59e6 + +loc_000059c3: +mov esi, dword [ebp - 0x68] +push eax +push esi +push 1 +push dword [ebp + 8] +call fcn_0000489c ; call 0x489c +movzx eax, al +push eax +push esi +push 1 +push dword [ebp + 8] +call fcn_00004925 ; call 0x4925 +add esp, 0x20 +jmp short loc_00005a0a ; jmp 0x5a0a + +loc_000059e6: +cmp byte [ebp - 0x74], 0 +je short loc_00005a0a ; je 0x5a0a +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_000059c3 ; jne 0x59c3 + +loc_00005a0a: +mov eax, dword [ebp - 0x50] +push esi +push esi +push 0x40000000 +add eax, 0xd20 +push eax +call fcn_00018a50 ; call 0x18a50 +pop edi +pop eax +mov eax, dword [ebp - 0x78] +push 0xfb +add eax, 0x54 +push eax +call fcn_00018699 ; call 0x18699 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00005a4f ; je 0x5a4f +push ebx +push ebx +push ref_000216cc ; push 0x216cc +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005a4f: +sub esp, 0xc +mov bl, 1 +push dword [ebp - 0x54] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_00005a7f ; jne 0x5a7f +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je short loc_00005a7f ; je 0x5a7f +push ecx +push ecx +push ref_000216dd ; push 0x216dd +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005a7f: +test byte [ebp - 0x44], bl +je loc_00005ba4 ; je 0x5ba4 +mov edi, dword [ebp - 0x54] +mov ebx, 0x3e9 +push eax +push eax +push 0x100 +mov eax, edi +add eax, 0x224 +push eax +call fcn_00018a50 ; call 0x18a50 +pop eax +mov eax, edi +pop edx +add eax, 0xb0 +push 0x10 +push eax +call fcn_0001866c ; call 0x1866c +mov eax, dword [ebp - 0x40] +add esp, 0x10 +lea esi, [eax + 0x464] + +loc_00005ac1: +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 0x10 +and eax, 0x3f +cmp eax, 2 +je short loc_00005aee ; je 0x5aee +dec bx +je short loc_00005aee ; je 0x5aee +mov eax, dword [ebp - 0x34] +push edi +push 0x64 +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +jmp short loc_00005ac1 ; jmp 0x5ac1 + +loc_00005aee: +mov eax, dword [ebp - 0x54] +push esi +push 0x20 +push 0xcf +add eax, 0xc20 +push eax +call fcn_000186c6 ; call 0x186c6 +mov eax, dword [ebp - 0x58] +add esp, 0x10 +cmp eax, 0x40660 +je short loc_00005b18 ; je 0x5b18 +cmp eax, 0x306c0 +jne short loc_00005b3b ; jne 0x5b3b + +loc_00005b18: +mov edi, dword [ebp - 0x68] +push ebx +push edi +push 2 +push dword [ebp + 8] +call fcn_0000489c ; call 0x489c +movzx eax, al +push eax +push edi +push 2 +push dword [ebp + 8] +call fcn_00004925 ; call 0x4925 +add esp, 0x20 +jmp short loc_00005b5f ; jmp 0x5b5f + +loc_00005b3b: +cmp byte [ebp - 0x74], 0 +je short loc_00005b5f ; je 0x5b5f +push ecx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_00005b18 ; jne 0x5b18 + +loc_00005b5f: +mov eax, dword [ebp - 0x54] +push edi +push edi +push 0x40000000 +add eax, 0xd20 +push eax +call fcn_00018a50 ; call 0x18a50 +pop eax +mov eax, dword [ebp - 0x78] +pop edx +add eax, 0x54 +push 0xfd +push eax +call fcn_00018699 ; call 0x18699 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00005ba4 ; je 0x5ba4 +push esi +push esi +push ref_000216dd ; push 0x216dd +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005ba4: +lea ebx, [ebp - 0x2d] + +loc_00005ba7: +movzx eax, byte [ebx + 2] +sub esp, 0xc +add ebx, 7 +movzx edi, byte [ebx - 6] +movzx esi, byte [ebx - 7] +push eax +push edi +push esi +push dword [ebp - 0x34] +push dword [ebp + 8] +mov dword [ebp - 0x48], eax +call fcn_000024e1 ; call 0x24e1 +mov eax, dword [ebp - 0x48] +add esp, 0x1c +push eax +push edi +push esi +call fcn_000023ad ; call 0x23ad +lea eax, [ebp - 0x18] +add esp, 0x10 +cmp ebx, eax +jne short loc_00005ba7 ; jne 0x5ba7 +mov edi, dword [ebp - 0x3c] +test edi, edi +je loc_00005c71 ; je 0x5c71 +mov eax, dword [ebp - 0x40] +sub esp, 0xc +add eax, 0x11a +push eax +call fcn_00017cfe ; call 0x17cfe +shr ax, 1 +xor eax, 1 +mov bl, al +mov eax, dword [ebp - 0x50] +and ebx, 1 +add eax, 0x11a +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dl, bl +or edx, 2 +test al, 2 +mov eax, dword [ebp - 0x54] +cmove ebx, edx +add eax, 0x11a +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dl, bl +add esp, 0x10 +or edx, 4 +test al, 2 +cmove ebx, edx +not ebx +cmp byte [edi + 0x46], bl +je short loc_00005c71 ; je 0x5c71 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00005c6b ; je 0x5c6b +movzx eax, bl +push eax +mov eax, dword [ebp - 0x3c] +movzx eax, byte [eax + 0x46] +push eax +push ref_000216ee ; push 0x216ee +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005c6b: +mov eax, dword [ebp - 0x3c] +mov byte [eax + 0x46], bl + +loc_00005c71: +mov eax, dword [ebp + 0xc] +cmp byte [eax], 0xa +ja short loc_00005c98 ; ja 0x5c98 + +loc_00005c79: +call fcn_00003b38 ; call 0x3b38 +movzx eax, byte [ebp - 0x44] +push ebx +push eax +movzx eax, byte [ebp - 0x5a] +push eax +movzx eax, byte [ebp - 0x4a] +push eax +call fcn_00003c89 ; call 0x3c89 + +loc_00005c93: +add esp, 0x10 +jmp short loc_00005cda ; jmp 0x5cda + +loc_00005c98: +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x5f], 1 +jne short loc_00005c79 ; jne 0x5c79 +lea ebx, [ebp - 0x2d] + +loc_00005ca7: +push eax +movzx eax, byte [ebx + 2] +add ebx, 7 +push eax +movzx eax, byte [ebx - 6] +push eax +movzx eax, byte [ebx - 7] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 1 +add eax, 0x25c +push eax +call fcn_00018a50 ; call 0x18a50 +lea eax, [ebp - 0x18] +add esp, 0x10 +cmp ebx, eax +jne short loc_00005ca7 ; jne 0x5ca7 +jmp short loc_00005c79 ; jmp 0x5c79 + +loc_00005cda: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00005ce2: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov esi, dword [ebp + 0x10] +mov eax, dword [ebp + 0x14] +cmp byte [esi + 6], 2 +push 0 +mov edi, eax +push 0 +push 0 +seta bl +mov dword [ebp - 0x20], eax +mov byte [ebp - 0x19], al +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +add esp, 0x10 +mov dword [ebp - 0x24], eax +mov eax, edi +test al, al +jne short loc_00005d6f ; jne 0x5d6f +test bl, bl +je short loc_00005d6f ; je 0x5d6f +xor edi, edi + +loc_00005d28: +push eax +movzx eax, byte [esi + 2] +push eax +movzx eax, byte [esi + 1] +push eax +movzx eax, byte [esi] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xd2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_00005d75 ; jne 0x5d75 +push ecx +mov eax, dword [ebp + 0xc] +inc edi +push 0x3e8 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +cmp edi, 0x64 +jne short loc_00005d28 ; jne 0x5d28 +xor eax, eax +jmp short loc_00005d77 ; jmp 0x5d77 + +loc_00005d6f: +xor eax, eax +xor edi, edi +jmp short loc_00005d77 ; jmp 0x5d77 + +loc_00005d75: +mov al, 1 + +loc_00005d77: +test al, al +je short loc_00005d87 ; je 0x5d87 +test bl, bl +je short loc_00005d87 ; je 0x5d87 + +loc_00005d7f: +mov ebx, dword [ebp - 0x24] +and ebx, 0xfffffffe +jmp short loc_00005dae ; jmp 0x5dae + +loc_00005d87: +test bl, bl +je short loc_00005d7f ; je 0x5d7f +cmp byte [ebp - 0x20], 0 +jne short loc_00005d7f ; jne 0x5d7f + +loc_00005d91: +mov eax, 0x80000012 +jmp short loc_00005e0f ; jmp 0x5e0f + +loc_00005d98: +push eax +mov eax, dword [ebp + 0xc] +inc edi +push 0x3e8 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 + +loc_00005dae: +cmp edi, 0x63 +ja short loc_00005d91 ; ja 0x5d91 +cmp byte [ebp - 0x19], 0 +je short loc_00005de0 ; je 0x5de0 +push 0 +push 0x13 +push 0x4648080 +push ebx +call fcn_0000415c ; call 0x415c +movzx ecx, byte [esi + 2] +add esp, 0x10 +shl ecx, 3 +shr eax, cl +and eax, 0x3f +cmp eax, 0x10 + +loc_00005dda: +jne short loc_00005d98 ; jne 0x5d98 +xor eax, eax +jmp short loc_00005e0f ; jmp 0x5e0f + +loc_00005de0: +push edx +movzx eax, byte [esi + 2] +push eax +movzx eax, byte [esi + 1] +push eax +movzx eax, byte [esi] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x214 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 0x10 +and eax, 0xf +cmp eax, 7 +jmp short loc_00005dda ; jmp 0x5dda + +loc_00005e0f: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00005e17: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov ebx, dword [ebp + 8] +push 0 +mov edi, dword [ebp + 0xc] +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 2] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, eax +and eax, 0xfffffffd +cmp ax, 0x8c44 +je short loc_00005eae ; je 0x5eae +lea eax, [edx + 0x73b2] +cmp ax, 2 +jbe short loc_00005eae ; jbe 0x5eae +lea eax, [edx + 0x73b7] +cmp ax, 3 +jbe short loc_00005eae ; jbe 0x5eae +lea eax, [edx + 0x73bf] +cmp ax, 1 +jbe short loc_00005eae ; jbe 0x5eae +cmp dx, 0x8c58 +je short loc_00005eae ; je 0x5eae +mov eax, edx +and eax, 0xfffffffb +cmp ax, 0x8c52 +je short loc_00005eae ; je 0x5eae +mov eax, edx +and eax, 0xfffffff7 +cmp ax, 0x8c54 +je short loc_00005eae ; je 0x5eae +lea eax, [edx + 0x63bf] +cmp ax, 6 +jbe short loc_00005eae ; jbe 0x5eae +add dx, 0x733f +cmp dx, 5 +jbe short loc_00005eae ; jbe 0x5eae + +loc_00005ea4: +mov eax, 0x80000003 +jmp near loc_00005fa0 ; jmp 0x5fa0 + +loc_00005eae: +sub esp, 0xc +add esi, 0x48 +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and ax, 0xfffc +mov word [ebp - 0x20], ax +je short loc_00005ea4 ; je 0x5ea4 +cmp bl, 0x1f +jbe short loc_00005f0b ; jbe 0x5f0b +cmp bl, 0x3f +ja short loc_00005ee7 ; ja 0x5ee7 +lea ecx, [ebx - 0x20] +mov esi, 0x30 +mov word [ebp - 0x1c], 0x38 +mov word [ebp - 0x1a], 0x34 +jmp short loc_00005f1b ; jmp 0x5f1b + +loc_00005ee7: +mov eax, 0x80000002 +cmp bl, 0x5f +ja loc_00005fa0 ; ja 0x5fa0 +lea ecx, [ebx - 0x40] +mov esi, 0x40 +mov word [ebp - 0x1c], 0x48 +mov word [ebp - 0x1a], 0x44 +jmp short loc_00005f1b ; jmp 0x5f1b + +loc_00005f0b: +mov cl, bl +xor esi, esi +mov word [ebp - 0x1c], 0xc +mov word [ebp - 0x1a], 4 + +loc_00005f1b: +mov dword [ebp - 0x24], ecx +and edi, 1 +call fcn_000153e9 ; call 0x153e9 +mov ecx, dword [ebp - 0x24] +test al, al +mov eax, edi +movzx edi, al +je short loc_00005f49 ; je 0x5f49 +push edi +movzx ebx, bl +push ebx +push ref_00021725 ; push 0x21725 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +mov ecx, dword [ebp - 0x24] +add esp, 0x10 + +loc_00005f49: +movzx ebx, word [ebp - 0x20] +mov edx, 1 +push eax +push eax +shl edx, cl +push edx +add esi, ebx +push esi +mov dword [ebp - 0x24], ecx +mov dword [ebp - 0x20], edx +call fcn_0001829f ; call 0x1829f +mov edx, dword [ebp - 0x20] +movzx eax, word [ebp - 0x1a] +mov esi, edx +pop edx +not esi +pop ecx +add eax, ebx +push esi +push eax +call fcn_000182c9 ; call 0x182c9 +movzx eax, word [ebp - 0x1c] +add ebx, eax +mov dword [esp], ebx +call fcn_00018ea0 ; call 0x18ea0 +mov ecx, dword [ebp - 0x24] +shl edi, cl +and eax, esi +pop esi +or eax, edi +pop edx +push eax +push ebx +call fcn_00018ed3 ; call 0x18ed3 +add esp, 0x10 +xor eax, eax + +loc_00005fa0: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00005fa8: +push ebp +mov ebp, esp +push ebx +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00005fca ; je 0x5fca +push ecx +push ecx +push ref_0002173b ; push 0x2173b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00005fca: +cmp byte [ebx], 2 +mov eax, 0x80000003 +jbe short loc_00005ff7 ; jbe 0x5ff7 +mov edx, dword [ebx + 0xd] +mov edx, dword [edx + 0x4c] +cmp byte [edx], 1 +jne short loc_00005ff7 ; jne 0x5ff7 +mov eax, dword [edx + 1] +push edx +push edx +mov dl, byte [eax + 1] +and edx, 1 +push edx +movzx eax, byte [eax] +push eax +call fcn_00005e17 ; call 0x5e17 +add esp, 0x10 + +loc_00005ff7: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00005ffc: +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000601e ; je 0x601e +push ecx +push ecx +push ref_00021756 ; push 0x21756 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000601e: +cmp byte [ebx], 2 +mov esi, 0x80000003 +jbe short loc_0000604f ; jbe 0x604f +mov eax, dword [ebx + 0xd] +mov eax, dword [eax + 0x4c] +cmp byte [eax], 1 +jne short loc_0000604f ; jne 0x604f +mov eax, dword [eax + 1] +xor esi, esi +push edx +push edx +mov dl, byte [eax + 1] +not edx +and edx, 1 +push edx +movzx eax, byte [eax] +push eax +call fcn_00005e17 ; call 0x5e17 +add esp, 0x10 + +loc_0000604f: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_00006058: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edi, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006084 ; je 0x6084 +push eax +push eax +push ref_00021773 ; push 0x21773 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006084: +xor edx, edx + +loc_00006086: +push eax +push edx +push 1 +push 0 +mov dword [ebp - 0x1c], edx +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x10 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +inc edx +cmp edx, 3 +jne short loc_00006086 ; jne 0x6086 +sub esp, 0xc +push esi +call fcn_00005fa8 ; call 0x5fa8 +add esp, 0x10 +mov edx, eax +test eax, eax +js short loc_00006103 ; js 0x6103 +push eax +push 0x64 +push ebx +push edi +call dword [ebx + 4] ; ucall +add esp, 0x10 +xor ebx, ebx + +loc_000060ce: +push edi +push ebx +inc ebx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xffef +add eax, 0xb0 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 +cmp ebx, 3 +jne short loc_000060ce ; jne 0x60ce +mov dword [ebp + 8], esi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00005ffc ; jmp 0x5ffc + +loc_00006103: +xor ebx, ebx + +loc_00006105: +push eax +push ebx +inc ebx +push 1 +push 0 +mov dword [ebp - 0x1c], edx +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xffef +add eax, 0xb0 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 +cmp ebx, 3 +mov edx, dword [ebp - 0x1c] +jne short loc_00006105 ; jne 0x6105 +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000613b: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000615d ; je 0x615d +push ecx +push ecx +push ref_0002178d ; push 0x2178d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000615d: ; not directly referenced +push edx +movzx eax, byte [ebx + 2] +push eax +movzx eax, byte [ebx + 1] +push eax +movzx eax, byte [ebx] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +lea esi, [eax + 0x3e] +pop eax +push 0x40 +push esi +call fcn_00018863 ; call 0x18863 +pop eax +pop edx +push 0xffbf +push esi +call fcn_00018890 ; call 0x18890 +push 0 +push ebx +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0x20 +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000061b8 ; je 0x61b8 +push eax +push eax +push ref_000217a3 ; push 0x217a3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000061b8: ; not directly referenced +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_000061c1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 0x10] +call fcn_0001c58d ; call 0x1c58d +mov edi, eax +push eax +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017e14 ; call 0x17e14 +add esp, 0x10 +cmp edi, 0x40660 +sete byte [ebp - 0x19] +cmp edi, 0x306c0 +mov ebx, eax +sete al +or byte [ebp - 0x19], al +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006220 ; je 0x6220 +push eax +push eax +push ref_000217b3 ; push 0x217b3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006220: ; not directly referenced +cmp edi, 0x40670 +jne short loc_0000624e ; jne 0x624e +push eax +movzx eax, byte [esi + 2] +push eax +movzx eax, byte [esi + 1] +push eax +movzx eax, byte [esi] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x10 +add eax, 0xc24 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_0000624e: ; not directly referenced +cmp byte [ebp - 0x19], 0 +je loc_000062e9 ; je 0x62e9 +push 0 +and ebx, 0xfffffffe +push 0x13 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +and eax, 0xfffffffd +push eax +push 0x14 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +add esp, 0x20 +push 0 +push 0x13 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +or eax, 1 +push eax +push 0x14 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +add esp, 0x20 +push 0 +push 0x13 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +or ah, 0x20 +push eax +push 0x14 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +add esp, 0x20 +push 0 +push 0x13 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +and eax, 0xfffffffe +push eax +push 0x14 +push 0x4448080 +push ebx +call fcn_0000415c ; call 0x415c +add esp, 0x20 +jmp short loc_00006361 ; jmp 0x6361 + +loc_000062e9: ; not directly referenced +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xfffffffffffffffd +add eax, 0x444 +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0xc +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop ebx +pop edx +push 1 +add eax, 0x444 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop ebx +push 0x2000 +add eax, 0x444 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xfffffffffffffffe +add eax, 0x444 +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_00006361: ; not directly referenced +movzx eax, byte [ebp - 0x19] +push eax +push esi +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0x10 +mov ebx, eax +cmp edi, 0x40670 +jne short loc_000063a5 ; jne 0x63a5 +push edx +movzx eax, byte [esi + 2] +push eax +movzx eax, byte [esi + 1] +push eax +movzx eax, byte [esi] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop esi +push 0xffffffffffffffef +add eax, 0xc24 +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_000063a5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000063bf ; je 0x63bf +push eax +push eax +push ref_000217a3 ; push 0x217a3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000063bf: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000063c9: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +mov ebx, dword [ebp + 0x10] +movzx eax, byte [ebx + 2] +push eax +movzx eax, byte [ebx + 1] +push eax +movzx eax, byte [ebx] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop edx +push 0x20 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +push 0 +push ebx +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0x20 +mov ebx, eax +test eax, eax +jns short loc_00006426 ; jns 0x6426 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006426 ; je 0x6426 +push eax +push eax +push ref_000217c5 ; push 0x217c5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006426: +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000642d: +push ebp +mov ebp, esp +sub esp, 0xc +mov eax, dword [ebp + 8] +movzx edx, byte [eax + 2] +push edx +movzx edx, byte [eax + 1] +push edx +movzx eax, byte [eax] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +leave +shr ax, 4 +and eax, 0x3f +ret + +fcn_0000645f: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +movzx eax, byte [esi + 2] +push eax +movzx eax, byte [esi + 1] +push eax +movzx eax, byte [esi] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], esi +mov edi, eax +call fcn_0000642d ; call 0x642d +add esp, 0x10 +mov dl, al +cmp al, bl +jae loc_00006551 ; jae 0x6551 +mov dword [ebp - 0x1c], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x1c] +test al, al +je short loc_000064be ; je 0x64be +movzx edx, dl +movzx eax, bl +push edx +push eax +push ref_000217dd ; push 0x217dd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000064be: +movzx eax, bl +push ecx +push eax +push 0xffffffffffffffe0 +lea edx, [edi + 0x224] +add edi, 0xb0 +push edx +mov dword [ebp - 0x1c], edx +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0x10 +push edi +call fcn_00018863 ; call 0x18863 +mov eax, dword [ebp + 0xc] +add esp, 0xc +push 1 +push dword [ebp + 0xc] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +pop ecx +pop eax +push 0xffef +push edi +call fcn_00018890 ; call 0x18890 +push 0 +push esi +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00005ce2 ; call 0x5ce2 +mov edx, dword [ebp - 0x1c] +add esp, 0x18 +push 0x1f +push edx +mov edi, eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +test edi, edi +js short loc_00006576 ; js 0x6576 +sub esp, 0xc +push esi +call fcn_0000642d ; call 0x642d +add esp, 0x10 +cmp al, bl +jne short loc_00006555 ; jne 0x6555 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006551 ; je 0x6551 +push edx +push edx +push ref_00021801 ; push 0x21801 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006551: +xor ebx, ebx +jmp short loc_00006578 ; jmp 0x6578 + +loc_00006555: +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000007 +test al, al +je short loc_00006578 ; je 0x6578 +push eax +push eax +push ref_0002181c ; push 0x2181c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_00006578 ; jmp 0x6578 + +loc_00006576: +mov ebx, edi + +loc_00006578: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00006582: +push ebp +mov ebp, esp +sub esp, 0xc +mov eax, dword [ebp + 8] +movzx edx, byte [eax + 2] +push edx +movzx edx, byte [eax + 1] +push edx +movzx eax, byte [eax] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +leave +and eax, 0xf +ret + +fcn_000065b0: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +mov eax, dword [ebp + 0x1c] +mov ebx, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov dword [ebp - 0x2c], eax +mov eax, dword [ebp + 0x20] +mov dword [ebp - 0x30], eax +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x1c], eax +call fcn_0001c5b4 ; call 0x1c5b4 +mov dword [ebp - 0x20], eax +test esi, esi +je short loc_000065f4 ; je 0x65f4 +cmp byte [ebx], 1 +jbe short loc_000065f0 ; jbe 0x65f0 +mov eax, dword [ebx + 0xd] +cmp byte [eax + 0x48], 0 +jne short loc_000065f4 ; jne 0x65f4 + +loc_000065f0: +mov byte [esi + 0x71], 1 + +loc_000065f4: +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x8000 +add eax, 0xdd8 +push eax +mov dword [ebp - 0x24], eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push ebx +push dword [ebp + 0x14] +push dword [ebp + 8] +call fcn_00006058 ; call 0x6058 +add esp, 0x10 +mov esi, eax +test eax, eax +jns short loc_0000663f ; jns 0x663f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006659 ; je 0x6659 +push eax +push esi +push ref_00021834 ; push 0x21834 +jmp short loc_0000664f ; jmp 0x664f + +loc_0000663f: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006659 ; je 0x6659 +push eax +push eax +push ref_00021841 ; push 0x21841 + +loc_0000664f: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006659: +mov al, byte [edi] +movzx ecx, byte [edi + 2] +movzx edx, byte [edi + 1] +mov byte [ebp - 0x25], al + +loc_00006666: +push ebx +movzx ebx, byte [ebp - 0x25] +push ecx +push edx +push ebx +mov dword [ebp - 0x38], ecx +mov dword [ebp - 0x34], edx +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xd2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, dword [ebp - 0x34] +mov ecx, dword [ebp - 0x38] +test al, 2 +je short loc_00006666 ; je 0x6666 +sub esp, 0xc +push ecx +push edx +push ebx +push dword [ebp + 0x14] +push dword [ebp + 8] +call fcn_000024e1 ; call 0x24e1 +add esp, 0x20 +cmp dword [ebp - 0x20], 0 +je short loc_000066c8 ; je 0x66c8 +cmp dword [ebp - 0x1c], 0x40670 +jne short loc_000066c8 ; jne 0x66c8 +push ecx +push ecx +push 0xffff7fff +push dword [ebp - 0x24] +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_000066c8: +sub esp, 0xc +push edi +call fcn_0000642d ; call 0x642d +add esp, 0x10 +cmp al, byte [ebp - 0x30] +jae short loc_000066fb ; jae 0x66fb +call fcn_000153e9 ; call 0x153e9 +mov esi, 0x80000012 +test al, al +je short loc_000066fb ; je 0x66fb +push edx +push edx +push ref_0002184b ; push 0x2184b +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000066fb: +sub esp, 0xc +push edi +call fcn_00006582 ; call 0x6582 +add esp, 0x10 +cmp al, byte [ebp - 0x2c] +jae short loc_0000672e ; jae 0x672e +call fcn_000153e9 ; call 0x153e9 +mov esi, 0x80000012 +test al, al +je short loc_0000672e ; je 0x672e +push eax +push eax +push ref_00021863 ; push 0x21863 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000672e: +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00006738: +push ebp +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x28 +mov esi, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0xc] +push esi +mov dword [ebp - 0x1c], eax +call fcn_00006582 ; call 0x6582 +mov edx, edi +add esp, 0x10 +cmp dl, al +je short loc_0000677a ; je 0x677a +call fcn_000153e9 ; call 0x153e9 +mov bl, 1 +test al, al +je short loc_0000677a ; je 0x677a +push edx +push edx +push ref_0002187b ; push 0x2187b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000677a: +sub esp, 0xc +push esi +call fcn_0000642d ; call 0x642d +add esp, 0x10 +cmp byte [ebp - 0x1c], al +je short loc_000067a7 ; je 0x67a7 +call fcn_000153e9 ; call 0x153e9 +mov bl, 1 +test al, al +je short loc_000067a7 ; je 0x67a7 +push eax +push eax +push ref_0002189a ; push 0x2189a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000067a7: +lea esp, [ebp - 0xc] +mov al, bl +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000067b1: +push ebp +mov ebp, esp +push edi +push esi +xor esi, esi +push ebx +sub esp, 0x28 +mov edi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +push edi +call fcn_00006582 ; call 0x6582 +add esp, 0x10 +mov dl, al +cmp al, bl +jae loc_00006859 ; jae 0x6859 +mov dword [ebp - 0x1c], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x1c] +test al, al +je short loc_000067fb ; je 0x67fb +movzx edx, dl +movzx eax, bl +push edx +push eax +push ref_000218b9 ; push 0x218b9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000067fb: +push ecx +push edi +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_000063c9 ; call 0x63c9 +add esp, 0x10 +mov esi, eax +test eax, eax +jns short loc_00006818 ; jns 0x6818 +call fcn_000153e9 ; call 0x153e9 +jmp short loc_00006832 ; jmp 0x6832 + +loc_00006818: +sub esp, 0xc +push edi +call fcn_00006582 ; call 0x6582 +add esp, 0x10 +cmp al, bl +jae short loc_0000683f ; jae 0x683f +call fcn_000153e9 ; call 0x153e9 +mov esi, 0x80000007 + +loc_00006832: +test al, al +je short loc_00006859 ; je 0x6859 +push edx +push edx +push ref_000218e3 ; push 0x218e3 +jmp short loc_0000684f ; jmp 0x684f + +loc_0000683f: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006859 ; je 0x6859 +push eax +push eax +push ref_00021900 ; push 0x21900 + +loc_0000684f: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006859: +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00006863: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov esi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0x14] +mov edi, dword [ebp + 8] +mov dword [ebp - 0x24], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x28], eax +mov eax, dword [ebp + 0x1c] +mov dword [ebp - 0x1c], eax +movzx eax, byte [ebp + 0x20] +push eax +push esi +push ebx +push edi +mov dword [ebp - 0x20], eax +call fcn_0000645f ; call 0x645f +add esp, 0x10 +test eax, eax +movzx eax, byte [ebp - 0x1c] +mov dword [ebp - 0x1c], eax +js short loc_000068b9 ; js 0x68b9 + +loc_000068a5: +push dword [ebp - 0x1c] +push esi +push ebx +push edi +call fcn_000067b1 ; call 0x67b1 +add esp, 0x10 +test eax, eax +jns short loc_000068f6 ; jns 0x68f6 +jmp short loc_000068da ; jmp 0x68da + +loc_000068b9: +push eax +push dword [ebp - 0x20] +push dword [ebp - 0x1c] +push esi +push ebx +push dword [ebp - 0x28] +push dword [ebp - 0x24] +push edi +call fcn_000065b0 ; call 0x65b0 +add esp, 0x20 +test eax, eax +jns short loc_000068a5 ; jns 0x68a5 +jmp near loc_0000695e ; jmp 0x695e + +loc_000068da: +push ecx +push dword [ebp - 0x20] +push dword [ebp - 0x1c] +push esi +push ebx +push dword [ebp - 0x28] +push dword [ebp - 0x24] +push edi +call fcn_000065b0 ; call 0x65b0 +add esp, 0x20 +test eax, eax +js short loc_0000695e ; js 0x695e + +loc_000068f6: +push 0 +push esi +push ebx +push edi +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0x10 +test eax, eax +jns short loc_0000695e ; jns 0x695e +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006921 ; je 0x6921 +push edx +push edx +push ref_00021920 ; push 0x21920 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006921: +push eax +push esi +push ebx +push edi +call fcn_000063c9 ; call 0x63c9 +add esp, 0x10 +test eax, eax +jns short loc_0000695e ; jns 0x695e +mov eax, dword [ebp - 0x20] +mov dword [ebp + 0x18], esi +mov dword [ebp + 0x14], ebx +mov dword [ebp + 8], edi +mov dword [ebp + 0x20], eax +mov eax, dword [ebp - 0x1c] +mov dword [ebp + 0x1c], eax +mov eax, dword [ebp - 0x28] +mov dword [ebp + 0x10], eax +mov eax, dword [ebp - 0x24] +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000065b0 ; jmp 0x65b0 + +loc_0000695e: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00006966: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +lea eax, [ebp - 0xc] +push eax +push 0 +push 0 +push ref_0002908c ; push 0x2908c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000069c6 ; je 0x69c6 +test ebx, ebx +jns short loc_000069c6 ; jns 0x69c6 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000069ae ; je 0x69ae +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000069ae: ; not directly referenced +push ecx +push ref_00020664 ; push 0x20664 +push 0x2de +push ref_0002193e ; push 0x2193e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000069c6: ; not directly referenced +mov eax, dword [ebp - 0xc] +push edx +push edx +push 1 +push eax +call dword [eax] ; ucall +add esp, 0x10 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000069d8: +push ebp +mov eax, 1 +mov ebp, esp +mov edx, dword [ebp + 8] +cmp byte [edx], 2 +jbe short loc_000069fa ; jbe 0x69fa +mov eax, dword [edx + 0xd] +mov edx, 1 +mov ax, word [eax + 0x50] +test ax, ax +cmove eax, edx + +loc_000069fa: +pop ebp +ret + +fcn_000069fc: +push ebp +mov eax, 2 +mov ebp, esp +mov edx, dword [ebp + 8] +cmp byte [edx], 0x12 +jbe short loc_00006a1e ; jbe 0x6a1e +mov eax, dword [edx + 0xd] +mov edx, 2 +mov ax, word [eax + 0x67] +test ax, ax +cmove eax, edx + +loc_00006a1e: +pop ebp +ret + +fcn_00006a20: +push ebp +mov eax, 0x2710 +mov ebp, esp +mov edx, dword [ebp + 8] +cmp byte [edx], 0x12 +jbe short loc_00006a42 ; jbe 0x6a42 +mov eax, dword [edx + 0xd] +mov edx, 0x2710 +mov ax, word [eax + 0x65] +test ax, ax +cmove eax, edx + +loc_00006a42: +pop ebp +ret + +fcn_00006a44: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0x504] +add esi, 0xd0c +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], esi +mov ebx, eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +push 0 +push 0 +push 1 +shr ebx, 0x10 +shr eax, 0x14 +and eax, 1 +mov byte [ebp - 0x2b], al +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov dword [ebp - 0x34], eax +and ebx, 3 +je short loc_00006ab1 ; je 0x6ab1 +cmp ebx, 2 +jne short loc_00006ac4 ; jne 0x6ac4 +mov byte [ebp - 0x1e], 8 +mov esi, 2 +mov byte [ebp - 0x1d], 8 +jmp short loc_00006acd ; jmp 0x6acd + +loc_00006ab1: +mov byte [ebp - 0x1e], 8 +mov esi, 3 +mov byte [ebp - 0x1d], 4 +mov byte [ebp - 0x1c], 4 +jmp short loc_00006acd ; jmp 0x6acd + +loc_00006ac4: +mov byte [ebp - 0x1e], 0x10 +mov esi, 1 + +loc_00006acd: +mov eax, dword [ebp + 0xc] +xor ebx, ebx +mov byte [eax], 0 + +loc_00006ad5: +cmp byte [ebp + ebx - 0x1e], 0 +je short loc_00006b08 ; je 0x6b08 +push eax +push ebx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_00006b08 ; je 0x6b08 +mov eax, dword [ebp + 0xc] +mov dl, byte [eax] +movzx eax, dl +inc edx +mov byte [ebp + eax - 0x1b], bl +mov eax, dword [ebp + 0xc] +mov byte [eax], dl + +loc_00006b08: +inc ebx +mov eax, esi +cmp al, bl +ja short loc_00006ad5 ; ja 0x6ad5 +mov eax, dword [ebp + 0xc] +cmp byte [eax], 3 +jbe short loc_00006b3c ; jbe 0x6b3c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006b36 ; je 0x6b36 +push eax +push dword [ebp + 0xc] +push ref_0002197c ; push 0x2197c +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006b36: +mov eax, dword [ebp + 0xc] +mov byte [eax], 3 + +loc_00006b3c: +mov eax, dword [ebp + 0x10] +mov byte [ebp - 0x2a], 0 +mov byte [eax], 0 +mov al, byte [ebp - 0x2b] +neg eax +mov byte [ebp - 0x29], al +mov eax, dword [ebp - 0x34] +and byte [ebp - 0x29], 0xf +add eax, 0xc +mov dword [ebp - 0x38], eax + +loc_00006b5b: +mov edi, dword [ebp + 0xc] +mov al, byte [ebp - 0x2a] +cmp al, byte [edi] +jae loc_00006dde ; jae 0x6dde +movzx ebx, byte [ebp - 0x2a] +movzx eax, byte [ebp + ebx - 0x1b] +shl ebx, 5 +add ebx, dword [ebp + 8] +mov edi, eax +mov byte [ebx + 2], al +mov byte [ebx + 3], al +mov byte [ebx + 0x1d], 1 +mov byte [ebx + 0x1e], 0 +mov byte [ebx + 0x1f], 0 +mov byte [ebx], 0 +mov byte [ebx + 1], 1 +mov byte [ebx + 6], 0 +push eax +push edi +push 1 +push 0 +call fcn_000023ad ; call 0x23ad +mov dword [esp], ebx +call fcn_0000642d ; call 0x642d +add esp, 0x10 +xor edx, edx +xor ecx, ecx +mov byte [ebp - 0x2c], al +mov byte [ebx + 0x1c], al + +loc_00006bb7: +mov byte [ebp - 0x30], dl +cmp dl, byte [ebp - 0x2c] +jae short loc_00006bf6 ; jae 0x6bf6 +mov eax, dword [ebp + 0x10] +cmp byte [eax], 0 +je short loc_00006bd2 ; je 0x6bd2 +cmp byte [ebp - 0x30], 1 +ja short loc_00006bd2 ; ja 0x6bd2 +dec byte [ebx + 0x1c] +jmp short loc_00006bf3 ; jmp 0x6bf3 + +loc_00006bd2: +cmp cl, 0xf +ja short loc_00006bf2 ; ja 0x6bf2 +cmp byte [ebp - 0x2b], 0 +movzx esi, cl +jne short loc_00006be8 ; jne 0x6be8 +mov al, byte [ebp - 0x30] +add al, byte [ebp - 0x29] +jmp short loc_00006bee ; jmp 0x6bee + +loc_00006be8: +mov al, byte [ebp - 0x29] +sub eax, dword [ebp - 0x30] + +loc_00006bee: +mov byte [ebx + esi + 0xc], al + +loc_00006bf2: +inc ecx + +loc_00006bf3: +inc edx +jmp short loc_00006bb7 ; jmp 0x6bb7 + +loc_00006bf6: +cmp byte [ebx + 0x1c], 0x10 +jbe short loc_00006c21 ; jbe 0x6c21 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006c1d ; je 0x6c1d +push eax +movzx eax, byte [ebx + 0x1c] +push eax +push ref_000219c3 ; push 0x219c3 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006c1d: +mov byte [ebx + 0x1c], 0x10 + +loc_00006c21: +push eax +push edi +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0xac] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, eax +and edx, 0xf +cmp edx, 3 +mov dword [ebp - 0x30], edx +je short loc_00006c79 ; je 0x6c79 +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x30] +test al, al +je short loc_00006c70 ; je 0x6c70 +push edx +push edi +push 1 +push 0 +push edi +push 1 +push ref_000219f9 ; push 0x219f9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00006c70: +mov byte [ebx + 0xb], 0 +jmp near loc_00006dbe ; jmp 0x6dbe + +loc_00006c79: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006c9a ; je 0x6c9a +push eax +push edi +push 1 +push 0 +push edi +push 1 +push ref_00021a44 ; push 0x21a44 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00006c9a: +push ecx +push 0x10100 +push 0xff0000ff +lea eax, [esi + 0x18] +add esi, 0x11a +push eax +mov dword [ebp - 0x30], eax +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0 +push dword [ebp - 0x34] +call fcn_00017d40 ; call 0x17d40 +pop ecx +push dword [ebp - 0x34] +call fcn_00017d8a ; call 0x17d8a +mov dword [ebx + 7], eax +mov dword [esp], esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +je short loc_00006d17 ; je 0x6d17 +mov byte [ebx + 0xb], 0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006d04 ; je 0x6d04 +push 3 +push edi +push 1 +push 0 +push edi +push 1 +push ref_00021a76 ; push 0x21a76 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00006d04: +push edx +push edi +push 1 +push 0 +call fcn_000023ad ; call 0x23ad +add esp, 0x10 +jmp near loc_00006dac ; jmp 0x6dac + +loc_00006d17: +push 0x10 +push 0 +push 0 +push 1 +call fcn_000027f4 ; call 0x27f4 +add esp, 0x10 +test eax, eax +jne short loc_00006d49 ; jne 0x6d49 +mov byte [ebx + 0xb], 0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006dac ; je 0x6dac +push 3 +push edi +push 1 +push 0 +push edi +push 1 +push ref_00021abc ; push 0x21abc +jmp short loc_00006da2 ; jmp 0x6da2 + +loc_00006d49: +add eax, dword [ebp - 0x38] +sub esp, 0xc +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dl, al +and eax, 0xf +and edx, 0xf +mov esi, eax +mov byte [ebx + 6], dl +cmp eax, 2 +ja short loc_00006d87 ; ja 0x6d87 +mov byte [ebx + 0xb], 0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006dac ; je 0x6dac +push esi +push edi +push 1 +push 0 +push edi +push 1 +push ref_00021b0b ; push 0x21b0b +jmp short loc_00006da2 ; jmp 0x6da2 + +loc_00006d87: +mov byte [ebx + 0xb], 1 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006dac ; je 0x6dac +push esi +push edi +push 1 +push 0 +push edi +push 1 +push ref_00021b55 ; push 0x21b55 + +loc_00006da2: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00006dac: +push eax +push eax +push 0xff0000ff +push dword [ebp - 0x30] +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_00006dbe: +mov al, byte [ebp + edi - 0x1e] +mov cl, byte [ebp - 0x29] +lea edx, [ecx + eax] +sub ecx, eax +cmp byte [ebp - 0x2b], 0 +mov al, cl +cmovne edx, eax +mov byte [ebp - 0x29], dl +inc byte [ebp - 0x2a] +jmp near loc_00006b5b ; jmp 0x6b5b + +loc_00006dde: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00006de6: +push ebp +mov ebp, esp +mov edx, dword [ebp + 8] +cmp byte [ebp + 0xc], 0 +mov al, dl +je short loc_00006df8 ; je 0x6df8 +mov al, 0xf +sub eax, edx + +loc_00006df8: +pop ebp +ret + +fcn_00006dfa: +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0x14] +mov eax, dword [ebp + 0x10] +push eax +push dword [ebp + 8] +call dword [eax + 4] ; ucall +pop eax +mov eax, dword [ebp + 0x1c] +pop edx +movzx eax, byte [eax + 2] +push eax +push dword [ebp + 0x18] +call fcn_00007b99 ; call 0x7b99 +sub eax, dword [ebp + 0x20] +leave +ret + +fcn_00006e24: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x5c +mov al, byte [ebp + 0x24] +push dword [ebp + 0xc] +mov edi, dword [ebp + 0x28] +mov bl, byte [ebp + 0x30] +mov byte [ebp - 0x53], al +mov al, byte [ebp + 0x2c] +mov byte [ebp - 0x52], al +call fcn_000069fc ; call 0x69fc +push esi +push esi +push 1 +mov esi, eax +call fcn_0000961e ; call 0x961e +add esp, 0x10 +test eax, eax +js loc_00007085 ; js 0x7085 +mov eax, dword [ebp + 0x20] +mov dword [ebp - 0x4c], eax +movzx eax, si +mov dword [ebp - 0x58], eax +movzx eax, bl +mov dword [ebp - 0x50], eax + +loc_00006e6f: +mov al, byte [ebp - 0x4c] +sub eax, dword [ebp + 0x20] +cmp al, byte [ebp - 0x53] +jae loc_00007078 ; jae 0x7078 +push ecx +push ecx +lea eax, [ebp - 0x39] +push eax +mov eax, dword [ebp - 0x4c] +movzx ebx, byte [eax] +push ebx +call fcn_000098fd ; call 0x98fd +mov eax, dword [ebp + 0x34] +add esp, 0x10 +mov byte [ebp - 0x51], 0 +lea eax, [eax + ebx*4] +xor ebx, ebx +mov dword [ebp - 0x60], eax + +loc_00006ea2: +test bl, bl +jne loc_00007070 ; jne 0x7070 +cmp byte [ebp - 0x51], 2 +ja loc_00007070 ; ja 0x7070 +push eax +push eax +movzx eax, byte [edi + 2] +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +mov esi, eax +pop eax +pop edx +lea eax, [ebp - 0x39] +push eax +push 5 +call fcn_000099b5 ; call 0x99b5 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00006f19 ; je 0x6f19 +test ebx, ebx +jns short loc_00006f19 ; jns 0x6f19 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006f01 ; je 0x6f01 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006f01: +push eax +push ref_00020664 ; push 0x20664 +push 0x350 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00006f19: +push ebx +push esi +push edi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +add esp, 0x20 +cmp eax, dword [ebp - 0x58] +jb short loc_00006f3f ; jb 0x6f3f + +loc_00006f38: +xor ebx, ebx +jmp near loc_00007001 ; jmp 0x7001 + +loc_00006f3f: +movzx ebx, byte [ebp - 0x52] +push ecx +push dword [ebp - 0x50] +push ebx +push edi +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +test al, al +jne short loc_00006f38 ; jne 0x6f38 +push eax +push eax +movzx eax, byte [edi + 2] +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +mov dword [ebp - 0x5c], eax +pop eax +pop edx +lea eax, [ebp - 0x39] +push eax +push 0xfffffffffffffffa +call fcn_000099b5 ; call 0x99b5 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00006fbb ; je 0x6fbb +test esi, esi +jns short loc_00006fbb ; jns 0x6fbb +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00006fa3 ; je 0x6fa3 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00006fa3: +push eax +push ref_00020664 ; push 0x20664 +push 0x35f +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00006fbb: +push esi +push dword [ebp - 0x5c] +push edi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +add esp, 0x20 +cmp eax, dword [ebp - 0x58] +jae loc_00006f38 ; jae 0x6f38 +push ecx +push dword [ebp - 0x50] +push ebx +push edi +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +test al, al +jne loc_00006f38 ; jne 0x6f38 +mov eax, dword [ebp - 0x60] +mov bl, 1 +mov dword [eax], 0xbb8 + +loc_00007001: +sub esp, 0xc +lea eax, [ebp - 0x39] +push eax +call fcn_00009992 ; call 0x9992 +movzx eax, byte [ebp - 0x52] +add esp, 0x10 +mov byte [ebp - 0x5c], 3 +mov dword [ebp - 0x64], eax + +loc_0000701b: +push edx +push dword [ebp - 0x50] +push dword [ebp - 0x64] +push edi +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006863 ; call 0x6863 +add esp, 0x20 +mov esi, eax +test eax, eax +jns short loc_00007068 ; jns 0x7068 +push eax +mov eax, dword [ebp + 0x14] +push 0x2710 +push dword [ebp + 0x14] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 +dec byte [ebp - 0x5c] +jne short loc_0000701b ; jne 0x701b +sub esp, 0xc +push 0 +call fcn_0000961e ; call 0x961e +add esp, 0x10 +mov eax, esi +jmp short loc_00007085 ; jmp 0x7085 + +loc_00007068: +inc byte [ebp - 0x51] +jmp near loc_00006ea2 ; jmp 0x6ea2 + +loc_00007070: +inc dword [ebp - 0x4c] +jmp near loc_00006e6f ; jmp 0x6e6f + +loc_00007078: +sub esp, 0xc +push 0 +call fcn_0000961e ; call 0x961e +add esp, 0x10 + +loc_00007085: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000708d: ; not directly referenced +push ebp +mov ebp, esp +mov ecx, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +push ebx +mov ebx, ecx +mov eax, edx +sub ebx, edx +sub eax, ecx +cmp ecx, edx +cmovge eax, ebx +pop ebx +pop ebp +ret + +fcn_000070a7: +push ebp +xor eax, eax +mov ebp, esp +mov ecx, dword [ebp + 8] +push esi +push ebx +test ecx, ecx +je short loc_000070f0 ; je 0x70f0 +xor ebx, ebx +mov esi, 0xa9e + +loc_000070bc: +cmp ecx, 0x10f +jbe short loc_000070d5 ; jbe 0x70d5 +imul eax, ecx, 0x3e8 +xor edx, edx +add ebx, 0x64 +div esi +mov ecx, eax +jmp short loc_000070bc ; jmp 0x70bc + +loc_000070d5: +imul eax, ecx, 0xfffffff0 +xor edx, edx +add eax, 0x2d3a +imul eax, ecx +mov ecx, 0x2710 +sub eax, 0xeefac +div ecx +add eax, ebx + +loc_000070f0: +pop ebx +pop esi +pop ebp +ret + +fcn_000070f4: +push ebp +mov ebp, esp +push edi +push esi +push ebx +mov ebx, 0x9c40 +push eax +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x14] +cmp eax, 0x9c40 +cmova eax, ebx +imul eax, eax, 0x64 +push eax +call fcn_000070a7 ; call 0x70a7 +cmp esi, 0x9c40 +cmova esi, ebx +imul esi, esi, 0x64 +mov dword [ebp - 0x10], eax +mov dword [esp], esi +call fcn_000070a7 ; call 0x70a7 +cmp dword [ebp + 0x10], 0x9c40 +cmovbe ebx, dword [ebp + 0x10] +imul ebx, ebx, 0x64 +mov esi, eax +mov dword [esp], ebx +call fcn_000070a7 ; call 0x70a7 +test edi, edi +pop edx +mov edx, dword [ebp - 0x10] +mov ebx, eax +js short loc_00007178 ; js 0x7178 +cmp esi, eax +lea ecx, [edi - 1] +jne short loc_0000715f ; jne 0x715f +imul eax, ecx, 0x64 +jmp short loc_0000716f ; jmp 0x716f + +loc_0000715f: +sub edx, eax +sub esi, ebx +imul eax, edx, 0x64 +xor edx, edx +imul ecx, ecx, 0x64 +div esi +add eax, ecx + +loc_0000716f: +xor ecx, ecx +test eax, eax +cmovns ecx, eax +jmp short loc_0000719e ; jmp 0x719e + +loc_00007178: +cmp esi, eax +lea ecx, [edi + 1] +jne short loc_00007184 ; jne 0x7184 +imul ecx, ecx, 0x64 +jmp short loc_0000719e ; jmp 0x719e + +loc_00007184: +sub edx, eax +sub esi, ebx +imul eax, edx, 0x64 +xor edx, edx +imul ecx, ecx, 0x64 +div esi +sub ecx, eax +mov eax, 0 +test ecx, ecx +cmovg ecx, eax + +loc_0000719e: +lea esp, [ebp - 0xc] +mov eax, ecx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000071a8: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x4c +mov al, byte [ebp + 0x24] +push dword [ebp + 0xc] +movzx ebx, byte [ebp + 0x30] +mov byte [ebp - 0x42], al +mov al, byte [ebp + 0x2c] +mov byte [ebp - 0x2c], al +mov al, byte [ebp + 0x34] +mov byte [ebp - 0x41], al +call fcn_000069d8 ; call 0x69d8 +mov ecx, dword [ebp + 0x20] +pop edi +mov dword [ebp - 0x40], ebx +mov dword [ebp - 0x38], ecx +movzx eax, ax +mov dword [ebp - 0x34], eax + +loc_000071df: +mov bl, byte [ebp - 0x38] +sub ebx, dword [ebp + 0x20] +cmp bl, byte [ebp - 0x42] +jae loc_00007626 ; jae 0x7626 +mov eax, dword [ebp - 0x38] +mov ecx, dword [ebp + 0x38] +cmp byte [ebp - 0x41], 0 +movzx eax, byte [eax] +mov byte [ebp - 0x19], al +mov dword [ecx + eax*4], 0 +je short loc_00007229 ; je 0x7229 +mov esi, dword [ebp + 0xc] +push edx +push edx +mov edx, dword [esi + 1] +push dword [edx + 4] +push eax +call fcn_00009516 ; call 0x9516 +movzx eax, byte [ebp - 0x19] +pop ecx +pop esi +push 1 +push eax +call fcn_000094b3 ; call 0x94b3 +add esp, 0x10 + +loc_00007229: +test bl, bl +je short loc_0000724a ; je 0x724a +mov eax, dword [ebp - 0x38] +xor esi, esi +mov ecx, dword [ebp + 0x38] +movzx eax, byte [eax - 1] +mov eax, dword [ecx + eax*4] +mov ecx, 0x64 +cdq +idiv ecx +dec eax +cmovns esi, eax +jmp short loc_0000724c ; jmp 0x724c + +loc_0000724a: +xor esi, esi + +loc_0000724c: +mov byte [ebp - 0x2b], 0 +mov byte [ebp - 0x29], 1 +mov dword [ebp - 0x3c], 0xffffffff +mov byte [ebp - 0x2a], 0 + +loc_0000725f: +cmp byte [ebp - 0x2b], 0x1d +ja loc_000075b2 ; ja 0x75b2 +cmp byte [ebp - 0x2a], 1 +ja loc_000075b2 ; ja 0x75b2 +push eax +push eax +mov eax, dword [ebp + 0x28] +inc byte [ebp - 0x2b] +movzx eax, byte [eax + 2] +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +add esp, 0xc +mov edi, eax +mov eax, esi +movzx eax, al +push eax +push 1 +lea eax, [ebp - 0x19] +push eax +call fcn_00009b95 ; call 0x9b95 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000072e5 ; je 0x72e5 +test ebx, ebx +jns short loc_000072e5 ; jns 0x72e5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000072cd ; je 0x72cd +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000072cd: +push eax +push ref_00020664 ; push 0x20664 +push 0x1f0 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000072e5: +push eax +push edi +push dword [ebp + 0x28] +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +add esp, 0x20 +mov edi, eax +cmp eax, dword [ebp - 0x34] +jb short loc_0000731e ; jb 0x731e +test esi, esi +jne short loc_00007324 ; jne 0x7324 +movzx eax, byte [ebp - 0x19] +mov bl, 1 +mov ecx, dword [ebp + 0x38] +mov dword [ecx + eax*4], 0 +jmp short loc_0000732a ; jmp 0x732a + +loc_0000731e: +mov byte [ebp - 0x29], 1 +jmp short loc_00007328 ; jmp 0x7328 + +loc_00007324: +mov byte [ebp - 0x29], 0xff + +loc_00007328: +xor ebx, ebx + +loc_0000732a: +mov al, byte [ebp - 0x29] +add eax, esi +mov byte [ebp - 0x30], al +movzx eax, byte [ebp - 0x2c] +mov dword [ebp - 0x4c], eax + +loc_00007339: +test bl, 1 +jne loc_0000748e ; jne 0x748e +cmp byte [ebp - 0x30], 0x18 +ja loc_0000748e ; ja 0x748e +push ebx +push dword [ebp - 0x40] +push dword [ebp - 0x4c] +push dword [ebp + 0x28] +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +mov bl, al +test al, al +je short loc_0000739a ; je 0x739a +cmp byte [ebp - 0x29], 0xff +je loc_000074ad ; je 0x74ad +cmp byte [ebp - 0x30], 0 +movzx eax, byte [ebp - 0x19] +jne short loc_00007387 ; jne 0x7387 +mov esi, dword [ebp + 0x38] +mov dword [esi + eax*4], 0 +jmp near loc_000074bc ; jmp 0x74bc + +loc_00007387: +movsx edx, byte [ebp - 0x30] +mov esi, dword [ebp + 0x38] +dec edx +imul edx, edx, 0x64 +mov dword [esi + eax*4], edx +jmp near loc_000074bc ; jmp 0x74bc + +loc_0000739a: +mov eax, dword [ebp + 0x28] +push ecx +push ecx +movzx eax, byte [eax + 2] +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +add esp, 0xc +mov dword [ebp - 0x48], eax +movzx eax, byte [ebp - 0x30] +push eax +push 1 +lea eax, [ebp - 0x19] +push eax +call fcn_00009b95 ; call 0x9b95 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00007409 ; je 0x7409 +test esi, esi +jns short loc_00007409 ; jns 0x7409 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000073f1 ; je 0x73f1 +push edx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000073f1: +push eax +push ref_00020664 ; push 0x20664 +push 0x21b +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00007409: +push eax +push dword [ebp - 0x48] +push dword [ebp + 0x28] +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +add esp, 0x20 +cmp byte [ebp - 0x29], 0xff +mov esi, eax +jne short loc_00007454 ; jne 0x7454 +cmp eax, dword [ebp - 0x34] +jae short loc_00007481 ; jae 0x7481 +movzx eax, byte [ebp - 0x19] +mov ecx, dword [ebp + 0x38] +lea ebx, [ecx + eax*4] +movsx eax, byte [ebp - 0x30] +push eax +push esi +push edi +push dword [ebp - 0x34] +call fcn_000070f4 ; call 0x70f4 +add esp, 0x10 +mov dword [ebx], eax +jmp short loc_000074d3 ; jmp 0x74d3 + +loc_00007454: +cmp eax, dword [ebp - 0x34] +jb short loc_00007481 ; jb 0x7481 +movzx eax, byte [ebp - 0x19] +mov edx, dword [ebp + 0x38] +lea edx, [edx + eax*4] +movsx eax, byte [ebp - 0x30] +mov dword [ebp - 0x48], edx +push eax +push edi +mov edi, esi +push esi +push dword [ebp - 0x34] +call fcn_000070f4 ; call 0x70f4 +mov edx, dword [ebp - 0x48] +add esp, 0x10 +mov dword [edx], eax +jmp short loc_000074bc ; jmp 0x74bc + +loc_00007481: +mov al, byte [ebp - 0x29] +mov edi, esi +add byte [ebp - 0x30], al +jmp near loc_00007339 ; jmp 0x7339 + +loc_0000748e: +cmp byte [ebp - 0x29], 0xff +jne short loc_000074bc ; jne 0x74bc +cmp edi, dword [ebp - 0x34] +jb short loc_000074d3 ; jb 0x74d3 +test bl, bl +jne short loc_000074d3 ; jne 0x74d3 +movzx eax, byte [ebp - 0x19] +mov esi, dword [ebp + 0x38] +mov dword [esi + eax*4], 0 +jmp short loc_000074d3 ; jmp 0x74d3 + +loc_000074ad: +mov byte [ebp - 0x29], 1 +mov dword [ebp - 0x3c], 0xffffffff +mov byte [ebp - 0x2a], 0 + +loc_000074bc: +cmp edi, dword [ebp - 0x34] +jae short loc_000074d3 ; jae 0x74d3 +test bl, bl +jne short loc_000074d3 ; jne 0x74d3 +movzx eax, byte [ebp - 0x19] +mov ecx, dword [ebp + 0x38] +mov dword [ecx + eax*4], 0x9c4 + +loc_000074d3: +movzx eax, byte [ebp - 0x19] +mov ecx, 0x64 +xor esi, esi +mov edx, dword [ebp + 0x38] +mov edi, dword [edx + eax*4] +mov eax, edi +cdq +idiv ecx +mov ecx, dword [ebp - 0x3c] +mov dword [ebp - 0x30], edi +dec eax +cmovns esi, eax +cmp ecx, 0xffffffff +je short loc_00007516 ; je 0x7516 +mov edx, ecx +mov eax, edi +sub eax, ecx +sub edx, edi +cmp ecx, edi +cmovge eax, edx +mov dl, byte [ebp - 0x2a] +xor ecx, ecx +inc edx +cmp eax, 0x64 +mov al, cl +cmovle eax, edx +mov byte [ebp - 0x2a], al + +loc_00007516: +movzx ebx, byte [ebp - 0x2c] +push eax +push dword [ebp - 0x40] +push ebx +push dword [ebp + 0x28] +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +test al, al +je short loc_00007583 ; je 0x7583 +push eax +push 0 +push 1 +lea eax, [ebp - 0x19] +push eax +call fcn_00009b95 ; call 0x9b95 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00007583 ; je 0x7583 +test edi, edi +jns short loc_00007583 ; jns 0x7583 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000756b ; je 0x756b +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000756b: +push eax +push ref_00020664 ; push 0x20664 +push 0x252 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00007583: +push edi +push dword [ebp - 0x40] +push ebx +push dword [ebp + 0x28] +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006863 ; call 0x6863 +add esp, 0x20 +test eax, eax +js loc_00007628 ; js 0x7628 +mov eax, dword [ebp - 0x30] +mov dword [ebp - 0x3c], eax +jmp near loc_0000725f ; jmp 0x725f + +loc_000075b2: +push ebx +push 0 +push 1 +lea eax, [ebp - 0x19] +push eax +call fcn_00009b95 ; call 0x9b95 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00007607 ; je 0x7607 +test ebx, ebx +jns short loc_00007607 ; jns 0x7607 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000075ef ; je 0x75ef +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000075ef: +push edx +push ref_00020664 ; push 0x20664 +push 0x262 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00007607: +cmp byte [ebp - 0x41], 0 +je short loc_0000761e ; je 0x761e +push eax +push eax +movzx eax, byte [ebp - 0x19] +push 0 +push eax +call fcn_000094b3 ; call 0x94b3 +add esp, 0x10 + +loc_0000761e: +inc dword [ebp - 0x38] +jmp near loc_000071df ; jmp 0x71df + +loc_00007626: +xor eax, eax + +loc_00007628: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00007630: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov eax, dword [ebp + 0x24] +push dword [ebp + 0xc] +mov edi, dword [ebp + 0x28] +mov dword [ebp - 0x3c], eax +mov bl, al +mov al, byte [ebp + 0x2c] +mov byte [ebp - 0x1c], al +mov al, byte [ebp + 0x30] +mov byte [ebp - 0x31], al +call fcn_000069d8 ; call 0x69d8 +movzx ecx, bl +pop edx +mov byte [ebp - 0x1b], 0 +mov byte [ebp - 0x19], 1 +mov dword [ebp - 0x2c], 0xffffffff +mov dword [ebp - 0x20], 0 +movzx eax, ax +mov byte [ebp - 0x1a], 0 +mov dword [ebp - 0x30], ecx +mov dword [ebp - 0x24], eax + +loc_0000767f: +cmp byte [ebp - 0x1b], 0x1d +ja loc_000079df ; ja 0x79df +cmp byte [ebp - 0x1a], 1 +ja loc_000079df ; ja 0x79df +push eax +push eax +movzx eax, byte [edi + 2] +inc byte [ebp - 0x1b] +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +add esp, 0xc +mov esi, eax +movzx eax, byte [ebp - 0x20] +push eax +push dword [ebp - 0x30] +push dword [ebp + 0x20] +call fcn_00009b95 ; call 0x9b95 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00007701 ; je 0x7701 +test ebx, ebx +jns short loc_00007701 ; jns 0x7701 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000076e9 ; je 0x76e9 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000076e9: +push eax +push ref_00020664 ; push 0x20664 +push 0x29f +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00007701: +push eax +push esi +push edi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +mov ecx, dword [ebp - 0x24] +add esp, 0x20 +mov dword [ebp - 0x28], eax +cmp eax, ecx +jb short loc_0000773d ; jb 0x773d +cmp dword [ebp - 0x20], 0 +jne short loc_00007743 ; jne 0x7743 +movzx eax, byte [edi + 2] +mov bl, 1 +mov ecx, dword [ebp + 0x34] +mov dword [ecx + eax*4], 0 +jmp short loc_00007749 ; jmp 0x7749 + +loc_0000773d: +mov byte [ebp - 0x19], 1 +jmp short loc_00007747 ; jmp 0x7747 + +loc_00007743: +mov byte [ebp - 0x19], 0xff + +loc_00007747: +xor ebx, ebx + +loc_00007749: +mov al, byte [ebp - 0x20] +add al, byte [ebp - 0x19] +mov byte [ebp - 0x20], al +movzx eax, byte [ebp - 0x31] +mov dword [ebp - 0x40], eax +movzx eax, byte [ebp - 0x1c] +mov dword [ebp - 0x44], eax + +loc_00007760: +test bl, 1 +jne loc_000078b3 ; jne 0x78b3 +cmp byte [ebp - 0x20], 0x18 +ja loc_000078b3 ; ja 0x78b3 +push eax +push dword [ebp - 0x40] +push dword [ebp - 0x44] +push edi +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +test al, al +mov bl, al +movzx eax, byte [edi + 2] +je short loc_000077bf ; je 0x77bf +cmp byte [ebp - 0x19], 0 +js loc_000078d5 ; js 0x78d5 +cmp byte [ebp - 0x20], 0 +jne short loc_000077ac ; jne 0x77ac +mov ecx, dword [ebp + 0x34] +mov dword [ecx + eax*4], 0 +jmp near loc_000078e4 ; jmp 0x78e4 + +loc_000077ac: +movsx edx, byte [ebp - 0x20] +mov ecx, dword [ebp + 0x34] +dec edx +imul edx, edx, 0x64 +mov dword [ecx + eax*4], edx +jmp near loc_000078e4 ; jmp 0x78e4 + +loc_000077bf: +push esi +push esi +push eax +push dword [ebp + 0x1c] +call fcn_00007b99 ; call 0x7b99 +add esp, 0xc +mov dword [ebp - 0x38], eax +movzx eax, byte [ebp - 0x20] +push eax +push dword [ebp - 0x30] +push dword [ebp + 0x20] +call fcn_00009b95 ; call 0x9b95 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00007827 ; je 0x7827 +test esi, esi +jns short loc_00007827 ; jns 0x7827 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000780f ; je 0x780f +push ecx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000780f: +push edx +push ref_00020664 ; push 0x20664 +push 0x2ca +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00007827: +push eax +push dword [ebp - 0x38] +push edi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006dfa ; call 0x6dfa +add esp, 0x20 +cmp byte [ebp - 0x19], 0 +mov esi, eax +jns short loc_00007875 ; jns 0x7875 +cmp eax, dword [ebp - 0x24] +jae short loc_000078a5 ; jae 0x78a5 +movzx eax, byte [edi + 2] +mov ebx, dword [ebp + 0x34] +lea ebx, [ebx + eax*4] +movsx eax, byte [ebp - 0x20] +push eax +push esi +push dword [ebp - 0x28] +push dword [ebp - 0x24] +call fcn_000070f4 ; call 0x70f4 +add esp, 0x10 +mov dword [ebx], eax +jmp near loc_000078fe ; jmp 0x78fe + +loc_00007875: +cmp eax, dword [ebp - 0x24] +jb short loc_000078a5 ; jb 0x78a5 +movzx eax, byte [edi + 2] +mov edx, dword [ebp + 0x34] +lea edx, [edx + eax*4] +movsx eax, byte [ebp - 0x20] +mov dword [ebp - 0x38], edx +push eax +push dword [ebp - 0x28] +push esi +push dword [ebp - 0x24] +call fcn_000070f4 ; call 0x70f4 +mov edx, dword [ebp - 0x38] +add esp, 0x10 +mov dword [ebp - 0x28], esi +mov dword [edx], eax +jmp short loc_000078e4 ; jmp 0x78e4 + +loc_000078a5: +mov al, byte [ebp - 0x19] +add byte [ebp - 0x20], al +mov dword [ebp - 0x28], esi +jmp near loc_00007760 ; jmp 0x7760 + +loc_000078b3: +cmp byte [ebp - 0x19], 0 +jns short loc_000078e4 ; jns 0x78e4 +mov eax, dword [ebp - 0x24] +cmp dword [ebp - 0x28], eax +jb short loc_000078fe ; jb 0x78fe +test bl, bl +jne short loc_000078fe ; jne 0x78fe +movzx eax, byte [edi + 2] +mov ebx, dword [ebp + 0x34] +mov dword [ebx + eax*4], 0 +jmp short loc_000078fe ; jmp 0x78fe + +loc_000078d5: +mov byte [ebp - 0x19], 1 +mov dword [ebp - 0x2c], 0xffffffff +mov byte [ebp - 0x1a], 0 + +loc_000078e4: +mov eax, dword [ebp - 0x24] +cmp dword [ebp - 0x28], eax +jae short loc_000078fe ; jae 0x78fe +test bl, bl +jne short loc_000078fe ; jne 0x78fe +movzx eax, byte [edi + 2] +mov ebx, dword [ebp + 0x34] +mov dword [ebx + eax*4], 0x9c4 + +loc_000078fe: +movzx eax, byte [edi + 2] +mov ecx, dword [ebp + 0x34] +mov esi, dword [ecx + eax*4] +mov ecx, 0x64 +mov eax, esi +cdq +idiv ecx +xor edx, edx +mov dword [ebp - 0x28], esi +dec eax +mov ecx, eax +cmovs ecx, edx +mov dword [ebp - 0x20], ecx +mov ecx, dword [ebp - 0x2c] +cmp ecx, 0xffffffff +je short loc_00007946 ; je 0x7946 +mov edx, ecx +mov eax, esi +sub eax, ecx +sub edx, esi +cmp ecx, esi +cmovge eax, edx +mov dl, byte [ebp - 0x1a] +xor ecx, ecx +inc edx +cmp eax, 0x64 +mov al, cl +cmovle eax, edx +mov byte [ebp - 0x1a], al + +loc_00007946: +movzx esi, byte [ebp - 0x31] +movzx ebx, byte [ebp - 0x1c] +push eax +push esi +push ebx +push edi +call fcn_00006738 ; call 0x6738 +add esp, 0x10 +test al, al +je short loc_000079b8 ; je 0x79b8 +push eax +push 0 +push dword [ebp - 0x30] +push dword [ebp + 0x20] +call fcn_00009b95 ; call 0x9b95 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000079b8 ; je 0x79b8 +cmp dword [ebp - 0x2c], 0 +jns short loc_000079b8 ; jns 0x79b8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000079a0 ; je 0x79a0 +push eax +push dword [ebp - 0x2c] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000079a0: +push eax +push ref_00020664 ; push 0x20664 +push 0x301 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000079b8: +push eax +push esi +push ebx +push edi +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006863 ; call 0x6863 +add esp, 0x20 +test eax, eax +js short loc_00007a3c ; js 0x7a3c +mov eax, dword [ebp - 0x28] +mov dword [ebp - 0x2c], eax +jmp near loc_0000767f ; jmp 0x767f + +loc_000079df: +movzx eax, byte [ebp - 0x3c] +push ecx +push 0 +push eax +push dword [ebp + 0x20] +call fcn_00009b95 ; call 0x9b95 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +xor edx, edx +test al, al +je short loc_00007a3e ; je 0x7a3e +test ebx, ebx +jns short loc_00007a3e ; jns 0x7a3e +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00007a20 ; je 0x7a20 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00007a20: +push eax +push ref_00020664 ; push 0x20664 +push 0x311 +push ref_00021b85 ; push 0x21b85 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +xor edx, edx +jmp short loc_00007a3e ; jmp 0x7a3e + +loc_00007a3c: +mov edx, eax + +loc_00007a3e: +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00007a48: +push ebp +xor eax, eax +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edx, dword [ebp + 0x20] +mov ecx, dword [ebp + 0x24] + +loc_00007a59: +mov edi, dword [ebp + 0x2c] +mov dword [edi + eax], 0xffffffff +add eax, 4 +cmp eax, 0x40 +jne short loc_00007a59 ; jne 0x7a59 +movzx eax, cl +xor edi, edi +shl eax, 5 +lea eax, [edx + eax + 0xc] +lea esi, [edx + 0xc] +mov dword [ebp - 0x20], eax + +loc_00007a7d: +cmp esi, dword [ebp - 0x20] +je loc_00007b8f ; je 0x7b8f +mov al, byte [esi + 0x10] +cmp byte [esi + 0x11], 0 +mov byte [ebp - 0x19], al +je loc_00007b87 ; je 0x7b87 +cmp byte [esi + 0x12], 1 +je loc_00007b87 ; je 0x7b87 +cmp byte [esi - 1], 0 +mov cl, 3 +lea ebx, [esi - 0xc] +jne short loc_00007ab9 ; jne 0x7ab9 +sub esp, 0xc +push ebx +call fcn_00006582 ; call 0x6582 +add esp, 0x10 +mov cl, al + +loc_00007ab9: +sub esp, 0xc +push ebx +mov dword [ebp - 0x24], ecx +call fcn_0000642d ; call 0x642d +add esp, 0x10 +mov ecx, dword [ebp - 0x24] +cmp dword [ebp + 0x28], 1 +je short loc_00007b3d ; je 0x7b3d +jb short loc_00007b08 ; jb 0x7b08 +cmp dword [ebp + 0x28], 2 +jne loc_00007b6d ; jne 0x7b6d +push dword [ebp + 0x2c] +movzx eax, al +movzx ecx, cl +push eax +push ecx +push ebx +movzx ebx, byte [ebp - 0x19] +push ebx +push esi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00006e24 ; call 0x6e24 +jmp short loc_00007b66 ; jmp 0x7b66 + +loc_00007b08: +sub esp, 0xc +movzx eax, al +push dword [ebp + 0x2c] +movzx ecx, cl +push 0 +push eax +push ecx +push ebx +movzx ebx, byte [ebp - 0x19] +push ebx +push esi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_000071a8 ; call 0x71a8 +add esp, 0x40 +mov edi, eax +jmp short loc_00007b87 ; jmp 0x7b87 + +loc_00007b3d: +push dword [ebp + 0x2c] +movzx eax, al +movzx ecx, cl +push eax +push ecx +push ebx +movzx ebx, byte [ebp - 0x19] +push ebx +push esi +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00007630 ; call 0x7630 + +loc_00007b66: +mov edi, eax +add esp, 0x30 +jmp short loc_00007b87 ; jmp 0x7b87 + +loc_00007b6d: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00007b87 ; je 0x7b87 +push eax +push eax +push ref_00021bb7 ; push 0x21bb7 +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00007b87: +add esi, 0x20 +jmp near loc_00007a7d ; jmp 0x7a7d + +loc_00007b8f: +lea esp, [ebp - 0xc] +mov eax, edi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00007b99: +push ebp +mov ebp, esp +movzx eax, byte [ebp + 0xc] +mov edx, dword [ebp + 8] +shl eax, 4 +lea eax, [edx + eax + 0xc] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017d8a ; jmp 0x17d8a + +fcn_00007bb3: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0xc] +push 0 +mov ebx, dword [ebp + 8] +push 1 +push 0 +mov dword [ebp - 0x20], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 1 +push 1 +push 0 +mov esi, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 1 +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x1c], eax +pop eax +pop edx +lea eax, [ebx + 0x6430] +push 3 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x6434] +add ebx, 0x6438 +push 0x76543210 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [esi + 0x630] +push 0xb +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [esi + 0x600] +add esi, 0x604 +push 0x60b +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0x76543980 +push esi +call fcn_00017dcb ; call 0x17dcb +lea eax, [edi + 0x600] +add edi, 0x604 +pop ecx +pop esi +push 0x60b +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0x76543280 +push edi +call fcn_00017dcb ; call 0x17dcb +mov edi, dword [ebp - 0x1c] +pop ecx +pop esi +mov eax, edi +push 0xb +add eax, 0x600 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +mov eax, edi +pop edx +add eax, 0x604 +push 0x76543210 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop esi +push 0x680000 +push ebx +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0xc], 0xa +add eax, 0xa04 +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00007cce: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov eax, dword [ebp + 0xc] +push 0 +mov ebx, dword [ebp + 8] +push 1 +push 0 +mov dword [ebp - 0x20], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 1 +push 1 +push 0 +mov esi, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 1 +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x1c], eax +pop eax +pop edx +lea eax, [ebx + 0x6430] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x6434] +add ebx, 0x6438 +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [esi + 0x630] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [esi + 0x600] +add esi, 0x604 +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0 +push esi +call fcn_00017dcb ; call 0x17dcb +lea eax, [edi + 0x600] +add edi, 0x604 +pop ecx +pop esi +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0 +push edi +call fcn_00017dcb ; call 0x17dcb +mov edi, dword [ebp - 0x1c] +pop ecx +pop esi +mov eax, edi +push 0 +add eax, 0x600 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +mov eax, edi +pop edx +add eax, 0x604 +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop esi +push 0 +push ebx +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0xc], 0 +add eax, 0xa04 +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00007dd4: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x60 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +push 0x4000 +mov ebx, eax +and ebx, 0xfffffff8 +lea eax, [ebx + 0x54] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0 +push 0xfed85000 +lea eax, [ebx + 0x38010] +add ebx, 0x38004 +push eax +call fcn_00017e64 ; call 0x17e64 +pop eax +pop edx +push 2 +push ebx +call fcn_00018863 ; call 0x18863 +mov eax, 0xfed85000 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00007e36: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x60 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +push 0xfffd +mov ebx, eax +and ebx, 0xfffffff8 +lea eax, [ebx + 0x38004] +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0xc +push 0 +push 0xfff +lea eax, [ebx + 0x38010] +add ebx, 0x54 +push eax +call fcn_00018c3e ; call 0x18c3e +pop eax +pop edx +push 0xffffbfff +push ebx +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00007e99: +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +push 0x40000 +push ebx +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 4] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x10] +push 0x40000 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 0x14] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x20] +push 0x40000 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 0x24] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 8] +push 0xff000000 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 0x18] +push 0xff000000 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x28] +push 0xff000000 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 0xc] +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x1c] +add ebx, 0x2c +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0 +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00007f54: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +push dword [ebp + 0xc] +call fcn_00007e99 ; call 0x7e99 +call fcn_00007e36 ; call 0x7e36 +mov eax, dword [ebx + 1] +add esp, 0x10 +mov ebx, dword [ebp - 4] +mov edx, dword [eax + 0x18] +mov dword [ebp + 0xc], edx +mov eax, dword [eax + 4] +mov dword [ebp + 8], eax +leave +jmp near fcn_00007cce ; jmp 0x7cce + +fcn_00007f86: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 8] +push 0xa100 +mov esi, dword [ebp + 0x10] +mov edi, dword [ebp + 0xc] +lea eax, [ebx + 4] +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +lea eax, [ebx + 0x14] +push 0xa101 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x24] +push 0xa102 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0x110000 +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0xc +push 0x3e8 +push esi +push edi +call dword [esi + 4] ; ucall +pop ecx +pop esi +push 0x22100 +push ebx +call fcn_00017dcb ; call 0x17dcb +pop edi +pop eax +lea eax, [ebx + 0x10] +add ebx, 0x20 +push 0x22101 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], 0x22102 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00008019: +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 1] +push dword [eax + 0x18] +push dword [eax + 4] +call fcn_00007bb3 ; call 0x7bb3 +call fcn_00007dd4 ; call 0x7dd4 +mov ebx, eax +mov dword [esp], eax +call fcn_00007e99 ; call 0x7e99 +add esp, 0xc +push dword [ebp + 0x10] +push dword [ebp + 8] +push ebx +call fcn_00007f86 ; call 0x7f86 +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00008056: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +call fcn_00007e99 ; call 0x7e99 +add esp, 0x10 +mov dword [ebp + 0x10], edi +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00007f86 ; jmp 0x7f86 + +fcn_00008086: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +cmp bl, 0xf +ja loc_000081d9 ; ja 0x81d9 +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000080c3 ; je 0x80c3 +push eax +movzx eax, bl +push eax +push ref_00021bd7 ; push 0x21bd7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000080c3: +mov eax, dword [ebp + 8] +mov al, byte [eax + 0x1d] +test al, al +je loc_0000815b ; je 0x815b +mov edx, dword [ebp + 8] +cmp byte [edx + 0x1f], 0 +je short loc_00008122 ; je 0x8122 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000080f8 ; je 0x80f8 +push eax +movzx eax, byte [ebp - 0x1c] +push eax +push ref_00021bed ; push 0x21bed +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000080f8: +test edi, edi +je loc_000081c5 ; je 0x81c5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000811a ; je 0x811a +push eax +push eax +push ref_00021c1a ; push 0x21c1a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000811a: +movzx ebx, bl +mov al, byte [ebp - 0x1c] +jmp short loc_00008155 ; jmp 0x8155 + +loc_00008122: +test edi, edi +je short loc_0000815b ; je 0x815b +mov eax, dword [ebp + 0x10] +movzx ebx, bl +mov eax, dword [eax + 0xd] +movzx esi, byte [eax + ebx + 0x19] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00008153 ; je 0x8153 +push eax +mov eax, esi +movzx eax, al +push eax +push ref_00021c00 ; push 0x21c00 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00008153: +mov eax, esi + +loc_00008155: +mov byte [edi + ebx + 0x35], al +jmp short loc_000081c5 ; jmp 0x81c5 + +loc_0000815b: +mov ecx, dword [ebp + 8] +cmp byte [ecx + 0x1f], 0 +jne short loc_00008191 ; jne 0x8191 +test edi, edi +jne loc_00008200 ; jne 0x8200 +mov eax, dword [ebp + 0x10] +movzx ebx, bl +mov eax, dword [eax + 0xd] +movzx esi, byte [eax + ebx + 0x19] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000081c5 ; je 0x81c5 +mov eax, esi +movzx eax, al +push ebx +push eax +push ref_00021c38 ; push 0x21c38 +jmp short loc_000081bb ; jmp 0x81bb + +loc_00008191: +mov esi, 7 +test al, al +jne short loc_000081c5 ; jne 0x81c5 +test edi, edi +je short loc_000081c5 ; je 0x81c5 + +loc_0000819e: +movzx ebx, bl +movzx esi, byte [edi + ebx + 0x35] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000081c5 ; je 0x81c5 +mov eax, esi +movzx eax, al +push ecx +push eax +push ref_00021c53 ; push 0x21c53 + +loc_000081bb: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000081c5: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000820b ; je 0x820b +push edx +push edx +push ref_00021e91 ; push 0x21e91 +push 0x40 +jmp short loc_000081f6 ; jmp 0x81f6 + +loc_000081d9: +call fcn_000153e9 ; call 0x153e9 +mov esi, 7 +test al, al +je short loc_0000820b ; je 0x820b +movzx ebx, bl +push eax +push ebx +push ref_00021c71 ; push 0x21c71 +push 0x80000000 + +loc_000081f6: +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0000820b ; jmp 0x820b + +loc_00008200: +mov esi, 7 +test al, al +jne short loc_000081c5 ; jne 0x81c5 +jmp short loc_0000819e ; jmp 0x819e + +loc_0000820b: +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00008215: +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov ecx, dword [eax + 0xd] +xor eax, eax + +loc_00008220: +movzx edx, byte [ecx + eax + 5] +cmp edx, 3 +je short loc_00008238 ; je 0x8238 +test edx, edx +je short loc_00008238 ; je 0x8238 +inc eax +cmp eax, 3 +jne short loc_00008220 ; jne 0x8220 +xor eax, eax +jmp short loc_0000823a ; jmp 0x823a + +loc_00008238: +mov al, 1 + +loc_0000823a: +pop ebp +ret + +fcn_0000823c: +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +cmp byte [eax], 0x12 +jbe short loc_00008254 ; jbe 0x8254 +mov eax, dword [eax + 0xd] +mov al, byte [eax + 0x64] +cmp al, 1 +jbe short loc_0000826f ; jbe 0x826f + +loc_00008254: +call fcn_0001c58d ; call 0x1c58d +cmp eax, 0x40660 +je short loc_0000826b ; je 0x826b +cmp eax, 0x306c0 + +loc_00008265: +je short loc_0000826b ; je 0x826b +mov al, 1 +jmp short loc_00008273 ; jmp 0x8273 + +loc_0000826b: +xor eax, eax +jmp short loc_00008273 ; jmp 0x8273 + +loc_0000826f: +test al, al +jmp short loc_00008265 ; jmp 0x8265 + +loc_00008273: +leave +ret + +fcn_00008275: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x41c +call fcn_0001c58d ; call 0x1c58d +mov dword [ebp - 0x3ec], eax +call fcn_0001c5b4 ; call 0x1c5b4 +push ebx +push 0 +push 1 +push 0 +mov dword [ebp - 0x3f4], eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x3f8], eax +add eax, 0xd0c +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov byte [ebp - 0x3ee], 3 +mov ebx, eax +mov eax, dword [ebp + 0xc] +cmp byte [eax], 0x12 +jbe short loc_000082e3 ; jbe 0x82e3 +mov eax, dword [eax + 0xd] +mov edi, 3 +cmp byte [eax + 0x69], 1 +mov al, 0xa +cmove edi, eax +mov eax, edi +mov byte [ebp - 0x3ee], al + +loc_000082e3: +mov byte [ebp - 0x2a2], 7 +xor eax, eax +mov byte [ebp - 0x261], 3 +mov byte [ebp - 0x220], 5 +mov byte [ebp - 0x1df], 8 +mov byte [ebp - 0x19e], 0 +mov byte [ebp - 0x15d], 1 +mov byte [ebp - 0x11c], 2 +mov byte [ebp - 0xdb], 6 +mov byte [ebp - 0x9a], 9 +mov byte [ebp - 0x59], 4 + +loc_00008328: +mov dword [ebp + eax*4 - 0x3c4], 0xffffffff +mov dword [ebp + eax*4 - 0x384], 0xffffffff +mov byte [ebp + eax - 0x3d4], 7 +inc eax +cmp eax, 0x10 +jne short loc_00008328 ; jne 0x8328 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00008366 ; je 0x8366 +push ecx +push ecx +push ref_00021c82 ; push 0x21c82 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00008366: +sub esp, 0xc +push dword [ebp + 0xc] +call fcn_00008215 ; call 0x8215 +add esp, 0x10 +test al, al +jne short loc_00008391 ; jne 0x8391 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00009307 ; je 0x9307 +push edx +push edx +push ref_00021c9a ; push 0x21c9a +jmp near loc_00008dde ; jmp 0x8dde + +loc_00008391: +shr ebx, 0x14 +sub esp, 0xc +mov al, bl +and eax, 1 +mov byte [ebp - 0x3ed], al +mov bl, al +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +mov ax, word [eax + 0x3c] +push dword [ebp + 0xc] +mov word [ebp - 0x404], ax +call fcn_00006a20 ; call 0x6a20 +add esp, 0x10 +mov word [ebp - 0x40c], ax +test bl, bl +jne short loc_000083dd ; jne 0x83dd +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000083f7 ; je 0x83f7 +push eax +push eax +push ref_00021cb7 ; push 0x21cb7 +jmp short loc_000083ed ; jmp 0x83ed + +loc_000083dd: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000083f7 ; je 0x83f7 +push eax +push eax +push ref_00021cd2 ; push 0x21cd2 + +loc_000083ed: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000083f7: +cmp dword [ebp + 0x14], 0 +mov byte [ebp - 0x3d9], 0 +je loc_00008509 ; je 0x8509 +mov eax, dword [ebp + 0x14] +cmp byte [eax + 0x28], 0 +je loc_00008509 ; je 0x8509 +lea eax, [ebp - 0x3d8] +push eax +push 0 +push 0 +push ref_0002914c ; push 0x2914c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00008471 ; je 0x8471 +test ebx, ebx +jns short loc_00008471 ; jns 0x8471 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00008459 ; je 0x8459 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00008459: +push eax +push ref_00020664 ; push 0x20664 +push 0xd6 +push ref_00021cec ; push 0x21cec +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00008471: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000848b ; je 0x848b +push eax +push eax +push ref_00021d24 ; push 0x21d24 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000848b: +push eax +lea eax, [ebp - 0x3d9] +push eax +mov eax, dword [ebp - 0x3d8] +push 0 +push dword [ebp + 8] +call dword [eax + 5] ; ucall +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000084e8 ; je 0x84e8 +test ebx, ebx +jns short loc_000084e8 ; jns 0x84e8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000084d0 ; je 0x84d0 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000084d0: +push esi +push ref_00020664 ; push 0x20664 +push 0xd9 +push ref_00021cec ; push 0x21cec +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000084e8: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00008509 ; je 0x8509 +movzx eax, byte [ebp - 0x3d9] +push ebx +push eax +push ref_00021d41 ; push 0x21d41 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00008509: +lea eax, [ebp - 0x3df] +xor ebx, ebx +push ecx +push eax +lea eax, [ebp - 0x3de] +push eax +lea eax, [ebp - 0x302] +push eax +call fcn_00006a44 ; call 0x6a44 +add esp, 0x10 + +loc_00008529: +cmp bl, byte [ebp - 0x3de] +jae loc_000085bf ; jae 0x85bf +movzx eax, bl +shl eax, 5 +lea esi, [ebp + eax - 0x302] +movzx eax, byte [ebp + eax - 0x302] +push edx +movzx edx, byte [esi + 2] +push edx +movzx edx, byte [esi + 1] +push edx +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xb2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf +cmp ax, 3 +je short loc_0000857a ; je 0x857a +cmp byte [esi + 0xb], 0 +jne short loc_0000857d ; jne 0x857d + +loc_0000857a: +inc ebx +jmp short loc_00008529 ; jmp 0x8529 + +loc_0000857d: +mov eax, dword [ebp - 0x3f8] +push ebx +push ebx +push 0x8000 +lea esi, [eax + 0xdd8] +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_00006058 ; call 0x6058 +add esp, 0x10 +test eax, eax +jns loc_00008e12 ; jns 0x8e12 + +loc_000085b2: +cmp dword [ebp - 0x3f4], 0 +jne loc_00008ded ; jne 0x8ded + +loc_000085bf: +mov byte [ebp - 0x3f4], 0 +mov byte [ebp - 0x3ec], 0 + +loc_000085cd: +mov cl, byte [ebp - 0x3de] +cmp byte [ebp - 0x3ec], cl +jae loc_00008718 ; jae 0x8718 +movzx ebx, byte [ebp - 0x3ec] +mov edx, ebx +shl edx, 5 +mov cl, byte [ebp + edx - 0x302] +lea eax, [ebp + edx - 0x302] +cmp dword [ebp + 0x14], 0 +mov byte [ebp - 0x3fc], cl +mov cl, byte [eax + 1] +mov byte [ebp - 0x400], cl +mov cl, byte [eax + 2] +mov byte [ebp - 0x408], cl +movzx edx, cl +je short loc_0000863d ; je 0x863d +mov esi, dword [ebp + 0x14] +cmp byte [esi + 0x28], 0 +je loc_00008e98 ; je 0x8e98 +mov eax, dword [eax + 7] +mov edi, 1 +cmp dword [esi + edx*4 + 0x29], eax +jne loc_00008e9a ; jne 0x8e9a +xor esi, esi +jmp short loc_00008644 ; jmp 0x8644 + +loc_0000863d: +mov esi, 1 +xor edi, edi + +loc_00008644: +mov dword [ebp - 0x410], edx +call fcn_000153e9 ; call 0x153e9 +mov edx, dword [ebp - 0x410] +test al, al +je short loc_0000868a ; je 0x868a +mov ecx, esi +sub esp, 0xc +movzx eax, byte [ebp - 0x400] +movzx ecx, cl +push ecx +mov ecx, edi +movzx ecx, cl +push ecx +movzx ecx, byte [ebp - 0x3fc] +push edx +push eax +push ecx +push edx +push eax +push ref_00021d69 ; push 0x21d69 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x30 + +loc_0000868a: +push eax +movzx eax, byte [ebp - 0x408] +push eax +movzx eax, byte [ebp - 0x400] +push eax +movzx eax, byte [ebp - 0x3fc] +push eax +call fcn_000023ad ; call 0x23ad +mov eax, edi +mov ecx, esi +xor eax, 1 +add esp, 0x10 +or cl, al +jne short loc_000086d0 ; jne 0x86d0 +cmp byte [ebp - 0x3d9], 0 +jne short loc_000086d0 ; jne 0x86d0 +mov eax, dword [ebp + 0xc] +cmp byte [eax], 1 +jbe short loc_000086df ; jbe 0x86df +mov eax, dword [eax + 0xd] +cmp byte [eax + 0x48], 1 +jne short loc_000086df ; jne 0x86df + +loc_000086d0: +mov eax, ebx +shl eax, 5 +mov byte [ebp + eax - 0x2e5], 1 +jmp short loc_000086ec ; jmp 0x86ec + +loc_000086df: +mov eax, ebx +shl eax, 5 +mov byte [ebp + eax - 0x2e5], 0 + +loc_000086ec: +shl ebx, 5 +lea eax, [ebp - 0x18] +add ebx, eax +cmp byte [ebx - 0x2df], 0 +jne short loc_00008706 ; jne 0x8706 +mov byte [ebx - 0x2cd], 0 +jmp short loc_0000870d ; jmp 0x870d + +loc_00008706: +mov byte [ebp - 0x3f4], 1 + +loc_0000870d: +inc byte [ebp - 0x3ec] +jmp near loc_000085cd ; jmp 0x85cd + +loc_00008718: +cmp byte [ebp - 0x3f4], 0 +je short loc_0000872b ; je 0x872b +lea edx, [ebp - 0x302] +xor eax, eax +jmp short loc_0000874e ; jmp 0x874e + +loc_0000872b: +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00009307 ; je 0x9307 +push ecx +push ecx +push ref_00021db4 ; push 0x21db4 +jmp near loc_00008dde ; jmp 0x8dde + +loc_00008744: +add edx, 0x20 +cmp byte [edx - 3], 1 +je short loc_0000875e ; je 0x875e +inc eax + +loc_0000874e: +cmp al, cl +jne short loc_00008744 ; jne 0x8744 +mov byte [ebp - 0x3ee], 0 +jmp near loc_000088fe ; jmp 0x88fe + +loc_0000875e: +push eax +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00008019 ; call 0x8019 +pop edx +pop ecx +push 0x2000 +mov dword [ebp - 0x3f4], eax +mov eax, dword [ebp - 0x3f8] +add eax, 0x444 +push eax +mov dword [ebp - 0x410], eax +call fcn_00018a50 ; call 0x18a50 +lea eax, [ebp - 0x2a2] +add esp, 0x10 +mov dword [ebp - 0x3ec], eax +movzx eax, byte [ebp - 0x3ed] +mov byte [ebp - 0x408], 0 +mov dword [ebp - 0x414], eax +movzx eax, word [ebp - 0x404] +mov dword [ebp - 0x418], eax + +loc_000087c1: +xor eax, eax + +loc_000087c3: +mov edi, dword [ebp - 0x3ec] +mov dword [edi + eax + 1], 0 +add eax, 4 +cmp eax, 0x40 +jne short loc_000087c3 ; jne 0x87c3 +mov byte [ebp - 0x3fc], 0 + +loc_000087e0: +movzx eax, byte [ebp - 0x3de] +cmp byte [ebp - 0x3fc], al +jb loc_00008eb7 ; jb 0x8eb7 +mov esi, dword [ebp - 0x3ec] +push ebx +push ebx +lea edx, [esi + 1] +push edx +push 0 +push eax +lea eax, [ebp - 0x302] +push eax +push dword [ebp - 0x3f4] +push dword [ebp - 0x418] +push dword [ebp + 0x10] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00007a48 ; call 0x7a48 +add esp, 0x30 +test eax, eax +js loc_00009176 ; js 0x9176 + +loc_00008831: +sub esp, 0xc +push dword [ebp + 0xc] +call fcn_0000823c ; call 0x823c +add esp, 0x10 +test al, al +jne loc_00009193 ; jne 0x9193 + +loc_00008847: +inc byte [ebp - 0x408] +mov al, byte [ebp - 0x3ee] +add dword [ebp - 0x3ec], 0x41 +cmp byte [ebp - 0x408], al +jb loc_000087c1 ; jb 0x87c1 +push eax +xor edi, edi +push eax +push 0xffffdfff +push dword [ebp - 0x410] +lea ebx, [ebp - 0x384] +call fcn_00018a7a ; call 0x18a7a +pop eax +pop edx +push dword [ebp - 0x3f4] +push dword [ebp + 0xc] +call fcn_00007f54 ; call 0x7f54 +add esp, 0x10 +lea edx, [ebp - 0x2a2] + +loc_00008899: +lea eax, [ebp - 0x3c4] + +loc_0000889f: +mov dword [eax], 0xffffffff +add eax, 4 +cmp eax, ebx +jne short loc_0000889f ; jne 0x889f +xor eax, eax + +loc_000088ae: +mov esi, dword [edx + eax*4 + 1] +cmp esi, 0xffffffff +je short loc_000088be ; je 0x88be +mov dword [ebp + eax*4 - 0x3c4], esi + +loc_000088be: +mov esi, dword [ebp + eax*4 - 0x3c4] +cmp esi, dword [ebx + eax*4] +jle short loc_000088d6 ; jle 0x88d6 +mov cl, byte [edx] +mov dword [ebx + eax*4], esi +mov byte [ebp + eax - 0x3d4], cl + +loc_000088d6: +inc eax +cmp eax, 0x10 +jne short loc_000088ae ; jne 0x88ae +inc edi +add edx, 0x41 +mov eax, edi +cmp al, byte [ebp - 0x3ee] +jb short loc_00008899 ; jb 0x8899 +cmp byte [ebp - 0x3df], 0 +jne loc_0000920a ; jne 0x920a + +loc_000088f7: +mov byte [ebp - 0x3ee], 1 + +loc_000088fe: +mov byte [ebp - 0x3ec], 0 + +loc_00008905: +mov al, byte [ebp - 0x3ec] +cmp al, byte [ebp - 0x3de] +jae loc_00008a52 ; jae 0x8a52 +movzx edi, byte [ebp - 0x3ec] +mov eax, edi +shl eax, 5 +lea ecx, [ebp + eax - 0x302] +cmp byte [ecx + 0xb], 0 +mov al, byte [ecx + 2] +je loc_00008a47 ; je 0x8a47 +cmp byte [ebp - 0x3df], 0 +jne short loc_00008952 ; jne 0x8952 + +loc_00008940: +shl edi, 5 +xor ebx, ebx +lea eax, [ebp - 0x18] +mov edx, edi +lea edi, [eax + edi] +jmp near loc_000089fa ; jmp 0x89fa + +loc_00008952: +cmp al, 1 +je short loc_00008972 ; je 0x8972 +cmp al, 2 +je short loc_0000898e ; je 0x898e +mov bl, byte [ebp - 0x3ed] +cmp bl, 1 +sbb esi, esi +neg ebx +and esi, 0xfffffff2 +and ebx, 0xe +add esi, 0xf +jmp short loc_000089a8 ; jmp 0x89a8 + +loc_00008972: +mov al, byte [ebp - 0x3ed] +cmp al, 1 +sbb esi, esi +and esi, 2 +add esi, 7 +cmp al, 1 +sbb ebx, ebx +and ebx, 2 +add ebx, 6 +jmp short loc_000089a8 ; jmp 0x89a8 + +loc_0000898e: +mov al, byte [ebp - 0x3ed] +cmp al, 1 +sbb esi, esi +and esi, 0xa +add esi, 3 +cmp al, 1 +sbb ebx, ebx +and ebx, 0xa +add ebx, 2 + +loc_000089a8: +mov eax, edi +shl eax, 5 +mov dword [ebp - 0x3f4], eax + +loc_000089b3: +mov eax, esi +cmp bl, al +ja short loc_00008940 ; ja 0x8940 +movzx ecx, bl +sub esp, 0xc +movzx eax, byte [ebp + ecx - 0x3d4] +inc ebx +mov dword [ebp - 0x3f8], ecx +push eax +push dword [ebp + 0x14] +push dword [ebp + 0xc] +lea eax, [ebp - 0x302] +add eax, dword [ebp - 0x3f4] +push ecx +push eax +call fcn_00008086 ; call 0x8086 +mov ecx, dword [ebp - 0x3f8] +add esp, 0x20 +mov byte [ebp + ecx - 0x3d4], al +jmp short loc_000089b3 ; jmp 0x89b3 + +loc_000089fa: +cmp bl, byte [edi - 0x2ce] +jae short loc_00008a47 ; jae 0x8a47 +movzx eax, bl +sub esp, 0xc +movzx esi, byte [eax + edi - 0x2de] +inc ebx +mov dword [ebp - 0x3f4], edx +movzx eax, byte [ebp + esi - 0x3d4] +push eax +push dword [ebp + 0x14] +push dword [ebp + 0xc] +lea eax, [ebp - 0x302] +add eax, edx +push esi +push eax +call fcn_00008086 ; call 0x8086 +add esp, 0x20 +mov edx, dword [ebp - 0x3f4] +mov byte [ebp + esi - 0x3d4], al +jmp short loc_000089fa ; jmp 0x89fa + +loc_00008a47: +inc byte [ebp - 0x3ec] +jmp near loc_00008905 ; jmp 0x8905 + +loc_00008a52: +cmp byte [ebp - 0x3ee], 0 +je short loc_00008a8e ; je 0x8a8e +xor ebx, ebx + +loc_00008a5d: +push ecx +push ebx +inc ebx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop esi +pop edi +push 0x10 +add eax, 0xb0 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp ebx, 3 +jne short loc_00008a5d ; jne 0x8a5d +sub esp, 0xc +push dword [ebp + 0xc] +call fcn_00005fa8 ; call 0x5fa8 +add esp, 0x10 + +loc_00008a8e: +movzx eax, byte [ebp - 0x3ed] +mov byte [ebp - 0x3ec], 0 +mov dword [ebp - 0x3f8], eax + +loc_00008aa2: +mov al, byte [ebp - 0x3ec] +cmp al, byte [ebp - 0x3de] +jae loc_00008d1f ; jae 0x8d1f +movzx eax, byte [ebp - 0x3ec] +mov dword [ebp - 0x3fc], eax +shl eax, 5 +lea edi, [ebp + eax - 0x302] +movzx eax, byte [ebp + eax - 0x302] +mov cl, byte [edi + 2] +push edx +movzx esi, cl +push esi +movzx ebx, byte [edi + 1] +mov byte [ebp - 0x3ed], cl +push ebx +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +cmp byte [edi + 0xb], 0 +mov dword [ebp - 0x400], eax +jne short loc_00008b1b ; jne 0x8b1b +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00008d14 ; je 0x8d14 +push esi +push ebx +push ref_00021e3a ; push 0x21e3a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +jmp near loc_00008d11 ; jmp 0x8d11 + +loc_00008b1b: +mov cl, byte [ebp - 0x3ed] +cmp cl, 1 +je short loc_00008b39 ; je 0x8b39 +cmp cl, 2 +mov al, 0xd +mov bl, 1 +mov dl, 0 +cmove ebx, eax +mov al, 0xc +cmove edx, eax +jmp short loc_00008b3d ; jmp 0x8b3d + +loc_00008b39: +mov bl, 9 +mov dl, 8 + +loc_00008b3d: +push eax +push eax +lea eax, [ebp - 0x3da] +push eax +movzx eax, dl +push eax +mov dword [ebp - 0x3f4], edx +call fcn_0000930f ; call 0x930f +add esp, 0x10 +mov edx, dword [ebp - 0x3f4] +cmp byte [ebp - 0x3df], 0 +je short loc_00008b76 ; je 0x8b76 +movzx eax, byte [ebp - 0x3ed] +mov dword [ebp - 0x404], eax +jmp short loc_00008b91 ; jmp 0x8b91 + +loc_00008b76: +mov eax, dword [ebp - 0x3fc] +lea esi, [ebp - 0x18] +xor edx, edx +shl eax, 5 +add eax, esi +mov dword [ebp - 0x3f4], eax +jmp near loc_00008c25 ; jmp 0x8c25 + +loc_00008b91: +cmp dl, bl +ja short loc_00008b76 ; ja 0x8b76 +push edi +movzx esi, dl +push edi +push dword [ebp - 0x3f8] +lea edi, [ebp - 0x3dd] +mov dword [ebp - 0x40c], edx +push esi +call fcn_00006de6 ; call 0x6de6 +movzx ecx, byte [ebp - 0x3da] +movzx eax, al +movzx eax, byte [ebp + eax - 0x3d4] +mov edx, eax +lea eax, [ebp - 0x3db] +mov dword [esp], eax +lea eax, [ebp - 0x3dc] +push eax +push edi +push ecx +push edx +mov dword [ebp - 0x3f4], edx +mov dword [ebp - 0x408], eax +call fcn_0000936b ; call 0x936b +mov eax, dword [ebp - 0x408] +add esp, 0x20 +lea ecx, [ebp - 0x3db] +push ecx +push eax +push edi +push esi +call fcn_00009450 ; call 0x9450 +push esi +push dword [ebp - 0x404] +push dword [ebp - 0x3f4] +push 1 +call fcn_00002a9d ; call 0x2a9d +mov edx, dword [ebp - 0x40c] +add esp, 0x20 +inc edx +jmp near loc_00008b91 ; jmp 0x8b91 + +loc_00008c25: +mov eax, dword [ebp - 0x3f4] +cmp dl, byte [eax - 0x2ce] +jae loc_00008ce9 ; jae 0x8ce9 +mov edi, dword [ebp - 0x3f4] +movzx eax, dl +push ecx +push ecx +push dword [ebp - 0x3f8] +lea ebx, [eax + edi - 0x2ea] +movzx eax, byte [ebx + 0xc] +lea edi, [ebp - 0x3dc] +mov dword [ebp - 0x404], edx +lea esi, [ebp - 0x3dd] +push eax +call fcn_00006de6 ; call 0x6de6 +movzx ecx, byte [ebp - 0x3da] +mov dword [ebp - 0x3fc], eax +lea eax, [ebp - 0x3db] +mov dword [esp], eax +push edi +push esi +push ecx +movzx ecx, byte [ebx + 0xc] +movzx ecx, byte [ebp + ecx - 0x3d4] +push ecx +call fcn_0000936b ; call 0x936b +mov eax, dword [ebp - 0x3fc] +add esp, 0x20 +lea ecx, [ebp - 0x3db] +push ecx +push edi +push esi +movzx eax, al +push eax +mov dword [ebp - 0x3fc], eax +call fcn_00009450 ; call 0x9450 +mov eax, dword [ebp - 0x3fc] +push eax +movzx eax, byte [ebp - 0x3ed] +push eax +movzx eax, byte [ebx + 0xc] +movzx eax, byte [ebp + eax - 0x3d4] +push eax +push 1 +call fcn_00002a9d ; call 0x2a9d +mov edx, dword [ebp - 0x404] +add esp, 0x20 +inc edx +jmp near loc_00008c25 ; jmp 0x8c25 + +loc_00008ce9: +mov edi, dword [ebp - 0x400] +push esi +push esi +push 1 +mov eax, edi +add eax, 0xd98 +push eax +call fcn_00018a50 ; call 0x18a50 +pop eax +mov eax, edi +pop edx +add eax, 0xb0 +push 0x20 +push eax +call fcn_00018863 ; call 0x18863 + +loc_00008d11: +add esp, 0x10 + +loc_00008d14: +inc byte [ebp - 0x3ec] +jmp near loc_00008aa2 ; jmp 0x8aa2 + +loc_00008d1f: +cmp byte [ebp - 0x3ee], 0 +je short loc_00008d70 ; je 0x8d70 +push ebx +mov eax, dword [ebp + 0x10] +xor ebx, ebx +push 0x64 +push dword [ebp + 0x10] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +add esp, 0x10 + +loc_00008d3c: +push edi +push ebx +inc ebx +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xffef +add eax, 0xb0 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 +cmp ebx, 3 +jne short loc_00008d3c ; jne 0x8d3c +sub esp, 0xc +push dword [ebp + 0xc] +call fcn_00005ffc ; call 0x5ffc +add esp, 0x10 + +loc_00008d70: +xor edx, edx + +loc_00008d72: +cmp dl, byte [ebp - 0x3de] +jae short loc_00008dca ; jae 0x8dca +movzx eax, dl +shl eax, 5 +lea ecx, [ebp + eax - 0x302] +movzx ebx, byte [ebp + eax - 0x302] +movzx esi, byte [ecx + 1] +movzx edi, byte [ecx + 2] +lea ecx, [ebp - 0x302] +push 0 +add eax, ecx +push eax +push dword [ebp + 0x10] +push dword [ebp + 8] +mov dword [ebp - 0x3ec], edx +call fcn_00005ce2 ; call 0x5ce2 +add esp, 0xc +push edi +push esi +push ebx +call fcn_000023ad ; call 0x23ad +mov edx, dword [ebp - 0x3ec] +add esp, 0x10 +inc edx +jmp short loc_00008d72 ; jmp 0x8d72 + +loc_00008dca: +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00009307 ; je 0x9307 +push esi +push esi +push ref_00021e75 ; push 0x21e75 + +loc_00008dde: +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_00009307 ; jmp 0x9307 + +loc_00008ded: +cmp dword [ebp - 0x3ec], 0x40670 +jne loc_000085bf ; jne 0x85bf +push eax +push eax +push 0xffff7fff +push esi +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +jmp near loc_000085bf ; jmp 0x85bf + +loc_00008e12: +xor ebx, ebx + +loc_00008e14: +cmp bl, byte [ebp - 0x3de] +jae loc_000085b2 ; jae 0x85b2 +movzx eax, bl +shl eax, 5 +lea edx, [ebp + eax - 0x302] +mov al, byte [ebp + eax - 0x302] +movzx ecx, byte [edx + 2] +movzx edx, byte [edx + 1] +mov byte [ebp - 0x3fc], al + +loc_00008e42: +movzx edi, byte [ebp - 0x3fc] +push eax +push ecx +push edx +push edi +mov dword [ebp - 0x408], ecx +mov dword [ebp - 0x400], edx +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xd2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, dword [ebp - 0x400] +mov ecx, dword [ebp - 0x408] +test al, 2 +je short loc_00008e42 ; je 0x8e42 +sub esp, 0xc +inc ebx +push ecx +push edx +push edi +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_000024e1 ; call 0x24e1 +add esp, 0x20 +jmp near loc_00008e14 ; jmp 0x8e14 + +loc_00008e98: +xor edi, edi + +loc_00008e9a: +mov eax, ebx +mov esi, dword [ebp + 0x14] +shl eax, 5 +mov eax, dword [ebp + eax - 0x2fb] +mov dword [esi + edx*4 + 0x29], eax +mov esi, 1 +jmp near loc_00008644 ; jmp 0x8644 + +loc_00008eb7: +movzx eax, byte [ebp - 0x3fc] +lea edi, [ebp - 0x18] +mov dword [ebp - 0x400], eax +shl eax, 5 +add edi, eax +mov cl, byte [edi - 0x2e8] +sub edi, 0x2ea +mov byte [edi + 0x1e], 0 +movzx eax, byte [ebp + eax - 0x302] +push edx +movzx esi, cl +push esi +movzx ebx, byte [edi + 1] +mov byte [ebp - 0x3f8], cl +push ebx +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +cmp byte [edi + 0xb], 0 +mov dword [ebp - 0x404], eax +jne short loc_00008f2c ; jne 0x8f2c +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_0000916b ; je 0x916b +push esi +push ebx +push ref_00021de4 ; push 0x21de4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_0000916b ; jmp 0x916b + +loc_00008f2c: +mov cl, byte [ebp - 0x3f8] +cmp cl, 1 +je short loc_00008f4d ; je 0x8f4d +cmp cl, 2 +mov al, 0xd +mov esi, 1 +mov bl, 0 +cmove esi, eax +mov al, 0xc +cmove ebx, eax +jmp short loc_00008f54 ; jmp 0x8f54 + +loc_00008f4d: +mov esi, 9 +mov bl, 8 + +loc_00008f54: +push edi +push edi +lea eax, [ebp - 0x3da] +push eax +movzx eax, bl +push eax +call fcn_0000930f ; call 0x930f +lea edi, [ebp - 0x3db] +lea eax, [ebp - 0x3dc] +mov dword [esp], edi +push eax +lea eax, [ebp - 0x3dd] +push eax +movzx eax, byte [ebp - 0x3da] +push eax +mov eax, dword [ebp - 0x3ec] +movzx eax, byte [eax] +push eax +call fcn_0000936b ; call 0x936b +add esp, 0x20 +cmp byte [ebp - 0x3df], 0 +je short loc_00008fab ; je 0x8fab +mov edx, edi +movzx edi, byte [ebp - 0x3f8] +jmp short loc_00008fbe ; jmp 0x8fbe + +loc_00008fab: +mov esi, dword [ebp - 0x400] +lea eax, [ebp - 0x18] +xor edx, edx +shl esi, 5 +lea edi, [eax + esi] +jmp short loc_0000900d ; jmp 0x900d + +loc_00008fbe: +mov eax, esi +cmp bl, al +ja short loc_00008fab ; ja 0x8fab +push edx +movzx eax, bl +lea ecx, [ebp - 0x3dc] +inc ebx +push ecx +lea ecx, [ebp - 0x3dd] +push ecx +push eax +mov dword [ebp - 0x420], edx +mov dword [ebp - 0x41c], eax +call fcn_00009450 ; call 0x9450 +mov eax, dword [ebp - 0x41c] +push eax +mov eax, dword [ebp - 0x3ec] +push edi +movzx eax, byte [eax] +push eax +push 1 +call fcn_00002a9d ; call 0x2a9d +add esp, 0x20 +mov edx, dword [ebp - 0x420] +jmp short loc_00008fbe ; jmp 0x8fbe + +loc_0000900d: +lea ebx, [edi - 0x2da] +cmp dl, byte [edi - 0x2ce] +jae short loc_00009081 ; jae 0x9081 +push ebx +movzx eax, dl +push ebx +push dword [ebp - 0x414] +movzx eax, byte [eax + edi - 0x2de] +mov dword [ebp - 0x41c], edx +push eax +call fcn_00006de6 ; call 0x6de6 +movzx ebx, al +lea eax, [ebp - 0x3db] +push eax +lea eax, [ebp - 0x3dc] +push eax +lea eax, [ebp - 0x3dd] +push eax +push ebx +call fcn_00009450 ; call 0x9450 +movzx eax, byte [ebp - 0x3f8] +add esp, 0x20 +push ebx +push eax +mov eax, dword [ebp - 0x3ec] +movzx eax, byte [eax] +push eax +push 1 +call fcn_00002a9d ; call 0x2a9d +mov edx, dword [ebp - 0x41c] +add esp, 0x10 +inc edx +jmp short loc_0000900d ; jmp 0x900d + +loc_00009081: +mov eax, dword [ebp - 0x404] +lea edi, [ebp + esi - 0x302] +push ecx +push ecx +push 1 +add eax, 0xd98 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push edi +push dword [ebp + 0x10] +push dword [ebp + 8] +call fcn_000063c9 ; call 0x63c9 +mov eax, dword [ebp - 0x404] +lea esi, [eax + 0xb2] +mov dword [esp], esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf +cmp ax, 3 +je short loc_0000910b ; je 0x910b +sub esp, 0xc +push edi +call fcn_0000642d ; call 0x642d +add esp, 0xc +movzx eax, al +push eax +push 3 +push edi +push dword [ebp + 0x10] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_000065b0 ; call 0x65b0 +add esp, 0x14 +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf +cmp ax, 3 +je short loc_0000910b ; je 0x910b +mov byte [ebx + 0xe], 1 +jmp short loc_0000916b ; jmp 0x916b + +loc_0000910b: +movzx esi, byte [ebp - 0x3f8] +push edi +push edi +mov edi, dword [ebp - 0x3f4] +push esi +push edi +call fcn_00007b99 ; call 0x7b99 +add esp, 0xc +mov ebx, eax +mov eax, dword [ebp + 0xc] +mov eax, dword [eax + 0xd] +movzx eax, word [eax + 0x3c] +push eax +mov eax, dword [ebp + 0x10] +push dword [ebp + 0x10] +push dword [ebp + 8] +call dword [eax + 4] ; ucall +pop eax +pop edx +push esi +push edi +call fcn_00007b99 ; call 0x7b99 +add esp, 0x10 +cmp eax, ebx +mov eax, dword [ebp - 0x400] +je short loc_00009160 ; je 0x9160 +shl eax, 5 +mov byte [ebp + eax - 0x2e4], 1 +jmp short loc_0000916b ; jmp 0x916b + +loc_00009160: +shl eax, 5 +mov byte [ebp + eax - 0x2e3], 1 + +loc_0000916b: +inc byte [ebp - 0x3fc] +jmp near loc_000087e0 ; jmp 0x87e0 + +loc_00009176: +xor eax, eax + +loc_00009178: +mov edi, dword [ebp - 0x3ec] +mov dword [edi + eax + 1], 0 +add eax, 4 +cmp eax, 0x40 +jne short loc_00009178 ; jne 0x9178 +jmp near loc_00008831 ; jmp 0x8831 + +loc_00009193: +push ecx +push ecx +lea eax, [ebp - 0x344] +push eax +movzx eax, byte [ebp - 0x3de] +push 2 +push eax +lea eax, [ebp - 0x302] +push eax +movzx eax, word [ebp - 0x40c] +push dword [ebp - 0x3f4] +push eax +push dword [ebp + 0x10] +push dword [ebp + 0x14] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00007a48 ; call 0x7a48 +add esp, 0x30 +test eax, eax +js loc_00008847 ; js 0x8847 +xor eax, eax + +loc_000091d9: +mov edx, dword [ebp + eax - 0x344] +cmp edx, 0xffffffff +je short loc_000091fd ; je 0x91fd +mov esi, dword [ebp - 0x3ec] +mov ecx, dword [esi + eax + 1] +cmp ecx, 0x18f +jle short loc_000091fd ; jle 0x91fd +add edx, ecx +mov dword [esi + eax + 1], edx + +loc_000091fd: +add eax, 4 +cmp eax, 0x40 +jne short loc_000091d9 ; jne 0x91d9 +jmp near loc_00008847 ; jmp 0x8847 + +loc_0000920a: +mov byte [ebp - 0x3ec], 0 + +loc_00009211: +mov al, byte [ebp - 0x3ec] +cmp al, byte [ebp - 0x3de] +jae loc_000088f7 ; jae 0x88f7 +movzx eax, byte [ebp - 0x3ec] +shl eax, 5 +mov al, byte [ebp + eax - 0x300] +cmp al, 1 +je short loc_0000925f ; je 0x925f +cmp al, 2 +mov al, byte [ebp - 0x3ed] +je short loc_00009285 ; je 0x9285 +cmp al, 1 +mov bl, al +sbb edi, edi +neg ebx +and edi, 0xfffffff2 +and ebx, 0xe +add edi, 0xf +cmp al, 1 +sbb edx, edx +and edx, 0xfffffff5 +add edx, 0xd +jmp short loc_000092a1 ; jmp 0x92a1 + +loc_0000925f: +mov al, byte [ebp - 0x3ed] +cmp al, 1 +sbb edi, edi +and edi, 2 +add edi, 7 +cmp al, 1 +sbb ebx, ebx +and ebx, 2 +add ebx, 6 +cmp al, 1 +sbb edx, edx +and edx, 5 +add edx, 5 +jmp short loc_000092a1 ; jmp 0x92a1 + +loc_00009285: +cmp al, 1 +sbb edi, edi +and edi, 0xa +add edi, 3 +cmp al, 1 +sbb ebx, ebx +and ebx, 0xa +add ebx, 2 +cmp al, 1 +sbb edx, edx +and edx, 0xd +inc edx + +loc_000092a1: +movzx esi, dl +cmp dword [ebp + esi*4 - 0x384], 0xffffffff +je short loc_000092fc ; je 0x92fc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000092d4 ; je 0x92d4 +mov eax, edi +sub esp, 0xc +movzx eax, al +push eax +movzx eax, bl +push eax +push esi +push ref_00021e09 ; push 0x21e09 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_000092d4: +mov eax, edi +cmp bl, al +ja short loc_000092fc ; ja 0x92fc +mov ecx, dword [ebp + esi*4 - 0x384] +movzx eax, bl +inc ebx +mov dword [ebp + eax*4 - 0x384], ecx +mov cl, byte [ebp + esi - 0x3d4] +mov byte [ebp + eax - 0x3d4], cl +jmp short loc_000092d4 ; jmp 0x92d4 + +loc_000092fc: +inc byte [ebp - 0x3ec] +jmp near loc_00009211 ; jmp 0x9211 + +loc_00009307: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000930f: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +lea ebx, [eax + 0x814] +mov eax, esi +movzx edx, al +shl edx, 0x13 +or edx, 0x2840000 +push edx +push ebx +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +pop eax +pop edx +shr esi, 6 +push 0 +push ebx +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp + 0xc] +mov edx, esi +and edx, 0x3f +add esp, 0x10 +mov byte [eax], dl +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000936b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +cmp bl, 9 +ja short loc_000093b7 ; ja 0x93b7 +movzx ebx, bl +jmp dword [ebx*4 + ref_00020340] ; ujmp: jmp dword [ebx*4 + 0x20340] + +loc_0000938c: +mov ecx, 0xffffff38 +jmp near loc_0000944c ; jmp 0x944c + +loc_00009396: +mov ecx, 0xffffff83 +jmp near loc_0000944c ; jmp 0x944c + +loc_000093a0: +xor ecx, ecx +jmp near loc_0000944c ; jmp 0x944c + +loc_000093a7: +mov ecx, 0xffffff83 +jmp short loc_000093dc ; jmp 0x93dc + +loc_000093ae: +xor ecx, ecx +mov eax, 0xffffff5a +jmp short loc_000093ed ; jmp 0x93ed + +loc_000093b7: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000093e3 ; je 0x93e3 +movzx ebx, bl +push eax +push ebx +push ref_00021e93 ; push 0x21e93 +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_000093e3 ; jmp 0x93e3 + +loc_000093d6: +xor ecx, ecx +jmp short loc_000093e8 ; jmp 0x93e8 + +loc_000093da: +xor ecx, ecx + +loc_000093dc: +mov eax, 0xffffff83 +jmp short loc_000093ed ; jmp 0x93ed + +loc_000093e3: +mov ecx, 0xffffff38 + +loc_000093e8: +mov eax, 0xffffff9c + +loc_000093ed: +neg eax + +loc_000093ef: +mov ebx, ecx +mov edx, esi +movzx edx, dl +neg ebx +test ecx, ecx +cmove ebx, ecx +mov ecx, 0x3e8 +imul eax, edx +imul ebx, edx +cdq +idiv ecx +cmp edx, 0x1f4 +setge dl +add eax, edx +mov byte [edi], al +mov eax, ebx +cdq +idiv ecx +cmp edx, 0x1f4 +mov edx, esi +setge bl +add ebx, eax +mov eax, dword [ebp + 0x18] +mov byte [eax], bl +mov eax, dword [ebp + 0x14] +sub dl, byte [edi] +sub edx, ebx +mov byte [eax], dl +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +loc_00009440: +mov ecx, 0xffffff06 +jmp short loc_0000944c ; jmp 0x944c + +loc_00009447: +mov ecx, 0xffffff59 + +loc_0000944c: +xor eax, eax +jmp short loc_000093ef ; jmp 0x93ef + +fcn_00009450: +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x14] +push esi +push ebx +movzx ebx, byte [eax] +mov eax, dword [ebp + 0xc] +or ebx, 0x40000 +movzx eax, byte [eax] +shl eax, 6 +or ebx, eax +mov eax, dword [ebp + 0x10] +movzx eax, byte [eax] +shl eax, 0xc +or ebx, eax +movzx eax, byte [ebp + 8] +shl eax, 0x13 +or ebx, eax +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push ebx +lea esi, [eax + 0x814] +push esi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], 0 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_000094b3: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov bl, byte [ebp + 8] +push ecx +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edx, esi +add esp, 0x10 +shr bl, 1 +test dl, dl +movzx ebx, bl +je short loc_000094f7 ; je 0x94f7 +push edx +push 6 +shl ebx, 5 +push 0xfffffffffffffff9 +lea eax, [eax + ebx + 0x900] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +loc_000094f7: +shl ebx, 5 +lea eax, [eax + ebx + 0x900] +mov dword [ebp + 0xc], 0xfffffff9 +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018a7a ; jmp 0x18a7a + +fcn_00009516: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_0001c58d ; call 0x1c58d +cmp eax, 0x40660 +je short loc_000095ac ; je 0x95ac +cmp eax, 0x306c0 +je short loc_000095ac ; je 0x95ac +cmp eax, 0x40670 +je short loc_00009554 ; je 0x9554 + +loc_0000953b: +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00009617 ; je 0x9617 +mov dword [ebp + 0xc], ref_00021ede ; mov dword [ebp + 0xc], 0x21ede +jmp near loc_00009605 ; jmp 0x9605 + +loc_00009554: +push edx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +je short loc_0000953b ; je 0x953b + +loc_00009572: +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edx, ebx +add esp, 0xc +and edx, 1 +shl edx, 0x1e +shr bl, 1 +or edx, 0x80000000 +movzx ebx, bl +push edx +shl ebx, 5 +push 0x3fffffff +lea eax, [eax + ebx + 0x80c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +jmp short loc_000095f0 ; jmp 0x95f0 + +loc_000095ac: +cmp eax, 0x40670 +je short loc_00009572 ; je 0x9572 +cmp eax, 0x40660 +je short loc_000095c1 ; je 0x95c1 +cmp eax, 0x306c0 +jne short loc_000095f5 ; jne 0x95f5 + +loc_000095c1: +push 0x1000c +movzx ebx, bl +push 0 +push 2 +push esi +call fcn_0000407d ; call 0x407d +push 0 +push ebx +push 0x1011 +push esi +call fcn_0000407d ; call 0x407d +add esp, 0x20 +push 0 +push 0 +push 3 +push esi +call fcn_0000407d ; call 0x407d + +loc_000095f0: +add esp, 0x10 +jmp short loc_00009617 ; jmp 0x9617 + +loc_000095f5: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00009617 ; je 0x9617 +mov dword [ebp + 0xc], ref_00021f11 ; mov dword [ebp + 0xc], 0x21f11 + +loc_00009605: +mov dword [ebp + 8], 2 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_000153f7 ; jmp 0x153f7 + +loc_00009617: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000961e: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +call fcn_0001c58d ; call 0x1c58d +mov ebx, eax +call fcn_0001c5b4 ; call 0x1c5b4 +cmp ebx, 0x40670 +je short loc_0000963e ; je 0x963e + +loc_0000963a: +xor edx, edx +jmp short loc_000096a9 ; jmp 0x96a9 + +loc_0000963e: +mov edx, 0x80000003 +test eax, eax +je short loc_000096a9 ; je 0x96a9 +mov eax, esi +xor ebx, ebx +test al, al +je short loc_0000967c ; je 0x967c + +loc_0000964f: +push esi +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x10 +lea eax, [eax + ebx + 0x90c] +add ebx, 0x20 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp ebx, 0x100 +jne short loc_0000964f ; jne 0x964f +jmp short loc_0000963a ; jmp 0x963a + +loc_0000967c: +push eax +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0xffffffffffffffef +lea eax, [eax + ebx + 0x90c] +add ebx, 0x20 +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +cmp ebx, 0x100 +jne short loc_0000967c ; jne 0x967c +jmp short loc_0000963a ; jmp 0x963a + +loc_000096a9: +lea esp, [ebp - 8] +mov eax, edx +pop ebx +pop esi +pop ebp +ret + +fcn_000096b2: +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +push esi +movzx esi, byte [ebp + 8] +push ebx +mov ebx, dword [ebp + 0x14] +sub esp, 0xc +shl eax, 6 +or eax, dword [ebp + 0x10] +shl ebx, 6 +or ebx, dword [ebp + 0x18] +push eax +push 0x31 +push esi +push 1 +push 0 +call fcn_00002974 ; call 0x2974 +add esp, 0x20 +mov dword [ebp + 0x18], ebx +mov dword [ebp + 0x10], esi +mov dword [ebp + 0x14], 0x32 +mov dword [ebp + 0xc], 1 +mov dword [ebp + 8], 0 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00002974 ; jmp 0x2974 + +fcn_00009706: +push ebp +mov ebp, esp +push ebx +push eax +movzx ebx, byte [ebp + 8] +push 0x31 +push ebx +push 1 +push 0 +call fcn_000029f2 ; call 0x29f2 +mov edx, dword [ebp + 0x10] +mov ecx, eax +and ecx, 0x3f +mov dword [edx], ecx +mov edx, dword [ebp + 0xc] +shr eax, 6 +and eax, 3 +mov dword [edx], eax +push 0x32 +push ebx +push 1 +push 0 +call fcn_000029f2 ; call 0x29f2 +mov edx, dword [ebp + 0x18] +add esp, 0x20 +mov ecx, eax +and ecx, 0x3f +mov dword [edx], ecx +mov edx, dword [ebp + 0x14] +shr eax, 6 +and eax, 3 +mov dword [edx], eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00009759: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 8 +mov ecx, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edx, dword [ebp + 0x14] +cmp ecx, 0x20 +jne short loc_0000977e ; jne 0x977e +mov dword [ebx], 0 +mov dword [edx], 0x20 +jmp short loc_000097d1 ; jmp 0x97d1 + +loc_0000977e: +mov eax, 0 +jbe short loc_000097a2 ; jbe 0x97a2 +lea esi, [ecx - 0x20] + +loc_00009788: +mov ecx, dword [ebp + 8] +mov edi, esi +sub ecx, eax +shl edi, cl +mov ecx, edi +add ecx, 0x20 +lea edi, [eax + 1] +cmp ecx, 0x3f +jle short loc_000097cd ; jle 0x97cd +mov eax, edi +jmp short loc_00009788 ; jmp 0x9788 + +loc_000097a2: +mov esi, 0x20 +mov edi, esi +sub edi, ecx +mov dword [ebp - 0x14], edi + +loc_000097ae: +mov ecx, dword [ebp + 8] +mov edi, dword [ebp - 0x14] +sub ecx, eax +shl edi, cl +mov ecx, edi +lea edi, [eax + 1] +mov dword [ebp - 0x10], edi +mov edi, esi +sub edi, ecx +mov ecx, edi +jns short loc_000097cd ; jns 0x97cd +mov eax, dword [ebp - 0x10] +jmp short loc_000097ae ; jmp 0x97ae + +loc_000097cd: +mov dword [ebx], eax +mov dword [edx], ecx + +loc_000097d1: +pop eax +pop edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000097d8: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 0xc] +lea eax, [ebp - 8] +push eax +lea eax, [ebp - 0xc] +push eax +push ebx +push dword [ebp + 8] +call fcn_00009759 ; call 0x9759 +add esp, 0x10 +cmp ebx, 0x20 +jbe short loc_0000981b ; jbe 0x981b +mov eax, dword [ebp - 0xc] +test eax, eax +jne short loc_0000980a ; jne 0x980a + +loc_00009802: +mov eax, dword [ebp - 8] +sub eax, 0x20 +jmp short loc_00009832 ; jmp 0x9832 + +loc_0000980a: +mov edx, dword [ebp - 8] +add eax, 0xfffffff +shl eax, 4 +lea eax, [edx + eax - 0x10] +jmp short loc_00009832 ; jmp 0x9832 + +loc_0000981b: +je short loc_00009830 ; je 0x9830 +mov eax, dword [ebp - 0xc] +test eax, eax +je short loc_00009802 ; je 0x9802 +imul eax, eax, 0xffffffef +mov edx, dword [ebp - 8] +lea eax, [edx + eax - 0x20] +jmp short loc_00009832 ; jmp 0x9832 + +loc_00009830: +xor eax, eax + +loc_00009832: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00009837: +push ebp +mov eax, 0x80000002 +mov ebp, esp +mov edx, dword [ebp + 8] +push esi +push ebx +lea ecx, [edx + 0x53] +cmp ecx, 0xa2 +ja loc_000098f6 ; ja 0x98f6 +cmp edx, 0 +je loc_000098e3 ; je 0x98e3 +lea eax, [edx + 0x20] +mov ebx, 0 +mov edx, eax +jle short loc_000098b1 ; jle 0x98b1 + +loc_00009868: +test ebx, ebx +jne short loc_00009875 ; jne 0x9875 +mov esi, edx +cmp edx, 0x3f +jg short loc_00009897 ; jg 0x9897 +jmp short loc_000098ea ; jmp 0x98ea + +loc_00009875: +mov esi, eax +cmp eax, 0x3f +jg short loc_00009897 ; jg 0x9897 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000098ea ; je 0x98ea +cmp esi, 0x2e +jg short loc_000098ea ; jg 0x98ea +push edx +push ref_00021f2c ; push 0x21f2c +push 0x1ad +jmp short loc_000098d4 ; jmp 0x98d4 + +loc_00009897: +inc ebx +sub eax, 0x10 +cmp ebx, 4 +jne short loc_00009868 ; jne 0x9868 +jmp short loc_000098ea ; jmp 0x98ea + +loc_000098a2: +mov esi, edx +test edx, edx +jns short loc_000098ea ; jns 0x98ea + +loc_000098a8: +inc ebx +add eax, 0x11 +cmp ebx, 4 +je short loc_000098ea ; je 0x98ea + +loc_000098b1: +test ebx, ebx +je short loc_000098a2 ; je 0x98a2 +mov esi, eax +test eax, eax +js short loc_000098a8 ; js 0x98a8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000098ea ; je 0x98ea +cmp esi, 0x11 +jle short loc_000098ea ; jle 0x98ea +push eax +push ref_00021f77 ; push 0x21f77 +push 0x1bc + +loc_000098d4: +push ref_00021f3c ; push 0x21f3c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_000098ea ; jmp 0x98ea + +loc_000098e3: +mov esi, 0x20 +xor ebx, ebx + +loc_000098ea: +mov eax, dword [ebp + 0xc] +mov dword [eax], ebx +mov eax, dword [ebp + 0x10] +mov dword [eax], esi +xor eax, eax + +loc_000098f6: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_000098fd: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x2c +mov eax, dword [ebp + 8] +lea edx, [ebp - 0xc] +mov ebx, dword [ebp + 0xc] +push edx +lea edx, [ebp - 0x10] +push edx +lea edx, [ebp - 0x14] +push edx +lea edx, [ebp - 0x18] +push edx +movzx edx, al +push edx +mov dword [ebp - 0x1c], eax +call fcn_00009706 ; call 0x9706 +mov eax, dword [ebp - 0x1c] +add esp, 0x18 +mov edx, dword [ebp - 0x14] +mov byte [ebx], al +mov eax, dword [ebp - 0x18] +mov dword [ebx + 5], edx +mov dword [ebx + 1], eax +push edx +push eax +call fcn_000097d8 ; call 0x97d8 +mov edx, dword [ebp - 0xc] +mov dword [ebx + 0x11], edx +mov dword [ebx + 9], eax +mov eax, dword [ebp - 0x10] +mov dword [ebx + 0xd], eax +pop ecx +pop esi +push edx +push eax +call fcn_000097d8 ; call 0x97d8 +mov edx, dword [ebx + 9] +mov ecx, 0x4f +mov esi, ecx +add esp, 0x10 +sub esi, edx +sub ecx, eax +cmp esi, ecx +cmovle ecx, esi +mov dword [ebx + 0x19], ecx +mov ecx, 0xffffffad +mov esi, ecx +sub ecx, eax +sub esi, edx +mov dword [ebx + 0x15], eax +cmp esi, ecx +mov eax, ecx +cmovge eax, esi +mov dword [ebx + 0x1d], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00009992: +push ebp +mov ebp, esp +sub esp, 0x14 +mov eax, dword [ebp + 8] +push dword [eax + 0x11] +push dword [eax + 0xd] +push dword [eax + 5] +push dword [eax + 1] +movzx eax, byte [eax] +push eax +call fcn_000096b2 ; call 0x96b2 +add esp, 0x20 +leave +ret + +fcn_000099b5: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 0xc] +lea eax, [ebp - 0x14] +mov esi, dword [ebp + 8] +push eax +lea eax, [ebp - 0x18] +push eax +mov eax, dword [ebx + 9] +add eax, esi +push eax +call fcn_00009837 ; call 0x9837 +add esp, 0x10 +test eax, eax +js short loc_00009a13 ; js 0x9a13 +push eax +lea eax, [ebp - 0xc] +push eax +lea eax, [ebp - 0x10] +push eax +add esi, dword [ebx + 0x15] +push esi +call fcn_00009837 ; call 0x9837 +add esp, 0x10 +test eax, eax +js short loc_00009a13 ; js 0x9a13 +sub esp, 0xc +push dword [ebp - 0xc] +push dword [ebp - 0x10] +push dword [ebp - 0x14] +push dword [ebp - 0x18] +movzx eax, byte [ebx] +push eax +call fcn_000096b2 ; call 0x96b2 +add esp, 0x20 +xor eax, eax + +loc_00009a13: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00009a1a: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 1 +mov edx, dword [ebp + 0x14] +mov al, byte [ebp + 0xc] +mov esi, dword [ebp + 8] +mov byte [edx], 0 +mov byte [ebp - 0xd], al + +loc_00009a32: +mov eax, esi +sub eax, dword [ebp + 8] +cmp al, byte [ebp - 0xd] +jae short loc_00009a62 ; jae 0x9a62 +mov al, byte [esi] +xor edi, edi +movzx ecx, byte [edx] +shr al, 1 + +loc_00009a45: +mov ebx, edi +cmp cl, bl +jbe short loc_00009a57 ; jbe 0x9a57 +mov ebx, dword [ebp + 0x10] +inc edi +cmp byte [ebx + edi - 1], al +jne short loc_00009a45 ; jne 0x9a45 +jmp short loc_00009a5f ; jmp 0x9a5f + +loc_00009a57: +mov ebx, dword [ebp + 0x10] +mov byte [ebx + ecx], al +inc byte [edx] + +loc_00009a5f: +inc esi +jmp short loc_00009a32 ; jmp 0x9a32 + +loc_00009a62: +add esp, 1 +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00009a6c: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov eax, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +lea edx, [ebp - 0x21] +push edx +mov ebx, dword [ebp + 0x14] +lea edx, [ebp - 0x20] +mov esi, dword [ebp + 0x18] +push edx +mov byte [ebp - 0x29], al +movzx eax, al +push eax +push dword [ebp + 8] +mov dword [ebp - 0x34], edi +mov edi, dword [ebp + 0x1c] +mov dword [ebp - 0x38], ebx +mov byte [ebp - 0x21], 0 +mov dword [ebp - 0x3c], edi +call fcn_00009a1a ; call 0x9a1a +add esp, 0xc +push 0 +push 1 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edx, dword [ebp + 8] +add esp, 0x10 +mov ebx, eax +lea edi, [eax + 0xa00] + +loc_00009ac4: +mov al, byte [ebp + 8] +mov byte [ebp - 0x30], al +mov al, dl +sub eax, dword [ebp + 8] +cmp al, byte [ebp - 0x29] +jae short loc_00009af5 ; jae 0x9af5 +push ecx +push ecx +push 0xfffffbff +movzx eax, byte [edx] +mov dword [ebp - 0x30], edx +shl eax, 4 +add eax, edi +push eax +call fcn_00018a7a ; call 0x18a7a +mov edx, dword [ebp - 0x30] +add esp, 0x10 +inc edx +jmp short loc_00009ac4 ; jmp 0x9ac4 + +loc_00009af5: +movzx eax, byte [ebp - 0x34] +shl esi, 0x1c +xor edx, edx +movzx edi, byte [ebp - 0x38] +shl eax, 0xa +or esi, eax +shl edi, 0xb + +loc_00009b0a: +cmp dl, byte [ebp - 0x21] +jae short loc_00009b56 ; jae 0x9b56 +movzx eax, dl +movzx ecx, byte [ebp + eax - 0x20] +mov dword [ebp - 0x38], edx +push edx +push esi +shl ecx, 5 +add ecx, ebx +push 0xeffc03ff +lea eax, [ecx + 0x900] +push eax +mov dword [ebp - 0x34], ecx +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp - 0x34] +add esp, 0xc +push edi +push 0xfffe07ff +add ecx, 0x90c +push ecx +call fcn_00018aa4 ; call 0x18aa4 +mov edx, dword [ebp - 0x38] +add esp, 0x10 +inc edx +jmp short loc_00009b0a ; jmp 0x9b0a + +loc_00009b56: +add ebx, 0xa00 +mov esi, dword [ebp + 8] +cmp byte [ebp - 0x3c], 0 +je short loc_00009b8b ; je 0x9b8b + +loc_00009b65: +mov eax, esi +sub eax, dword [ebp - 0x30] +cmp al, byte [ebp - 0x29] +jae short loc_00009b8b ; jae 0x9b8b +push eax +inc esi +push eax +push 0x400 +movzx eax, byte [esi - 1] +shl eax, 4 +add eax, ebx +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +jmp short loc_00009b65 ; jmp 0x9b65 + +loc_00009b8b: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00009b95: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov edi, dword [ebp + 8] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x10] +test al, al +je short loc_00009bda ; je 0x9bda +mov esi, eax +mov eax, ref_00026e4c ; mov eax, 0x26e4c + +loc_00009bb5: +mov dl, byte [eax + 1] +movzx ecx, byte [eax] +movzx ebx, byte [eax + 3] +mov byte [ebp - 0x1d], dl +mov edx, esi +cmp byte [eax + 2], dl +je short loc_00009be6 ; je 0x9be6 +add eax, 4 +cmp eax, ref_00026eac ; cmp eax, 0x26eac +jne short loc_00009bb5 ; jne 0x9bb5 +mov eax, 0x80000002 +jmp short loc_00009bff ; jmp 0x9bff + +loc_00009bda: +push edx +push edx +push 0 +push 0 +push 0 +push 0 +jmp short loc_00009bf1 ; jmp 0x9bf1 + +loc_00009be6: +push eax +movzx edx, byte [ebp - 0x1d] +push eax +push 1 +push ebx +push ecx +push edx + +loc_00009bf1: +movzx eax, byte [ebp - 0x1c] +push eax +push edi +call fcn_00009a6c ; call 0x9a6c +add esp, 0x20 + +loc_00009bff: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00009c07: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +lea ebx, [esi + 0x2338] + +loc_00009c15: +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009c15 ; jne 0x9c15 +push eax +push eax +push dword [ebp + 0xc] +lea eax, [esi + 0x2330] +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0xc +push 0x700 +push 0xff +push ebx +call fcn_000188bd ; call 0x188bd +lea eax, [esi + 0x2334] +add esi, 0x233a +pop edx +pop ecx +push dword [ebp + 0x10] +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0xf000 +push esi +call fcn_00017d40 ; call 0x17d40 +pop ecx +pop esi +push 1 +push ebx +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00009c7a: +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009c7a ; jne 0x9c7a +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +and eax, 6 +cmp al, 1 +sbb eax, eax +not eax +lea esp, [ebp - 8] +and eax, 0x80000007 +pop ebx +pop esi +pop ebp +ret + +fcn_00009cab: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +lea ebx, [esi + 0x2338] + +loc_00009cb9: +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009cb9 ; jne 0x9cb9 +push eax +push eax +push dword [ebp + 0xc] +lea eax, [esi + 0x2330] +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0xc +push 0x600 +push 0xff +push ebx +call fcn_000188bd ; call 0x188bd +lea eax, [esi + 0x233a] +pop edx +pop ecx +push 0xf000 +push eax +call fcn_00017d40 ; call 0x17d40 +pop eax +pop edx +push 1 +push ebx +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00009d0d: +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009d0d ; jne 0x9d0d +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov edx, 0x80000007 +test al, 6 +jne short loc_00009d4b ; jne 0x9d4b +sub esp, 0xc +add esi, 0x2334 +push esi +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp + 0x10] +add esp, 0x10 +mov dword [edx], eax +xor edx, edx + +loc_00009d4b: +lea esp, [ebp - 8] +mov eax, edx +pop ebx +pop esi +pop ebp +ret + +fcn_00009d54: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov esi, dword [ebp + 0xc] +lea eax, [ebp - 0x1c] +mov edi, dword [ebp + 0x14] +push eax +push esi +push dword [ebp + 8] +call fcn_00009cab ; call 0x9cab +add esp, 0x10 +mov ebx, eax +test eax, eax +jns short loc_00009dd2 ; jns 0x9dd2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00009d9c ; je 0x9d9c +sub esp, 0xc +push edi +push dword [ebp + 0x10] +push esi +push ref_00021f87 ; push 0x21f87 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00009d9c: +call fcn_000153f0 ; call 0x153f0 +mov edx, ebx +test al, al +je loc_00009e55 ; je 0x9e55 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00009dc8 ; je 0x9dc8 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00009dc8: +push esi +push ref_00020664 ; push 0x20664 +push 0x34 +jmp short loc_00009e46 ; jmp 0x9e46 + +loc_00009dd2: +mov eax, dword [ebp + 0x10] +and eax, dword [ebp - 0x1c] +push ecx +or eax, edi +push eax +push esi +push dword [ebp + 8] +mov dword [ebp - 0x1c], eax +call fcn_00009c07 ; call 0x9c07 +add esp, 0x10 +mov ebx, eax +mov edx, eax +test eax, eax +jns short loc_00009e55 ; jns 0x9e55 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00009e16 ; je 0x9e16 +sub esp, 0xc +push edi +push dword [ebp + 0x10] +push esi +push ref_00021ff4 ; push 0x21ff4 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00009e16: +call fcn_000153f0 ; call 0x153f0 +mov edx, ebx +test al, al +je short loc_00009e55 ; je 0x9e55 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00009e3e ; je 0x9e3e +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00009e3e: +push eax +push ref_00020664 ; push 0x20664 +push 0x40 + +loc_00009e46: +push ref_00021fc0 ; push 0x21fc0 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +mov edx, ebx + +loc_00009e55: +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00009e5f: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0x14] +lea esi, [ebx + 0x2338] + +loc_00009e74: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009e74 ; jne 0x9e74 +push ecx +push ecx +push dword [ebp + 0xc] +lea eax, [ebx + 0x2330] +push eax +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp + 0x10] +add esp, 0xc +shl eax, 8 +movzx eax, ax +push eax +push 0xff +push esi +call fcn_000188bd ; call 0x188bd +pop eax +mov eax, edi +pop edx +movzx edi, al +or edi, 0xf000 +lea eax, [ebx + 0x233a] +push edi +push eax +call fcn_00017d40 ; call 0x17d40 +mov eax, dword [ebp + 0x10] +add esp, 0x10 +lea ecx, [eax - 1] +cmp ecx, 6 +ja short loc_00009ef6 ; ja 0x9ef6 +mov eax, 1 +shl eax, cl +test al, 0x55 +je short loc_00009ef6 ; je 0x9ef6 +mov eax, dword [ebp + 0x18] +push edx +push edx +push dword [eax] +lea eax, [ebx + 0x2334] +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00009ef6: ; not directly referenced +push eax +push eax +push 1 +push esi +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00009f03: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00009f03 ; jne 0x9f03 +sub esp, 0xc +push esi +mov esi, 0x80000007 +call fcn_00017cc7 ; call 0x17cc7 +mov edx, dword [ebp + 0x1c] +add esp, 0x10 +and eax, 6 +mov byte [edx], al +test al, al +jne short loc_00009f5d ; jne 0x9f5d +xor esi, esi +cmp dword [ebp + 0x10], 6 +ja short loc_00009f5d ; ja 0x9f5d +mov cl, byte [ebp + 0x10] +mov eax, 1 +shl eax, cl +test al, 0x55 +je short loc_00009f5d ; je 0x9f5d +sub esp, 0xc +add ebx, 0x2334 +push ebx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp + 0x18] +add esp, 0x10 +mov dword [edx], eax + +loc_00009f5d: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00009f67: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov al, byte [ebp + 0x14] +mov byte [ebp - 0x19], al +movzx eax, byte [ebp + 0x10] +push eax +movzx eax, byte [ebp + 0xc] +push eax +movzx eax, byte [ebp + 8] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0xe] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +mov edx, 0x14 +and eax, 0x7f +cmp al, 2 +mov eax, 0x34 +cmovne edx, eax +add edx, esi +mov dword [esp], edx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +xor ecx, ecx +mov bl, al +and ebx, 0xfffffffc + +loc_00009fbd: ; not directly referenced +test bl, bl +je short loc_00009ff7 ; je 0x9ff7 +inc cl +je short loc_00009ff7 ; je 0x9ff7 +movzx edi, bl +sub esp, 0xc +add edi, esi +push edi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, byte [ebp - 0x19] +mov cl, al +mov dword [ebp - 0x20], ecx +je short loc_00009ffb ; je 0x9ffb +sub esp, 0xc +inc edi +push edi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov ecx, dword [ebp - 0x20] +mov bl, al +and ebx, 0xfffffffc +jmp short loc_00009fbd ; jmp 0x9fbd + +loc_00009ff7: ; not directly referenced +xor eax, eax +jmp short loc_00009ffd ; jmp 0x9ffd + +loc_00009ffb: ; not directly referenced +mov al, bl + +loc_00009ffd: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a005: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +xor esi, esi +push ebx +mov ebx, 0x100 +sub esp, 0x20 +mov eax, dword [ebp + 0x14] +mov word [ebp - 0x1e], ax +movzx eax, byte [ebp + 0x10] +push eax +movzx eax, byte [ebp + 0xc] +push eax +movzx eax, byte [ebp + 8] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov dword [ebp - 0x1c], eax + +loc_0000a036: ; not directly referenced +test bx, bx +je short loc_0000a076 ; je 0xa076 +inc si +je short loc_0000a076 ; je 0xa076 +mov eax, dword [ebp - 0x1c] +movzx ecx, bx +sub esp, 0xc +lea edi, [ecx + eax] +push edi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov esi, eax +cmp ax, word [ebp - 0x1e] +je short loc_0000a07a ; je 0xa07a +sub esp, 0xc +lea ecx, [edi + 2] +push ecx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov ebx, eax +shr bx, 4 +and ebx, 0xfffffffc +jmp short loc_0000a036 ; jmp 0xa036 + +loc_0000a076: ; not directly referenced +xor eax, eax +jmp short loc_0000a07c ; jmp 0xa07c + +loc_0000a07a: ; not directly referenced +mov eax, ebx + +loc_0000a07c: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a084: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +mov edi, dword [ebp + 0x1c] +movzx edx, byte [ebp + 0x10] +movzx esi, byte [ebp + 8] +mov eax, dword [ebp + 0x14] +mov dword [ebp - 0x20], edi +movzx edi, byte [ebp + 0xc] +mov ebx, dword [ebp + 0x18] +push edx +push edi +push esi +mov dword [ebp - 0x30], edx +mov dword [ebp - 0x1c], eax +mov byte [ebp - 0x24], al +mov byte [ebp - 0x28], bl +call fcn_00016bd6 ; call 0x16bd6 +mov edx, dword [ebp - 0x30] +push 2 +push edx +push edi +push esi +mov dword [ebp - 0x2c], eax +call fcn_0000a005 ; call 0xa005 +add esp, 0x20 +mov edx, 0x80000003 +mov ecx, dword [ebp - 0x2c] +test ax, ax +je loc_0000a1a8 ; je 0xa1a8 +movzx eax, ax +lea esi, [ecx + eax + 0x14] +push eax +push 1 +push 0xf0 +push esi +call fcn_000186c6 ; call 0x186c6 +mov cl, byte [ebp - 0x20] +mov eax, 1 +pop edx +shl eax, cl +pop ecx +movzx eax, al +mov dword [ebp - 0x20], eax +push eax +push esi +movzx esi, bl +call fcn_00017ce1 ; call 0x17ce1 +movzx edi, byte [ebp - 0x1c] +add esp, 0xc +push 0 +push esi +push edi +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1c], 0 +mov bl, al +movzx eax, byte [ebp - 0x28] +sar bl, 7 +and ebx, 7 +mov dword [ebp - 0x28], eax +movzx eax, byte [ebp - 0x24] +mov dword [ebp - 0x24], eax + +loc_0000a146: ; not directly referenced +movzx edx, byte [ebp - 0x1c] +push eax +push edx +push esi +push edi +mov dword [ebp - 0x30], edx +call fcn_00016bd6 ; call 0x16bd6 +mov edx, dword [ebp - 0x30] +push 2 +push edx +push dword [ebp - 0x28] +push dword [ebp - 0x24] +mov dword [ebp - 0x2c], eax +call fcn_0000a005 ; call 0xa005 +add esp, 0x20 +mov ecx, dword [ebp - 0x2c] +test ax, ax +je short loc_0000a19e ; je 0xa19e +movzx eax, ax +lea edx, [ecx + eax + 0x14] +push eax +push 1 +push 0xf0 +push edx +mov dword [ebp - 0x2c], edx +call fcn_000186c6 ; call 0x186c6 +pop edx +mov edx, dword [ebp - 0x2c] +pop ecx +push dword [ebp - 0x20] +push edx +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0x10 + +loc_0000a19e: ; not directly referenced +inc byte [ebp - 0x1c] +cmp byte [ebp - 0x1c], bl +jbe short loc_0000a146 ; jbe 0xa146 +xor edx, edx + +loc_0000a1a8: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a1b2: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x40 +mov eax, dword [ebp + 8] +movzx ecx, byte [ebp + 0x10] +movzx esi, byte [ebp + 0xc] +mov ebx, dword [ebp + 0x14] +mov edx, eax +mov dword [ebp - 0x2c], eax +mov eax, dword [ebp + 0x18] +movzx edi, dl +push ecx +push esi +push edi +mov dword [ebp - 0x24], ecx +mov dword [ebp - 0x1c], eax +mov byte [ebp - 0x38], bl +mov byte [ebp - 0x3c], al +call fcn_00016bd6 ; call 0x16bd6 +mov ecx, dword [ebp - 0x24] +push 0x10 +push ecx +push esi +push edi +mov dword [ebp - 0x20], eax +call fcn_00009f67 ; call 0x9f67 +add esp, 0x20 +test al, al +jne short loc_0000a209 ; jne 0xa209 + +loc_0000a1ff: ; not directly referenced +mov eax, 0x80000003 +jmp near loc_0000a374 ; jmp 0xa374 + +loc_0000a209: ; not directly referenced +movzx eax, al +sub esp, 0xc +add eax, dword [ebp - 0x20] +lea esi, [eax + 0x12] +push esi +mov dword [ebp - 0x28], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 0x10 +je short loc_0000a1ff ; je 0xa1ff +movzx eax, byte [ebp - 0x1c] +movzx edx, bl +push ecx +push 0 +push eax +push edx +mov dword [ebp - 0x34], edx +mov dword [ebp - 0x30], eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 0xe] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1c], al +sar byte [ebp - 0x1c], 7 +and byte [ebp - 0x1c], 7 +cmp byte [ebp - 0x2c], 0 +jne short loc_0000a298 ; jne 0xa298 +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x8086 +jne short loc_0000a298 ; jne 0xa298 +sub esp, 0xc +add ebx, 2 +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x93c +jne short loc_0000a298 ; jne 0xa298 +push eax +push eax +mov eax, dword [ebp - 0x20] +push 0x40 +add eax, 0x70 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_0000a298: ; not directly referenced +movzx eax, byte [ebp - 0x3c] +xor ebx, ebx +mov byte [ebp - 0x24], 0 +mov dword [ebp - 0x3c], eax +movzx eax, byte [ebp - 0x38] +mov dword [ebp - 0x40], eax + +loc_0000a2ac: ; not directly referenced +push edi +movzx edi, byte [ebp - 0x24] +push edi +push dword [ebp - 0x30] +push dword [ebp - 0x34] +call fcn_00016bd6 ; call 0x16bd6 +push 0x10 +push edi +push dword [ebp - 0x3c] +push dword [ebp - 0x40] +mov dword [ebp - 0x38], eax +call fcn_00009f67 ; call 0x9f67 +add esp, 0x20 +test al, al +je short loc_0000a31a ; je 0xa31a +mov edi, dword [ebp - 0x38] +movzx eax, al +sub esp, 0xc +add edi, eax +lea eax, [edi + 0x12] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 0x10 +je short loc_0000a31a ; je 0xa31a +test bl, bl +jne short loc_0000a308 ; jne 0xa308 +mov eax, dword [ebp - 0x28] +push ebx +push ebx +push 0x40 +add eax, 0x10 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000a308: ; not directly referenced +push ecx +add edi, 0x10 +push ecx +mov bl, 1 +push 0x40 +push edi +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000a31a: ; not directly referenced +inc byte [ebp - 0x24] +mov al, byte [ebp - 0x1c] +cmp byte [ebp - 0x24], al +jbe short loc_0000a2ac ; jbe 0xa2ac +cmp bl, 1 +sbb ebx, ebx +and ebx, 0x80000003 +cmp byte [ebp - 0x2c], 0 +jne short loc_0000a34e ; jne 0xa34e +mov eax, dword [ebp - 0x20] +push edx +push edx +push 0x1040 +add eax, 0xd4 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_0000a34e: ; not directly referenced +push eax +push eax +mov eax, dword [ebp - 0x28] +push 0x20 +add eax, 0x10 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000a361: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 8 +jne short loc_0000a361 ; jne 0xa361 +mov eax, ebx + +loc_0000a374: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a37c: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +mov byte [ebp - 0x24], bl +mov dword [ebp - 0x28], esi +mov byte [ebp - 0x20], al +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 2 +je short loc_0000a3e0 ; je 0xa3e0 + +loc_0000a3a4: ; not directly referenced +movzx edi, byte [ebp - 0x1c] +movzx esi, bl +xor ebx, ebx +push ecx +push 0 +push edi +push esi +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1c], al +movzx eax, byte [ebp - 0x20] +sar byte [ebp - 0x1c], 7 +and byte [ebp - 0x1c], 7 +mov dword [ebp - 0x20], eax +movzx eax, byte [ebp - 0x24] +mov dword [ebp - 0x24], eax +jmp short loc_0000a447 ; jmp 0xa447 + +loc_0000a3e0: ; not directly referenced +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edi, eax +lea eax, [eax + 0xf0] +add edi, 0x48 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], edi +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +mov edi, eax +pop eax +and edi, 0xfffc +movzx eax, byte [ebp - 0x28] +pop edx +push eax +mov eax, esi +and eax, 0xffffc000 +push eax +call fcn_0001c307 ; call 0x1c307 +movzx eax, al +lea eax, [edi + eax*8 + 0x190] +mov dword [esp], eax +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +test al, 1 +je loc_0000a3a4 ; je 0xa3a4 +jmp near loc_0000a4e9 ; jmp 0xa4e9 + +loc_0000a447: ; not directly referenced +push 0x10 +movzx ecx, bl +push ecx +push dword [ebp - 0x20] +push dword [ebp - 0x24] +mov dword [ebp - 0x28], ecx +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +mov ecx, dword [ebp - 0x28] +test al, al +mov dl, al +jne short loc_0000a471 ; jne 0xa471 + +loc_0000a467: ; not directly referenced +inc ebx +cmp bl, byte [ebp - 0x1c] +jbe short loc_0000a447 ; jbe 0xa447 +xor ebx, ebx +jmp short loc_0000a4a1 ; jmp 0xa4a1 + +loc_0000a471: ; not directly referenced +push eax +push ecx +push edi +push esi +mov dword [ebp - 0x28], edx +call fcn_00016bd6 ; call 0x16bd6 +mov edx, dword [ebp - 0x28] +movzx edx, dl +lea eax, [eax + edx + 0xc] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x40000 +jne short loc_0000a467 ; jne 0xa467 +jmp short loc_0000a4e9 ; jmp 0xa4e9 + +loc_0000a49b: ; not directly referenced +inc ebx +cmp bl, byte [ebp - 0x1c] +ja short loc_0000a4e9 ; ja 0xa4e9 + +loc_0000a4a1: ; not directly referenced +push 0x10 +movzx ecx, bl +push ecx +push dword [ebp - 0x20] +push dword [ebp - 0x24] +mov dword [ebp - 0x28], ecx +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +mov ecx, dword [ebp - 0x28] +test al, al +mov dl, al +je short loc_0000a49b ; je 0xa49b +push eax +push ecx +push edi +push esi +mov dword [ebp - 0x28], edx +call fcn_00016bd6 ; call 0x16bd6 +pop edx +mov edx, dword [ebp - 0x28] +pop ecx +movzx edx, dl +push 0x100 +lea eax, [eax + edx + 0x10] +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +jmp short loc_0000a49b ; jmp 0xa49b + +loc_0000a4e9: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a4f1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +mov edx, dword [ebp + 0xc] +mov eax, dword [ebp + 8] +mov bl, byte [ebp + 0x14] +push 0 +mov byte [ebp - 0x24], dl +movzx edx, dl +movzx edi, al +push edx +push edi +mov byte [ebp - 0x1a], bl +mov dword [ebp - 0x20], edx +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x19], 0 +mov dword [ebp - 0x28], edi +mov bl, al +movzx eax, byte [ebp - 0x24] +sar bl, 7 +and ebx, 7 +mov dword [ebp - 0x24], eax + +loc_0000a53f: ; not directly referenced +push ecx +movzx ecx, byte [ebp - 0x19] +push ecx +push dword [ebp - 0x20] +mov dword [ebp - 0x2c], ecx +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_0000a5c3 ; je 0xa5c3 +mov ecx, dword [ebp - 0x2c] +push 0x10 +push ecx +push dword [ebp - 0x24] +push dword [ebp - 0x28] +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +test al, al +je short loc_0000a5c3 ; je 0xa5c3 +cmp byte [ebp - 0x1a], 1 +movzx eax, al +jne short loc_0000a5a5 ; jne 0xa5a5 +push edx +mov edx, dword [ebp + 0x10] +lea eax, [esi + eax + 8] +mov cx, word [edx] +shl ecx, 5 +movzx ecx, cx +push ecx +push 0xff1f +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +jmp short loc_0000a5c3 ; jmp 0xa5c3 + +loc_0000a5a5: ; not directly referenced +sub esp, 0xc +lea eax, [esi + eax + 4] +push eax +call fcn_00017cfe ; call 0x17cfe +mov esi, dword [ebp + 0x10] +add esp, 0x10 +and eax, 7 +cmp word [esi], ax +jbe short loc_0000a5c3 ; jbe 0xa5c3 +mov word [esi], ax + +loc_0000a5c3: ; not directly referenced +inc byte [ebp - 0x19] +cmp byte [ebp - 0x19], bl +jbe loc_0000a53f ; jbe 0xa53f +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a5d9: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +movzx eax, byte [ebp + 0x10] +mov esi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0x14] +push eax +movzx eax, byte [ebp + 0xc] +movzx edi, bl +push eax +movzx eax, byte [ebp + 8] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +mov dword [ebp - 0x20], eax +mov eax, esi +movzx esi, al +push esi +push edi +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xe +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +xor ecx, ecx +mov byte [ebp - 0x19], 0 +mov dl, al +sar dl, 7 +and edx, 7 + +loc_0000a62f: ; not directly referenced +movzx eax, byte [ebp - 0x19] +mov dword [ebp - 0x28], edx +push edx +push eax +push esi +push edi +mov dword [ebp - 0x24], ecx +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 0xb] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +mov byte [ebp - 0x1a], al +lea eax, [ebx + 0xa] +add ebx, 9 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +mov dword [esp], ebx +mov byte [ebp - 0x1b], al +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov ecx, dword [ebp - 0x24] +cmp byte [ebp - 0x1b], 0 +mov edx, dword [ebp - 0x28] +jne short loc_0000a68a ; jne 0xa68a +cmp byte [ebp - 0x1a], 8 +jne short loc_0000a68a ; jne 0xa68a +cmp al, 0x20 +je short loc_0000a688 ; je 0xa688 +cmp al, 0x10 +jne short loc_0000a68a ; jne 0xa68a + +loc_0000a688: ; not directly referenced +mov cl, 1 + +loc_0000a68a: ; not directly referenced +inc byte [ebp - 0x19] +cmp byte [ebp - 0x19], dl +jbe short loc_0000a62f ; jbe 0xa62f +test cl, cl +jne short loc_0000a6ab ; jne 0xa6ab +push eax +push eax +mov eax, dword [ebp - 0x20] +push 2 +add eax, 0xd4 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000a6ab: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000a6b5: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000a6f0 ; je 0xa6f0 +mov ax, word [esi] +and eax, 0x1c00 +cmp eax, 0x1400 +jbe short loc_0000a6f0 ; jbe 0xa6f0 +push edx +push ref_0002202e ; push 0x2202e +push 0x275 +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000a6f0: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000a71f ; je 0xa71f +mov eax, ebx +and eax, 0x1c00 +cmp eax, 0x1400 +jbe short loc_0000a71f ; jbe 0xa71f +push eax +push ref_000220c4 ; push 0x220c4 +push 0x276 +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000a71f: ; not directly referenced +mov cx, word [esi] +mov eax, ecx +and ecx, 0x1c00 +sar ecx, 0xa +and eax, 0x3ff +lea ecx, [ecx + ecx*4] +shl eax, cl +test eax, eax +je short loc_0000a757 ; je 0xa757 +mov ecx, ebx +mov edx, ebx +and ecx, 0x1c00 +and edx, 0x3ff +sar ecx, 0xa +lea ecx, [ecx + ecx*4] +shl edx, cl +cmp eax, edx +jle short loc_0000a75a ; jle 0xa75a + +loc_0000a757: ; not directly referenced +mov word [esi], bx + +loc_0000a75a: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000a761: ; not directly referenced +push ebp +mov ecx, 4 +mov ebp, esp +push edi +push esi +mov esi, ref_00020368 ; mov esi, 0x20368 +push ebx +sub esp, 0x6c +mov eax, dword [ebp + 0x28] +mov ebx, dword [ebp + 0x10] +lea edi, [ebp - 0x28] +rep movsd ; rep movsd dword es:[edi], dword ptr [esi] +mov word [ebp - 0x6a], ax +mov al, byte [ebp + 0x4c] +mov byte [ebp - 0x58], bl +mov byte [ebp - 0x6c], al +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x3c], 0 +mov dword [ebp - 0x5c], eax +movzx eax, bl +lea edi, [eax + 1] +mov dword [ebp - 0x64], edi +shl dword [ebp - 0x64], 8 +or dword [ebp - 0x64], eax +mov dword [ebp - 0x54], eax +movzx eax, word [ebp - 0x6a] +mov dword [ebp - 0x70], eax +add eax, 4 +mov dword [ebp - 0x74], eax + +loc_0000a7bb: ; not directly referenced +push eax +push 0 +push dword [ebp - 0x3c] +push dword [ebp - 0x54] +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov ebx, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_0000a7ea ; jne 0xa7ea + +loc_0000a7da: ; not directly referenced +inc dword [ebp - 0x3c] +cmp dword [ebp - 0x3c], 0x20 +jne short loc_0000a7bb ; jne 0xa7bb +xor eax, eax +jmp near loc_0000afa4 ; jmp 0xafa4 + +loc_0000a7ea: ; not directly referenced +sub esp, 0xc +add ebx, 0xe +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x57], 0 +mov byte [ebp - 0x55], al +sar byte [ebp - 0x55], 7 +and byte [ebp - 0x55], 7 + +loc_0000a808: ; not directly referenced +movzx ebx, byte [ebp - 0x57] +push edi +mov esi, dword [ebp - 0x54] +push ebx +push dword [ebp - 0x3c] +push esi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov edi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_0000af84 ; je 0xaf84 +push 0x10 +push ebx +push dword [ebp - 0x3c] +push esi +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +mov byte [ebp - 0x60], al +test al, al +je loc_0000af98 ; je 0xaf98 +sub esp, 0xc +push edi +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x46], ax +lea eax, [edi + 2] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x48], ax +lea eax, [edi + 8] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp dword [ebp - 0x5c], 2 +mov byte [ebp - 0x56], al +jne loc_0000a99e ; jne 0xa99e +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 2 +jne short loc_0000a8bf ; jne 0xa8bf +cmp word [ebp - 0x46], 0x8086 +jne short loc_0000a8bf ; jne 0xa8bf +sub esp, 0xc +lea eax, [edi + 0xa] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x280 +jne short loc_0000a8bf ; jne 0xa8bf +mov eax, dword [ebp + 8] +push esi +push esi +push 0xfc +add eax, 0x418 +push eax +call fcn_00018699 ; call 0x18699 +add esp, 0x10 + +loc_0000a8bf: ; not directly referenced +mov eax, dword [ebp - 0x48] +xor ecx, ecx +sub ax, 0x8b1 +mov word [ebp - 0x40], ax + +loc_0000a8cc: ; not directly referenced +movzx edx, cl +cmp edx, dword [ebp + 0x14] +jae short loc_0000a945 ; jae 0xa945 +imul edx, edx, 0x18 +add edx, dword [ebp + 0x18] +mov esi, edx +test byte [edx + 8], 2 +je short loc_0000a942 ; je 0xa942 +mov ax, word [ebp - 0x46] +cmp ax, word [edx] +jne short loc_0000a942 ; jne 0xa942 +mov eax, dword [ebp - 0x48] +cmp ax, word [edx + 2] +jne short loc_0000a942 ; jne 0xa942 +mov al, byte [edx + 4] +cmp byte [ebp - 0x56], al +je short loc_0000a900 ; je 0xa900 +inc al +jne short loc_0000a942 ; jne 0xa942 + +loc_0000a900: ; not directly referenced +cmp word [ebp - 0x46], 0x8086 +je short loc_0000a91d ; je 0xa91d + +loc_0000a908: ; not directly referenced +mov ax, word [esi + 0xa] +mov ecx, dword [esi + 0xc] +mov word [ebp - 0x40], ax +mov dword [ebp - 0x50], ecx +test ax, ax +jne short loc_0000a974 ; jne 0xa974 +jmp short loc_0000a94c ; jmp 0xa94c + +loc_0000a91d: ; not directly referenced +cmp word [ebp - 0x40], 3 +mov dword [ebp - 0x44], ecx +ja short loc_0000a908 ; ja 0xa908 +movzx eax, word [esi + 0xa] +sub esp, 0xc +add eax, edi +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov ecx, dword [ebp - 0x44] +cmp ax, 0xcafe +je short loc_0000a908 ; je 0xa908 + +loc_0000a942: ; not directly referenced +inc ecx +jmp short loc_0000a8cc ; jmp 0xa8cc + +loc_0000a945: ; not directly referenced +mov dword [ebp - 0x50], 0x1f + +loc_0000a94c: ; not directly referenced +push 0x1e +push ebx +push dword [ebp - 0x3c] +push dword [ebp - 0x54] +call fcn_0000a005 ; call 0xa005 +add esp, 0x10 +mov dword [ebp - 0x44], 0 +mov dword [ebp - 0x4c], 0 +mov word [ebp - 0x40], ax +test ax, ax +je short loc_0000a9b9 ; je 0xa9b9 + +loc_0000a974: ; not directly referenced +mov eax, dword [ebp - 0x74] +sub esp, 0xc +add eax, dword [ebp + 8] +push eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x4c], eax +movzx eax, word [ebp - 0x40] +lea eax, [edi + eax + 4] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp - 0x44], eax +jmp short loc_0000a9b9 ; jmp 0xa9b9 + +loc_0000a99e: ; not directly referenced +mov dword [ebp - 0x50], 0x1f +mov dword [ebp - 0x44], 0 +mov dword [ebp - 0x4c], 0 +mov word [ebp - 0x40], 0 + +loc_0000a9b9: ; not directly referenced +movzx esi, byte [ebp - 0x60] +sub esp, 0xc +add esi, edi +lea eax, [esi + 0x24] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x800 +mov dword [ebp - 0x60], eax +je short loc_0000a9e1 ; je 0xa9e1 +mov eax, dword [ebp + 0x3c] +cmp byte [eax + 0x12], 1 +je short loc_0000a9e7 ; je 0xa9e7 + +loc_0000a9e1: ; not directly referenced +mov eax, dword [ebp + 0x48] +mov byte [eax], 0 + +loc_0000a9e7: ; not directly referenced +cmp dword [ebp + 0x20], 1 +ja loc_0000aced ; ja 0xaced +lea eax, [esi + 0xc] +sub esp, 0xc +push eax +mov dword [ebp - 0x60], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x40000 +jne short loc_0000aa10 ; jne 0xaa10 +mov eax, dword [ebp + 0x44] +mov byte [eax], 0 + +loc_0000aa10: ; not directly referenced +sub esp, 0xc +push dword [ebp - 0x60] +call fcn_00017cfe ; call 0x17cfe +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +shr bx, 0xa +add esp, 0x10 +and ebx, 3 +test al, al +je short loc_0000aa46 ; je 0xaa46 +movzx eax, bx +push eax +push dword [ebp - 0x3c] +push ref_0002210b ; push 0x2210b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000aa46: ; not directly referenced +cmp dword [ebp + 0x20], 0 +jne loc_0000aba5 ; jne 0xaba5 +lea eax, [esi + 4] +sub esp, 0xc +push eax +mov dword [ebp - 0x68], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ax, ax +js short loc_0000aa87 ; js 0xaa87 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000aa81 ; je 0xaa81 +push ecx +push ecx +push ref_00022135 ; push 0x22135 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000aa81: ; not directly referenced +mov eax, dword [ebp + 0x40] +mov byte [eax], 1 + +loc_0000aa87: ; not directly referenced +sub esp, 0xc +xor esi, esi +lea eax, [edi + 0xb] +push eax +call fcn_00017cc7 ; call 0x17cc7 +mov byte [ebp - 0x6b], al +lea eax, [edi + 0xa] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 + +loc_0000aaa6: ; not directly referenced +mov ecx, esi +movzx edx, cl +cmp edx, dword [ebp + 0x14] +jae short loc_0000ab03 ; jae 0xab03 +imul edx, edx, 0x18 +add edx, dword [ebp + 0x18] +test byte [edx + 8], 1 +je short loc_0000ab00 ; je 0xab00 +mov cx, word [edx] +cmp cx, word [ebp - 0x46] +je short loc_0000aac9 ; je 0xaac9 +inc cx +jne short loc_0000ab00 ; jne 0xab00 + +loc_0000aac9: ; not directly referenced +mov cx, word [edx + 2] +cmp cx, word [ebp - 0x48] +je short loc_0000aad7 ; je 0xaad7 +inc cx +jne short loc_0000ab00 ; jne 0xab00 + +loc_0000aad7: ; not directly referenced +mov cl, byte [edx + 4] +cmp cl, byte [ebp - 0x56] +je short loc_0000aae3 ; je 0xaae3 +inc cl +jne short loc_0000ab00 ; jne 0xab00 + +loc_0000aae3: ; not directly referenced +mov cl, byte [edx + 5] +cmp cl, byte [ebp - 0x6b] +je short loc_0000aaef ; je 0xaaef +inc cl +jne short loc_0000ab00 ; jne 0xab00 + +loc_0000aaef: ; not directly referenced +mov cl, byte [edx + 6] +cmp cl, al +jne short loc_0000aafc ; jne 0xaafc + +loc_0000aaf6: ; not directly referenced +movzx ebx, byte [edx + 7] +jmp short loc_0000ab03 ; jmp 0xab03 + +loc_0000aafc: ; not directly referenced +inc cl +je short loc_0000aaf6 ; je 0xaaf6 + +loc_0000ab00: ; not directly referenced +inc esi +jmp short loc_0000aaa6 ; jmp 0xaaa6 + +loc_0000ab03: ; not directly referenced +test bl, 2 +je short loc_0000ab54 ; je 0xab54 +mov ecx, dword [ebp + 0xc] +sub esp, 0xc +mov eax, dword [ebp + 8] +lea eax, [eax + ecx + 0xc] +push eax +call fcn_00017d8a ; call 0x17d8a +pop ecx +push dword [ebp - 0x60] +mov esi, eax +call fcn_00017d8a ; call 0x17d8a +and esi, 0x38000 +pop edx +push dword [ebp - 0x68] +and eax, 0x38000 +cmp eax, esi +cmovae esi, eax +call fcn_00017d8a ; call 0x17d8a +shr esi, 6 +mov edx, ebx +and edx, 0xfffffffd +add esp, 0x10 +and eax, 0xe00 +cmp esi, eax +cmova ebx, edx + +loc_0000ab54: ; not directly referenced +test bl, 1 +je short loc_0000aba5 ; je 0xaba5 +mov ecx, dword [ebp + 0xc] +sub esp, 0xc +mov eax, dword [ebp + 8] +lea eax, [eax + ecx + 0xc] +push eax +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +pop eax +and esi, 0x7000 +push dword [ebp - 0x60] +call fcn_00017d8a ; call 0x17d8a +pop edx +push dword [ebp - 0x68] +and eax, 0x7000 +cmp eax, esi +cmovae esi, eax +call fcn_00017d8a ; call 0x17d8a +shr esi, 6 +mov edx, ebx +and edx, 0xfffffffe +add esp, 0x10 +and eax, 0x1c0 +cmp esi, eax +cmova ebx, edx + +loc_0000aba5: ; not directly referenced +mov eax, dword [ebp + 0x1c] +and word [eax], bx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000abca ; je 0xabca +movzx ebx, bx +push ebx +push dword [ebp - 0x3c] +push ref_00022168 ; push 0x22168 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000abca: ; not directly referenced +cmp dword [ebp - 0x5c], 2 +jne short loc_0000ac4a ; jne 0xac4a +cmp word [ebp - 0x40], 0 +je short loc_0000ac4a ; je 0xac4a +cmp word [ebp - 0x6a], 0 +je short loc_0000ac4a ; je 0xac4a +mov eax, dword [ebp - 0x4c] +and eax, 0x1f +cmp eax, 0x1f +jne short loc_0000ac4a ; jne 0xac4a +mov ecx, dword [ebp - 0x50] +mov eax, dword [ebp - 0x44] +and eax, ecx +cmp eax, ecx +jne short loc_0000ac4a ; jne 0xac4a +mov eax, dword [ebp + 0x3c] +cmp byte [eax + 0x11], 0 +je short loc_0000ac4a ; je 0xac4a +mov eax, dword [ebp + 0x2c] +mov ebx, dword [ebp + 0x30] +mov byte [eax], 1 +mov eax, dword [ebp - 0x44] +mov edx, eax +mov ecx, eax +shr edx, 0x10 +movzx eax, ah +shr ecx, 0x13 +and edx, 3 +and ecx, 0x1f +cmp eax, dword [ebx] +jbe short loc_0000ac23 ; jbe 0xac23 +mov dword [ebx], eax + +loc_0000ac23: ; not directly referenced +mov eax, dword [ebp + 0x38] +movzx edx, dl +movzx ecx, cl +mov ebx, dword [ebp + edx*4 - 0x28] +mov esi, dword [ebp + 0x34] +mov eax, dword [eax] +imul ebx, ecx +mov eax, dword [ebp + eax*4 - 0x28] +imul eax, dword [esi] +cmp ebx, eax +jbe short loc_0000ac4a ; jbe 0xac4a +mov eax, dword [ebp + 0x38] +mov dword [esi], ecx +mov dword [eax], edx + +loc_0000ac4a: ; not directly referenced +mov eax, dword [ebp + 0x24] +xor edx, edx +mov ebx, dword [eax] + +loc_0000ac51: ; not directly referenced +movzx esi, dl +cmp esi, dword [ebp + 0x14] +jae loc_0000ae9a ; jae 0xae9a +imul esi, esi, 0x18 +add esi, dword [ebp + 0x18] +test byte [esi + 8], 4 +je short loc_0000ace7 ; je 0xace7 +mov ax, word [ebp - 0x46] +cmp word [esi], ax +jne short loc_0000ace7 ; jne 0xace7 +mov ax, word [esi + 2] +cmp ax, word [ebp - 0x48] +je short loc_0000ac80 ; je 0xac80 +inc ax +jne short loc_0000ace7 ; jne 0xace7 + +loc_0000ac80: ; not directly referenced +mov al, byte [esi + 4] +cmp al, byte [ebp - 0x56] +jne short loc_0000acb7 ; jne 0xacb7 + +loc_0000ac88: ; not directly referenced +movzx eax, word [esi + 0x12] +test ax, ax +jns short loc_0000acbd ; jns 0xacbd +push ecx +mov edx, ebx +push ecx +movzx ebx, bx +push eax +lea eax, [ebp - 0x2a] +push eax +shr edx, 0x10 +mov word [ebp - 0x2a], dx +call fcn_0000a6b5 ; call 0xa6b5 +movzx eax, word [ebp - 0x2a] +add esp, 0x10 +shl eax, 0x10 +or ebx, eax +jmp short loc_0000acbd ; jmp 0xacbd + +loc_0000acb7: ; not directly referenced +inc al +jne short loc_0000ace7 ; jne 0xace7 +jmp short loc_0000ac88 ; jmp 0xac88 + +loc_0000acbd: ; not directly referenced +movzx eax, word [esi + 0x10] +test ax, ax +jns short loc_0000acdd ; jns 0xacdd +push edx +push edx +push eax +lea eax, [ebp - 0x2a] +push eax +mov word [ebp - 0x2a], bx +call fcn_0000a6b5 ; call 0xa6b5 +mov bx, word [ebp - 0x2a] +add esp, 0x10 + +loc_0000acdd: ; not directly referenced +mov eax, dword [ebp + 0x24] +mov dword [eax], ebx +jmp near loc_0000ae9a ; jmp 0xae9a + +loc_0000ace7: ; not directly referenced +inc edx +jmp near loc_0000ac51 ; jmp 0xac51 + +loc_0000aced: ; not directly referenced +cmp dword [ebp + 0x20], 2 +jne loc_0000ae9a ; jne 0xae9a +cmp dword [ebp - 0x5c], 2 +jne loc_0000adba ; jne 0xadba +cmp word [ebp - 0x40], 0 +je loc_0000adba ; je 0xadba +mov eax, dword [ebp + 0x2c] +cmp byte [eax], 0 +je loc_0000adba ; je 0xadba +mov eax, dword [ebp - 0x4c] +and eax, 0x1f +cmp eax, 0x1f +jne loc_0000adba ; jne 0xadba +mov eax, dword [ebp - 0x44] +mov ecx, dword [ebp - 0x50] +and eax, ecx +cmp eax, ecx +jne loc_0000adba ; jne 0xadba +push eax +mov eax, dword [ebp + 0x34] +movzx edx, word [ebp - 0x40] +mov eax, dword [eax] +add edx, edi +lea ecx, [edx + 0xc] +mov dword [ebp - 0x44], edx +shl eax, 3 +push eax +push 0xffffff07 +push ecx +mov dword [ebp - 0x40], ecx +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp + 0x38] +add esp, 0xc +mov ecx, dword [ebp - 0x40] +push dword [eax] +push 0xfffffffffffffffc +push ecx +call fcn_00018aa4 ; call 0x18aa4 +mov edx, dword [ebp - 0x44] +add esp, 0xc +push 0x40a00000 +push 0x1c00ffff +add edx, 8 +push edx +mov dword [ebp - 0x40], edx +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp + 0x3c] +add esp, 0x10 +mov edx, dword [ebp - 0x40] +mov al, byte [eax + 0x11] +cmp al, 1 +je short loc_0000ada8 ; je 0xada8 +cmp al, 2 +setne al +movzx eax, al +lea eax, [eax + eax + 0xd] +jmp short loc_0000adad ; jmp 0xadad + +loc_0000ada8: ; not directly referenced +mov eax, 0xe + +loc_0000adad: ; not directly referenced +push ecx +push eax +push 0xffffffffffffffe0 +push edx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0000adba: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000addc ; je 0xaddc +mov eax, dword [ebp + 0x1c] +movzx eax, word [eax] +push eax +push dword [ebp - 0x3c] +push ref_00022197 ; push 0x22197 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000addc: ; not directly referenced +push eax +mov eax, dword [ebp + 0x1c] +movzx eax, word [eax] +push eax +push 0xfffc +lea eax, [esi + 0x10] +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +cmp dword [ebp - 0x60], 0 +je short loc_0000ae17 ; je 0xae17 +mov eax, dword [ebp + 0x3c] +cmp byte [eax + 0x12], 1 +jne short loc_0000ae17 ; jne 0xae17 +push ecx +add esi, 0x28 +push ecx +push 0x400 +push esi +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_0000ae17: ; not directly referenced +push 0x18 +push ebx +push dword [ebp - 0x3c] +push dword [ebp - 0x54] +call fcn_0000a005 ; call 0xa005 +add esp, 0x10 +movzx ebx, ax +test bx, bx +je short loc_0000ae9a ; je 0xae9a +mov eax, dword [ebp + 0x24] +lea esi, [ebp - 0x2a] +add ebx, edi +mov edx, dword [eax] +mov eax, dword [ebp + 0x3c] +mov word [ebp - 0x2a], dx +movzx eax, word [eax + 0x14] +mov dword [ebp - 0x40], edx +push edx +push edx +push eax +push esi +call fcn_0000a6b5 ; call 0xa6b5 +movzx eax, word [ebp - 0x2a] +add esp, 0xc +push eax +push 0xe000 +lea eax, [ebx + 4] +add ebx, 6 +push eax +call fcn_000188bd ; call 0x188bd +mov eax, dword [ebp + 0x3c] +mov edx, dword [ebp - 0x40] +pop ecx +movzx eax, word [eax + 0x16] +shr edx, 0x10 +mov word [ebp - 0x2a], dx +pop edx +push eax +push esi +call fcn_0000a6b5 ; call 0xa6b5 +movzx eax, word [ebp - 0x2a] +add esp, 0xc +push eax +push 0xe000 +push ebx +call fcn_000188bd ; call 0x188bd +add esp, 0x10 + +loc_0000ae9a: ; not directly referenced +sub esp, 0xc +lea eax, [edi + 0xb] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp al, 6 +jne loc_0000af84 ; jne 0xaf84 +sub esp, 0xc +mov bl, 1 +lea eax, [edi + 0x19] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, al +jne short loc_0000af04 ; jne 0xaf04 +mov eax, dword [ebp + 8] +sub esp, 0xc +add eax, 0x1a +push eax +call fcn_00017cc7 ; call 0x17cc7 +mov bl, byte [ebp - 0x58] +add esp, 0x10 +cmp al, bl +jbe loc_0000af9f ; jbe 0xaf9f +movzx eax, al +shl eax, 0x10 +or eax, dword [ebp - 0x64] +push esi +push eax +push 0xff000000 +lea eax, [edi + 0x18] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov al, bl +add esp, 0x10 +inc eax +xor ebx, ebx + +loc_0000af04: ; not directly referenced +cmp al, byte [ebp - 0x58] +jbe short loc_0000af84 ; jbe 0xaf84 +movzx esi, al +movzx eax, byte [ebp - 0x6c] +push ecx +push ecx +push eax +push dword [ebp + 0x48] +push dword [ebp + 0x44] +push dword [ebp + 0x40] +push dword [ebp + 0x3c] +push dword [ebp + 0x38] +push dword [ebp + 0x34] +push dword [ebp + 0x30] +push dword [ebp + 0x2c] +push dword [ebp - 0x70] +push dword [ebp + 0x24] +push dword [ebp + 0x20] +push dword [ebp + 0x1c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push esi +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_0000a761 ; call 0xa761 +add esp, 0x50 +cmp eax, 0x8000000e +jne short loc_0000af6d ; jne 0xaf6d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000af6d ; je 0xaf6d +push edx +push esi +push ref_000221c4 ; push 0x221c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000af6d: ; not directly referenced +test bl, bl +jne short loc_0000af84 ; jne 0xaf84 +push eax +push eax +push 0xff000000 +lea eax, [edi + 0x18] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0000af84: ; not directly referenced +inc byte [ebp - 0x57] +mov al, byte [ebp - 0x55] +cmp byte [ebp - 0x57], al +jbe loc_0000a808 ; jbe 0xa808 +jmp near loc_0000a7da ; jmp 0xa7da + +loc_0000af98: ; not directly referenced +mov eax, 0x8000000e +jmp short loc_0000afa4 ; jmp 0xafa4 + +loc_0000af9f: ; not directly referenced +mov eax, 0x80000009 + +loc_0000afa4: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000afac: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x60 +mov edx, dword [ebp + 0x1c] +mov ecx, dword [ebp + 0x20] +mov eax, dword [ebp + 0xc] +push 0 +mov ebx, dword [ebp + 8] +push 0x1f +mov edi, dword [ebp + 0x10] +push 0 +mov dword [ebp - 0x58], edx +mov edx, dword [ebp + 0x2c] +mov dword [ebp - 0x5c], ecx +mov dword [ebp - 0x40], eax +mov dword [ebp - 0x60], edx +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +call fcn_0001bef7 ; call 0x1bef7 +mov ecx, edi +add esp, 0xc +movzx ecx, cl +movzx edi, bl +push ecx +mov ebx, 0x8000000e +mov dword [ebp - 0x3c], ecx +movzx ecx, byte [ebp - 0x40] +mov dword [ebp - 0x54], edi +mov dword [ebp - 0x48], eax +push ecx +push edi +mov dword [ebp - 0x50], ecx +call fcn_00016bd6 ; call 0x16bd6 +mov edi, eax +lea eax, [esi + 0xf0] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ecx, dword [ebp + 0x28] +mov edx, dword [ebp + 0x34] +mov dword [ebp - 0x24], 0 +mov dword [ebp - 0x20], 0 +mov byte [ecx], 0 +mov byte [edx], 0 +mov dword [ebp - 0x40], eax +mov dword [esp], edi +mov dword [ebp - 0x1c], 0 +mov byte [ebp - 0x29], 0 +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je loc_0000b26b ; je 0xb26b +cmp dword [ebp - 0x48], 2 +jne short loc_0000b0a5 ; jne 0xb0a5 +sub esp, 0xc +lea eax, [esi + 0x48] +push eax +call fcn_00017cfe ; call 0x17cfe +mov esi, dword [ebp - 0x40] +and esi, 0xffffc000 +mov ebx, eax +pop eax +and ebx, 0xfffc +pop edx +push dword [ebp - 0x3c] +push esi +call fcn_0001c307 ; call 0x1c307 +movzx eax, al +lea eax, [ebx + eax*8 + 0x190] +mov dword [esp], eax +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +test al, 1 +jne short loc_0000b0a5 ; jne 0xb0a5 +mov eax, dword [ebp + 0x34] +mov byte [eax], 1 + +loc_0000b0a5: ; not directly referenced +push 0x10 +push dword [ebp - 0x3c] +push dword [ebp - 0x50] +push dword [ebp - 0x54] +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +movzx eax, al +mov dword [ebp - 0x4c], eax +test eax, eax +jne short loc_0000b0ee ; jne 0xb0ee +call fcn_000153f0 ; call 0x153f0 +mov ebx, 0x80000003 +test al, al +je loc_0000b26b ; je 0xb26b +push esi +push ref_000221f1 ; push 0x221f1 +push 0x4f7 +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +jmp near loc_0000b268 ; jmp 0xb268 + +loc_0000b0ee: ; not directly referenced +mov eax, dword [ebp - 0x4c] +sub esp, 0xc +lea esi, [eax + edi] +lea eax, [esi + 0x24] +push eax +call fcn_00017d8a ; call 0x17d8a +lea eax, [esi + 0xc] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp + 0x30] +add esp, 0x10 +mov edx, dword [ebp + 0x24] +shr ax, 0xa +and eax, 3 +mov word [ecx], ax +mov dl, byte [edx + 0x10] +cmp dl, 4 +je short loc_0000b134 ; je 0xb134 +and eax, edx +mov word [ecx], ax +mov dword [ebp - 0x40], 1 +jmp short loc_0000b13b ; jmp 0xb13b + +loc_0000b134: ; not directly referenced +mov dword [ebp - 0x40], 0 + +loc_0000b13b: ; not directly referenced +sub esp, 0xc +lea eax, [edi + 0x19] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x41], 1 +mov bl, al +test al, al +jne short loc_0000b17d ; jne 0xb17d +mov ebx, dword [ebp - 0x58] +movzx edx, byte [ebp - 0x5c] +push ecx +movzx eax, bl +shl edx, 0x10 +shl eax, 8 +or eax, edx +push eax +push 0xff0000ff +lea eax, [edi + 0x18] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov byte [ebp - 0x41], 0 + +loc_0000b17d: ; not directly referenced +sub esp, 0xc +add esi, 0x1a +push esi +xor esi, esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp dword [ebp - 0x48], 2 +mov dword [ebp - 0x28], 0 +mov word [ebp - 0x58], ax +jne short loc_0000b1fd ; jne 0xb1fd +push 0x1e +push dword [ebp - 0x3c] +push dword [ebp - 0x50] +push dword [ebp - 0x54] +call fcn_0000a005 ; call 0xa005 +add esp, 0x10 +mov esi, eax +test ax, ax +je short loc_0000b1fd ; je 0xb1fd +movzx eax, ax +sub esp, 0xc +lea edx, [edi + eax + 4] +push edx +mov dword [ebp - 0x3c], edx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x3c] +mov dword [esp], edx +movzx eax, ah +mov dword [ebp - 0x24], eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x3c] +mov dword [esp], edx +shr eax, 0x10 +and eax, 3 +mov dword [ebp - 0x1c], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 0x13 +and eax, 0x1f +mov dword [ebp - 0x20], eax + +loc_0000b1fd: ; not directly referenced +xor eax, eax +test bl, bl +je short loc_0000b250 ; je 0xb250 +test byte [ebp - 0x58], 0x40 +je short loc_0000b250 ; je 0xb250 +movzx eax, byte [ebp - 0x60] +movzx ecx, si +movzx ebx, bl +push edx +push edx +push eax +push dword [ebp + 0x38] +push dword [ebp + 0x34] +lea eax, [ebp - 0x29] +push eax +push dword [ebp + 0x24] +lea eax, [ebp - 0x1c] +push eax +lea eax, [ebp - 0x20] +push eax +lea eax, [ebp - 0x24] +push eax +push dword [ebp + 0x28] +lea eax, [ebp - 0x28] +push ecx +push eax +push dword [ebp - 0x40] +push dword [ebp + 0x30] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push ebx +push dword [ebp - 0x4c] +push edi +call fcn_0000a761 ; call 0xa761 +add esp, 0x50 + +loc_0000b250: ; not directly referenced +cmp byte [ebp - 0x41], 0 +mov ebx, eax +jne short loc_0000b26b ; jne 0xb26b +push eax +add edi, 0x18 +push eax +push 0xff0000ff +push edi +call fcn_00018a7a ; call 0x18a7a + +loc_0000b268: ; not directly referenced +add esp, 0x10 + +loc_0000b26b: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000b275: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x70 +mov ecx, dword [ebp + 0x1c] +mov eax, dword [ebp + 8] +push 0 +mov esi, dword [ebp + 0xc] +push 0x1f +mov edi, dword [ebp + 0x10] +push 0 +mov dword [ebp - 0x40], ecx +mov ecx, dword [ebp + 0x20] +mov dword [ebp - 0x3c], eax +mov dword [ebp - 0x58], ecx +mov ecx, dword [ebp + 0x2c] +mov dword [ebp - 0x5c], ecx +mov ecx, dword [ebp + 0x30] +mov dword [ebp - 0x68], ecx +mov ecx, dword [ebp + 0x34] +mov dword [ebp - 0x6c], ecx +mov ecx, dword [ebp + 0x3c] +mov dword [ebp - 0x70], ecx +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +call fcn_0001bef7 ; call 0x1bef7 +add esp, 0xc +mov dword [ebp - 0x44], eax +mov eax, edi +movzx edi, al +mov eax, esi +push edi +movzx eax, al +push eax +mov dword [ebp - 0x60], eax +movzx eax, byte [ebp - 0x3c] +push eax +mov dword [ebp - 0x64], eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [ebx + 0xf0] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x28], 0 +mov dword [ebp - 0x24], 0 +mov dword [ebp - 0x20], 0 +mov byte [ebp - 0x30], 0 +mov byte [ebp - 0x31], 0 +mov dword [ebp - 0x48], eax +mov eax, dword [ebp + 0x28] +and dword [ebp - 0x48], 0xffffc000 +mov byte [eax], 0 +mov dword [esp], esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_0000b34d ; jne 0xb34d +call fcn_000153f0 ; call 0x153f0 +mov ebx, 0x8000000e +test al, al +je loc_0000b8fb ; je 0xb8fb +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x5ca +jmp short loc_0000b3c7 ; jmp 0xb3c7 + +loc_0000b34d: ; not directly referenced +cmp dword [ebp - 0x44], 2 +jne short loc_0000b38f ; jne 0xb38f +sub esp, 0xc +add ebx, 0x48 +push ebx +call fcn_00017cfe ; call 0x17cfe +mov ebx, eax +pop eax +and ebx, 0xfffc +pop edx +push edi +push dword [ebp - 0x48] +call fcn_0001c307 ; call 0x1c307 +movzx eax, al +lea eax, [ebx + eax*8 + 0x190] +mov dword [esp], eax +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +test al, 1 +jne short loc_0000b38f ; jne 0xb38f +mov byte [ebp - 0x31], 1 + +loc_0000b38f: ; not directly referenced +push 0x10 +push edi +push dword [ebp - 0x60] +push dword [ebp - 0x64] +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +movzx eax, al +mov dword [ebp - 0x50], eax +test eax, eax +jne short loc_0000b3d9 ; jne 0xb3d9 +call fcn_000153f0 ; call 0x153f0 +mov ebx, 0x80000003 +test al, al +je loc_0000b8fb ; je 0xb8fb +push eax +push ref_000221f1 ; push 0x221f1 +push 0x5dc + +loc_0000b3c7: ; not directly referenced +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_0000b8fb ; jmp 0xb8fb + +loc_0000b3d9: ; not directly referenced +mov eax, dword [ebp - 0x50] +sub esp, 0xc +add eax, esi +mov dword [ebp - 0x4c], eax +add eax, 0x24 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test ah, 8 +je short loc_0000b414 ; je 0xb414 +mov eax, dword [ebp + 0x24] +cmp byte [eax + 0x12], 1 +jne short loc_0000b414 ; jne 0xb414 +push eax +push eax +mov eax, dword [ebp - 0x4c] +push 0x400 +add eax, 0x28 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_0000b414: ; not directly referenced +mov eax, dword [ebp - 0x4c] +sub esp, 0xc +add eax, 0xc +push eax +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp + 0x24] +add esp, 0x10 +mov dl, byte [ecx + 0x10] +shr ax, 0xa +and eax, 3 +mov word [ebp - 0x2e], ax +cmp dl, 4 +je short loc_0000b449 ; je 0xb449 +and eax, edx +mov ebx, 1 +mov word [ebp - 0x2e], ax +jmp short loc_0000b44b ; jmp 0xb44b + +loc_0000b449: ; not directly referenced +xor ebx, ebx + +loc_0000b44b: ; not directly referenced +sub esp, 0xc +lea eax, [esi + 0x19] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x51], 1 +mov byte [ebp - 0x3c], al +test al, al +jne short loc_0000b492 ; jne 0xb492 +movzx edx, byte [ebp - 0x58] +push eax +movzx eax, byte [ebp - 0x40] +shl edx, 0x10 +shl eax, 8 +or eax, edx +push eax +push 0xff0000ff +lea eax, [esi + 0x18] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov al, byte [ebp - 0x40] +add esp, 0x10 +mov byte [ebp - 0x51], 0 +mov byte [ebp - 0x3c], al + +loc_0000b492: ; not directly referenced +mov eax, dword [ebp - 0x4c] +sub esp, 0xc +add eax, 0x1a +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp dword [ebp - 0x44], 2 +mov dword [ebp - 0x2c], 0 +mov word [ebp - 0x40], 0 +mov word [ebp - 0x58], ax +jne short loc_0000b510 ; jne 0xb510 +push 0x1e +push edi +push dword [ebp - 0x60] +push dword [ebp - 0x64] +call fcn_0000a005 ; call 0xa005 +add esp, 0x10 +mov word [ebp - 0x40], ax +test ax, ax +je short loc_0000b510 ; je 0xb510 +movzx eax, ax +sub esp, 0xc +lea edi, [esi + eax + 4] +push edi +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], edi +movzx eax, ah +mov dword [ebp - 0x28], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], edi +shr eax, 0x10 +and eax, 3 +mov dword [ebp - 0x20], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 0x13 +and eax, 0x1f +mov dword [ebp - 0x24], eax + +loc_0000b510: ; not directly referenced +xor edi, edi +cmp byte [ebp - 0x3c], 0 +je loc_0000b61b ; je 0xb61b +test byte [ebp - 0x58], 0x40 +je loc_0000b61b ; je 0xb61b +movzx eax, byte [ebp - 0x5c] +push edi +push edi +push eax +push dword [ebp + 0x38] +lea eax, [ebp - 0x31] +push eax +lea eax, [ebp - 0x30] +push eax +push dword [ebp + 0x24] +lea eax, [ebp - 0x20] +push eax +lea eax, [ebp - 0x24] +push eax +lea eax, [ebp - 0x28] +push eax +movzx eax, word [ebp - 0x40] +push dword [ebp + 0x28] +push eax +lea eax, [ebp - 0x2c] +push eax +push ebx +lea eax, [ebp - 0x2e] +push eax +movzx eax, byte [ebp - 0x3c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push eax +push dword [ebp - 0x50] +push esi +call fcn_0000a761 ; call 0xa761 +add esp, 0x50 +mov edi, eax +mov eax, dword [ebp + 0x24] +cmp byte [eax + 0x12], 1 +jne loc_0000b61b ; jne 0xb61b +cmp byte [eax + 0x18], 1 +jne short loc_0000b5a2 ; jne 0xb5a2 +mov ecx, dword [ebp + 0x24] +mov eax, dword [ebp - 0x2c] +movzx edx, word [ecx + 0x1a] +xor ax, ax +or eax, edx +movzx edx, byte [ecx + 0x19] +or ah, 0x80 +shl edx, 0xa +or eax, edx +mov dword [ebp - 0x2c], eax + +loc_0000b5a2: ; not directly referenced +mov eax, dword [ebp + 0x24] +cmp byte [eax + 0x1c], 1 +jne short loc_0000b5cc ; jne 0xb5cc +mov ecx, dword [ebp + 0x24] +movzx eax, word [ebp - 0x2c] +movzx edx, byte [ecx + 0x1d] +or eax, 0x80000000 +shl edx, 0x1a +or eax, edx +movzx edx, word [ecx + 0x1e] +shl edx, 0x10 +or eax, edx +mov dword [ebp - 0x2c], eax + +loc_0000b5cc: ; not directly referenced +mov eax, dword [ebp - 0x2c] +test eax, eax +je short loc_0000b61b ; je 0xb61b +push edx +push edx +push eax +lea eax, [esi + 0x400] +push eax +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp + 0x24] +pop ecx +mov ecx, dword [ebp + 0x24] +pop ebx +cmp byte [eax + 0x18], 1 +sbb eax, eax +add eax, 3 +mov edx, eax +and edx, 0xfffffffd +cmp byte [ecx + 0x1c], 0 +cmove eax, edx +mov edx, eax +or edx, 4 +cmp byte [ecx + 0x13], 1 +cmove eax, edx +push eax +lea eax, [esi + 0x404] +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_0000b61b: ; not directly referenced +cmp dword [ebp - 0x44], 2 +jne loc_0000b814 ; jne 0xb814 +mov eax, dword [ebp + 0x28] +cmp byte [eax], 0 +je loc_0000b6cd ; je 0xb6cd +push eax +mov eax, dword [ebp - 0x28] +movzx edx, word [ebp - 0x40] +shl eax, 8 +add edx, esi +push eax +lea ebx, [edx + 8] +push 0xffff00ff +push ebx +mov dword [ebp - 0x60], edx +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x24] +add esp, 0xc +mov edx, dword [ebp - 0x60] +shl eax, 3 +or eax, dword [ebp - 0x20] +add edx, 0xc +push eax +push 0xffffff04 +push edx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x40a00000 +push 0x1c00ffff +push ebx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +test byte [ebp - 0x2e], 2 +je short loc_0000b6a3 ; je 0xb6a3 +cmp byte [ebp - 0x31], 0 +je short loc_0000b6a3 ; je 0xb6a3 +push ecx +push ecx +push 1 +lea eax, [esi + 0x420] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_0000b6a3: ; not directly referenced +mov eax, dword [ebp + 0x24] +mov al, byte [eax + 0x11] +cmp al, 1 +je short loc_0000b6bb ; je 0xb6bb +cmp al, 2 +setne al +movzx eax, al +lea eax, [eax + eax + 0xd] +jmp short loc_0000b6c0 ; jmp 0xb6c0 + +loc_0000b6bb: ; not directly referenced +mov eax, 0xe + +loc_0000b6c0: ; not directly referenced +push edx +push eax +push 0xffffffffffffffe0 +push ebx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0000b6cd: ; not directly referenced +test byte [ebp - 0x2e], 2 +je loc_0000b814 ; je 0xb814 +cmp byte [ebp - 0x31], 0 +je loc_0000b814 ; je 0xb814 +mov eax, dword [ebp + 0x28] +cmp byte [eax], 0 +je short loc_0000b6ff ; je 0xb6ff +push eax +push eax +push 0xfffdffff +lea eax, [esi + 0x420] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0000b6ff: ; not directly referenced +push ebx +push ebx +push 0x20000000 +lea eax, [esi + 0x420] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp byte [ebp - 0x68], 0 +je loc_0000b814 ; je 0xb814 +cmp byte [ebp - 0x6c], 0 +je loc_0000b814 ; je 0xb814 +mov edi, dword [ebp - 0x48] +push eax +push eax +push 0 +push edi +call fcn_0001c2db ; call 0x1c2db +pop edx +pop ecx +lea edx, [ebp - 0x2f] +push edx +sub eax, 0x20 +lea edx, [ebp - 0x1c] +movzx eax, al +push edx +push eax +push 4 +push 0xe00000e0 +push edi +call fcn_00009e5f ; call 0x9e5f +add esp, 0x20 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000b79b ; je 0xb79b +test ebx, ebx +jns short loc_0000b79b ; jns 0xb79b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000b783 ; je 0xb783 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000b783: ; not directly referenced +push ebx +push ref_00020664 ; push 0x20664 +push 0x6b4 +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000b79b: ; not directly referenced +mov edi, dword [ebp - 0x48] +push eax +push eax +push 0 +push edi +or dword [ebp - 0x1c], 0x4000 +call fcn_0001c2db ; call 0x1c2db +pop edx +pop ecx +lea edx, [ebp - 0x2f] +push edx +sub eax, 0x20 +lea edx, [ebp - 0x1c] +movzx eax, al +push edx +push eax +push 5 +push 0xe00000e0 +push edi +call fcn_00009e5f ; call 0x9e5f +add esp, 0x20 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000b814 ; je 0xb814 +test edi, edi +jns short loc_0000b814 ; jns 0xb814 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000b7fc ; je 0xb7fc +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000b7fc: ; not directly referenced +push eax +push ref_00020664 ; push 0x20664 +push 0x6be +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000b814: ; not directly referenced +cmp byte [ebp - 0x70], 1 +jne short loc_0000b834 ; jne 0xb834 +push eax +movzx eax, word [ebp - 0x2e] +push eax +mov eax, dword [ebp - 0x4c] +push 0xfffc +add eax, 0x10 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0x10 + +loc_0000b834: ; not directly referenced +cmp byte [ebp - 0x30], 0 +je short loc_0000b851 ; je 0xb851 +push eax +push 0x18 +push 0xe3 +lea eax, [esi + 0xd4] +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_0000b851: ; not directly referenced +cmp byte [ebp - 0x3c], 0 +je short loc_0000b8a9 ; je 0xb8a9 +test byte [ebp - 0x58], 0x40 +je short loc_0000b8a9 ; je 0xb8a9 +movzx eax, byte [ebp - 0x5c] +push ebx +push ebx +push eax +push dword [ebp + 0x38] +lea eax, [ebp - 0x31] +push eax +lea eax, [ebp - 0x30] +push eax +push dword [ebp + 0x24] +lea eax, [ebp - 0x20] +push eax +lea eax, [ebp - 0x24] +push eax +lea eax, [ebp - 0x28] +push eax +movzx eax, word [ebp - 0x40] +push dword [ebp + 0x28] +push eax +lea eax, [ebp - 0x2c] +push eax +push 2 +lea eax, [ebp - 0x2e] +push eax +movzx eax, byte [ebp - 0x3c] +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push eax +push dword [ebp - 0x50] +push esi +call fcn_0000a761 ; call 0xa761 +add esp, 0x50 +mov edi, eax + +loc_0000b8a9: ; not directly referenced +cmp byte [ebp - 0x51], 0 +jne short loc_0000b8c2 ; jne 0xb8c2 +push ecx +push ecx +push 0xff0000ff +lea eax, [esi + 0x18] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0000b8c2: ; not directly referenced +mov ebx, edi +test edi, edi +js short loc_0000b8fb ; js 0xb8fb +cmp word [ebp - 0x2e], 3 +jne short loc_0000b8fb ; jne 0xb8fb +cmp dword [ebp - 0x44], 2 +lea ebx, [esi + 0xe8] +jne short loc_0000b8ec ; jne 0xb8ec +push edx +push 8 +push 0xf3 +push ebx +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_0000b8ec: ; not directly referenced +push eax +push eax +push 2 +push ebx +mov ebx, edi +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000b8fb: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000b905: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x50 +movzx edi, byte [ebp + 0x10] +movzx edx, byte [ebp + 0xc] +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0x14] +mov ebx, dword [ebp + 0x18] +push edi +push edx +mov ecx, esi +mov byte [ebp - 0x2d], al +movzx eax, al +push eax +mov byte [ebp - 0x1d], cl +mov dword [ebp - 0x24], edi +mov dword [ebp - 0x28], edx +mov byte [ebp - 0x1f], bl +mov dword [ebp - 0x1c], eax +call fcn_00016bd6 ; call 0x16bd6 +mov edi, eax +lea eax, [eax + 0x19] +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1e], al +test al, al +jne short loc_0000b97d ; jne 0xb97d +mov eax, esi +movzx edx, bl +movzx eax, al +shl eax, 8 +or eax, dword [ebp - 0x1c] +shl edx, 0x10 +push ecx +or eax, edx +push eax +push 0xff000000 +lea eax, [edi + 0x18] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +jmp short loc_0000b995 ; jmp 0xb995 + +loc_0000b97d: ; not directly referenced +sub esp, 0xc +lea eax, [edi + 0x1a] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1f], al +mov al, byte [ebp - 0x1e] +mov byte [ebp - 0x1d], al + +loc_0000b995: ; not directly referenced +push 0x10 +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +call fcn_00009f67 ; call 0x9f67 +movzx eax, al +lea eax, [edi + eax + 2] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, 0xf0 +sar eax, 4 +cmp al, 5 +jne short loc_0000b9e7 ; jne 0xb9e7 +sub esp, 0xc +lea eax, [edi + 0xe] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x7f +je short loc_0000b9e7 ; je 0xb9e7 + +loc_0000b9d6: ; not directly referenced +mov al, byte [ebp - 0x1d] +xor ebx, ebx +inc eax +movzx eax, al +mov dword [ebp - 0x34], eax +jmp near loc_0000baea ; jmp 0xbaea + +loc_0000b9e7: ; not directly referenced +push eax +movzx eax, byte [ebp - 0x1d] +mov ebx, 0x186a0 +push 0 +push 0 +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +pop eax +pop edx +push 0 +push esi +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0x10 + +loc_0000ba0a: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_0000b9d6 ; jne 0xb9d6 +sub esp, 0xc +push 0xa +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec ebx +jne short loc_0000ba0a ; jne 0xba0a +jmp near loc_0000bbb8 ; jmp 0xbbb8 + +loc_0000ba2f: ; not directly referenced +push 0 +push dword [ebp + 0x1c] +push ebx +push esi +call fcn_0000a4f1 ; call 0xa4f1 +add esp, 0x10 +cmp byte [ebp - 0x2d], 0 +jne short loc_0000ba5a ; jne 0xba5a +sub esp, 0xc +push ebx +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +call fcn_0000a5d9 ; call 0xa5d9 +add esp, 0x20 + +loc_0000ba5a: ; not directly referenced +push 0x10 +push 0 +push ebx +push esi +call fcn_00009f67 ; call 0x9f67 +movzx edx, al +mov cl, al +add edx, dword [ebp - 0x2c] +mov dword [ebp - 0x4c], ecx +lea eax, [edx + 2] +mov dword [ebp - 0x38], edx +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x48], ax +mov eax, dword [ebp - 0x2c] +add eax, 0xb +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov edx, dword [ebp - 0x38] +mov ecx, dword [ebp - 0x4c] +cmp al, 6 +je short loc_0000bb10 ; je 0xbb10 + +loc_0000ba9d: ; not directly referenced +push edx +push edx +push 0 +push ebx +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +call fcn_0000a084 ; call 0xa084 +add esp, 0x14 +push ebx +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +call fcn_0000a1b2 ; call 0xa1b2 +add esp, 0x1c +push dword [ebp - 0x24] +push ebx +push esi +call fcn_0000a37c ; call 0xa37c +push 1 +push dword [ebp + 0x1c] +push ebx +push esi +call fcn_0000a4f1 ; call 0xa4f1 +add esp, 0x20 + +loc_0000bae0: ; not directly referenced +inc ebx +cmp ebx, 0x20 +je loc_0000bb9b ; je 0xbb9b + +loc_0000baea: ; not directly referenced +movzx esi, byte [ebp - 0x1d] +push eax +push 0 +push ebx +push esi +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov dword [ebp - 0x2c], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne loc_0000ba2f ; jne 0xba2f +jmp short loc_0000bae0 ; jmp 0xbae0 + +loc_0000bb10: ; not directly referenced +test cl, cl +je short loc_0000ba9d ; je 0xba9d +mov ecx, dword [ebp - 0x48] +sub esp, 0xc +add edx, 0x1a +push edx +and ecx, 0xf0 +sar ecx, 4 +mov dword [ebp - 0x2c], ecx +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp - 0x2c] +add esp, 0x10 +cmp cl, 5 +je short loc_0000bb4b ; je 0xbb4b +cmp cl, 6 +jne loc_0000ba9d ; jne 0xba9d +test al, 0x40 +je loc_0000ba9d ; je 0xba9d + +loc_0000bb4b: ; not directly referenced +mov al, byte [ebp - 0x1d] +cmp byte [ebp - 0x1f], al +jbe short loc_0000bb71 ; jbe 0xbb71 +push eax +push eax +movzx eax, byte [ebp - 0x1f] +push dword [ebp + 0x1c] +push eax +push dword [ebp - 0x34] +push 0 +push ebx +push esi +call fcn_0000b905 ; call 0xb905 +add esp, 0x20 +jmp near loc_0000ba9d ; jmp 0xba9d + +loc_0000bb71: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0000ba9d ; je 0xba9d +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x7aa +push ref_00022076 ; push 0x22076 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_0000ba9d ; jmp 0xba9d + +loc_0000bb9b: ; not directly referenced +xor bl, bl +cmp byte [ebp - 0x1e], 0 +jne short loc_0000bbd6 ; jne 0xbbd6 +push eax +push eax +push 0xff000000 +lea eax, [edi + 0x18] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +jmp short loc_0000bbd6 ; jmp 0xbbd6 + +loc_0000bbb8: ; not directly referenced +cmp byte [ebp - 0x1e], 0 +jne short loc_0000bbd1 ; jne 0xbbd1 +push eax +push eax +push 0xff000000 +lea eax, [edi + 0x18] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0000bbd1: ; not directly referenced +mov ebx, 0x8000000e + +loc_0000bbd6: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000bbe0: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x30 +mov eax, dword [ebp + 0x14] +movzx edi, byte [ebp + 0x10] +movzx esi, byte [ebp + 0xc] +movzx ebx, byte [ebp + 8] +mov dword [ebp - 0x30], eax +mov eax, dword [ebp + 0x18] +push edi +push esi +push ebx +mov dword [ebp - 0x34], eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x2c], eax +add eax, 0x5a +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, 0x8000000e +test al, 0x40 +je loc_0000bcc0 ; je 0xbcc0 +push 0x10 +push edi +push esi +push ebx +call fcn_00009f67 ; call 0x9f67 +add esp, 0x10 +test al, al +jne short loc_0000bc66 ; jne 0xbc66 +call fcn_000153f0 ; call 0x153f0 +mov edx, 0x80000003 +test al, al +je short loc_0000bcc0 ; je 0xbcc0 +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x81d +push ref_00022076 ; push 0x22076 +mov dword [ebp - 0x2c], edx +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +mov edx, dword [ebp - 0x2c] +jmp short loc_0000bcc0 ; jmp 0xbcc0 + +loc_0000bc66: ; not directly referenced +movzx eax, al +sub esp, 0xc +add eax, dword [ebp - 0x2c] +mov dword [ebp - 0x2c], eax +add eax, 4 +push eax +call fcn_00017cfe ; call 0x17cfe +and eax, 7 +mov word [ebp - 0x1a], ax +pop eax +pop edx +lea eax, [ebp - 0x1a] +push eax +movzx eax, byte [ebp - 0x34] +push eax +movzx eax, byte [ebp - 0x30] +push eax +push edi +push esi +push ebx +call fcn_0000b905 ; call 0xb905 +mov cx, word [ebp - 0x1a] +add esp, 0x1c +shl ecx, 5 +movzx ecx, cx +mov ebx, eax +mov eax, dword [ebp - 0x2c] +push ecx +push 0xff1f +add eax, 8 +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +mov edx, ebx + +loc_0000bcc0: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000bcca: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bcec ; je 0xbcec +push ebx +push ebx +push ref_00022203 ; push 0x22203 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bcec: ; not directly referenced +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov ebx, eax +and ebx, 0xffffc000 +cmp dword [ebp + 8], 1 +je short loc_0000bd53 ; je 0xbd53 +jb short loc_0000bd22 ; jb 0xbd22 +cmp dword [ebp + 8], 2 +jne short loc_0000bd88 ; jne 0xbd88 +push edx +push edx +jmp short loc_0000bd77 ; jmp 0xbd77 + +loc_0000bd22: ; not directly referenced +sub esp, 0xc +lea eax, [ebx + 0x38f4] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_0000bd3f ; jne 0xbd3f +mov word [esi], 0 +jmp short loc_0000bda2 ; jmp 0xbda2 + +loc_0000bd3f: ; not directly referenced +sub esp, 0xc +add ebx, 0x38f8 +push ebx +call fcn_00017cfe ; call 0x17cfe +mov word [esi], ax +jmp short loc_0000bd85 ; jmp 0xbd85 + +loc_0000bd53: ; not directly referenced +push ecx +push ecx +movzx eax, word [esi] +push eax +lea eax, [ebx + 0x38f8] +push eax +call fcn_00017d40 ; call 0x17d40 +pop esi +pop eax +lea eax, [ebx + 0x38f4] +push 1 +push eax +call fcn_0001866c ; call 0x1866c +pop eax +pop edx + +loc_0000bd77: ; not directly referenced +push 1 +add ebx, 0x38f0 +push ebx +call fcn_0001866c ; call 0x1866c + +loc_0000bd85: ; not directly referenced +add esp, 0x10 + +loc_0000bd88: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bda2 ; je 0xbda2 +push eax +push eax +push ref_0002221d ; push 0x2221d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bda2: ; not directly referenced +lea esp, [ebp - 8] +xor eax, eax +pop ebx +pop esi +pop ebp +ret + +fcn_0000bdab: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov eax, dword [ebp + 8] +push dword [ebp + 0xc] +lea ebx, [eax + 0x3418] +push ebx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +leave +jmp near fcn_00017d8a ; jmp 0x17d8a + +fcn_0000bdd3: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bdf9 ; je 0xbdf9 +push eax +push eax +push ref_00022235 ; push 0x22235 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bdf9: ; not directly referenced +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002906c ; push 0x2906c +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +test eax, eax +jne short loc_0000be7c ; jne 0xbe7c +mov edx, dword [ebp - 0x1c] +xor ebx, ebx +xor esi, esi + +loc_0000be19: ; not directly referenced +lea eax, [ebx + 0x18] +cmp word [edx + eax - 0x16], 0 +je short loc_0000be29 ; je 0xbe29 +inc esi +mov ebx, eax +jmp short loc_0000be19 ; jmp 0xbe19 + +loc_0000be29: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000be43 ; je 0xbe43 +push eax +push esi +push ref_00022253 ; push 0x22253 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000be43: ; not directly referenced +push eax +push ebx +push dword [ebp - 0x1c] +push ref_00028f48 ; push 0x28f48 +call fcn_000192a8 ; call 0x192a8 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000be7c ; je 0xbe7c +test ebx, ebx +jne short loc_0000be7c ; jne 0xbe7c +push eax +push ref_00022284 ; push 0x22284 +push 0x8f5 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000be7c: ; not directly referenced +xor ebx, ebx + +loc_0000be7e: ; not directly referenced +lea eax, [ebp - 0x20] +push eax +push 0 +push ebx +push ref_0002912c ; push 0x2912c +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +test eax, eax +je short loc_0000bec8 ; je 0xbec8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0000c033 ; je 0xc033 +test ebx, ebx +jne loc_0000c033 ; jne 0xc033 +push eax +push ref_000222ba ; push 0x222ba +push 0x908 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_0000c033 ; jmp 0xc033 + +loc_0000bec8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bee9 ; je 0xbee9 +mov eax, dword [ebp - 0x20] +push edi +movzx eax, byte [eax + 1] +push eax +push ref_000222c5 ; push 0x222c5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bee9: ; not directly referenced +push esi +push 0x5ac +push dword [ebp - 0x20] +push ref_00028f58 ; push 0x28f58 +call fcn_000192a8 ; call 0x192a8 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000bf26 ; je 0xbf26 +test esi, esi +jne short loc_0000bf26 ; jne 0xbf26 +push ecx +push ref_00022284 ; push 0x22284 +push 0x90e +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000bf26: ; not directly referenced +push eax +mov eax, dword [ebp - 0x20] +push 0 +push 0x1f +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +and esi, 0xffffc000 +lea eax, [esi + 0x3418] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x24], eax +pop eax +pop edx +lea eax, [ebp - 0x24] +push eax +push dword [ebp - 0x20] +call fcn_000121ef ; call 0x121ef +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000bfb3 ; je 0xbfb3 +test edi, edi +jns short loc_0000bfb3 ; jns 0xbfb3 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bf9b ; je 0xbf9b +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bf9b: ; not directly referenced +push edi +push ref_00020664 ; push 0x20664 +push 0x91d +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000bfb3: ; not directly referenced +mov eax, dword [ebp - 0x20] +cmp byte [eax + 0x370], 0 +je short loc_0000c00b ; je 0xc00b +push edx +push edx +push 0 +push eax +call fcn_00012d98 ; call 0x12d98 +pop ecx +push dword [ebp - 0x20] +call fcn_00012e22 ; call 0x12e22 +add esp, 0x10 +test eax, eax +jns short loc_0000c01f ; jns 0xc01f +mov eax, dword [ebp - 0x20] +cmp byte [eax + 0x370], 2 +jne short loc_0000c01f ; jne 0xc01f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000bfff ; je 0xbfff +push eax +push eax +push ref_000222fa ; push 0x222fa +push 2 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000bfff: ; not directly referenced +push edi +push edi +push 0xc0 +push dword [ebp - 0x20] +jmp short loc_0000c013 ; jmp 0xc013 + +loc_0000c00b: ; not directly referenced +push ecx +push ecx +push 0xc0 +push eax + +loc_0000c013: ; not directly referenced +call fcn_00012d98 ; call 0x12d98 +add esp, 0x10 +or dword [ebp - 0x24], 0x10 + +loc_0000c01f: ; not directly referenced +push edx +inc ebx +push edx +push dword [ebp - 0x24] +push esi +call fcn_0000bdab ; call 0xbdab +add esp, 0x10 +jmp near loc_0000be7e ; jmp 0xbe7e + +loc_0000c033: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c050 ; je 0xc050 +push eax +push eax +push ref_0002232e ; push 0x2232e +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c050: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000c05a: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x28], eax +call fcn_0001bb39 ; call 0x1bb39 +sub esp, 0xc +mov edi, eax +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x10] +add eax, 0x410 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x19], al +mov eax, edi +dec eax +mov dword [ebp - 0x24], eax +cmp eax, 0xf +ja short loc_0000c0ba ; ja 0xc0ba +mov cl, byte [ebp - 0x24] +mov eax, 1 +xor esi, esi +mov edx, ref_0002788c ; mov edx, 0x2788c +shl eax, cl +and eax, 0x8007 +cmovne esi, edx +cmp eax, 1 +sbb ebx, ebx +not ebx +and ebx, 0x49 +jmp short loc_0000c0be ; jmp 0xc0be + +loc_0000c0ba: +xor esi, esi +xor ebx, ebx + +loc_0000c0be: +add esi, 8 +mov word [ebp - 0x2c], 0 + +loc_0000c0c7: +cmp word [ebp - 0x2c], bx +je short loc_0000c12d ; je 0xc12d +push dword [esi] +push dword [esi - 4] +push dword [esi - 8] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c124 ; je 0xc124 +test edi, edi +jns short loc_0000c124 ; jns 0xc124 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c10c ; je 0xc10c +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c10c: +push ecx +push ref_00020664 ; push 0x20664 +push 0x147 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c124: +inc word [ebp - 0x2c] +add esi, 0xc +jmp short loc_0000c0c7 ; jmp 0xc0c7 + +loc_0000c12d: +mov eax, dword [ebp - 0x20] +cmp eax, 0x22 +ja short loc_0000c14b ; ja 0xc14b +cmp eax, 0x20 +jae short loc_0000c158 ; jae 0xc158 +cmp eax, 1 +jb short loc_0000c170 ; jb 0xc170 +cmp eax, 3 +jbe short loc_0000c164 ; jbe 0xc164 +cmp eax, 0x10 +je short loc_0000c164 ; je 0xc164 +jmp short loc_0000c170 ; jmp 0xc170 + +loc_0000c14b: +mov eax, dword [ebp - 0x20] +sub eax, 0x41 +cmp eax, 2 +jbe short loc_0000c176 ; jbe 0xc176 +jmp short loc_0000c170 ; jmp 0xc170 + +loc_0000c158: +mov edx, ref_00028064 ; mov edx, 0x28064 +mov eax, 0x49 +jmp short loc_0000c180 ; jmp 0xc180 + +loc_0000c164: +mov edx, ref_00027bf8 ; mov edx, 0x27bf8 +mov eax, 0x24 +jmp short loc_0000c180 ; jmp 0xc180 + +loc_0000c170: +xor edx, edx +xor eax, eax +jmp short loc_0000c180 ; jmp 0xc180 + +loc_0000c176: +mov edx, ref_000287e8 ; mov edx, 0x287e8 +mov eax, 0x4d + +loc_0000c180: +imul eax, eax, 0xc +mov esi, edx +add eax, edx +mov dword [ebp - 0x30], eax +mov al, byte [ebp - 0x19] +mov bl, al +and eax, 0x10 +and ebx, 0x20 +mov byte [ebp - 0x2c], al + +loc_0000c198: +cmp esi, dword [ebp - 0x30] +je loc_0000c25c ; je 0xc25c +cmp dword [ebp + 0xc], 2 +jne short loc_0000c1d8 ; jne 0xc1d8 +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +je short loc_0000c1ec ; je 0xc1ec +cmp eax, 0x2200 +je short loc_0000c1f9 ; je 0xc1f9 +cmp eax, 0x2400 +jne short loc_0000c1c9 ; jne 0xc1c9 +test byte [ebp - 0x19], 0x40 +jmp short loc_0000c1fb ; jmp 0xc1fb + +loc_0000c1c9: +cmp eax, 0x2600 +jne short loc_0000c1fd ; jne 0xc1fd +cmp byte [ebp - 0x19], 0 +jns short loc_0000c1fd ; jns 0xc1fd +jmp short loc_0000c254 ; jmp 0xc254 + +loc_0000c1d8: +cmp dword [ebp + 0xc], 1 +jne short loc_0000c1fd ; jne 0xc1fd +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +jne short loc_0000c1f2 ; jne 0xc1f2 + +loc_0000c1ec: +cmp byte [ebp - 0x2c], 0 +jmp short loc_0000c1fb ; jmp 0xc1fb + +loc_0000c1f2: +cmp eax, 0x2200 +jne short loc_0000c1fd ; jne 0xc1fd + +loc_0000c1f9: +test bl, bl + +loc_0000c1fb: +jne short loc_0000c254 ; jne 0xc254 + +loc_0000c1fd: +push dword [esi + 8] +push dword [esi + 4] +push dword [esi] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c254 ; je 0xc254 +test edi, edi +jns short loc_0000c254 ; jns 0xc254 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c23c ; je 0xc23c +push edx +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c23c: +push eax +push ref_00020664 ; push 0x20664 +push 0x178 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c254: +add esi, 0xc +jmp near loc_0000c198 ; jmp 0xc198 + +loc_0000c25c: +mov ecx, dword [ebp - 0x28] +mov eax, ecx +and eax, 0xfffffffb +cmp ax, 0x8c4b +je short loc_0000c2a4 ; je 0xc2a4 +mov eax, ecx +and eax, 0xfffffff7 +cmp ax, 0x8c41 +je short loc_0000c2a4 ; je 0xc2a4 +mov eax, ecx +add ax, 0x63bf +cmp ax, 6 +jbe short loc_0000c2a4 ; jbe 0xc2a4 +cmp word [ebp - 0x28], 0x8cc5 +je short loc_0000c2a4 ; je 0xc2a4 +mov eax, ecx +and eax, 0xfffffffd +cmp ax, 0x8cc1 +je short loc_0000c2a4 ; je 0xc2a4 +mov eax, ecx +add ax, 0x633f +cmp ax, 0xa +ja loc_0000c471 ; ja 0xc471 + +loc_0000c2a4: +cmp dword [ebp - 0x24], 0xf +ja short loc_0000c2cf ; ja 0xc2cf +mov cl, byte [ebp - 0x24] +mov eax, 1 +xor esi, esi +mov edx, ref_00027544 ; mov edx, 0x27544 +shl eax, cl +and eax, 0x8007 +cmovne esi, edx +cmp eax, 1 +sbb ebx, ebx +not ebx +and ebx, 4 +jmp short loc_0000c2d3 ; jmp 0xc2d3 + +loc_0000c2cf: +xor esi, esi +xor ebx, ebx + +loc_0000c2d3: +add esi, 8 +mov word [ebp - 0x28], 0 + +loc_0000c2dc: +cmp word [ebp - 0x28], bx +je short loc_0000c342 ; je 0xc342 +push dword [esi] +push dword [esi - 4] +push dword [esi - 8] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c339 ; je 0xc339 +test edi, edi +jns short loc_0000c339 ; jns 0xc339 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c321 ; je 0xc321 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c321: +push eax +push ref_00020664 ; push 0x20664 +push 0x19b +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c339: +inc word [ebp - 0x28] +add esi, 0xc +jmp short loc_0000c2dc ; jmp 0xc2dc + +loc_0000c342: +mov eax, dword [ebp - 0x20] +cmp eax, 0x22 +ja short loc_0000c360 ; ja 0xc360 +cmp eax, 0x20 +jae short loc_0000c36d ; jae 0xc36d +cmp eax, 1 +jb short loc_0000c385 ; jb 0xc385 +cmp eax, 3 +jbe short loc_0000c379 ; jbe 0xc379 +cmp eax, 0x10 +je short loc_0000c379 ; je 0xc379 +jmp short loc_0000c385 ; jmp 0xc385 + +loc_0000c360: +mov eax, dword [ebp - 0x20] +sub eax, 0x41 +cmp eax, 2 +jbe short loc_0000c38b ; jbe 0xc38b +jmp short loc_0000c385 ; jmp 0xc385 + +loc_0000c36d: +mov edx, ref_00027fec ; mov edx, 0x27fec +mov eax, 4 +jmp short loc_0000c395 ; jmp 0xc395 + +loc_0000c379: +mov edx, ref_00027574 ; mov edx, 0x27574 +mov eax, 2 +jmp short loc_0000c395 ; jmp 0xc395 + +loc_0000c385: +xor edx, edx +xor eax, eax +jmp short loc_0000c395 ; jmp 0xc395 + +loc_0000c38b: +mov edx, ref_000287e8 ; mov edx, 0x287e8 +mov eax, 0x4d + +loc_0000c395: +imul eax, eax, 0xc +mov esi, edx +add eax, edx +mov dword [ebp - 0x2c], eax +mov al, byte [ebp - 0x19] +mov bl, al +and eax, 0x10 +and ebx, 0x20 +mov byte [ebp - 0x28], al + +loc_0000c3ad: +cmp esi, dword [ebp - 0x2c] +je loc_0000c4fb ; je 0xc4fb +cmp dword [ebp + 0xc], 2 +jne short loc_0000c3ed ; jne 0xc3ed +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +je short loc_0000c401 ; je 0xc401 +cmp eax, 0x2200 +je short loc_0000c40e ; je 0xc40e +cmp eax, 0x2400 +jne short loc_0000c3de ; jne 0xc3de +test byte [ebp - 0x19], 0x40 +jmp short loc_0000c410 ; jmp 0xc410 + +loc_0000c3de: +cmp eax, 0x2600 +jne short loc_0000c412 ; jne 0xc412 +cmp byte [ebp - 0x19], 0 +jns short loc_0000c412 ; jns 0xc412 +jmp short loc_0000c469 ; jmp 0xc469 + +loc_0000c3ed: +cmp dword [ebp + 0xc], 1 +jne short loc_0000c412 ; jne 0xc412 +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +jne short loc_0000c407 ; jne 0xc407 + +loc_0000c401: +cmp byte [ebp - 0x28], 0 +jmp short loc_0000c410 ; jmp 0xc410 + +loc_0000c407: +cmp eax, 0x2200 +jne short loc_0000c412 ; jne 0xc412 + +loc_0000c40e: +test bl, bl + +loc_0000c410: +jne short loc_0000c469 ; jne 0xc469 + +loc_0000c412: +push dword [esi + 8] +push dword [esi + 4] +push dword [esi] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c469 ; je 0xc469 +test edi, edi +jns short loc_0000c469 ; jns 0xc469 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c451 ; je 0xc451 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c451: +push eax +push ref_00020664 ; push 0x20664 +push 0x1cc +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c469: +add esi, 0xc +jmp near loc_0000c3ad ; jmp 0xc3ad + +loc_0000c471: +cmp dword [ebp - 0x24], 0xf +ja loc_0000c52d ; ja 0xc52d +mov cl, byte [ebp - 0x24] +mov eax, 1 +xor esi, esi +mov edx, ref_000274fc ; mov edx, 0x274fc +shl eax, cl +and eax, 0x8007 +cmovne esi, edx +cmp eax, 1 +sbb ebx, ebx +not ebx +and ebx, 4 + +loc_0000c49e: +add esi, 8 +mov word [ebp - 0x28], 0 + +loc_0000c4a7: +cmp word [ebp - 0x28], bx +jne loc_0000c536 ; jne 0xc536 +cmp dword [ebp - 0x20], 0x10 +je loc_0000c5a8 ; je 0xc5a8 +mov eax, dword [ebp - 0x20] +jbe loc_0000c599 ; jbe 0xc599 +sub eax, 0x20 +cmp eax, 2 +ja loc_0000c59f ; ja 0xc59f +mov edx, ref_00027fbc ; mov edx, 0x27fbc +mov eax, 4 + +loc_0000c4da: +imul eax, eax, 0xc +mov esi, edx +add eax, edx +mov dword [ebp - 0x2c], eax +mov al, byte [ebp - 0x19] +mov bl, al +and eax, 0x10 +and ebx, 0x20 +mov byte [ebp - 0x28], al + +loc_0000c4f2: +cmp esi, dword [ebp - 0x2c] +jne loc_0000c5b7 ; jne 0xc5b7 + +loc_0000c4fb: +cmp dword [ebp - 0x24], 0xf +ja loc_0000c672 ; ja 0xc672 +mov cl, byte [ebp - 0x24] +mov eax, 1 +xor edi, edi +mov edx, ref_00027394 ; mov edx, 0x27394 +shl eax, cl +and eax, 0x8007 +cmovne edi, edx +cmp eax, 1 +sbb eax, eax +not eax +and eax, 0x14 +jmp near loc_0000c676 ; jmp 0xc676 + +loc_0000c52d: +xor esi, esi +xor ebx, ebx +jmp near loc_0000c49e ; jmp 0xc49e + +loc_0000c536: +push dword [esi] +push dword [esi - 4] +push dword [esi - 8] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c58d ; je 0xc58d +test edi, edi +jns short loc_0000c58d ; jns 0xc58d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c575 ; je 0xc575 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c575: +push edi +push ref_00020664 ; push 0x20664 +push 0x1e8 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c58d: +inc word [ebp - 0x28] +add esi, 0xc +jmp near loc_0000c4a7 ; jmp 0xc4a7 + +loc_0000c599: +dec eax +cmp eax, 2 +jbe short loc_0000c5a8 ; jbe 0xc5a8 + +loc_0000c59f: +xor edx, edx +xor eax, eax +jmp near loc_0000c4da ; jmp 0xc4da + +loc_0000c5a8: +mov edx, ref_0002752c ; mov edx, 0x2752c +mov eax, 2 +jmp near loc_0000c4da ; jmp 0xc4da + +loc_0000c5b7: +cmp dword [ebp + 0xc], 2 +jne short loc_0000c5ee ; jne 0xc5ee +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +je short loc_0000c602 ; je 0xc602 +cmp eax, 0x2200 +je short loc_0000c60f ; je 0xc60f +cmp eax, 0x2400 +jne short loc_0000c5df ; jne 0xc5df +test byte [ebp - 0x19], 0x40 +jmp short loc_0000c611 ; jmp 0xc611 + +loc_0000c5df: +cmp eax, 0x2600 +jne short loc_0000c613 ; jne 0xc613 +cmp byte [ebp - 0x19], 0 +jns short loc_0000c613 ; jns 0xc613 +jmp short loc_0000c66a ; jmp 0xc66a + +loc_0000c5ee: +cmp dword [ebp + 0xc], 1 +jne short loc_0000c613 ; jne 0xc613 +mov eax, dword [esi] +and eax, 0xfe00 +cmp eax, 0x2000 +jne short loc_0000c608 ; jne 0xc608 + +loc_0000c602: +cmp byte [ebp - 0x28], 0 +jmp short loc_0000c611 ; jmp 0xc611 + +loc_0000c608: +cmp eax, 0x2200 +jne short loc_0000c613 ; jne 0xc613 + +loc_0000c60f: +test bl, bl + +loc_0000c611: +jne short loc_0000c66a ; jne 0xc66a + +loc_0000c613: +push dword [esi + 8] +push dword [esi + 4] +push dword [esi] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c66a ; je 0xc66a +test edi, edi +jns short loc_0000c66a ; jns 0xc66a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c652 ; je 0xc652 +push ecx +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c652: +push edx +push ref_00020664 ; push 0x20664 +push 0x213 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c66a: +add esi, 0xc +jmp near loc_0000c4f2 ; jmp 0xc4f2 + +loc_0000c672: +xor edi, edi +xor eax, eax + +loc_0000c676: +movzx eax, ax +imul eax, eax, 0xc +mov word [ebp - 0x24], 0 +lea eax, [edi + eax + 8] +mov dword [ebp - 0x30], eax + +loc_0000c689: +call fcn_0001c11d ; call 0x1c11d +mov edx, dword [ebp - 0x24] +movzx eax, al +cmp dx, ax +jae loc_0000c75c ; jae 0xc75c +movzx eax, dx +xor esi, esi +imul eax, eax, 0x12 +add eax, dword [ebp + 8] +mov dword [ebp - 0x28], eax + +loc_0000c6ab: +mov eax, dword [ebp - 0x28] +mov word [ebp - 0x34], si +cmp byte [eax + esi*2 + 0x1e4], 1 +je short loc_0000c6c8 ; je 0xc6c8 + +loc_0000c6bc: +inc esi +cmp esi, 3 +jne short loc_0000c6ab ; jne 0xc6ab +inc word [ebp - 0x24] +jmp short loc_0000c689 ; jmp 0xc689 + +loc_0000c6c8: +lea ebx, [edi + 8] + +loc_0000c6cb: +cmp ebx, dword [ebp - 0x30] +je short loc_0000c6bc ; je 0xc6bc +mov eax, dword [ebp - 0x24] +cmp word [ebx - 8], ax +jne short loc_0000c754 ; jne 0xc754 +mov eax, dword [ebp - 0x34] +cmp word [ebx - 6], ax +jne short loc_0000c754 ; jne 0xc754 +mov eax, dword [ebp - 0x28] +mov edx, dword [ebx] +movzx ecx, byte [eax + esi*2 + 0x1e3] +mov eax, edx +not eax +imul ecx, ecx, 0x1010101 +and eax, ecx +push eax +push edx +push dword [ebx - 4] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c754 ; je 0xc754 +cmp dword [ebp - 0x2c], 0 +jns short loc_0000c754 ; jns 0xc754 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c73c ; je 0xc73c +push eax +push dword [ebp - 0x2c] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c73c: +push eax +push ref_00020664 ; push 0x20664 +push 0x234 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c754: +add ebx, 0xc +jmp near loc_0000c6cb ; jmp 0xc6cb + +loc_0000c75c: +mov eax, dword [ebp - 0x20] +cmp eax, 0x22 +ja short loc_0000c77a ; ja 0xc77a +cmp eax, 0x20 +jae short loc_0000c78c ; jae 0xc78c +cmp eax, 1 +jb short loc_0000c79f ; jb 0xc79f +cmp eax, 3 +jbe short loc_0000c793 ; jbe 0xc793 +cmp eax, 0x10 +je short loc_0000c793 ; je 0xc793 +jmp short loc_0000c79f ; jmp 0xc79f + +loc_0000c77a: +mov eax, dword [ebp - 0x20] +mov esi, ref_000286b0 ; mov esi, 0x286b0 +sub eax, 0x41 +cmp eax, 2 +jbe short loc_0000c7a5 ; jbe 0xc7a5 +jmp short loc_0000c79f ; jmp 0xc79f + +loc_0000c78c: +mov esi, ref_00027ecc ; mov esi, 0x27ecc +jmp short loc_0000c7a5 ; jmp 0xc7a5 + +loc_0000c793: +mov esi, ref_00027484 ; mov esi, 0x27484 +mov eax, 0xa +jmp short loc_0000c7aa ; jmp 0xc7aa + +loc_0000c79f: +xor esi, esi +xor eax, eax +jmp short loc_0000c7aa ; jmp 0xc7aa + +loc_0000c7a5: +mov eax, 0x14 + +loc_0000c7aa: +imul eax, eax, 0xc +mov cl, byte [ebp - 0x19] +mov word [ebp - 0x24], 0 +lea eax, [esi + eax + 4] +mov dword [ebp - 0x34], eax +mov al, cl +and eax, 0x20 +mov byte [ebp - 0x2c], al +mov al, cl +and eax, 0x10 +mov byte [ebp - 0x30], al + +loc_0000c7cd: +call fcn_0001c11d ; call 0x1c11d +mov ecx, dword [ebp - 0x24] +movzx eax, al +cmp cx, ax +jae loc_0000c912 ; jae 0xc912 +movzx eax, cx +imul eax, eax, 0x12 +add eax, dword [ebp + 8] +mov dword [ebp - 0x20], 0 +mov dword [ebp - 0x28], eax + +loc_0000c7f4: +mov eax, dword [ebp - 0x20] +mov edx, dword [ebp - 0x28] +mov word [ebp - 0x1c], ax +cmp byte [edx + eax*2 + 0x1e4], 1 +je short loc_0000c817 ; je 0xc817 + +loc_0000c808: +inc dword [ebp - 0x20] +cmp dword [ebp - 0x20], 3 +jne short loc_0000c7f4 ; jne 0xc7f4 +inc word [ebp - 0x24] +jmp short loc_0000c7cd ; jmp 0xc7cd + +loc_0000c817: +lea ebx, [esi + 4] + +loc_0000c81a: +cmp ebx, dword [ebp - 0x34] +je short loc_0000c808 ; je 0xc808 +mov eax, dword [ebp - 0x24] +cmp word [ebx - 4], ax +jne loc_0000c90a ; jne 0xc90a +mov eax, dword [ebp - 0x1c] +cmp word [ebx - 2], ax +jne loc_0000c90a ; jne 0xc90a +cmp dword [ebp + 0xc], 2 +jne short loc_0000c873 ; jne 0xc873 +mov eax, dword [ebx] +and eax, 0xfe00 +cmp eax, 0x2000 +je short loc_0000c887 ; je 0xc887 +cmp eax, 0x2200 +je short loc_0000c894 ; je 0xc894 +cmp eax, 0x2400 +jne short loc_0000c861 ; jne 0xc861 +test byte [ebp - 0x19], 0x40 +jmp short loc_0000c898 ; jmp 0xc898 + +loc_0000c861: +cmp eax, 0x2600 +jne short loc_0000c89a ; jne 0xc89a +cmp byte [ebp - 0x19], 0 +jns short loc_0000c89a ; jns 0xc89a +jmp near loc_0000c90a ; jmp 0xc90a + +loc_0000c873: +cmp dword [ebp + 0xc], 1 +jne short loc_0000c89a ; jne 0xc89a +mov eax, dword [ebx] +and eax, 0xfe00 +cmp eax, 0x2000 +jne short loc_0000c88d ; jne 0xc88d + +loc_0000c887: +cmp byte [ebp - 0x30], 0 +jmp short loc_0000c898 ; jmp 0xc898 + +loc_0000c88d: +cmp eax, 0x2200 +jne short loc_0000c89a ; jne 0xc89a + +loc_0000c894: +cmp byte [ebp - 0x2c], 0 + +loc_0000c898: +jne short loc_0000c90a ; jne 0xc90a + +loc_0000c89a: +mov eax, dword [ebp - 0x28] +mov ecx, dword [ebp - 0x20] +movzx edi, byte [eax + ecx*2 + 0x1e3] +mov ecx, dword [ebx + 4] +imul edi, edi, 0x1010101 +mov eax, ecx +not eax +and eax, edi +push eax +push ecx +push dword [ebx] +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000c90a ; je 0xc90a +test edi, edi +jns short loc_0000c90a ; jns 0xc90a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c8f2 ; je 0xc8f2 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c8f2: +push eax +push ref_00020664 ; push 0x20664 +push 0x271 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000c90a: +add ebx, 0xc +jmp near loc_0000c81a ; jmp 0xc81a + +loc_0000c912: +mov eax, dword [ebp + 8] +xor ebx, ebx +cmp byte [eax], 8 +ja short loc_0000c923 ; ja 0xc923 + +loc_0000c91c: +xor eax, eax +jmp near loc_0000cb86 ; jmp 0xcb86 + +loc_0000c923: +mov cl, byte [ebp - 0x19] +mov al, cl +and eax, 0x10 +mov byte [ebp - 0x20], al +mov al, cl +shr al, 7 +mov byte [ebp - 0x28], al + +loc_0000c936: +call fcn_0001c11d ; call 0x1c11d +movzx eax, al +cmp bx, ax +jae short loc_0000c91c ; jae 0xc91c +cmp dword [ebp + 0xc], 1 +jne short loc_0000c971 ; jne 0xc971 +cmp bx, 4 +jne short loc_0000c955 ; jne 0xc955 +cmp byte [ebp - 0x20], 0 +jmp short loc_0000c95f ; jmp 0xc95f + +loc_0000c955: +cmp bx, 5 +jne short loc_0000c965 ; jne 0xc965 +test byte [ebp - 0x19], 0x20 + +loc_0000c95f: +jne loc_0000cb80 ; jne 0xcb80 + +loc_0000c965: +movzx eax, bx +mov edi, dword [eax*4 + ref_00020390] ; mov edi, dword [eax*4 + 0x20390] +jmp short loc_0000c9b2 ; jmp 0xc9b2 + +loc_0000c971: +test bx, bx +jne short loc_0000c980 ; jne 0xc980 +cmp byte [ebp - 0x28], 0 +jne loc_0000cb80 ; jne 0xcb80 + +loc_0000c980: +cmp bx, 1 +jne short loc_0000c98c ; jne 0xc98c +test byte [ebp - 0x19], 0x40 +jmp short loc_0000c9a2 ; jmp 0xc9a2 + +loc_0000c98c: +cmp bx, 2 +jne short loc_0000c998 ; jne 0xc998 +test byte [ebp - 0x19], 0x20 +jmp short loc_0000c9a2 ; jmp 0xc9a2 + +loc_0000c998: +cmp bx, 3 +jne short loc_0000c9a8 ; jne 0xc9a8 +cmp byte [ebp - 0x20], 0 + +loc_0000c9a2: +jne loc_0000cb80 ; jne 0xcb80 + +loc_0000c9a8: +movzx eax, bx +mov edi, dword [eax*4 + ref_00020378] ; mov edi, dword [eax*4 + 0x20378] + +loc_0000c9b2: +movzx esi, bx +imul eax, esi, 0x12 +add eax, dword [ebp + 8] +test byte [eax + 0x1ed], 1 +je short loc_0000ca32 ; je 0xca32 +movzx eax, byte [eax + 0x1e9] +cmp al, 0x80 +jbe short loc_0000ca17 ; jbe 0xca17 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000c9ec ; je 0xc9ec +push eax +push eax +push ref_0002234a ; push 0x2234a +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000c9ec: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000ca0d ; je 0xca0d +push eax +push ref_000221f1 ; push 0x221f1 +push 0x295 + +loc_0000ca00: +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000ca0d: +mov eax, 0x80000002 +jmp near loc_0000cb86 ; jmp 0xcb86 + +loc_0000ca17: +shl eax, 0x10 +push eax +push 0xff00ffff +lea eax, [edi + 0x88] +push eax +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_0000ca32: +imul eax, esi, 0x12 +add eax, dword [ebp + 8] +test byte [eax + 0x1ed], 2 +je short loc_0000ca9a ; je 0xca9a +movzx eax, byte [eax + 0x1ea] +cmp al, 0x80 +jbe short loc_0000ca7f ; jbe 0xca7f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ca69 ; je 0xca69 +push edi +push edi +push ref_00022378 ; push 0x22378 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ca69: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000ca0d ; je 0xca0d +push esi +push ref_000221f1 ; push 0x221f1 +push 0x2a5 +jmp short loc_0000ca00 ; jmp 0xca00 + +loc_0000ca7f: +shl eax, 0x10 +push eax +push 0xff00ffff +lea eax, [edi + 0x8c] +push eax +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_0000ca9a: +imul eax, esi, 0x12 +add eax, dword [ebp + 8] +test byte [eax + 0x1ed], 4 +je short loc_0000cafc ; je 0xcafc +movzx eax, byte [eax + 0x1eb] +lea edx, [eax - 0x39] +cmp dl, 0x47 +jbe short loc_0000caf2 ; jbe 0xcaf2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cad5 ; je 0xcad5 +push ebx +push ebx +push ref_000223a7 ; push 0x223a7 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cad5: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0000ca0d ; je 0xca0d +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x2b9 +jmp near loc_0000ca00 ; jmp 0xca00 + +loc_0000caf2: +shl eax, 8 +mov edx, 0xffff00ff +jmp short loc_0000cb01 ; jmp 0xcb01 + +loc_0000cafc: +xor eax, eax +or edx, 0xffffffff + +loc_0000cb01: +imul esi, esi, 0x12 +add esi, dword [ebp + 8] +test byte [esi + 0x1ed], 8 +je short loc_0000cb67 ; je 0xcb67 +mov cl, byte [esi + 0x1ec] +lea esi, [ecx - 0x45] +mov byte [ebp - 0x24], cl +mov ecx, esi +cmp cl, 0x3b +jbe short loc_0000cb5d ; jbe 0xcb5d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cb40 ; je 0xcb40 +push edx +push edx +push ref_000223d0 ; push 0x223d0 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cb40: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0000ca0d ; je 0xca0d +push eax +push ref_000221f1 ; push 0x221f1 +push 0x2c6 +jmp near loc_0000ca00 ; jmp 0xca00 + +loc_0000cb5d: +movzx ecx, byte [ebp - 0x24] +xor dl, dl +or eax, ecx +jmp short loc_0000cb6c ; jmp 0xcb6c + +loc_0000cb67: +cmp edx, 0xffffffff +je short loc_0000cb80 ; je 0xcb80 + +loc_0000cb6c: +push eax +add edi, 0x90 +push edx +push edi +push dword [ebp + 0x14] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_0000cb80: +inc ebx +jmp near loc_0000c936 ; jmp 0xc936 + +loc_0000cb86: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000cb8e: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cbb1 ; je 0xcbb1 +push eax +push eax +push ref_000223fa ; push 0x223fa +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cbb1: +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x2c], eax +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 0xf0] +add ebx, 2 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], ebx +mov dword [ebp - 0x30], eax +and dword [ebp - 0x30], 0xffffc000 +call fcn_00017cfe ; call 0x17cfe +add esp, 0xc +push 2 +push 0x1f +push 0 +mov ebx, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x1c +push 0 +mov esi, eax +call fcn_00016bd6 ; call 0x16bd6 +lea edi, [esi + 0x92] +mov dword [esp], edi +mov dword [ebp - 0x34], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0xf +setne byte [ebp - 0x35] +cmp dword [ebp - 0x2c], 1 +jne loc_0000ce71 ; jne 0xce71 +sub esp, 0xc +push edi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x30 +je short loc_0000cca6 ; je 0xcca6 + +loc_0000cc3e: +push eax +lea eax, [ebp - 0x1c] +push eax +push 0xea000aac +push dword [ebp - 0x30] +call fcn_00009cab ; call 0x9cab +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +and eax, 0x30 +cmp eax, 0x20 +je loc_0000ce14 ; je 0xce14 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cc7f ; je 0xcc7f +push eax +push eax +push ref_00022411 ; push 0x22411 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cc7f: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0000ce14 ; je 0xce14 +push eax +push ref_00024b36 ; push 0x24b36 +push 0x32e +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +jmp near loc_0000ce11 ; jmp 0xce11 + +loc_0000cca6: +cmp byte [ebp - 0x35], 1 +je short loc_0000cc3e ; je 0xcc3e +push eax +push 0x60 + +loc_0000ccaf: +push 0x3f +lea eax, [esi + 0x90] +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_0000ccc0: +push eax +push 0x183 +push 0xfffffe00 +lea eax, [esi + 0x94] +push eax +lea esi, [esi + 0x98] +mov dword [ebp - 0x1c], 0xfffffe00 +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0x8000 +push edi +call fcn_00018863 ; call 0x18863 +movzx eax, bx +mov dword [esp], eax +push dword [ebp - 0x30] +push dword [ebp - 0x34] +push dword [ebp - 0x2c] +push dword [ebp + 8] +call fcn_0000c05a ; call 0xc05a +mov eax, ebx +add esp, 0x20 +and eax, 0xfffffffd +cmp ax, 0x8c44 +je loc_0000ce30 ; je 0xce30 +lea eax, [ebx + 0x73b2] +cmp ax, 2 +jbe loc_0000ce30 ; jbe 0xce30 +cmp bx, 0x8c5c +je loc_0000ce30 ; je 0xce30 +lea eax, [ebx + 0x73b7] +cmp ax, 3 +jbe loc_0000ce30 ; jbe 0xce30 +lea eax, [ebx + 0x73bf] +cmp ax, 1 +jbe loc_0000ce30 ; jbe 0xce30 +lea eax, [ebx + 0x63bf] +cmp ax, 6 +jbe loc_0000ce30 ; jbe 0xce30 +lea eax, [ebx + 0x733f] +cmp ax, 5 +jbe loc_0000ce30 ; jbe 0xce30 +add bx, 0x633f +cmp bx, 0xa +jbe loc_0000ce30 ; jbe 0xce30 + +loc_0000cd84: +push ebx +push ebx +push 0x80000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0x200 +push 0xffffe27f +push esi +mov dword [ebp - 0x1c], 0xffffe27f +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +push 0x100000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0x20 +push 0xffffffffffffff9f +push esi +call fcn_00018aa4 ; call 0x18aa4 +pop ecx +pop ebx +push 0x40000 +push esi +call fcn_00018a50 ; call 0x18a50 +mov eax, dword [ebp - 0x34] +add eax, 0x410 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp dword [ebp - 0x2c], 1 +jne short loc_0000ce45 ; jne 0xce45 +mov dl, al +and edx, 0x10 +cmp dl, 1 +sbb edx, edx +and edx, 0x10 +add edx, 0xf +mov cl, dl +or ecx, 0x20 +test al, 0x20 + +loc_0000ce02: +cmove edx, ecx + +loc_0000ce05: +push ecx +movzx edx, dl +push ecx +push edx +push edi +call fcn_0001866c ; call 0x1866c + +loc_0000ce11: +add esp, 0x10 + +loc_0000ce14: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ce89 ; je 0xce89 +push eax +push eax +push ref_0002245f ; push 0x2245f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0000ce89 ; jmp 0xce89 + +loc_0000ce30: +push eax +push eax +push 0x400000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +jmp near loc_0000cd84 ; jmp 0xcd84 + +loc_0000ce45: +xor edx, edx +cmp dword [ebp - 0x2c], 2 +jne short loc_0000ce05 ; jne 0xce05 +mov dl, al +not edx +shr dl, 7 +mov cl, dl +or ecx, 2 +test al, 0x40 +cmove edx, ecx +mov cl, dl +or ecx, 4 +test al, 0x20 +cmove edx, ecx +mov cl, dl +or ecx, 8 +test al, 0x10 +jmp short loc_0000ce02 ; jmp 0xce02 + +loc_0000ce71: +cmp byte [ebp - 0x35], 1 +je short loc_0000ce14 ; je 0xce14 +cmp dword [ebp - 0x2c], 2 +jne loc_0000ccc0 ; jne 0xccc0 +push ecx +push 0x40 +jmp near loc_0000ccaf ; jmp 0xccaf + +loc_0000ce89: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000ce93: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x38 +mov ebx, dword [ebp + 8] +mov eax, dword [ebx + 4] +add eax, 0x3414 +push eax +call fcn_00017cc7 ; call 0x17cc7 +mov esi, eax +pop eax +push dword [ebx + 4] +call fcn_0001bdcc ; call 0x1bdcc +movzx edx, byte [ebx + 0x37e] +add esp, 0x10 +mov edi, eax +mov eax, esi +shr al, 5 +xor eax, 1 +and eax, 1 +cmp edx, eax +je loc_0000d0b7 ; je 0xd0b7 +lea eax, [ebp - 0x1c] +push eax +push 0 +push 0 +push ref_0002908c ; push 0x2908c +call fcn_00019699 ; call 0x19699 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000cf30 ; je 0xcf30 +test esi, esi +jns short loc_0000cf30 ; jns 0xcf30 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cf18 ; je 0xcf18 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cf18: +push esi +push ref_00020664 ; push 0x20664 +push 0x467 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000cf30: +mov eax, dword [ebx + 4] +sub esp, 0xc +add eax, 0x3420 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, al +jns short loc_0000cf71 ; jns 0xcf71 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000cf65 ; je 0xcf65 +push ecx +push ecx +push ref_00022474 ; push 0x22474 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000cf65: +push edx +mov eax, dword [ebp - 0x1c] +push edx +push 4 +jmp near loc_0000d0b1 ; jmp 0xd0b1 + +loc_0000cf71: +xor esi, esi +mov eax, edi +cmp byte [ebx + 0x37e], 0 +je short loc_0000cfa8 ; je 0xcfa8 +dec al +jne loc_0000d04e ; jne 0xd04e +push eax +mov esi, 1 +push eax +push 0xdf +mov eax, dword [ebx + 4] +add eax, 0x3414 +push eax +call fcn_00018699 ; call 0x18699 +add esp, 0x10 +jmp near loc_0000d04e ; jmp 0xd04e + +loc_0000cfa8: +dec al +jne loc_0000d039 ; jne 0xd039 +push eax +push 0 +push 0x19 +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +lea edi, [eax + 0x10] +mov esi, eax +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x34], eax +pop eax +pop edx +push dword [ebx + 0x1a] +push edi +call fcn_00017dcb ; call 0x17dcb +lea eax, [esi + 4] +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +pop ecx +mov dword [ebp - 0x2c], esi +mov word [ebp - 0x2e], ax +pop eax +push 2 +push esi +call fcn_00018863 ; call 0x18863 +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +and eax, 0xffff8000 +lea edx, [eax + 0x5b54] +mov dword [esp], edx +call fcn_00017cfe ; call 0x17cfe +mov ecx, eax +pop eax +movzx eax, word [ebp - 0x2e] +shr cx, 0xf +pop edx +mov esi, ecx +push eax +push dword [ebp - 0x2c] +call fcn_00017d40 ; call 0x17d40 +pop ecx +mov ecx, dword [ebp - 0x34] +pop eax +push ecx +push edi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_0000d039: +push edi +push edi +push 0x20 +mov eax, dword [ebx + 4] +add eax, 0x3414 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000d04e: +mov eax, dword [ebx + 4] +sub esp, 0xc +add eax, 0x3414 +push eax +call fcn_00017cc7 ; call 0x17cc7 +mov eax, esi +add esp, 0x10 +test al, al +je short loc_0000d0b7 ; je 0xd0b7 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d085 ; je 0xd085 +push esi +push esi +push ref_000224c8 ; push 0x224c8 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000d085: +mov eax, dword [ebx + 4] +sub esp, 0xc +add eax, 0x3428 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, 3 +test al, 2 +jne short loc_0000d0ab ; jne 0xd0ab +cmp byte [ebx + 0x11], 1 +sbb edx, edx +add edx, 5 + +loc_0000d0ab: +mov eax, dword [ebp - 0x1c] +push ecx +push ecx +push edx + +loc_0000d0b1: +push eax +call dword [eax] ; ucall +add esp, 0x10 + +loc_0000d0b7: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000d0c1: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov ebx, dword [ebp + 8] +mov byte [ebp - 0x1c], 0x1d +mov byte [ebp - 0x1b], 0 +mov byte [ebp - 0x1a], 0x1a +mov byte [ebp - 0x19], 0 +call fcn_0001bef7 ; call 0x1bef7 +push edi +push 0 +push 0x1f +push 0 +mov esi, eax +mov dword [ebp - 0x34], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 2 +push 0x1f +mov dword [ebp - 0x38], eax +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +dec esi +mov dword [ebp - 0x30], 0 +mov edi, eax +jne short loc_0000d128 ; jne 0xd128 +push ecx +push 5 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov dword [ebp - 0x30], eax + +loc_0000d128: +push eax +push 0 +push 0x1c +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +mov eax, dword [ebp - 0x38] +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [ebp - 0x40], eax +pop eax +mov eax, dword [ebp - 0x38] +pop edx +add eax, 0xac +push 0xffefffff +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +mov byte [ebp - 0x3c], 0 +mov byte [ebp - 0x29], 0 + +loc_0000d169: +call fcn_0001c0fb ; call 0x1c0fb +cmp byte [ebp - 0x29], al +jae short loc_0000d1f0 ; jae 0xd1f0 +movzx edx, byte [ebp - 0x29] +push eax +push edx +push 0x1c +movzx eax, byte [ebx + 1] +mov dword [ebp - 0x48], edx +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov dword [ebp - 0x44], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_0000d1e8 ; je 0xd1e8 +mov edx, dword [ebp - 0x48] +mov ecx, dword [ebp - 0x44] +imul edx, edx, 0x2c +cmp byte [ebx + edx + 0x4e], 1 +setne dl +add ecx, 0x70 +sub esp, 0xc +movzx edx, dl +inc edx +push ecx +mov dword [ebp - 0x48], edx +mov dword [ebp - 0x44], ecx +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x48] +add esp, 0x10 +movzx edx, dx +and eax, 0xf +cmp eax, edx +je short loc_0000d1e8 ; je 0xd1e8 +mov ecx, dword [ebp - 0x44] +push eax +push edx +push 0xfff0 +push ecx +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +mov byte [ebp - 0x3c], 1 + +loc_0000d1e8: +inc byte [ebp - 0x29] +jmp near loc_0000d169 ; jmp 0xd169 + +loc_0000d1f0: +cmp byte [ebp - 0x3c], 0 +je short loc_0000d206 ; je 0xd206 +sub esp, 0xc +push 0x186a0 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 + +loc_0000d206: +push eax +push 0x80 +push 0x9f +lea eax, [esi + 0xf4] +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 +mov byte [ebp - 0x29], 0 + +loc_0000d224: +call fcn_0001c181 ; call 0x1c181 +cmp byte [ebp - 0x29], al +jae short loc_0000d274 ; jae 0xd274 +movzx eax, byte [ebp - 0x29] +push ecx +movzx edx, byte [ebp + eax*2 - 0x1b] +movzx eax, byte [ebp + eax*2 - 0x1c] +push edx +push eax +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +lea edx, [eax + 0x88] +mov dword [esp], edx +mov dword [ebp - 0x3c], edx +call fcn_00017d8a ; call 0x17d8a +pop edx +mov edx, dword [ebp - 0x3c] +pop ecx +and eax, 0xfffffffb +push eax +push edx +mov dword [ebp - 0x20], eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +inc byte [ebp - 0x29] +jmp short loc_0000d224 ; jmp 0xd224 + +loc_0000d274: +cmp byte [ebx + 0x364], 1 +jne short loc_0000d2c3 ; jne 0xd2c3 +push eax +mov eax, dword [ebx + 0x368] +shr eax, 0xc +and eax, 3 +or al, 0x80 +push eax +push 0xfffffffffffffffc +mov eax, dword [ebx + 4] +add eax, 0x3404 +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebx + 4] +add eax, 0x3404 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +pop eax +pop edx +push 1 +mov eax, dword [ebx + 0x368] +add eax, 0x10 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_0000d2c3: +cmp byte [ebx + 0xc], 0 +mov eax, dword [ebx + 4] +jne short loc_0000d2dd ; jne 0xd2dd +push ecx +add eax, 0x3410 +push ecx +push 0xfffffffffffffffb +push eax +call fcn_00018a7a ; call 0x18a7a +jmp short loc_0000d2ec ; jmp 0xd2ec + +loc_0000d2dd: +push edx +add eax, 0x3410 +push edx +push 4 +push eax +call fcn_00018a50 ; call 0x18a50 + +loc_0000d2ec: +mov eax, dword [ebx + 4] +add esp, 0x10 +sub esp, 0xc +add eax, 0x3410 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +cmp dword [ebp - 0x34], 1 +jne loc_0000d3d7 ; jne 0xd3d7 +cmp dword [ebx + 0x1db], 0 +jne loc_0000d3b0 ; jne 0xd3b0 +push eax +add esi, 0x410 +push 0x70 +push 0xffffff00 +lea eax, [edi + 0x34] +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +lea eax, [edi + 0x70] +push 0xffff00ff +push eax +call fcn_00018a7a ; call 0x18a7a +pop ecx +pop eax +lea eax, [edi + 0x90] +push 0x1f +push eax +call fcn_00018699 ; call 0x18699 +mov dword [esp], esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +and eax, 0x30 +cmp al, 0x30 +je short loc_0000d3b0 ; je 0xd3b0 +sub esp, 0xc +push esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x10 +jne short loc_0000d388 ; jne 0xd388 +push eax +push eax +mov eax, dword [ebp - 0x30] +push 1 +add eax, 0x92 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0000d388: +sub esp, 0xc +push esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x20 +jne loc_0000d422 ; jne 0xd422 +mov eax, dword [ebp - 0x30] +push esi +push esi +push 2 +add eax, 0x92 +push eax +call fcn_0001866c ; call 0x1866c +jmp short loc_0000d41f ; jmp 0xd41f + +loc_0000d3b0: +push ecx +push ecx +push 0x2000000 +mov eax, dword [ebx + 4] +add eax, 0x3418 +push eax +call fcn_00018a50 ; call 0x18a50 +mov eax, dword [ebx + 4] +add eax, 0x3418 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +jmp short loc_0000d41f ; jmp 0xd41f + +loc_0000d3d7: +cmp dword [ebp - 0x34], 2 +jne short loc_0000d422 ; jne 0xd422 +cmp dword [ebx + 0x1db], 3 +jne short loc_0000d422 ; jne 0xd422 +push eax +push eax +push 0x3f +lea eax, [edi + 0x90] +push eax +call fcn_00018699 ; call 0x18699 +pop eax +pop edx +lea eax, [edi + 0xa0] +push 0 +push eax +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +push 0x8000 +push 0xffff7fff +lea eax, [edi + 0xa4] +push eax +call fcn_00018aa4 ; call 0x18aa4 + +loc_0000d41f: +add esp, 0x10 + +loc_0000d422: +cmp dword [ebx + 0x1db], 2 +jne short loc_0000d453 ; jne 0xd453 +mov eax, dword [ebp - 0x38] +sub esp, 0xc +add eax, 2 +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0xc +push 0x80 +push 0x3f +lea eax, [edi + 0x90] +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_0000d453: +cmp dword [ebp - 0x34], 2 +jne loc_0000d551 ; jne 0xd551 +mov ebx, dword [ebp - 0x40] +push esi +lea esi, [ebp - 0x20] +push esi +push 0xed00015c +and ebx, 0xffffc000 +push ebx +call fcn_00009cab ; call 0x9cab +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_0000d49b ; jns 0xd49b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d4b7 ; je 0xd4b7 +push ecx +push edi +push ref_000224fd ; push 0x224fd +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +jmp short loc_0000d4b4 ; jmp 0xd4b4 + +loc_0000d49b: +mov eax, dword [ebp - 0x20] +push edx +and ah, 0xf7 +or ah, 0x37 +push eax +push 0xed00015c +push ebx +mov dword [ebp - 0x20], eax +call fcn_00009c07 ; call 0x9c07 + +loc_0000d4b4: +add esp, 0x10 + +loc_0000d4b7: +push edi +push esi +push 0xed000118 +push ebx +call fcn_00009cab ; call 0x9cab +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_0000d4e9 ; jns 0xd4e9 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d504 ; je 0xd504 +push ecx +push edi +push ref_00022520 ; push 0x22520 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +jmp short loc_0000d501 ; jmp 0xd501 + +loc_0000d4e9: +mov eax, dword [ebp - 0x20] +push edx +or eax, 0xc00000 +push eax +push 0xed000118 +push ebx +mov dword [ebp - 0x20], eax +call fcn_00009c07 ; call 0x9c07 + +loc_0000d501: +add esp, 0x10 + +loc_0000d504: +push edi +push esi +push 0xed000120 +push ebx +call fcn_00009cab ; call 0x9cab +add esp, 0x10 +mov esi, eax +test eax, eax +jns short loc_0000d536 ; jns 0xd536 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d551 ; je 0xd551 +push ecx +push esi +push ref_00022543 ; push 0x22543 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +jmp short loc_0000d54e ; jmp 0xd54e + +loc_0000d536: +mov eax, dword [ebp - 0x20] +push edx +or eax, 0x240000 +push eax +push 0xed000120 +push ebx +mov dword [ebp - 0x20], eax +call fcn_00009c07 ; call 0x9c07 + +loc_0000d54e: +add esp, 0x10 + +loc_0000d551: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000d55b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov ebx, dword [ebp + 8] +push 6 +push 0x1f +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0 +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +mov esi, dword [ebx + 0x1a] +pop ecx +pop eax +mov dword [ebp - 0x1c], edi +lea edi, [edi + 0x40] +push esi +push edi +call fcn_00017dcb ; call 0x17dcb +pop eax +mov eax, dword [ebp - 0x1c] +pop edx +add eax, 0x44 +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +push 1 +push edi +call fcn_00018a50 ; call 0x18a50 +call fcn_0001bef7 ; call 0x1bef7 +add esp, 0x10 +cmp eax, 2 +lea eax, [esi + 0x10] +jne short loc_0000d5ca ; jne 0xd5ca +push edx +push edx +push 0x14a +jmp short loc_0000d5d1 ; jmp 0xd5d1 + +loc_0000d5ca: +push ecx +push ecx +push 0x154 + +loc_0000d5d1: +push eax +call fcn_00017d40 ; call 0x17d40 +add esp, 0x10 +push eax +push eax +push 0xff +lea eax, [esi + 6] +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop eax +pop edx +lea eax, [esi + 0x80] +push 0xff +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop ecx +pop eax +lea eax, [esi + 0x84] +push 0 +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop eax +pop edx +lea eax, [esi + 0x82] +push 0 +push eax +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +push 0x403c +push 0xffff8003 +mov eax, dword [ebx + 4] +add eax, 0x38b0 +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebx + 4] +add eax, 0x38b4 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test ah, 0x40 +je short loc_0000d660 ; je 0xd660 +push eax +add esi, 0xa +push eax +push 1 +push esi +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0x10 + +loc_0000d660: +push ecx +push ecx +push 0xfffffffffffffffe +push edi +call fcn_00018a7a ; call 0x18a7a +pop esi +pop eax +push 0 +push edi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +test byte [ebx + 0x426], 1 +je loc_0000d70d ; je 0xd70d +mov cl, byte [ebx + 0x432] +mov dl, byte [ebx + 0x436] +mov eax, ecx +shl eax, 0x1e +and eax, 0x40000000 +mov esi, eax +or esi, 0x80000000 +test dl, 1 +cmovne eax, esi +mov esi, eax +or esi, 0x4000 +and cl, 2 +cmovne eax, esi +mov ecx, eax +or ch, 0x80 +and dl, 2 +cmovne eax, ecx +push edx +push eax +push 0xfff0fff +mov eax, dword [ebx + 4] +add eax, 0x33d4 +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov al, byte [ebx + 0x432] +add esp, 0xc +shl eax, 8 +and eax, 0x400 +mov edx, eax +or dh, 8 +test byte [ebx + 0x436], 4 +cmovne eax, edx +push eax +push 0xfffff0ff +mov eax, dword [ebx + 4] +add eax, 0x33c8 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0000d70d: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000d717: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov edi, dword [ebp + 8] +mov eax, dword [edi + 4] +mov bl, byte [edi + 0x361] +lea esi, [eax + 0x31fe] +push esi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp bl, al +je short loc_0000d765 ; je 0xd765 +push ebx +push ebx +push 0xfeff +push esi +call fcn_00018890 ; call 0x18890 +movzx eax, byte [edi + 0x361] +add esp, 0xc +push eax +push 0xff00 +push esi +call fcn_000188bd ; call 0x188bd +add esp, 0x10 + +loc_0000d765: +push eax +push eax +push 0x100 +push esi +call fcn_00018863 ; call 0x18863 +mov dword [esp], esi +call fcn_00017cfe ; call 0x17cfe +mov dword [esp], esi +call fcn_00017cc7 ; call 0x17cc7 +pop edx +pop ecx +push 0 +movzx ebx, al +shl ebx, 0xc +mov eax, ebx +or ebx, 0xfec00010 +or eax, 0xfec00000 +push eax +mov dword [ebp - 0x1c], eax +call fcn_00017ce1 ; call 0x17ce1 +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +mov dl, byte [edi + 0x360] +add esp, 0x10 +movzx ecx, dl +shr eax, 0x18 +cmp ecx, eax +je short loc_0000d7e4 ; je 0xd7e4 +cmp dl, 0xf +ja short loc_0000d7e4 ; ja 0xd7e4 +push edx +push edx +push 0 +push dword [ebp - 0x1c] +call fcn_00017ce1 ; call 0x17ce1 +pop ecx +pop eax +movzx eax, byte [edi + 0x360] +shl eax, 0x18 +push eax +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_0000d7e4: +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 2 +jne short loc_0000d807 ; jne 0xd807 +cmp byte [edi + 0x362], 0 +jne short loc_0000d807 ; jne 0xd807 +push eax +push eax +push 0x800 +push esi +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_0000d807: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000d811: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d834 ; je 0xd834 +push eax +push eax +push ref_00022566 ; push 0x22566 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000d834: +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +lea esi, [eax + 0xf0] +mov ebx, eax +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +lea eax, [ebp - 0x20] +push eax +push 0 +push 0 +push ref_0002912c ; push 0x2912c +call fcn_00019699 ; call 0x19699 +add esp, 0x20 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000d8a9 ; je 0xd8a9 +test edi, edi +jns short loc_0000d8a9 ; jns 0xd8a9 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000d891 ; je 0xd891 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000d891: +push edi +push ref_00020664 ; push 0x20664 +push 0x7c4 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000d8a9: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000d8d5 ; je 0xd8d5 +mov eax, dword [ebp - 0x20] +test word [eax + 4], 0x3fff +je short loc_0000d8d5 ; je 0xd8d5 +push ecx +push ref_0002257f ; push 0x2257f +push 0x7d5 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000d8d5: +push eax +mov eax, dword [ebp - 0x20] +mov eax, dword [eax + 4] +or eax, 1 +push eax +push 0x3fff +push esi +call fcn_00018aa4 ; call 0x18aa4 +lea esi, [ebx + 0x40] +pop eax +mov eax, dword [ebp - 0x20] +pop edx +movzx eax, word [eax + 8] +push eax +push esi +call fcn_00017dcb ; call 0x17dcb +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000d93e ; je 0xd93e +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x20] +add esp, 0x10 +movzx edx, word [edx + 8] +and eax, 0xfffc +cmp eax, edx +je short loc_0000d93e ; je 0xd93e +push edi +push ref_000225ba ; push 0x225ba +push 0x7e1 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000d93e: +mov eax, dword [ebp - 0x20] +cmp word [eax + 8], 0 +lea eax, [ebx + 0x44] +je short loc_0000d95a ; je 0xd95a +push esi +push esi +push 0x80 +push eax +call fcn_0001866c ; call 0x1866c +jmp short loc_0000d964 ; jmp 0xd964 + +loc_0000d95a: +push ecx +push ecx +push 0x7f +push eax +call fcn_00018699 ; call 0x18699 + +loc_0000d964: +add esp, 0x10 +push eax +push eax +push 2 +lea eax, [ebx + 0xa6] +push eax +call fcn_0001866c ; call 0x1866c +lea esi, [ebx + 0x48] +pop eax +mov eax, dword [ebp - 0x20] +pop edx +movzx eax, word [eax + 0xa] +push eax +push esi +call fcn_00017dcb ; call 0x17dcb +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000d9ca ; je 0xd9ca +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x20] +add esp, 0x10 +movzx edx, word [edx + 0xa] +and eax, 0xfffc +cmp eax, edx +je short loc_0000d9ca ; je 0xd9ca +push eax +push ref_00022601 ; push 0x22601 +push 0x800 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000d9ca: +mov eax, dword [ebp - 0x20] +cmp word [eax + 0xa], 0 +lea eax, [ebx + 0x4c] +je short loc_0000d9e3 ; je 0xd9e3 +push edi +push edi +push 0x10 +push eax +call fcn_0001866c ; call 0x1866c +jmp short loc_0000d9f0 ; jmp 0xd9f0 + +loc_0000d9e3: +push esi +push esi +push 0xef +push eax +call fcn_00018699 ; call 0x18699 + +loc_0000d9f0: +mov eax, dword [ebp - 0x20] +add esp, 0x10 +mov dl, byte [eax + 0x40e] +push ecx +and edx, 0x20 +cmp dl, 1 +sbb eax, eax +and eax, 0xffffffe0 +dec eax +cmp dl, 1 +sbb edx, edx +movzx eax, al +not edx +add ebx, 0xdc +and edx, 0x22 +push edx +push eax +push ebx +call fcn_000186c6 ; call 0x186c6 +pop ebx +push dword [ebp - 0x20] +call fcn_0000cb8e ; call 0xcb8e +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000da74 ; je 0xda74 +test ebx, ebx +jns short loc_0000da74 ; jns 0xda74 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000da5c ; je 0xda5c +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000da5c: +push edi +push ref_00020664 ; push 0x20664 +push 0x828 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000da74: +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_000113df ; call 0x113df +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000dac6 ; je 0xdac6 +test ebx, ebx +jns short loc_0000dac6 ; jns 0xdac6 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000daae ; je 0xdaae +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000daae: +push ecx +push ref_00020664 ; push 0x20664 +push 0x82a +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000dac6: +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_0000ce93 ; call 0xce93 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000db18 ; je 0xdb18 +test ebx, ebx +jns short loc_0000db18 ; jns 0xdb18 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000db00 ; je 0xdb00 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000db00: +push eax +push ref_00020664 ; push 0x20664 +push 0x82d +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000db18: +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_0000d0c1 ; call 0xd0c1 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000db6a ; je 0xdb6a +test ebx, ebx +jns short loc_0000db6a ; jns 0xdb6a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000db52 ; je 0xdb52 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000db52: +push eax +push ref_00020664 ; push 0x20664 +push 0x830 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000db6a: +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_0000d55b ; call 0xd55b +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000dbbc ; je 0xdbbc +test ebx, ebx +jns short loc_0000dbbc ; jns 0xdbbc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dba4 ; je 0xdba4 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dba4: +push eax +push ref_00020664 ; push 0x20664 +push 0x832 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000dbbc: +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_0000d717 ; call 0xd717 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000dc0e ; je 0xdc0e +test ebx, ebx +jns short loc_0000dc0e ; jns 0xdc0e +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dbf6 ; je 0xdbf6 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dbf6: +push edi +push ref_00020664 ; push 0x20664 +push 0x834 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000dc0e: +sub esp, 0xc +lea eax, [ebp - 0x1c] +push eax +call fcn_000196d3 ; call 0x196d3 +add esp, 0x10 +test eax, eax +js short loc_0000dc98 ; js 0xdc98 +mov eax, dword [ebp - 0x1c] +cmp eax, 0x11 +je short loc_0000dc98 ; je 0xdc98 +cmp eax, 0x20 +je short loc_0000dc98 ; je 0xdc98 +mov eax, dword [ebp - 0x20] +cmp byte [eax + 0x339], 0 +je short loc_0000dc98 ; je 0xdc98 +movzx ecx, byte [eax] +add eax, 0x284 +mov edx, dword [eax - 0x26a] +push ecx +push edx +push edx +push eax +call fcn_000116c1 ; call 0x116c1 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000dc98 ; je 0xdc98 +test ebx, ebx +jns short loc_0000dc98 ; jns 0xdc98 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dc80 ; je 0xdc80 +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dc80: +push ebx +push ref_00020664 ; push 0x20664 +push 0x848 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000dc98: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dcb2 ; je 0xdcb2 +push ecx +push ecx +push ref_0002264a ; push 0x2264a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dcb2: +sub esp, 0xc +push ref_00026ec4 ; push 0x26ec4 +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000dd06 ; je 0xdd06 +test ebx, ebx +jns short loc_0000dd06 ; jns 0xdd06 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dcee ; je 0xdcee +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dcee: +push eax +push ref_00020664 ; push 0x20664 +push 0x853 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000dd06: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000dd10: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ebx, dword [ebp + 0xc] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dd36 ; je 0xdd36 +push eax +push eax +push ref_00022661 ; push 0x22661 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dd36: ; not directly referenced +cmp byte [ebx], 5 +jbe loc_0000ddcb ; jbe 0xddcb +xor edx, edx + +loc_0000dd41: ; not directly referenced +cmp dl, byte [ebx + 0x526] +jae short loc_0000dd72 ; jae 0xdd72 +movzx eax, dl +mov esi, dword [ebp + 8] +push edi +lea eax, [ebx + eax*8] +push edi +push dword [eax + 0x4e2] +add esi, dword [eax + 0x4de] +mov dword [ebp - 0x1c], edx +push esi +call fcn_00017dcb ; call 0x17dcb +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +inc edx +jmp short loc_0000dd41 ; jmp 0xdd41 + +loc_0000dd72: ; not directly referenced +xor edx, edx + +loc_0000dd74: ; not directly referenced +cmp dl, byte [ebx + 0x553] +jae short loc_0000dda8 ; jae 0xdda8 +movzx eax, dl +lea eax, [ebx + eax*4] +push esi +push esi +movzx ecx, word [eax + 0x529] +mov dword [ebp - 0x1c], edx +push ecx +movzx eax, word [eax + 0x527] +add eax, dword [ebp + 8] +push eax +call fcn_00017d40 ; call 0x17d40 +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +inc edx +jmp short loc_0000dd74 ; jmp 0xdd74 + +loc_0000dda8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_0000de59 ; je 0xde59 +push eax +push eax +push ref_00022688 ; push 0x22688 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_0000de59 ; jmp 0xde59 + +loc_0000ddcb: ; not directly referenced +call fcn_0001bef7 ; call 0x1bef7 +mov esi, ref_00026eec ; mov esi, 0x26eec +mov edx, ref_00026f10 ; mov edx, 0x26f10 +mov edi, ref_00026f28 ; mov edi, 0x26f28 +cmp eax, 2 +sete bl +setne cl +cmovne esi, edx +movzx ebx, bl +mov edx, ref_00026f50 ; mov edx, 0x26f50 +movzx ecx, cl +cmovne edi, edx +add ecx, 5 +lea ebx, [ebx + ebx*2 + 6] +xor edx, edx + +loc_0000de02: ; not directly referenced +movzx eax, dl +cmp eax, ecx +jae short loc_0000de2e ; jae 0xde2e +mov dword [ebp - 0x20], ecx +lea eax, [edi + eax*8] +push ecx +push ecx +mov ecx, dword [ebp + 8] +push dword [eax + 4] +add ecx, dword [eax] +mov dword [ebp - 0x1c], edx +push ecx +call fcn_00017dcb ; call 0x17dcb +mov edx, dword [ebp - 0x1c] +add esp, 0x10 +mov ecx, dword [ebp - 0x20] +inc edx +jmp short loc_0000de02 ; jmp 0xde02 + +loc_0000de2e: ; not directly referenced +xor edi, edi + +loc_0000de30: ; not directly referenced +mov eax, edi +movzx eax, al +cmp eax, ebx +jae loc_0000dda8 ; jae 0xdda8 +lea eax, [esi + eax*4] +inc edi +push edx +push edx +movzx edx, word [eax + 2] +push edx +movzx eax, word [eax] +add eax, dword [ebp + 8] +push eax +call fcn_00017d40 ; call 0x17d40 +add esp, 0x10 +jmp short loc_0000de30 ; jmp 0xde30 + +loc_0000de59: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000de63: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000de86 ; je 0xde86 +push ebx +push ebx +push ref_000226ad ; push 0x226ad +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000de86: +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edi, eax +lea eax, [eax + 0xa4] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 4 +je loc_0000df64 ; je 0xdf64 +push ecx +push ecx +push 1 +push dword [ebp + 8] +call fcn_0001bd8b ; call 0x1bd8b +mov dword [esp], 0x70 +call fcn_00018e1d ; call 0x18e1d +pop esi +mov bl, al +pop eax +and ebx, 0xffffff80 +push 0 +push dword [ebp + 8] +call fcn_0001bd8b ; call 0x1bd8b +mov dl, bl +or ebx, 0xb +or edx, 0xa +movzx ebx, bl +pop eax +movzx esi, dl +pop edx +push esi +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +pop ecx +pop edx +and eax, 0x8f +or eax, 0x60 +push eax +push 0x71 +call fcn_00018e26 ; call 0x18e26 +pop ecx +pop eax +push ebx +push 0x70 +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 0x80 +push 0x71 +call fcn_00017ebb ; call 0x17ebb +pop ecx +pop eax +push esi +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +pop edx +pop ecx +and eax, 0x8f +or eax, 0x20 +push eax +push 0x71 +call fcn_00018e26 ; call 0x18e26 +pop esi +pop eax +push ebx +push 0x70 +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 0x7f +push 0x71 +call fcn_00017ee8 ; call 0x17ee8 +add esp, 0x10 + +loc_0000df64: +mov eax, dword [ebp + 8] +add edi, 0xdc +push edx +push edx +push 0x10 +lea esi, [eax + 0x3310] +push esi +call fcn_00017dcb ; call 0x17dcb +add esp, 0xc +push 8 +push 0xf3 +push edi +call fcn_000186c6 ; call 0x186c6 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0000dfaa ; je 0xdfaa +push eax +push eax +push ref_000226c5 ; push 0x226c5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dfaa: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000dfb2: +push ebp +mov ebp, esp +push esi +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dfd1 ; je 0xdfd1 +push esi +push esi +push ref_000226db ; push 0x226db +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dfd1: +call fcn_0001bcb1 ; call 0x1bcb1 +test al, al +jne short loc_0000e018 ; jne 0xe018 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000dff7 ; je 0xdff7 +push ebx +push ebx +push ref_000226f8 ; push 0x226f8 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000dff7: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0000e018 ; je 0xe018 +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x974 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000e018: +push edx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +and ebx, 0xffffc000 +add esp, 0x10 +test al, al +je short loc_0000e056 ; je 0xe056 +push eax +push eax +push ref_00022732 ; push 0x22732 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e056: +call fcn_000153f0 ; call 0x153f0 +sub esp, 0xc +push ebx +call fcn_0000de63 ; call 0xde63 +mov dword [esp], 0xc +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov ebx, eax +test eax, eax +jne short loc_0000e0a0 ; jne 0xe0a0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e096 ; je 0xe096 +push eax +push eax +push ref_0002275b ; push 0x2275b + +loc_0000e089: +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e096: +mov ebx, 0x80000009 +jmp near loc_0000e1f4 ; jmp 0xe1f4 + +loc_0000e0a0: +sub esp, 0xc +push 0x28 +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov esi, eax +test eax, eax +jne short loc_0000e0c5 ; jne 0xe0c5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e096 ; je 0xe096 +push eax +push eax +push ref_00022791 ; push 0x22791 +jmp short loc_0000e089 ; jmp 0xe089 + +loc_0000e0c5: +push eax +push 0x28 +push ref_00026f80 ; push 0x26f80 +push esi +call fcn_0001707a ; call 0x1707a +mov dword [ebx], 0x80000010 +mov dword [ebx + 4], ref_000290cc ; mov dword [ebx + 4], 0x290cc +mov dword [ebx + 8], esi +mov dword [esp], ebx +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000e132 ; je 0xe132 +test ebx, ebx +jns short loc_0000e132 ; jns 0xe132 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e11a ; je 0xe11a +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e11a: +push eax +push ref_00020664 ; push 0x20664 +push 0x99d +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000e132: +sub esp, 0xc +push ref_00026ed0 ; push 0x26ed0 +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000e186 ; je 0xe186 +test ebx, ebx +jns short loc_0000e186 ; jns 0xe186 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e16e ; je 0xe16e +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e16e: +push ebx +push ref_00020664 ; push 0x20664 +push 0x9a3 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000e186: +sub esp, 0xc +push ref_00026eac ; push 0x26eac +call fcn_000196bb ; call 0x196bb +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0000e1da ; je 0xe1da +test ebx, ebx +jns short loc_0000e1da ; jns 0xe1da +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e1c2 ; je 0xe1c2 +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e1c2: +push edx +push ref_00020664 ; push 0x20664 +push 0x9a9 +push ref_00022290 ; push 0x22290 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0000e1da: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e1f4 ; je 0xe1f4 +push eax +push eax +push ref_000227c3 ; push 0x227c3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e1f4: +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_0000e1fd: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e21f ; je 0xe21f +push edx +push edx +push ref_000227de ; push 0x227de +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e21f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e240 ; je 0xe240 +push eax +movzx eax, byte [ebx + 0xb4] +push eax +push ref_00022814 ; push 0x22814 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e240: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e261 ; je 0xe261 +push eax +movzx eax, byte [ebx + 0xb5] +push eax +push ref_00022814 ; push 0x22814 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e261: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e27f ; je 0xe27f +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_00022828 ; push 0x22828 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e27f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e29d ; je 0xe29d +push eax +movzx eax, byte [ebx + 9] +push eax +push ref_00022838 ; push 0x22838 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e29d: ; not directly referenced +xor esi, esi + +loc_0000e29f: ; not directly referenced +call fcn_0001c19d ; call 0x1c19d +movzx eax, al +cmp esi, eax +jae short loc_0000e2ec ; jae 0xe2ec +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e2ca ; je 0xe2ca +movzx eax, byte [ebx + esi*8 + 0x2c] +push eax +push esi +push ref_00022848 ; push 0x22848 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e2ca: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e2e9 ; je 0xe2e9 +movzx eax, byte [ebx + esi*8 + 0x32] +push eax +push esi +push ref_00022867 ; push 0x22867 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e2e9: ; not directly referenced +inc esi +jmp short loc_0000e29f ; jmp 0xe29f + +loc_0000e2ec: ; not directly referenced +xor esi, esi + +loc_0000e2ee: ; not directly referenced +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp esi, eax +jae short loc_0000e31f ; jae 0xe31f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e31c ; je 0xe31c +movzx eax, byte [ebx + esi*4 + 0x9c] +push eax +push esi +push ref_00022888 ; push 0x22888 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e31c: ; not directly referenced +inc esi +jmp short loc_0000e2ee ; jmp 0xe2ee + +loc_0000e31f: ; not directly referenced +xor esi, esi + +loc_0000e321: ; not directly referenced +call fcn_0001c181 ; call 0x1c181 +movzx eax, al +cmp esi, eax +jae short loc_0000e34e ; jae 0xe34e +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e34b ; je 0xe34b +movzx eax, byte [ebx + esi*8] +push eax +push esi +push ref_000228a9 ; push 0x228a9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e34b: ; not directly referenced +inc esi +jmp short loc_0000e321 ; jmp 0xe321 + +loc_0000e34e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e36c ; je 0xe36c +push eax +movzx eax, byte [ebx + 0x10] +push eax +push ref_000228c9 ; push 0x228c9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e36c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e38a ; je 0xe38a +push eax +movzx eax, byte [ebx + 0x11] +push eax +push ref_000228e2 ; push 0x228e2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e38a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e3a8 ; je 0xe3a8 +push esi +movzx eax, byte [ebx + 0x12] +push eax +push ref_00022905 ; push 0x22905 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e3a8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e3c6 ; je 0xe3c6 +push ecx +movzx eax, byte [ebx + 0x13] +push eax +push ref_0002291e ; push 0x2291e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e3c6: ; not directly referenced +xor esi, esi + +loc_0000e3c8: ; not directly referenced +call fcn_0001c1d4 ; call 0x1c1d4 +movzx eax, al +cmp esi, eax +jae short loc_0000e40a ; jae 0xe40a +cmp byte [ebx + esi + 0x14], 0 +jne short loc_0000e3ed ; jne 0xe3ed +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e407 ; je 0xe407 +push edx +push esi +push ref_0002293d ; push 0x2293d +jmp short loc_0000e3fd ; jmp 0xe3fd + +loc_0000e3ed: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e407 ; je 0xe407 +push eax +push esi +push ref_00022972 ; push 0x22972 + +loc_0000e3fd: ; not directly referenced +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e407: ; not directly referenced +inc esi +jmp short loc_0000e3c8 ; jmp 0xe3c8 + +loc_0000e40a: ; not directly referenced +xor esi, esi + +loc_0000e40c: ; not directly referenced +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp esi, eax +jae short loc_0000e43a ; jae 0xe43a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e437 ; je 0xe437 +movzx eax, byte [ebx + esi + 0x22] +push eax +push esi +push ref_000229a7 ; push 0x229a7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e437: ; not directly referenced +inc esi +jmp short loc_0000e40c ; jmp 0xe40c + +loc_0000e43a: ; not directly referenced +xor esi, esi + +loc_0000e43c: ; not directly referenced +call fcn_0001c19d ; call 0x1c19d +movzx eax, al +cmp esi, eax +jae short loc_0000e4a8 ; jae 0xe4a8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e467 ; je 0xe467 +movzx eax, byte [ebx + esi*8 + 0x2d] +push eax +push esi +push ref_000229db ; push 0x229db +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e467: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e486 ; je 0xe486 +movzx eax, byte [ebx + esi*8 + 0x2e] +push eax +push esi +push ref_00022a00 ; push 0x22a00 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e486: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e4a5 ; je 0xe4a5 +movzx eax, byte [ebx + esi*8 + 0x2f] +push eax +push esi +push ref_00022a30 ; push 0x22a30 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e4a5: ; not directly referenced +inc esi +jmp short loc_0000e43c ; jmp 0xe43c + +loc_0000e4a8: ; not directly referenced +xor esi, esi + +loc_0000e4aa: ; not directly referenced +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp esi, eax +jae short loc_0000e4fd ; jae 0xe4fd +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e4d8 ; je 0xe4d8 +movzx eax, byte [ebx + esi*4 + 0x9d] +push eax +push esi +push ref_00022a60 ; push 0x22a60 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e4d8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e4fa ; je 0xe4fa +movzx eax, byte [ebx + esi*4 + 0x9e] +push eax +push esi +push ref_00022a85 ; push 0x22a85 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e4fa: ; not directly referenced +inc esi +jmp short loc_0000e4aa ; jmp 0xe4aa + +loc_0000e4fd: ; not directly referenced +xor esi, esi + +loc_0000e4ff: ; not directly referenced +call fcn_0001c158 ; call 0x1c158 +movzx eax, al +cmp esi, eax +jae short loc_0000e53d ; jae 0xe53d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e53a ; je 0xe53a +mov ax, word [ebx + esi*8 + 0x30] +sub esp, 0xc +mov edx, eax +and edx, 0xf +shr ax, 4 +push edx +movzx eax, ax +push eax +push esi +push ref_00022aac ; push 0x22aac +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0000e53a: ; not directly referenced +inc esi +jmp short loc_0000e4ff ; jmp 0xe4ff + +loc_0000e53d: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000e544: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e566 ; je 0xe566 +push eax +push eax +push ref_00022aca ; push 0x22aca +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e566: ; not directly referenced +xor ebx, ebx + +loc_0000e568: ; not directly referenced +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp ebx, eax +jae loc_0000e6aa ; jae 0xe6aa +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e596 ; je 0xe596 +movzx eax, byte [esi + ebx*8] +push eax +push ebx +push ref_00022b09 ; push 0x22b09 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e596: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e5b5 ; je 0xe5b5 +movzx eax, byte [esi + ebx*8 + 1] +push eax +push ebx +push ref_00022b3a ; push 0x22b3a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e5b5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e5d4 ; je 0xe5d4 +movzx eax, byte [esi + ebx*8 + 2] +push eax +push ebx +push ref_00022b6e ; push 0x22b6e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e5d4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e5f5 ; je 0xe5f5 +mov al, byte [esi + ebx*8 + 3] +and eax, 1 +push eax +push ebx +push ref_00022b9b ; push 0x22b9b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e5f5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e618 ; je 0xe618 +mov al, byte [esi + ebx*8 + 3] +shr al, 1 +movzx eax, al +push eax +push ebx +push ref_00022bc5 ; push 0x22bc5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e618: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e639 ; je 0xe639 +mov al, byte [esi + ebx*8 + 4] +and eax, 1 +push eax +push ebx +push ref_00022bf7 ; push 0x22bf7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e639: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e65c ; je 0xe65c +mov al, byte [esi + ebx*8 + 4] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_00022c2e ; push 0x22c2e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e65c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e680 ; je 0xe680 +mov al, byte [esi + ebx*8 + 4] +shr al, 2 +and eax, 1 +push eax +push ebx +push ref_00022c68 ; push 0x22c68 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e680: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e6a4 ; je 0xe6a4 +mov al, byte [esi + ebx*8 + 4] +shr al, 3 +and eax, 1 +push eax +push ebx +push ref_00022c9b ; push 0x22c9b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e6a4: ; not directly referenced +inc ebx +jmp near loc_0000e568 ; jmp 0xe568 + +loc_0000e6aa: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000e6b1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e6d7 ; je 0xe6d7 +push eax +push eax +push ref_00022cc7 ; push 0x22cc7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e6d7: ; not directly referenced +lea edi, [esi + 0x1e] +xor ebx, ebx + +loc_0000e6dc: ; not directly referenced +call fcn_0001c0fb ; call 0x1c0fb +movzx eax, al +cmp ebx, eax +jae loc_0000eb32 ; jae 0xeb32 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e70f ; je 0xe70f +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +and eax, 1 +push eax +push ebx +push ref_00022cfe ; push 0x22cfe +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e70f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e734 ; je 0xe734 +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_00022d19 ; push 0x22d19 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e734: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e75a ; je 0xe75a +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 2 +and eax, 1 +push eax +push ebx +push ref_00022d31 ; push 0x22d31 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e75a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e780 ; je 0xe780 +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 3 +and eax, 1 +push eax +push ebx +push ref_00022d54 ; push 0x22d54 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e780: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e7a6 ; je 0xe7a6 +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 4 +and eax, 1 +push eax +push ebx +push ref_00022d6f ; push 0x22d6f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e7a6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e7cc ; je 0xe7cc +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 5 +and eax, 1 +push eax +push ebx +push ref_00022d88 ; push 0x22d88 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e7cc: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e7f2 ; je 0xe7f2 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_00022da3 ; push 0x22da3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e7f2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e819 ; je 0xe819 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 2 +and eax, 1 +push eax +push ebx +push ref_00022dcf ; push 0x22dcf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e819: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e840 ; je 0xe840 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 3 +and eax, 1 +push eax +push ebx +push ref_00022df3 ; push 0x22df3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e840: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e867 ; je 0xe867 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 4 +and eax, 1 +push eax +push ebx +push ref_00022e19 ; push 0x22e19 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e867: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e88e ; je 0xe88e +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 5 +and eax, 1 +push eax +push ebx +push ref_00022e43 ; push 0x22e43 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e88e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e8b5 ; je 0xe8b5 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 6 +and eax, 1 +push eax +push ebx +push ref_00022e63 ; push 0x22e63 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e8b5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e8dc ; je 0xe8dc +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +shr al, 7 +movzx eax, al +push eax +push ebx +push ref_00022e8e ; push 0x22e8e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e8dc: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e900 ; je 0xe900 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 5] +and eax, 1 +push eax +push ebx +push ref_00022ebc ; push 0x22ebc +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e900: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e924 ; je 0xe924 +imul eax, ebx, 0x2c +mov al, byte [esi + eax + 4] +and eax, 1 +push eax +push ebx +push ref_00022eed ; push 0x22eed +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e924: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e94a ; je 0xe94a +imul eax, ebx, 0x2c +mov al, byte [esi + eax] +shr al, 6 +and eax, 1 +push eax +push ebx +push ref_00022f17 ; push 0x22f17 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e94a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e968 ; je 0xe968 +movzx eax, byte [edi - 0x16] +push eax +push ebx +push ref_00022f3f ; push 0x22f3f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e968: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e986 ; je 0xe986 +movzx eax, byte [edi - 0x15] +push eax +push ebx +push ref_00022f5c ; push 0x22f5c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e986: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e9a4 ; je 0xe9a4 +movzx eax, byte [edi - 0x14] +push eax +push ebx +push ref_00022f7e ; push 0x22f7e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e9a4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e9c2 ; je 0xe9c2 +movzx eax, byte [edi - 0x13] +push eax +push ebx +push ref_00022fa4 ; push 0x22fa4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e9c2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e9e0 ; je 0xe9e0 +movzx eax, byte [edi - 0xe] +push eax +push ebx +push ref_00022fc9 ; push 0x22fc9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e9e0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000e9fe ; je 0xe9fe +movzx eax, byte [edi - 0xd] +push eax +push ebx +push ref_00022fe1 ; push 0x22fe1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000e9fe: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ea1c ; je 0xea1c +movzx eax, byte [edi - 0xc] +push eax +push ebx +push ref_00023000 ; push 0x23000 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ea1c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ea3a ; je 0xea3a +movzx eax, byte [edi - 0xb] +push eax +push ebx +push ref_0002301d ; push 0x2301d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ea3a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ea58 ; je 0xea58 +movzx eax, word [edi - 0xa] +push eax +push ebx +push ref_0002303e ; push 0x2303e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ea58: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ea76 ; je 0xea76 +movzx eax, word [edi - 8] +push eax +push ebx +push ref_00023064 ; push 0x23064 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ea76: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ea94 ; je 0xea94 +movzx eax, byte [edi - 6] +push eax +push ebx +push ref_0002308c ; push 0x2308c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ea94: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eab2 ; je 0xeab2 +movzx eax, byte [edi - 5] +push eax +push ebx +push ref_000230b8 ; push 0x230b8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eab2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ead0 ; je 0xead0 +movzx eax, word [edi - 4] +push eax +push ebx +push ref_000230ea ; push 0x230ea +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ead0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eaee ; je 0xeaee +movzx eax, byte [edi - 2] +push eax +push ebx +push ref_00023117 ; push 0x23117 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eaee: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eb0c ; je 0xeb0c +movzx eax, byte [edi - 1] +push eax +push ebx +push ref_00023146 ; push 0x23146 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eb0c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eb29 ; je 0xeb29 +movzx eax, word [edi] +push eax +push ebx +push ref_0002317b ; push 0x2317b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eb29: ; not directly referenced +inc ebx +add edi, 0x2c +jmp near loc_0000e6dc ; jmp 0xe6dc + +loc_0000eb32: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eb53 ; je 0xeb53 +push edi +movzx eax, byte [esi + 0x160] +push eax +push ref_000231ab ; push 0x231ab +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eb53: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eb74 ; je 0xeb74 +push ebx +movzx eax, byte [esi + 0x161] +push eax +push ref_000231c1 ; push 0x231c1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eb74: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eb95 ; je 0xeb95 +push ecx +movzx eax, byte [esi + 0x162] +push eax +push ref_000231d7 ; push 0x231d7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eb95: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ebb6 ; je 0xebb6 +push edx +movzx eax, byte [esi + 0x163] +push eax +push ref_000231f1 ; push 0x231f1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ebb6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ebd9 ; je 0xebd9 +push eax +mov al, byte [esi + 0x164] +and eax, 1 +push eax +push ref_00023210 ; push 0x23210 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ebd9: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000ebe1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ec07 ; je 0xec07 +push edi +push edi +push ref_0002322f ; push 0x2322f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ec07: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ec24 ; je 0xec24 +push ebx +movzx eax, byte [esi] +push eax +push ref_000233c4 ; push 0x233c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ec24: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ec40 ; je 0xec40 +push ecx +push dword [esi + 1] +push ref_00023266 ; push 0x23266 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ec40: ; not directly referenced +lea edi, [esi + 0xd] +xor ebx, ebx + +loc_0000ec45: ; not directly referenced +call fcn_0001c11d ; call 0x1c11d +movzx eax, al +cmp ebx, eax +jae loc_0000efe4 ; jae 0xefe4 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ec79 ; je 0xec79 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +and eax, 1 +push eax +push ebx +push ref_00022848 ; push 0x22848 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ec79: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ec9f ; je 0xec9f +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_00023275 ; push 0x23275 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ec9f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ecc6 ; je 0xecc6 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 2 +and eax, 1 +push eax +push ebx +push ref_00023294 ; push 0x23294 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ecc6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eced ; je 0xeced +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 3 +and eax, 1 +push eax +push ebx +push ref_000232b7 ; push 0x232b7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eced: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ed14 ; je 0xed14 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 4 +and eax, 1 +push eax +push ebx +push ref_000232d7 ; push 0x232d7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ed14: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ed3b ; je 0xed3b +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 5 +and eax, 1 +push eax +push ebx +push ref_000232f5 ; push 0x232f5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ed3b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ed62 ; je 0xed62 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 6 +and eax, 1 +push eax +push ebx +push ref_0002331c ; push 0x2331c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ed62: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ed89 ; je 0xed89 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 5] +shr al, 7 +movzx eax, al +push eax +push ebx +push ref_0002333a ; push 0x2333a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ed89: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000edad ; je 0xedad +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 6] +and eax, 0xf +push eax +push ebx +push ref_00023362 ; push 0x23362 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000edad: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ede1 ; je 0xede1 +imul edx, ebx, 0x12 +add edx, esi +mov al, byte [edx + 6] +shr al, 4 +movzx ecx, al +movzx eax, byte [edx + 7] +and eax, 0x3f +shl eax, 4 +or eax, ecx +push eax +push ebx +push ref_0002337f ; push 0x2337f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ede1: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000edff ; je 0xedff +movzx eax, byte [edi - 3] +push eax +push ebx +push ref_0002339e ; push 0x2339e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000edff: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ee1d ; je 0xee1d +movzx eax, byte [edi - 4] +push eax +push ebx +push ref_000233d1 ; push 0x233d1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ee1d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ee3b ; je 0xee3b +movzx eax, byte [edi - 1] +push eax +push ebx +push ref_00023402 ; push 0x23402 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ee3b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ee59 ; je 0xee59 +movzx eax, byte [edi - 2] +push eax +push ebx +push ref_00023435 ; push 0x23435 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ee59: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ee77 ; je 0xee77 +movzx eax, byte [edi + 1] +push eax +push ebx +push ref_00023466 ; push 0x23466 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ee77: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ee94 ; je 0xee94 +movzx eax, byte [edi] +push eax +push ebx +push ref_00023499 ; push 0x23499 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ee94: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eeb6 ; je 0xeeb6 +imul eax, ebx, 0x12 +movzx eax, byte [esi + eax + 0xf] +push eax +push ebx +push ref_000234ca ; push 0x234ca +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eeb6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eed8 ; je 0xeed8 +imul eax, ebx, 0x12 +movzx eax, byte [esi + eax + 0x10] +push eax +push ebx +push ref_00023500 ; push 0x23500 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eed8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000eefa ; je 0xeefa +imul eax, ebx, 0x12 +movzx eax, byte [esi + eax + 0x11] +push eax +push ebx +push ref_00023537 ; push 0x23537 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000eefa: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ef1c ; je 0xef1c +imul eax, ebx, 0x12 +movzx eax, byte [esi + eax + 0x12] +push eax +push ebx +push ref_00023568 ; push 0x23568 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ef1c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ef40 ; je 0xef40 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 0x13] +and eax, 1 +push eax +push ebx +push ref_0002359a ; push 0x2359a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ef40: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ef66 ; je 0xef66 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 0x13] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_000235d6 ; push 0x235d6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ef66: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ef8d ; je 0xef8d +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 0x13] +shr al, 2 +and eax, 1 +push eax +push ebx +push ref_00023613 ; push 0x23613 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ef8d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000efb4 ; je 0xefb4 +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 0x13] +shr al, 3 +and eax, 1 +push eax +push ebx +push ref_0002364a ; push 0x2364a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000efb4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000efdb ; je 0xefdb +imul eax, ebx, 0x12 +mov al, byte [esi + eax + 7] +shr al, 6 +and eax, 1 +push eax +push ebx +push ref_00023682 ; push 0x23682 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000efdb: ; not directly referenced +inc ebx +add edi, 0x12 +jmp near loc_0000ec45 ; jmp 0xec45 + +loc_0000efe4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f004 ; je 0xf004 +push edx +mov al, byte [esi + 0x71] +and eax, 1 +push eax +push ref_000236b9 ; push 0x236b9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f004: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f026 ; je 0xf026 +push eax +mov al, byte [esi + 0x71] +shr al, 1 +and eax, 1 +push eax +push ref_000236cf ; push 0x236cf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f026: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f049 ; je 0xf049 +push eax +mov al, byte [esi + 0x71] +shr al, 2 +and eax, 1 +push eax +push ref_000236db ; push 0x236db +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f049: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f06c ; je 0xf06c +push eax +mov al, byte [esi + 0x71] +shr al, 3 +and eax, 1 +push eax +push ref_000236e7 ; push 0x236e7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f06c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f08f ; je 0xf08f +push eax +mov al, byte [esi + 0x71] +shr al, 4 +and eax, 1 +push eax +push ref_000236f4 ; push 0x236f4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f08f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f0b2 ; je 0xf0b2 +push eax +mov al, byte [esi + 0x71] +shr al, 5 +and eax, 1 +push eax +push ref_00023700 ; push 0x23700 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f0b2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f0d5 ; je 0xf0d5 +push eax +mov al, byte [esi + 0x71] +shr al, 6 +and eax, 1 +push eax +push ref_0002370b ; push 0x2370b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f0d5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f103 ; je 0xf103 +push edi +mov al, byte [esi + 0x71] +shr al, 7 +movzx edx, al +movzx eax, byte [esi + 0x72] +and eax, 1 +add eax, eax +or eax, edx +push eax +push ref_0002371e ; push 0x2371e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f103: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f125 ; je 0xf125 +push ebx +mov al, byte [esi + 0x72] +shr al, 1 +and eax, 1 +push eax +push ref_00023730 ; push 0x23730 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f125: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f148 ; je 0xf148 +push ecx +mov al, byte [esi + 0x72] +shr al, 2 +and eax, 1 +push eax +push ref_00023740 ; push 0x23740 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f148: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f16b ; je 0xf16b +push edx +mov al, byte [esi + 0x72] +shr al, 3 +and eax, 1 +push eax +push ref_00023750 ; push 0x23750 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f16b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f18e ; je 0xf18e +push eax +mov al, byte [esi + 0x72] +shr al, 4 +and eax, 1 +push eax +push ref_0002375f ; push 0x2375f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f18e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f1aa ; je 0xf1aa +push eax +push dword [esi + 0x75] +push ref_00023772 ; push 0x23772 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f1aa: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f1c8 ; je 0xf1c8 +push eax +movzx eax, byte [esi + 0x7d] +push eax +push ref_00023785 ; push 0x23785 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f1c8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f1e6 ; je 0xf1e6 +push eax +movzx eax, byte [esi + 0x79] +push eax +push ref_0002379b ; push 0x2379b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f1e6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f204 ; je 0xf204 +push eax +movzx eax, byte [esi + 0x7a] +push eax +push ref_000237aa ; push 0x237aa +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f204: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f222 ; je 0xf222 +push eax +movzx eax, byte [esi + 0x7b] +push eax +push ref_000237bb ; push 0x237bb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f222: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f240 ; je 0xf240 +push edi +movzx eax, byte [esi + 0x7c] +push eax +push ref_000237cd ; push 0x237cd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f240: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f25e ; je 0xf25e +push ebx +movzx eax, byte [esi + 0x7e] +push eax +push ref_000237e0 ; push 0x237e0 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f25e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f27c ; je 0xf27c +push ecx +movzx eax, byte [esi + 0x7f] +push eax +push ref_000237fb ; push 0x237fb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f27c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f29d ; je 0xf29d +push edx +movzx eax, byte [esi + 0x80] +push eax +push ref_0002381c ; push 0x2381c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f29d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f2be ; je 0xf2be +push eax +movzx eax, byte [esi + 0x81] +push eax +push ref_00023845 ; push 0x23845 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f2be: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0000f2c6: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f2e8 ; je 0xf2e8 +push eax +push eax +push ref_0002386a ; push 0x2386a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f2e8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f305 ; je 0xf305 +push eax +movzx eax, byte [ebx] +push eax +push ref_000238a3 ; push 0x238a3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f305: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f323 ; je 0xf323 +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_000238b2 ; push 0x238b2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f323: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f341 ; je 0xf341 +push eax +movzx eax, byte [ebx + 2] +push eax +push ref_000238c2 ; push 0x238c2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f341: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f35f ; je 0xf35f +push eax +movzx eax, byte [ebx + 3] +push eax +push ref_00022f69 ; push 0x22f69 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f35f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f37d ; je 0xf37d +push ecx +movzx eax, byte [ebx + 4] +push eax +push ref_000238d5 ; push 0x238d5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f37d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f39b ; je 0xf39b +push edx +movzx eax, byte [ebx + 5] +push eax +push ref_000238e4 ; push 0x238e4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f39b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f3b9 ; je 0xf3b9 +push eax +movzx eax, byte [ebx + 6] +push eax +push ref_000238fa ; push 0x238fa +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f3b9: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000f3be: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f3e0 ; je 0xf3e0 +push eax +push eax +push ref_00023911 ; push 0x23911 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f3e0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f3fd ; je 0xf3fd +push eax +movzx eax, byte [ebx] +push eax +push ref_00023948 ; push 0x23948 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f3fd: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f41b ; je 0xf41b +push eax +movzx eax, byte [ebx + 8] +push eax +push ref_00023954 ; push 0x23954 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f41b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f439 ; je 0xf439 +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_00023962 ; push 0x23962 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f439: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f457 ; je 0xf457 +push ecx +movzx eax, byte [ebx + 2] +push eax +push ref_00023971 ; push 0x23971 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f457: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f475 ; je 0xf475 +push edx +movzx eax, byte [ebx + 3] +push eax +push ref_00023983 ; push 0x23983 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f475: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f491 ; je 0xf491 +push eax +push dword [ebx + 4] +push ref_00023997 ; push 0x23997 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f491: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000f496: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f4b8 ; je 0xf4b8 +push eax +push eax +push ref_000239a1 ; push 0x239a1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f4b8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f4d7 ; je 0xf4d7 +push eax +mov al, byte [ebx] +and eax, 1 +push eax +push ref_000239dd ; push 0x239dd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f4d7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f4f8 ; je 0xf4f8 +push eax +mov al, byte [ebx] +shr al, 1 +and eax, 1 +push eax +push ref_000239ed ; push 0x239ed +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f4f8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f51a ; je 0xf51a +push eax +mov al, byte [ebx] +shr al, 2 +and eax, 1 +push eax +push ref_00023a01 ; push 0x23a01 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f51a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f53c ; je 0xf53c +push ecx +mov al, byte [ebx] +shr al, 3 +and eax, 1 +push eax +push ref_00023a14 ; push 0x23a14 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f53c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f55e ; je 0xf55e +push edx +mov al, byte [ebx] +shr al, 4 +and eax, 1 +push eax +push ref_00023a22 ; push 0x23a22 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f55e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f580 ; je 0xf580 +push eax +mov al, byte [ebx] +shr al, 5 +and eax, 1 +push eax +push ref_00023a31 ; push 0x23a31 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f580: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000f585: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f5a7 ; je 0xf5a7 +push eax +push eax +push ref_00023a3e ; push 0x23a3e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f5a7: ; not directly referenced +xor ebx, ebx + +loc_0000f5a9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f5c9 ; je 0xf5c9 +mov al, byte [esi + ebx*8] +and eax, 1 +push eax +push ebx +push ref_00023a81 ; push 0x23a81 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f5c9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f5eb ; je 0xf5eb +mov al, byte [esi + ebx*8] +shr al, 1 +and eax, 1 +push eax +push ebx +push ref_00023aa1 ; push 0x23aa1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f5eb: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f60a ; je 0xf60a +movzx eax, word [esi + ebx*8 + 4] +push eax +push ebx +push ref_00023ac0 ; push 0x23ac0 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f60a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f629 ; je 0xf629 +movzx eax, word [esi + ebx*8 + 6] +push eax +push ebx +push ref_00023ade ; push 0x23ade +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f629: ; not directly referenced +inc ebx +cmp ebx, 5 +jne loc_0000f5a9 ; jne 0xf5a9 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000f63a: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f65c ; je 0xf65c +push eax +push eax +push ref_00023afb ; push 0x23afb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f65c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f679 ; je 0xf679 +push eax +movzx eax, byte [ebx] +push eax +push ref_000233c4 ; push 0x233c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f679: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f697 ; je 0xf697 +push eax +movzx eax, word [ebx + 2] +push eax +push ref_00023b33 ; push 0x23b33 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f697: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f6b5 ; je 0xf6b5 +push esi +movzx eax, byte [ebx + 7] +push eax +push ref_00023b45 ; push 0x23b45 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f6b5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f6cf ; je 0xf6cf +push ecx +push ecx +push ref_00023b61 ; push 0x23b61 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f6cf: ; not directly referenced +xor esi, esi + +loc_0000f6d1: ; not directly referenced +movzx eax, byte [ebx + 7] +cmp esi, eax +jae short loc_0000f6fb ; jae 0xf6fb +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f6f8 ; je 0xf6f8 +push edx +movzx eax, byte [ebx + esi + 8] +push eax +push ref_00023b7b ; push 0x23b7b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f6f8: ; not directly referenced +inc esi +jmp short loc_0000f6d1 ; jmp 0xf6d1 + +loc_0000f6fb: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f715 ; je 0xf715 +push eax +push eax +push ref_00023b82 ; push 0x23b82 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f715: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0000f71c: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f73e ; je 0xf73e +push eax +push eax +push ref_00023b86 ; push 0x23b86 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f73e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f75b ; je 0xf75b +push eax +movzx eax, byte [ebx] +push eax +push ref_000233c4 ; push 0x233c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f75b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f779 ; je 0xf779 +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_00023bbf ; push 0x23bbf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f779: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f797 ; je 0xf797 +push ecx +movzx eax, byte [ebx + 2] +push eax +push ref_00023bc9 ; push 0x23bc9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f797: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f7b5 ; je 0xf7b5 +push edx +movzx eax, byte [ebx + 2] +push eax +push ref_00023bc9 ; push 0x23bc9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f7b5: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f7d3 ; je 0xf7d3 +push eax +movzx eax, word [ebx + 4] +push eax +push ref_00023bdb ; push 0x23bdb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f7d3: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000f7d8: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f7fa ; je 0xf7fa +push eax +push eax +push ref_00023bf0 ; push 0x23bf0 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f7fa: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f819 ; je 0xf819 +push eax +mov al, byte [ebx] +and eax, 1 +push eax +push ref_00023c25 ; push 0x23c25 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f819: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f83a ; je 0xf83a +push eax +mov al, byte [ebx] +shr al, 1 +and eax, 1 +push eax +push ref_00023c4b ; push 0x23c4b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f83a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f85c ; je 0xf85c +push ecx +mov al, byte [ebx] +shr al, 2 +and eax, 1 +push eax +push ref_00023c75 ; push 0x23c75 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f85c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f87e ; je 0xf87e +push edx +mov al, byte [ebx] +shr al, 3 +and eax, 1 +push eax +push ref_00023c9f ; push 0x23c9f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f87e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f8a0 ; je 0xf8a0 +push eax +mov al, byte [ebx] +shr al, 4 +and eax, 1 +push eax +push ref_00023cc9 ; push 0x23cc9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f8a0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f8c0 ; je 0xf8c0 +push eax +mov al, byte [ebx + 4] +and eax, 1 +push eax +push ref_00023cf1 ; push 0x23cf1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f8c0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f8e2 ; je 0xf8e2 +push eax +mov al, byte [ebx + 4] +shr al, 1 +and eax, 1 +push eax +push ref_00023d0d ; push 0x23d0d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f8e2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f905 ; je 0xf905 +push eax +mov al, byte [ebx + 4] +shr al, 2 +and eax, 1 +push eax +push ref_00023d30 ; push 0x23d30 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f905: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f928 ; je 0xf928 +push eax +mov al, byte [ebx + 4] +shr al, 3 +and eax, 1 +push eax +push ref_00023d54 ; push 0x23d54 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f928: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f94b ; je 0xf94b +push eax +mov al, byte [ebx + 4] +shr al, 4 +and eax, 1 +push eax +push ref_00023d78 ; push 0x23d78 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f94b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f96e ; je 0xf96e +push ecx +mov al, byte [ebx + 4] +shr al, 5 +and eax, 1 +push eax +push ref_00023d96 ; push 0x23d96 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f96e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f98a ; je 0xf98a +push edx +push dword [ebx + 8] +push ref_00023dba ; push 0x23dba +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f98a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f9a6 ; je 0xf9a6 +push eax +push dword [ebx + 0xc] +push ref_00023dcd ; push 0x23dcd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f9a6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f9c2 ; je 0xf9c2 +push eax +push dword [ebx + 0x10] +push ref_00023de5 ; push 0x23de5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f9c2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f9de ; je 0xf9de +push eax +push dword [ebx + 0x14] +push ref_00023dfd ; push 0x23dfd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f9de: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000f9fa ; je 0xf9fa +push eax +push dword [ebx + 0x18] +push ref_00023e16 ; push 0x23e16 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000f9fa: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fa1a ; je 0xfa1a +push eax +mov al, byte [ebx + 0x1c] +and eax, 1 +push eax +push ref_00023e2d ; push 0x23e2d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fa1a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fa3c ; je 0xfa3c +push eax +mov al, byte [ebx + 0x1c] +shr al, 1 +and eax, 1 +push eax +push ref_00023e3f ; push 0x23e3f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fa3c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fa5f ; je 0xfa5f +push ecx +mov al, byte [ebx + 0x1c] +shr al, 2 +and eax, 1 +push eax +push ref_00023e53 ; push 0x23e53 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fa5f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fa82 ; je 0xfa82 +push edx +mov al, byte [ebx + 0x1c] +shr al, 3 +and eax, 1 +push eax +push ref_00023e65 ; push 0x23e65 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fa82: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000faa0 ; je 0xfaa0 +push eax +movzx eax, byte [ebx + 0x20] +push eax +push ref_00023e7c ; push 0x23e7c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000faa0: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000faa5: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fac7 ; je 0xfac7 +push eax +push eax +push ref_00023e8f ; push 0x23e8f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fac7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fae6 ; je 0xfae6 +push eax +mov al, byte [ebx] +and eax, 1 +push eax +push ref_00023ec5 ; push 0x23ec5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fae6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fb07 ; je 0xfb07 +push eax +mov al, byte [ebx] +shr al, 1 +and eax, 1 +push eax +push ref_00023ed3 ; push 0x23ed3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fb07: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fb29 ; je 0xfb29 +push eax +mov al, byte [ebx] +shr al, 2 +and eax, 1 +push eax +push ref_00023ee4 ; push 0x23ee4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fb29: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fb4b ; je 0xfb4b +push ecx +mov al, byte [ebx] +shr al, 3 +and eax, 1 +push eax +push ref_000237cd ; push 0x237cd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fb4b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fb6d ; je 0xfb6d +push edx +mov al, byte [ebx] +shr al, 4 +and eax, 1 +push eax +push ref_00023ef1 ; push 0x23ef1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fb6d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fb8f ; je 0xfb8f +push eax +mov al, byte [ebx] +shr al, 5 +and eax, 1 +push eax +push ref_00023f07 ; push 0x23f07 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fb8f: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000fb94: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fbb6 ; je 0xfbb6 +push eax +push eax +push ref_00023f1c ; push 0x23f1c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fbb6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fbd3 ; je 0xfbd3 +push ecx +movzx eax, byte [ebx] +push eax +push ref_00023f57 ; push 0x23f57 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fbd3: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fbef ; je 0xfbef +push edx +push dword [ebx + 4] +push ref_00023f68 ; push 0x23f68 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fbef: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fc0b ; je 0xfc0b +push eax +push dword [ebx + 8] +push ref_00023f77 ; push 0x23f77 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fc0b: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0000fc10: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fc32 ; je 0xfc32 +push ecx +push ecx +push ref_00023f8d ; push 0x23f8d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fc32: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fc51 ; je 0xfc51 +push edx +mov al, byte [ebx] +and eax, 1 +push eax +push ref_00023fc7 ; push 0x23fc7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fc51: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fc72 ; je 0xfc72 +push eax +mov al, byte [ebx] +shr al, 1 +and eax, 1 +push eax +push ref_00023fe8 ; push 0x23fe8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fc72: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fc94 ; je 0xfc94 +push eax +mov al, byte [ebx] +shr al, 2 +and eax, 1 +push eax +push ref_00024008 ; push 0x24008 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fc94: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fcb6 ; je 0xfcb6 +push eax +mov al, byte [ebx] +shr al, 3 +and eax, 1 +push eax +push ref_0002402b ; push 0x2402b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fcb6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fce0 ; je 0xfce0 +push eax +movzx eax, byte [ebx + 5] +movzx edx, byte [ebx + 4] +and eax, 1 +shl eax, 8 +or eax, edx +push eax +push ref_0002404d ; push 0x2404d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fce0: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fd0e ; je 0xfd0e +push eax +mov al, byte [ebx + 5] +shr al, 1 +movzx edx, al +movzx eax, byte [ebx + 6] +and eax, 3 +shl eax, 7 +or eax, edx +push eax +push ref_00024087 ; push 0x24087 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fd0e: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fd3d ; je 0xfd3d +push eax +mov al, byte [ebx + 6] +shr al, 2 +movzx edx, al +movzx eax, byte [ebx + 7] +and eax, 7 +shl eax, 6 +or eax, edx +push eax +push ref_000240c1 ; push 0x240c1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fd3d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fd60 ; je 0xfd60 +push esi +mov al, byte [ebx + 7] +shr al, 3 +and eax, 1 +push eax +push ref_000240fb ; push 0x240fb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fd60: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fd83 ; je 0xfd83 +push ecx +mov al, byte [ebx + 7] +shr al, 4 +and eax, 1 +push eax +push ref_00024124 ; push 0x24124 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fd83: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fda6 ; je 0xfda6 +push edx +mov al, byte [ebx + 7] +shr al, 5 +and eax, 1 +push eax +push ref_00024154 ; push 0x24154 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fda6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fdc9 ; je 0xfdc9 +push eax +mov al, byte [ebx + 7] +shr al, 6 +and eax, 1 +push eax +push ref_0002417b ; push 0x2417b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fdc9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fdec ; je 0xfdec +push eax +mov al, byte [ebx + 7] +shr al, 7 +movzx eax, al +push eax +push ref_000241ac ; push 0x241ac +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fdec: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fe0c ; je 0xfe0c +push eax +mov al, byte [ebx + 0xc] +and eax, 1 +push eax +push ref_000241df ; push 0x241df +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fe0c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fe2c ; je 0xfe2c +push eax +mov al, byte [ebx + 0xd] +and eax, 3 +push eax +push ref_00024209 ; push 0x24209 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fe2c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fe4f ; je 0xfe4f +push eax +mov al, byte [ebx + 0xd] +shr al, 2 +and eax, 3 +push eax +push ref_0002422f ; push 0x2422f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fe4f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fe72 ; je 0xfe72 +push eax +mov al, byte [ebx + 0xd] +shr al, 4 +and eax, 3 +push eax +push ref_00024255 ; push 0x24255 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fe72: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fe95 ; je 0xfe95 +push esi +mov al, byte [ebx + 0xd] +shr al, 6 +movzx eax, al +push eax +push ref_0002427b ; push 0x2427b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fe95: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000feb7 ; je 0xfeb7 +push ecx +mov al, byte [ebx + 0xc] +shr al, 1 +and eax, 1 +push eax +push ref_000242a1 ; push 0x242a1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000feb7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fed7 ; je 0xfed7 +push edx +mov al, byte [ebx + 0x10] +and eax, 3 +push eax +push ref_000242d2 ; push 0x242d2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fed7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000fefa ; je 0xfefa +push eax +mov al, byte [ebx + 0x10] +shr al, 2 +and eax, 3 +push eax +push ref_000242f6 ; push 0x242f6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000fefa: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ff1d ; je 0xff1d +push eax +mov al, byte [ebx + 0x10] +shr al, 4 +and eax, 3 +push eax +push ref_0002431a ; push 0x2431a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ff1d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ff40 ; je 0xff40 +push eax +mov al, byte [ebx + 0x10] +shr al, 6 +movzx eax, al +push eax +push ref_0002433e ; push 0x2433e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ff40: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ff60 ; je 0xff60 +push eax +mov al, byte [ebx + 0x12] +and eax, 3 +push eax +push ref_00024364 ; push 0x24364 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ff60: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ff83 ; je 0xff83 +push eax +mov al, byte [ebx + 0x12] +shr al, 2 +and eax, 1 +push eax +push ref_0002438b ; push 0x2438b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ff83: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ffa3 ; je 0xffa3 +push eax +mov al, byte [ebx + 0x11] +and eax, 3 +push eax +push ref_000243b6 ; push 0x243b6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ffa3: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ffc6 ; je 0xffc6 +push esi +mov al, byte [ebx + 0x11] +shr al, 2 +and eax, 3 +push eax +push ref_000243da ; push 0x243da +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ffc6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0000ffe9 ; je 0xffe9 +push ecx +mov al, byte [ebx + 0x11] +shr al, 4 +and eax, 3 +push eax +push ref_000243fe ; push 0x243fe +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0000ffe9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001000c ; je 0x1000c +push edx +mov al, byte [ebx + 0x11] +shr al, 6 +movzx eax, al +push eax +push ref_00024422 ; push 0x24422 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001000c: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001002f ; je 0x1002f +push eax +mov al, byte [ebx + 0x12] +shr al, 3 +and eax, 3 +push eax +push ref_00024448 ; push 0x24448 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001002f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010052 ; je 0x10052 +push eax +mov al, byte [ebx + 0x12] +shr al, 5 +and eax, 1 +push eax +push ref_0002446f ; push 0x2446f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010052: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010075 ; je 0x10075 +push eax +mov al, byte [ebx + 0x12] +shr al, 6 +and eax, 1 +push eax +push ref_0002449a ; push 0x2449a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010075: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010095 ; je 0x10095 +push eax +mov al, byte [ebx + 0x14] +and eax, 1 +push eax +push ref_000244c9 ; push 0x244c9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010095: ; not directly referenced +mov esi, 2 + +loc_0001009a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000100bb ; je 0x100bb +push eax +mov al, byte [ebx + esi*4 + 0x18] +and eax, 1 +push eax +push ref_000244e7 ; push 0x244e7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000100bb: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000100de ; je 0x100de +push eax +mov al, byte [ebx + esi*4 + 0x18] +shr al, 1 +and eax, 1 +push eax +push ref_0002451c ; push 0x2451c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000100de: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010102 ; je 0x10102 +push ecx +mov al, byte [ebx + esi*4 + 0x18] +shr al, 2 +and eax, 1 +push eax +push ref_00024555 ; push 0x24555 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010102: ; not directly referenced +inc esi +cmp esi, 4 +jne short loc_0001009a ; jne 0x1009a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010126 ; je 0x10126 +push edx +movzx eax, word [ebx + 0x28] +push eax +push ref_0002458a ; push 0x2458a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010126: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010144 ; je 0x10144 +push eax +movzx eax, byte [ebx + 0x2a] +push eax +push ref_0002459d ; push 0x2459d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010144: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001014b: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001016d ; je 0x1016d +push eax +push eax +push ref_000245bf ; push 0x245bf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001016d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001018a ; je 0x1018a +push eax +movzx eax, word [ebx] +push eax +push ref_000245f9 ; push 0x245f9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001018a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000101a8 ; je 0x101a8 +push ecx +movzx eax, word [ebx + 2] +push eax +push ref_00024611 ; push 0x24611 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000101a8: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000101c6 ; je 0x101c6 +push edx +movzx eax, byte [ebx + 4] +push eax +push ref_00024623 ; push 0x24623 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000101c6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000101e4 ; je 0x101e4 +push eax +movzx eax, byte [ebx + 5] +push eax +push ref_0002462e ; push 0x2462e +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000101e4: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000101e9: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001020b ; je 0x1020b +push ecx +push ecx +push ref_0002463a ; push 0x2463a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001020b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010228 ; je 0x10228 +push edx +movzx eax, byte [ebx] +push eax +push ref_000233c4 ; push 0x233c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010228: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010246 ; je 0x10246 +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_0002300d ; push 0x2300d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010246: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001024b: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001026d ; je 0x1026d +push eax +push eax +push ref_00024670 ; push 0x24670 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001026d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010290 ; je 0x10290 +push eax +mov al, byte [ebx + 8] +shr al, 7 +movzx eax, al +push eax +push ref_000246ac ; push 0x246ac +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010290: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000102ad ; je 0x102ad +push eax +movzx eax, byte [ebx] +push eax +push ref_000246bf ; push 0x246bf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000102ad: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000102cb ; je 0x102cb +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_000246d1 ; push 0x246d1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000102cb: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000102e9 ; je 0x102e9 +push eax +movzx eax, byte [ebx + 2] +push eax +push ref_000246e4 ; push 0x246e4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000102e9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010307 ; je 0x10307 +push eax +movzx eax, byte [ebx + 3] +push eax +push ref_000246f7 ; push 0x246f7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010307: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010325 ; je 0x10325 +push ecx +movzx eax, byte [ebx + 4] +push eax +push ref_0002470a ; push 0x2470a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010325: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010343 ; je 0x10343 +push edx +movzx eax, byte [ebx + 5] +push eax +push ref_0002471d ; push 0x2471d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010343: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010361 ; je 0x10361 +push eax +movzx eax, byte [ebx + 6] +push eax +push ref_00024731 ; push 0x24731 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010361: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001037f ; je 0x1037f +push eax +movzx eax, byte [ebx + 7] +push eax +push ref_00024745 ; push 0x24745 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001037f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001039f ; je 0x1039f +push eax +mov al, byte [ebx + 8] +and eax, 1 +push eax +push ref_00024758 ; push 0x24758 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001039f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000103c1 ; je 0x103c1 +push eax +mov al, byte [ebx + 8] +shr al, 1 +and eax, 1 +push eax +push ref_00024770 ; push 0x24770 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000103c1: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000103e4 ; je 0x103e4 +push eax +mov al, byte [ebx + 8] +shr al, 2 +and eax, 1 +push eax +push ref_00024788 ; push 0x24788 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000103e4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010407 ; je 0x10407 +push eax +mov al, byte [ebx + 8] +shr al, 3 +and eax, 1 +push eax +push ref_0002479b ; push 0x2479b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010407: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001042a ; je 0x1042a +push ecx +mov al, byte [ebx + 8] +shr al, 4 +and eax, 1 +push eax +push ref_000247b6 ; push 0x247b6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001042a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001044d ; je 0x1044d +push edx +mov al, byte [ebx + 8] +shr al, 5 +and eax, 1 +push eax +push ref_000247cf ; push 0x247cf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001044d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010470 ; je 0x10470 +push eax +mov al, byte [ebx + 8] +shr al, 6 +and eax, 1 +push eax +push ref_000247e9 ; push 0x247e9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010470: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010475: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010497 ; je 0x10497 +push eax +push eax +push ref_000247fc ; push 0x247fc +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010497: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000104b6 ; je 0x104b6 +push eax +mov al, byte [ebx] +and eax, 1 +push eax +push ref_000233c4 ; push 0x233c4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000104b6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000104d7 ; je 0x104d7 +push eax +mov al, byte [ebx] +shr al, 1 +and eax, 1 +push eax +push ref_00024838 ; push 0x24838 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000104d7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000104f9 ; je 0x104f9 +push eax +mov al, byte [ebx] +shr al, 2 +and eax, 1 +push eax +push ref_0002484f ; push 0x2484f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000104f9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001051b ; je 0x1051b +push eax +mov al, byte [ebx] +shr al, 5 +and eax, 1 +push eax +push ref_0002486b ; push 0x2486b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001051b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001053d ; je 0x1053d +push ecx +mov al, byte [ebx] +shr al, 3 +and eax, 1 +push eax +push ref_00024889 ; push 0x24889 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001053d: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001055f ; je 0x1055f +push edx +mov al, byte [ebx] +shr al, 4 +and eax, 1 +push eax +push ref_000248a8 ; push 0x248a8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001055f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001057b ; je 0x1057b +push eax +push dword [ebx + 4] +push ref_000248c8 ; push 0x248c8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001057b: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010580: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000105a2 ; je 0x105a2 +push eax +push eax +push ref_000248e2 ; push 0x248e2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000105a2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000105bf ; je 0x105bf +push eax +movzx eax, byte [ebx] +push eax +push ref_0002491b ; push 0x2491b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000105bf: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000105dd ; je 0x105dd +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_0002492f ; push 0x2492f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000105dd: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000105fb ; je 0x105fb +push eax +movzx eax, byte [ebx + 8] +push eax +push ref_0002493f ; push 0x2493f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000105fb: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010619 ; je 0x10619 +push ecx +movzx eax, byte [ebx + 9] +push eax +push ref_00024953 ; push 0x24953 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010619: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010635 ; je 0x10635 +push edx +push dword [ebx + 0xa] +push ref_00024967 ; push 0x24967 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010635: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010651 ; je 0x10651 +push eax +push dword [ebx + 0xe] +push ref_0002497d ; push 0x2497d +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010651: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010656: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010678 ; je 0x10678 +push eax +push eax +push ref_0002498f ; push 0x2498f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010678: ; not directly referenced +xor esi, esi + +loc_0001067a: ; not directly referenced +mov eax, esi +cmp al, byte [ebx + 0x48] +jae short loc_000106c7 ; jae 0x106c7 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000106a2 ; je 0x106a2 +mov eax, esi +movzx eax, al +push dword [ebx + eax*8] +push eax +push ref_000249cb ; push 0x249cb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000106a2: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000106c4 ; je 0x106c4 +mov eax, esi +movzx eax, al +push dword [ebx + eax*8 + 4] +push eax +push ref_000249e3 ; push 0x249e3 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000106c4: ; not directly referenced +inc esi +jmp short loc_0001067a ; jmp 0x1067a + +loc_000106c7: ; not directly referenced +xor esi, esi + +loc_000106c9: ; not directly referenced +mov eax, esi +cmp al, byte [ebx + 0x75] +jae short loc_0001071b ; jae 0x1071b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000106f4 ; je 0x106f4 +mov eax, esi +movzx eax, al +movzx edx, word [ebx + eax*4 + 0x49] +push edx +push eax +push ref_000249fd ; push 0x249fd +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000106f4: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010718 ; je 0x10718 +mov eax, esi +movzx eax, al +movzx edx, word [ebx + eax*4 + 0x4b] +push edx +push eax +push ref_00024a15 ; push 0x24a15 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010718: ; not directly referenced +inc esi +jmp short loc_000106c9 ; jmp 0x106c9 + +loc_0001071b: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00010722: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010744 ; je 0x10744 +push eax +push eax +push ref_00024a2f ; push 0x24a2f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010744: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010761 ; je 0x10761 +push eax +movzx eax, byte [ebx] +push eax +push ref_00024a81 ; push 0x24a81 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010761: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001077f ; je 0x1077f +push eax +movzx eax, byte [ebx + 1] +push eax +push ref_000238b2 ; push 0x238b2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001077f: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001079b ; je 0x1079b +push eax +push dword [ebx + 4] +push ref_00024a90 ; push 0x24a90 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001079b: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000107b9 ; je 0x107b9 +push eax +movzx eax, word [ebx + 8] +push eax +push ref_00024a9b ; push 0x24a9b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000107b9: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000107d7 ; je 0x107d7 +push ecx +movzx eax, word [ebx + 0xa] +push eax +push ref_00024aa8 ; push 0x24aa8 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000107d7: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000107f5 ; je 0x107f5 +push edx +movzx eax, byte [ebx + 0xc] +push eax +push ref_00024ab7 ; push 0x24ab7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000107f5: ; not directly referenced +sub esp, 0xc +lea eax, [ebx + 0x10] +push eax +call fcn_00010580 ; call 0x10580 +lea eax, [ebx + 0x36] +mov dword [esp], eax +call fcn_0001014b ; call 0x1014b +lea eax, [ebx + 0x46] +mov dword [esp], eax +call fcn_0000e6b1 ; call 0xe6b1 +lea eax, [ebx + 0x1da] +mov dword [esp], eax +call fcn_0000ebe1 ; call 0xebe1 +lea eax, [ebx + 0x284] +mov dword [esp], eax +call fcn_0000e1fd ; call 0xe1fd +lea eax, [ebx + 0x57c] +mov dword [esp], eax +call fcn_0000e544 ; call 0xe544 +lea eax, [ebx + 0x35c] +mov dword [esp], eax +call fcn_0000f2c6 ; call 0xf2c6 +lea eax, [ebx + 0x364] +mov dword [esp], eax +call fcn_0000f3be ; call 0xf3be +lea eax, [ebx + 0x370] +mov dword [esp], eax +call fcn_0000f71c ; call 0xf71c +lea eax, [ebx + 0x37e] +mov dword [esp], eax +call fcn_000101e9 ; call 0x101e9 +lea eax, [ebx + 0x386] +mov dword [esp], eax +call fcn_0000f63a ; call 0xf63a +lea eax, [ebx + 0x40e] +mov dword [esp], eax +call fcn_0000f496 ; call 0xf496 +lea eax, [ebx + 0x554] +mov dword [esp], eax +call fcn_0000f585 ; call 0xf585 +lea eax, [ebx + 0x412] +mov dword [esp], eax +call fcn_0000fc10 ; call 0xfc10 +lea eax, [ebx + 0x442] +mov dword [esp], eax +call fcn_0000f7d8 ; call 0xf7d8 +lea eax, [ebx + 0x46a] +mov dword [esp], eax +call fcn_0000faa5 ; call 0xfaa5 +lea eax, [ebx + 0x476] +mov dword [esp], eax +call fcn_0000fb94 ; call 0xfb94 +lea eax, [ebx + 0x486] +mov dword [esp], eax +call fcn_00010475 ; call 0x10475 +lea eax, [ebx + 0x496] +add ebx, 0x4de +mov dword [esp], eax +call fcn_0001024b ; call 0x1024b +mov dword [esp], ebx +call fcn_00010656 ; call 0x10656 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00010922 ; je 0x10922 +push eax +push eax +push ref_00024ac9 ; push 0x24ac9 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010922: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010927: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00010956 ; je 0x10956 +cmp dword [ebx + 4], 0 +jne short loc_00010956 ; jne 0x10956 +push eax +push ref_00024b1b ; push 0x24b1b +push 0x2bf +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010956: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001097e ; je 0x1097e +cmp word [ebx + 8], 0 +jne short loc_0001097e ; jne 0x1097e +push eax +push ref_00024b63 ; push 0x24b63 +push 0x2c0 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001097e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000109a6 ; je 0x109a6 +cmp word [ebx + 0xa], 0 +jne short loc_000109a6 ; jne 0x109a6 +push eax +push ref_00024b82 ; push 0x24b82 +push 0x2c1 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000109a6: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000109cd ; je 0x109cd +cmp dword [ebx + 0x1a], 0 +jne short loc_000109cd ; jne 0x109cd +push eax +push ref_00024ba3 ; push 0x24ba3 +push 0x2c2 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000109cd: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000109f7 ; je 0x109f7 +cmp dword [ebx + 0x1e], 0xffff +ja short loc_000109f7 ; ja 0x109f7 +push ecx +push ref_00024bd8 ; push 0x24bd8 +push 0x2c3 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000109f7: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00010a1f ; je 0x10a1f +cmp word [ebx + 0x22], 0 +jne short loc_00010a1f ; jne 0x10a1f +push edx +push ref_00024c0f ; push 0x24c0f +push 0x2c4 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010a1f: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00010a47 ; je 0x10a47 +cmp word [ebx + 0x24], 0xf +ja short loc_00010a47 ; ja 0x10a47 +push eax +push ref_00024c43 ; push 0x24c43 +push 0x2c5 +push ref_00024b38 ; push 0x24b38 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010a47: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010a4c: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +movzx edx, byte [ebp + 0x10] +movzx eax, byte [ebp + 0x14] +mov ecx, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +shl edx, 0x18 +and edx, 0xf000000 +or eax, 0x80000000 +or eax, edx +cmp cl, 1 +je short loc_00010a93 ; je 0x10a93 +jb short loc_00010a8b ; jb 0x10a8b +cmp cl, 2 +je short loc_00010a9b ; je 0x10a9b +cmp cl, 3 +jne short loc_00010acd ; jne 0x10acd +add ebx, 0x2040 +jmp short loc_00010aa1 ; jmp 0x10aa1 + +loc_00010a8b: ; not directly referenced +add ebx, 0x2014 +jmp short loc_00010aa1 ; jmp 0x10aa1 + +loc_00010a93: ; not directly referenced +add ebx, 0x2020 +jmp short loc_00010aa1 ; jmp 0x10aa1 + +loc_00010a9b: ; not directly referenced +add ebx, 0x2030 + +loc_00010aa1: ; not directly referenced +push edx +xor esi, esi +push eax +push 0xf0ffff01 +push ebx +mov dword [ebp - 0xc], ecx +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp - 0xc] +add esp, 0x10 +dec ecx +cmp cl, 1 +ja short loc_00010ad2 ; ja 0x10ad2 +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +jmp short loc_00010ad2 ; jmp 0x10ad2 + +loc_00010acd: ; not directly referenced +mov esi, 0x80000002 + +loc_00010ad2: ; not directly referenced +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_00010adb: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov eax, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +cmp al, 1 +je short loc_00010b04 ; je 0x10b04 +jb short loc_00010afc ; jb 0x10afc +cmp al, 2 +je short loc_00010b0c ; je 0x10b0c +cmp al, 3 +jne short loc_00010b24 ; jne 0x10b24 +add ebx, 0x2046 +jmp short loc_00010b12 ; jmp 0x10b12 + +loc_00010afc: ; not directly referenced +add ebx, 0x201a +jmp short loc_00010b12 ; jmp 0x10b12 + +loc_00010b04: ; not directly referenced +add ebx, 0x2026 +jmp short loc_00010b12 ; jmp 0x10b12 + +loc_00010b0c: ; not directly referenced +add ebx, 0x2036 + +loc_00010b12: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_00010b12 ; jne 0x10b12 +jmp short loc_00010b2b ; jmp 0x10b2b + +loc_00010b24: ; not directly referenced +mov eax, 0x80000002 +jmp short loc_00010b2d ; jmp 0x10b2d + +loc_00010b2b: ; not directly referenced +xor eax, eax + +loc_00010b2d: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010b32: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +lea eax, [ebp - 0x20] +push eax +push 0 +push 0 +push ref_000290cc ; push 0x290cc +mov dword [ebp - 0x1c], 0 +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00010b9b ; je 0x10b9b +test ebx, ebx +jns short loc_00010b9b ; jns 0x10b9b +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010b83 ; je 0x10b83 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010b83: ; not directly referenced +push esi +push ref_00020664 ; push 0x20664 +push 0xa7 +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010b9b: ; not directly referenced +push ebx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +push 0x200000 +push 0xff0fffff +mov esi, eax +and esi, 0xffffc000 +lea edi, [esi + 0x50] +push edi +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x20] +add esp, 0x10 +cmp byte [eax + 0x24], 1 +jne short loc_00010bee ; jne 0x10bee +push ecx +push ecx +push 0xa0000 +push edi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00010bee: ; not directly referenced +sub esp, 0xc +xor ebx, ebx +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 + +loc_00010bfc: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010c1b ; je 0x10c1b +mov eax, dword [ebp - 0x20] +push dword [eax + ebx*4] +push ebx +push ref_00024c9f ; push 0x24c9f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010c1b: ; not directly referenced +mov eax, dword [ebp - 0x20] +mov cl, bl +mov edx, dword [eax + ebx*4] +mov eax, 1 +inc ebx +shl eax, cl +or byte [ebp + edx - 0x1c], al +cmp ebx, 8 +jne short loc_00010bfc ; jne 0x10bfc +xor bl, bl + +loc_00010c36: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +lea eax, [ebx + ebx] +je short loc_00010c6a ; je 0x10c6a +mov edx, eax +sub esp, 0xc +add edx, dword [ebp - 0x20] +mov dword [ebp - 0x2c], eax +movzx ecx, byte [edx + 0x20] +push ecx +movzx edx, byte [edx + 0x21] +push edx +push ebx +push ref_00024caf ; push 0x24caf +push 0x40 +call fcn_000153f7 ; call 0x153f7 +mov eax, dword [ebp - 0x2c] +add esp, 0x20 + +loc_00010c6a: ; not directly referenced +add eax, dword [ebp - 0x20] +cmp byte [eax + 0x20], 1 +jne short loc_00010c88 ; jne 0x10c88 +movzx edx, byte [ebp + ebx - 0x1c] +push edx +movzx eax, byte [eax + 0x21] +push eax +push ebx +push esi +call fcn_00010a4c ; call 0x10a4c +add esp, 0x10 + +loc_00010c88: ; not directly referenced +inc ebx +cmp ebx, 4 +jne short loc_00010c36 ; jne 0x10c36 +push edx +xor bl, bl +push edx +push 0x80000000 +push edi +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 + +loc_00010ca8: ; not directly referenced +mov eax, dword [ebp - 0x20] +cmp byte [eax + ebx*2 + 0x20], 1 +jne short loc_00010cbe ; jne 0x10cbe +push eax +push eax +push ebx +push esi +call fcn_00010adb ; call 0x10adb +add esp, 0x10 + +loc_00010cbe: ; not directly referenced +inc ebx +cmp ebx, 4 +jne short loc_00010ca8 ; jne 0x10ca8 +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00010cce: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +call fcn_0001bef7 ; call 0x1bef7 +dec eax +jne loc_00010d64 ; jne 0x10d64 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010cf9 ; je 0x10cf9 +push ebx +push ebx +push ref_00024ccc ; push 0x24ccc +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010cf9: ; not directly referenced +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +and ebx, 0xffffc000 +lea eax, [ebx + 0x21a4] +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xf +cmp eax, 2 +jne short loc_00010d4a ; jne 0x10d4a +push edx +add ebx, 0x21b0 +push 2 +push 0xf0 +push ebx +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_00010d4a: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010d64 ; je 0x10d64 +push eax +push eax +push ref_00024ce4 ; push 0x24ce4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010d64: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00010d69: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0x14] +mov ebx, dword [ebp + 0x10] +add eax, 0x410 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov byte [ebp - 0x1b], al +cmp ebx, 0x22 +ja short loc_00010da4 ; ja 0x10da4 +cmp ebx, 0x20 +jae short loc_00010dae ; jae 0x10dae +cmp ebx, 1 +jb short loc_00010dc6 ; jb 0x10dc6 +cmp ebx, 3 +jbe short loc_00010dba ; jbe 0x10dba +cmp ebx, 0x10 +je short loc_00010dba ; je 0x10dba +jmp short loc_00010dc6 ; jmp 0x10dc6 + +loc_00010da4: +lea eax, [ebx - 0x41] +cmp eax, 2 +jbe short loc_00010dcc ; jbe 0x10dcc +jmp short loc_00010dc6 ; jmp 0x10dc6 + +loc_00010dae: +mov esi, ref_000284d8 ; mov esi, 0x284d8 +mov edi, 0x14 +jmp short loc_00010dd6 ; jmp 0x10dd6 + +loc_00010dba: +mov esi, ref_000275ec ; mov esi, 0x275ec +mov edi, 0x24 +jmp short loc_00010dd6 ; jmp 0x10dd6 + +loc_00010dc6: +xor esi, esi +xor edi, edi +jmp short loc_00010dd6 ; jmp 0x10dd6 + +loc_00010dcc: +mov esi, ref_00028ca4 ; mov esi, 0x28ca4 +mov edi, 0x16 + +loc_00010dd6: +add esi, 8 +mov word [ebp - 0x1a], 0 + +loc_00010ddf: +cmp word [ebp - 0x1a], di +je short loc_00010e4a ; je 0x10e4a +push dword [esi] +push dword [esi - 4] +push dword [esi - 8] +push dword [ebp + 0x18] +call fcn_00009d54 ; call 0x9d54 +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00010e41 ; je 0x10e41 +cmp dword [ebp - 0x20], 0 +jns short loc_00010e41 ; jns 0x10e41 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010e29 ; je 0x10e29 +push eax +push dword [ebp - 0x20] +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010e29: +push eax +push ref_00020664 ; push 0x20664 +push 0x173 +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010e41: +inc word [ebp - 0x1a] +add esi, 0xc +jmp short loc_00010ddf ; jmp 0x10ddf + +loc_00010e4a: +cmp ebx, 0x22 +ja short loc_00010e65 ; ja 0x10e65 +cmp ebx, 0x20 +jae short loc_00010e6f ; jae 0x10e6f +cmp ebx, 1 +jb short loc_00010e87 ; jb 0x10e87 +cmp ebx, 3 +jbe short loc_00010e7b ; jbe 0x10e7b +cmp ebx, 0x10 +je short loc_00010e7b ; je 0x10e7b +jmp short loc_00010e87 ; jmp 0x10e87 + +loc_00010e65: +sub ebx, 0x41 +cmp ebx, 2 +jbe short loc_00010e8d ; jbe 0x10e8d +jmp short loc_00010e87 ; jmp 0x10e87 + +loc_00010e6f: +mov edi, ref_000283d0 ; mov edi, 0x283d0 +mov esi, 0x16 +jmp short loc_00010e97 ; jmp 0x10e97 + +loc_00010e7b: +mov edi, ref_0002779c ; mov edi, 0x2779c +mov esi, 0x14 +jmp short loc_00010e97 ; jmp 0x10e97 + +loc_00010e87: +xor edi, edi +xor esi, esi +jmp short loc_00010e97 ; jmp 0x10e97 + +loc_00010e8d: +mov edi, ref_00028b84 ; mov edi, 0x28b84 +mov esi, 0x18 + +loc_00010e97: +mov dl, byte [ebp - 0x1b] +imul esi, esi, 0xc +mov al, dl +add esi, edi +and eax, 3 +mov byte [ebp - 0x1a], al +mov al, dl +and eax, 0xc +mov byte [ebp - 0x20], al + +loc_00010eaf: +cmp edi, esi +je loc_00010f5a ; je 0x10f5a +cmp dword [ebp + 0xc], 2 +jne short loc_00010ed4 ; jne 0x10ed4 +mov eax, dword [edi] +and eax, 0xfe00 +cmp eax, 0x2400 +je short loc_00010ef5 ; je 0x10ef5 +cmp eax, 0x2600 +jne short loc_00010efb ; jne 0x10efb +jmp short loc_00010ee8 ; jmp 0x10ee8 + +loc_00010ed4: +cmp dword [ebp + 0xc], 1 +jne short loc_00010efb ; jne 0x10efb +mov eax, dword [edi] +and eax, 0xfe00 +cmp eax, 0x2c00 +jne short loc_00010eee ; jne 0x10eee + +loc_00010ee8: +cmp byte [ebp - 0x20], 8 +jmp short loc_00010ef9 ; jmp 0x10ef9 + +loc_00010eee: +cmp eax, 0x2e00 +jne short loc_00010efb ; jne 0x10efb + +loc_00010ef5: +cmp byte [ebp - 0x1a], 2 + +loc_00010ef9: +jne short loc_00010f52 ; jne 0x10f52 + +loc_00010efb: +push dword [edi + 8] +push dword [edi + 4] +push dword [edi] +push dword [ebp + 0x18] +call fcn_00009d54 ; call 0x9d54 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00010f52 ; je 0x10f52 +test ebx, ebx +jns short loc_00010f52 ; jns 0x10f52 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010f3a ; je 0x10f3a +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010f3a: +push eax +push ref_00020664 ; push 0x20664 +push 0x1a4 +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00010f52: +add edi, 0xc +jmp near loc_00010eaf ; jmp 0x10eaf + +loc_00010f5a: +mov eax, dword [ebp + 8] +xor ebx, ebx +cmp byte [eax], 8 +ja short loc_00010f6b ; ja 0x10f6b + +loc_00010f64: +xor eax, eax +jmp near loc_0001119f ; jmp 0x1119f + +loc_00010f6b: +mov cl, byte [ebp - 0x1b] +mov al, cl +and eax, 0xc +mov byte [ebp - 0x1b], al +mov al, cl +and eax, 3 +mov byte [ebp - 0x20], al + +loc_00010f7e: +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp ebx, eax +jae short loc_00010f64 ; jae 0x10f64 +cmp ebx, 2 +jne short loc_00010f95 ; jne 0x10f95 +cmp byte [ebp - 0x20], 2 +jmp short loc_00010f9e ; jmp 0x10f9e + +loc_00010f95: +cmp ebx, 3 +jne short loc_00010fa4 ; jne 0x10fa4 +cmp byte [ebp - 0x1b], 8 + +loc_00010f9e: +jne loc_00011199 ; jne 0x11199 + +loc_00010fa4: +cmp dword [ebp + 0xc], 1 +jne short loc_00010fb3 ; jne 0x10fb3 +mov esi, dword [ebx*4 + ref_000203c0] ; mov esi, dword [ebx*4 + 0x203c0] +jmp short loc_00010fba ; jmp 0x10fba + +loc_00010fb3: +mov esi, dword [ebx*4 + ref_000203a8] ; mov esi, dword [ebx*4 + 0x203a8] + +loc_00010fba: +mov ecx, dword [ebp + 8] +lea eax, [ebx + 0xae] +test byte [ecx + eax*8 + 0x10], 1 +je short loc_00011029 ; je 0x11029 +movzx eax, byte [ecx + eax*8 + 0xc] +lea edx, [eax - 0x69] +cmp dl, 0x17 +jbe short loc_0001101f ; jbe 0x1101f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00010ff4 ; je 0x10ff4 +push eax +push eax +push ref_00024cfa ; push 0x24cfa +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00010ff4: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00011015 ; je 0x11015 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x1bd + +loc_00011008: +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00011015: +mov eax, 0x80000002 +jmp near loc_0001119f ; jmp 0x1119f + +loc_0001101f: +shl eax, 0x10 +mov edx, 0xff00ffff +jmp short loc_0001102e ; jmp 0x1102e + +loc_00011029: +xor eax, eax +or edx, 0xffffffff + +loc_0001102e: +mov edi, dword [ebp + 8] +lea ecx, [ebx + 0xae] +test byte [edi + ecx*8 + 0x10], 2 +je short loc_0001108f ; je 0x1108f +mov cl, byte [edi + ecx*8 + 0xd] +lea edi, [ecx - 0x80] +mov byte [ebp - 0x1a], cl +mov ecx, edi +cmp cl, 0x1c +jbe short loc_00011082 ; jbe 0x11082 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001106c ; je 0x1106c +push edi +push edi +push ref_00024d29 ; push 0x24d29 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001106c: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00011015 ; je 0x11015 +push esi +push ref_000221f1 ; push 0x221f1 +push 0x1ca +jmp short loc_00011008 ; jmp 0x11008 + +loc_00011082: +movzx ecx, byte [ebp - 0x1a] +xor dh, dh +shl ecx, 8 +or eax, ecx +jmp short loc_00011094 ; jmp 0x11094 + +loc_0001108f: +cmp edx, 0xffffffff +je short loc_000110a8 ; je 0x110a8 + +loc_00011094: +push eax +push edx +lea eax, [esi + 0x88] +push eax +push dword [ebp + 0x18] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_000110a8: +mov ecx, dword [ebp + 8] +lea eax, [ebx + 0xae] +test byte [ecx + eax*8 + 0x10], 4 +je short loc_0001111a ; je 0x1111a +movzx eax, byte [ecx + eax*8 + 0xe] +lea edx, [eax - 0x39] +cmp dl, 0x47 +jbe short loc_000110ff ; jbe 0x110ff +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000110e2 ; je 0x110e2 +push ebx +push ebx +push ref_00024d5b ; push 0x24d5b +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000110e2: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_00011015 ; je 0x11015 +push ecx +push ref_000221f1 ; push 0x221f1 +push 0x1e2 +jmp near loc_00011008 ; jmp 0x11008 + +loc_000110ff: +shl eax, 8 +push eax +push 0xffff00ff +lea eax, [esi + 0x90] +push eax +push dword [ebp + 0x18] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_0001111a: +mov ecx, dword [ebp + 8] +lea eax, [ebx + 0xae] +test byte [ecx + eax*8 + 0x10], 8 +je short loc_00011199 ; je 0x11199 +mov cl, byte [ecx + eax*8 + 0xf] +mov dl, cl +shr dl, 1 +lea eax, [edx + 0x43] +and eax, 0x7f +cmp al, 0xd +jbe short loc_00011176 ; jbe 0x11176 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011159 ; je 0x11159 +push edx +push edx +push ref_00024d86 ; push 0x24d86 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011159: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_00011015 ; je 0x11015 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x1f3 +jmp near loc_00011008 ; jmp 0x11008 + +loc_00011176: +and ecx, 1 +movzx edx, dl +shl ecx, 7 +add esi, 0x98 +or ecx, edx +push ecx +push 0xffffff00 +push esi +push dword [ebp + 0x18] +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_00011199: +inc ebx +jmp near loc_00010f7e ; jmp 0x10f7e + +loc_0001119f: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000111a7: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov esi, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x18] +lea eax, [esi + 0x410] +add esi, 0xfc +push eax +mov dword [ebp - 0x1c], ecx +call fcn_00017cc7 ; call 0x17cc7 +mov dword [esp], esi +mov edi, eax +call fcn_00017d8a ; call 0x17d8a +mov ecx, dword [ebp - 0x1c] +add esp, 0x10 +cmp ecx, 0x22 +ja short loc_00011200 ; ja 0x11200 +cmp ecx, 0x20 +jae short loc_0001121a ; jae 0x1121a +cmp ecx, 1 +jb loc_000113d5 ; jb 0x113d5 +cmp ecx, 3 +jbe short loc_00011213 ; jbe 0x11213 +cmp ecx, 0x10 +je short loc_00011213 ; je 0x11213 +jmp near loc_000113d5 ; jmp 0x113d5 + +loc_00011200: +sub ecx, 0x41 +cmp ecx, 2 +ja loc_000113d5 ; ja 0x113d5 +mov ecx, ref_000287a0 ; mov ecx, 0x287a0 +jmp short loc_0001121f ; jmp 0x1121f + +loc_00011213: +mov ecx, ref_0002758c ; mov ecx, 0x2758c +jmp short loc_0001121f ; jmp 0x1121f + +loc_0001121a: +mov ecx, ref_0002801c ; mov ecx, 0x2801c + +loc_0001121f: +test eax, 0x80000 +je loc_000113d5 ; je 0x113d5 +and eax, 0x70000 +mov edx, eax +shr edx, 0x10 +cmp dword [ebp + 0xc], 2 +jne short loc_0001129d ; jne 0x1129d +cmp dl, 5 +ja loc_000113d5 ; ja 0x113d5 +imul edx, edx, 0xc +add ecx, edx +push dword [ecx + 8] +push dword [ecx + 4] +push dword [ecx] +push ebx +call fcn_00009d54 ; call 0x9d54 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je loc_000113d5 ; je 0x113d5 +test ebx, ebx +jns loc_000113d5 ; jns 0x113d5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001128d ; je 0x1128d +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001128d: +push eax +push ref_00020664 ; push 0x20664 +push 0x241 +jmp near loc_000113c8 ; jmp 0x113c8 + +loc_0001129d: +cmp dword [ebp + 0xc], 1 +jne loc_000113d5 ; jne 0x113d5 +test dl, dl +jne short loc_00011312 ; jne 0x11312 +mov eax, edi +and eax, 3 +dec al +jne loc_000113d5 ; jne 0x113d5 +imul edx, edx, 0xc +add ecx, edx +push dword [ecx + 8] +push dword [ecx + 4] +push dword [ecx] +push ebx +call fcn_00009d54 ; call 0x9d54 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je loc_000113d5 ; je 0x113d5 +test ebx, ebx +jns loc_000113d5 ; jns 0x113d5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011302 ; je 0x11302 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011302: +push edi +push ref_00020664 ; push 0x20664 +push 0x24d +jmp near loc_000113c8 ; jmp 0x113c8 + +loc_00011312: +cmp dl, 1 +jne short loc_0001137b ; jne 0x1137b +mov eax, edi +and eax, 0xc +cmp al, 4 +jne loc_000113d5 ; jne 0x113d5 +imul edx, edx, 0xc +add ecx, edx +push dword [ecx + 8] +push dword [ecx + 4] +push dword [ecx] +push ebx +call fcn_00009d54 ; call 0x9d54 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je loc_000113d5 ; je 0x113d5 +test ebx, ebx +jns loc_000113d5 ; jns 0x113d5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001136e ; je 0x1136e +push esi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001136e: +push ecx +push ref_00020664 ; push 0x20664 +push 0x257 +jmp short loc_000113c8 ; jmp 0x113c8 + +loc_0001137b: +imul edx, edx, 0xc +add ecx, edx +push dword [ecx + 8] +push dword [ecx + 4] +push dword [ecx] +push ebx +call fcn_00009d54 ; call 0x9d54 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000113d5 ; je 0x113d5 +test ebx, ebx +jns short loc_000113d5 ; jns 0x113d5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000113bd ; je 0x113bd +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000113bd: +push eax +push ref_00020664 ; push 0x20664 +push 0x260 + +loc_000113c8: +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000113d5: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000113df: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +call fcn_0001bef7 ; call 0x1bef7 +mov esi, eax +mov eax, dword [ebp + 8] +mov ebx, dword [eax + 4] +push edi +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x1c +push 0 +mov edi, eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +add edi, 2 +push 0 +push 0x14 +push 0 +mov dword [ebp - 0x20], eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], edi +mov dword [ebp - 0x24], eax +call fcn_00017cfe ; call 0x17cfe +call fcn_0001bb39 ; call 0x1bb39 +movzx eax, al +mov dword [ebp - 0x1c], eax +pop eax +pop edx +lea eax, [ebx + 0x2088] +push 0x109000 +push eax +call fcn_00017dcb ; call 0x17dcb +lea eax, [ebx + 0x20ac] +pop ecx +pop edi +push 0x40000000 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp esi, 1 +jne short loc_000114a2 ; jne 0x114a2 +push eax +push eax +push 0x1b +lea edi, [ebx + 0x2340] +push edi +call fcn_00017ce1 ; call 0x17ce1 +add esp, 0xc +push 0x3a0000 +push 0xff00ffff +push edi +call fcn_00018aa4 ; call 0x18aa4 +lea eax, [ebx + 0x2324] +pop edx +pop ecx +push 0x854c74 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_000114a2: +sub esp, 0xc +push ebx +push dword [ebp - 0x20] +push dword [ebp - 0x1c] +push esi +push dword [ebp + 8] +call fcn_00010d69 ; call 0x10d69 +add esp, 0x20 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000114fc ; je 0x114fc +test edi, edi +jns short loc_000114fc ; jns 0x114fc +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000114e4 ; je 0x114e4 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000114e4: +push eax +push ref_00020664 ; push 0x20664 +push 0x34e +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000114fc: +sub esp, 0xc +push ebx +push dword [ebp - 0x20] +push dword [ebp - 0x1c] +push esi +push dword [ebp + 8] +call fcn_000111a7 ; call 0x111a7 +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00011556 ; je 0x11556 +test esi, esi +jns short loc_00011556 ; jns 0x11556 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001153e ; je 0x1153e +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001153e: +push eax +push ref_00020664 ; push 0x20664 +push 0x350 +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00011556: +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 2 +je short loc_0001156e ; je 0x1156e + +loc_00011560: +call fcn_0001bef7 ; call 0x1bef7 +dec eax +jne loc_00011613 ; jne 0x11613 +jmp short loc_000115bb ; jmp 0x115bb + +loc_0001156e: +mov byte [ebp - 0x1c], 0 + +loc_00011572: +call fcn_0001c0fb ; call 0x1c0fb +cmp byte [ebp - 0x1c], al +jae short loc_00011560 ; jae 0x11560 +push eax +movzx eax, byte [ebp - 0x1c] +push eax +push 0x1c +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov edi, eax +pop eax +pop edx +lea eax, [edi + 0x110] +push 0x31c1 +push eax +call fcn_00018a50 ; call 0x18a50 +lea edx, [edi + 0x104] +pop ecx +pop eax +push 0x17d010 +push edx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +inc byte [ebp - 0x1c] +jmp short loc_00011572 ; jmp 0x11572 + +loc_000115bb: +sub esp, 0xc +lea eax, [ebx + 0x2320] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, 0x20000 +test al, 2 +jne short loc_000115fa ; jne 0x115fa +mov eax, dword [ebp - 0x20] +sub esp, 0xc +add eax, 0xf5 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +and eax, 1 +cmp al, 1 +sbb edx, edx +xor dx, dx +add edx, 0x20000 + +loc_000115fa: +or dh, 0x30 +push eax +push edx +push 0xfffc0fff +lea eax, [ebx + 0x21a4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00011613: +push edi +push edi +push 0xfffffffffffffff0 +lea eax, [ebx + 0x2348] +push eax +call fcn_00018a7a ; call 0x18a7a +mov eax, dword [ebp - 0x24] +add esp, 0xc +push 0x10000 +push 0xffffff7f +add eax, 0xb0 +push eax +call fcn_00018aa4 ; call 0x18aa4 +call fcn_0001bef7 ; call 0x1bef7 +add esp, 0x10 +cmp eax, 2 +jne short loc_000116b7 ; jne 0x116b7 +push ecx +push ecx +push 0x10 +lea eax, [ebx + 0x260c] +push eax +call fcn_00017d40 ; call 0x17d40 +push 0x3100 +push 0xffffceff +push 0xec000106 +push ebx +call fcn_00009d54 ; call 0x9d54 +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000116b7 ; je 0x116b7 +test esi, esi +jns short loc_000116b7 ; jns 0x116b7 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001169f ; je 0x1169f +push edx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001169f: +push eax +push ref_00020664 ; push 0x20664 +push 0x3b8 +push ref_00024c76 ; push 0x24c76 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000116b7: +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000116c1: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 0x14] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000116e7 ; je 0x116e7 +push eax +push eax +push ref_00024db6 ; push 0x24db6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000116e7: +cmp dword [ebp + 8], 0 +mov ebx, 0x80000002 +je loc_0001180f ; je 0x1180f +call fcn_000153e9 ; call 0x153e9 +test al, al +mov eax, esi +movzx ebx, al +je short loc_00011715 ; je 0x11715 +push eax +push ebx +push ref_00024dd1 ; push 0x24dd1 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011715: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011731 ; je 0x11731 +push eax +push dword [ebp + 0xc] +push ref_00024de2 ; push 0x24de2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011731: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001174d ; je 0x1174d +push eax +push dword [ebp + 0x10] +push ref_00024dfa ; push 0x24dfa +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001174d: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011767 ; je 0x11767 +push eax +push eax +push ref_00021e91 ; push 0x21e91 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011767: +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +and edi, 0xffffc000 +lea esi, [edi + 0x3418] +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +push ebx +mov dword [ebp - 0x1c], eax +lea eax, [ebp - 0x1c] +push eax +push edi +push 0 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +call fcn_00015137 ; call 0x15137 +add esp, 0x20 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000117f9 ; je 0x117f9 +test ebx, ebx +jns short loc_000117f9 ; jns 0x117f9 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000117e1 ; je 0x117e1 +push edi +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000117e1: +push ecx +push ref_00020664 ; push 0x20664 +push 0x82 +push ref_00024e12 ; push 0x24e12 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000117f9: +push edx +push edx +push dword [ebp - 0x1c] +push esi +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 + +loc_0001180f: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011829 ; je 0x11829 +push eax +push eax +push ref_00024e3b ; push 0x24e3b +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011829: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00011833: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00011854 ; je 0x11854 +push edx +push edx +push ref_00024e54 ; push 0x24e54 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00011854: ; not directly referenced +lea eax, [ebp - 0xc] +push eax +push 0 +push 0 +push ref_0002910c ; push 0x2910c +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +mov ebx, eax +test eax, eax +jne short loc_00011889 ; jne 0x11889 +mov eax, dword [ebp - 0xc] +movzx edx, byte [eax] +push edx +push dword [eax + 0xe] +push dword [eax + 6] +push dword [eax + 1] +call fcn_000116c1 ; call 0x116c1 +add esp, 0x10 +mov ebx, eax + +loc_00011889: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000118a3 ; je 0x118a3 +push eax +push eax +push ref_00024e6a ; push 0x24e6a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000118a3: ; not directly referenced +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000118aa: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov eax, dword [ebp + 0x14] +mov ebx, dword [ebp + 0xc] +mov esi, dword [ebp + 8] +mov dword [ebp - 0x28], eax +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x1c], eax +call fcn_0001bff9 ; call 0x1bff9 +mov eax, dword [ebp + 0x10] +movzx eax, byte [eax + 1] +push ecx +mov edi, eax +mov dword [ebp - 0x34], eax +movzx eax, bl +push eax +push 0x1c +push edi +mov dword [ebp - 0x2c], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x1f +push edi +mov ebx, eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebp - 0x38], eax +pop eax +pop edx +push 0 +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +push 0x10 +push dword [ebp - 0x2c] +push 0x1c +push edi +mov dword [ebp - 0x20], eax +call fcn_00009f67 ; call 0x9f67 +add esp, 0x20 +movzx eax, al +mov ecx, eax +mov dword [ebp - 0x3c], eax +mov eax, 0x80000003 +test ecx, ecx +je loc_00011ddc ; je 0x11ddc +sub esp, 0xc +mov eax, esi +lea edx, [ebx + 0x64] +movzx esi, al +push edx +imul esi, esi, 0x2c +mov dword [ebp - 0x24], edx +call fcn_00017d8a ; call 0x17d8a +mov edi, dword [ebp + 0x10] +pop edx +pop ecx +mov edx, dword [ebp - 0x24] +add edi, esi +mov ecx, eax +and ah, 0xf7 +or ch, 8 +cmp byte [edi + 0x58], 1 +cmovne ecx, eax +and ecx, 0xfff3ffff +push ecx +push edx +call fcn_00017dcb ; call 0x17dcb +lea eax, [ebx + 0x68] +mov dword [esp], eax +mov dword [ebp - 0x24], eax +call fcn_00017cfe ; call 0x17cfe +pop edx +pop ecx +mov edx, eax +and ah, 0xfb +or dh, 4 +cmp byte [edi + 0x58], 1 +cmovne edx, eax +movzx edx, dx +push edx +push dword [ebp - 0x24] +call fcn_00017d40 ; call 0x17d40 +add esp, 0xc +push 0x14140000 +push 0xffff +lea eax, [ebx + 0x318] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov eax, dword [ebp - 0x20] +add eax, 0xf5 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0xc +mov edi, dword [ebp + 0x10] +lea ecx, [ebx + 0x4c] +mov dword [ebp - 0x30], ecx +lea edi, [edi + esi + 0x40] +lea esi, [edi + 6] +and eax, 1 +cmp al, 1 +sbb eax, eax +xor ax, ax +add eax, 0x20000 +push eax +push 0xfffc7fff +push ecx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x743a361b +push 0 +lea eax, [ebx + 0x314] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x18000 +lea eax, [ebx + 0xd8] +push 0xfffc7fff +push eax +mov dword [ebp - 0x20], eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x854c74 +push 0xff000000 +lea eax, [ebx + 0x33c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x2000000 +push 0xfdffffff +push dword [ebp - 0x20] +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x8000008 +push 0xf7fffff7 +push dword [ebp - 0x20] +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +lea eax, [ebx + 0xf5] +push 0xf +push eax +call fcn_00018699 ; call 0x18699 +mov al, byte [esi + 4] +pop ecx +pop edx +shl eax, 0x1f +sar eax, 0x1f +and eax, 0x10001 +mov edx, eax +or edx, 0x20000000 +cmp dword [ebp - 0x1c], 2 +cmove eax, edx +push eax +lea eax, [ebx + 0x100] +push eax +call fcn_00017dcb ; call 0x17dcb +mov dl, byte [edi + 6] +add esp, 0xc +and edx, 0x20 +cmp dl, 1 +sbb eax, eax +and eax, 0xffffff80 +dec eax +cmp dl, 1 +sbb edx, edx +movzx eax, ax +not edx +and dx, 0x80 +movzx edx, dx +push edx +push eax +lea eax, [ebx + 0x50] +push eax +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +cmp dword [ebp - 0x1c], 2 +jne short loc_00011aff ; jne 0x11aff +push ecx +push 0x1000c0 +push 0xffcffe3f +lea eax, [ebx + 0x320] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00011aff: ; not directly referenced +mov dl, byte [esi + 0xb] +cmp dl, 9 +je short loc_00011b1d ; je 0x11b1d +sub edx, 3 +xor eax, eax +cmp dl, 3 +ja short loc_00011b22 ; ja 0x11b22 +movzx edx, dl +movzx eax, byte [edx + ref_000203d8] ; movzx eax, byte [edx + 0x203d8] +jmp short loc_00011b22 ; jmp 0x11b22 + +loc_00011b1d: ; not directly referenced +mov eax, 0x10 + +loc_00011b22: ; not directly referenced +push edx +push eax +push 0xffe0 +push dword [ebp - 0x24] +call fcn_000188bd ; call 0x188bd +mov dl, byte [edi + 6] +add esp, 0x10 +test dl, 4 +je short loc_00011ba8 ; je 0x11ba8 +sub esp, 0xc +push dword [ebp - 0x30] +shl edx, 0x1c +sar edx, 0x1f +and edx, 0x60 +mov dword [ebp - 0x24], edx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, dword [ebp - 0x24] +and eax, 0x3f0 +cmp eax, 0x10 +jne short loc_00011b68 ; jne 0x11b68 +or dh, 0xb2 +jmp short loc_00011b8c ; jmp 0x11b8c + +loc_00011b68: ; not directly referenced +sub esp, 0xc +push dword [ebp - 0x30] +mov dword [ebp - 0x24], edx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x24] +add esp, 0x10 +mov ecx, edx +or ch, 0xfd +and eax, 0x3f0 +cmp eax, 0x10 +cmova edx, ecx + +loc_00011b8c: ; not directly referenced +push eax +movzx eax, byte [esi + 0xa] +shl eax, 0x13 +or eax, edx +push eax +push 0x6001f +lea eax, [ebx + 0x54] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00011ba8: ; not directly referenced +mov eax, dword [ebp + 0x10] +sub esp, 0xc +movzx eax, byte [eax + 0x19] +push eax +mov eax, dword [ebp + 0x10] +movzx eax, byte [eax + 0x18] +push eax +push dword [ebp - 0x2c] +push 0x1c +push dword [ebp - 0x34] +call fcn_0000bbe0 ; call 0xbbe0 +add esp, 0x20 +mov byte [ebp - 0x24], 1 +test eax, eax +je short loc_00011bea ; je 0x11bea +push eax +push eax +push 2 +lea eax, [ebx + 0xd4] +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 +mov byte [ebp - 0x24], 0 + +loc_00011bea: ; not directly referenced +test byte [edi + 6], 8 +jne short loc_00011bfe ; jne 0x11bfe +mov cl, byte [ebp - 0x24] +mov al, cl +lea eax, [eax + eax - 3] +lea edx, [ecx + ecx] +jmp short loc_00011c02 ; jmp 0x11c02 + +loc_00011bfe: ; not directly referenced +mov al, 0xfd +xor edx, edx + +loc_00011c02: ; not directly referenced +movzx edx, dl +movzx eax, al +push ecx +push edx +push eax +lea eax, [ebx + 0xe0] +push eax +call fcn_000186c6 ; call 0x186c6 +mov dl, byte [esi + 4] +add esp, 0xc +mov al, dl +and eax, 2 +cmp al, 1 +sbb eax, eax +not eax +and eax, 8 +mov ecx, eax +or ecx, 4 +test dl, 4 +cmovne eax, ecx +mov ecx, eax +or ecx, 2 +test dl, 8 +cmovne eax, ecx +mov ecx, eax +or ecx, 1 +and dl, 0x10 +cmovne eax, ecx +movzx eax, ax +push eax +push 0xfff0 +lea eax, [ebx + 0x48] +push eax +call fcn_000188bd ; call 0x188bd +mov dl, byte [esi + 4] +add esp, 0xc +mov al, dl +and eax, 0x20 +cmp al, 1 +sbb eax, eax +not eax +and eax, 8 +mov ecx, eax +or ecx, 4 +test dl, 0x40 +cmovne eax, ecx +mov ecx, eax +or ecx, 2 +test dl, dl +cmovs eax, ecx +mov edx, eax +or edx, 1 +test byte [esi + 5], 1 +lea esi, [ebx + 0x5c] +cmovne eax, edx +movzx eax, ax +push eax +push 0xfff0 +push esi +call fcn_000188bd ; call 0x188bd +add esp, 0x10 +test byte [edi + 6], 0x10 +je loc_00011d3e ; je 0x11d3e +push eax +push eax +push 0xfff7 +push esi +call fcn_00018890 ; call 0x18890 +add esp, 0xc +push 0x80000000 +push 0xfffffffffffffffe +push dword [ebp - 0x20] +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp dword [ebp - 0x1c], 2 +jne short loc_00011ce6 ; jne 0x11ce6 +movzx esi, word [ebp - 0x28] +add esi, 0x8c +jmp short loc_00011cf3 ; jmp 0x11cf3 + +loc_00011ce6: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_00011d14 ; jne 0x11d14 +movzx esi, word [ebp - 0x28] +add esi, 0x20 + +loc_00011cf3: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +test ah, 2 +je short loc_00011d14 ; je 0x11d14 +push eax +push eax +push 0x200 +push esi +call fcn_00018ed3 ; call 0x18ed3 +add esp, 0x10 + +loc_00011d14: ; not directly referenced +mov esi, dword [ebp - 0x38] +sub esp, 0xc +add esi, 0xa0 +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 4 +jne short loc_00011d3e ; jne 0x11d3e +push eax +push eax +push 0x400 +push esi +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00011d3e: ; not directly referenced +test byte [edi + 6], 8 +je short loc_00011dc3 ; je 0x11dc3 +mov esi, dword [ebp - 0x3c] +push eax +push eax +push 9 +add esi, ebx +lea eax, [esi + 0x1a] +add esi, 0x18 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0xc +push 9 +push 0xffdf +push esi +call fcn_000188bd ; call 0x188bd +add esp, 0xc +push 0x40000000 +push 0xfffffffffffffffd +push dword [ebp - 0x20] +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp dword [ebp - 0x1c], 2 +jne short loc_00011d93 ; jne 0x11d93 +movzx eax, word [ebp - 0x28] +push ecx +push ecx +push 2 +add eax, 0x8c +jmp short loc_00011da4 ; jmp 0x11da4 + +loc_00011d93: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_00011dad ; jne 0x11dad +movzx eax, word [ebp - 0x28] +push edx +push edx +push 2 +add eax, 0x20 + +loc_00011da4: ; not directly referenced +push eax +call fcn_00018ed3 ; call 0x18ed3 +add esp, 0x10 + +loc_00011dad: ; not directly referenced +push eax +add ebx, 0x108 +push eax +push 0x4000 +push ebx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00011dc3: ; not directly referenced +cmp byte [ebp - 0x24], 1 +je short loc_00011dda ; je 0x11dda +mov al, byte [edi + 6] +and eax, 8 +cmp al, 1 +sbb eax, eax +and eax, 0x8000000e +jmp short loc_00011ddc ; jmp 0x11ddc + +loc_00011dda: ; not directly referenced +xor eax, eax + +loc_00011ddc: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00011de4: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x2c +mov eax, dword [ebp + 8] +mov dword [ebp - 0x2c], eax +mov byte [ebp - 0x20], al +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x1c], eax +call fcn_0001bff9 ; call 0x1bff9 +movzx edi, byte [ebp - 0x20] +mov dword [ebp - 0x28], eax + +loc_00011e0c: ; not directly referenced +call fcn_0001c0fb ; call 0x1c0fb +movzx eax, al +cmp ebx, eax +jae loc_00011f11 ; jae 0x11f11 +cmp dword [ebp - 0x1c], 2 +mov byte [ebp - 0x21], 0 +jne short loc_00011e60 ; jne 0x11e60 +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +and eax, 0xfffc +lea eax, [eax + ebx*8 + 0x190] +mov dword [esp], eax +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +and eax, 1 +xor eax, 1 +and eax, 1 +mov byte [ebp - 0x21], al + +loc_00011e60: ; not directly referenced +mov eax, 1 +mov cl, bl +shl eax, cl +test dword [ebp + 0x10], eax +je loc_00012080 ; je 0x12080 +test dword [ebp + 0x14], eax +jne loc_00012103 ; jne 0x12103 +push esi +push esi +push ebx +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +pop eax +pop edx +lea eax, [esi + 0xe1] +push 3 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 +cmp dword [ebp - 0x1c], 2 +jne short loc_00011ed9 ; jne 0x11ed9 +push ecx +push ecx +push 0x40 +lea eax, [esi + 0xe2] +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0xc +push 8 +push 0xf3 +lea eax, [esi + 0xe8] +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_00011ed9: ; not directly referenced +push eax +push eax +push 3 +lea eax, [esi + 0xe8] +push eax +call fcn_00018a50 ; call 0x18a50 +cmp dword [ebp - 0x28], 2 +pop eax +mov eax, 0x20 +pop edx +mov edx, 0x4020 +cmove eax, edx +add esi, 0x324 +push eax +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +jmp near loc_00012103 ; jmp 0x12103 + +loc_00011f11: ; not directly referenced +xor ebx, ebx +cmp dword [ebp - 0x1c], 2 +jne loc_00011ff4 ; jne 0x11ff4 +mov eax, dword [ebp + 0x10] +movzx edi, byte [ebp - 0x20] +and eax, 0xf +mov dword [ebp - 0x1c], eax + +loc_00011f2a: ; not directly referenced +call fcn_0001c0fb ; call 0x1c0fb +movzx eax, al +cmp ebx, eax +jae short loc_00011fb4 ; jae 0x11fb4 +push esi +push esi +push ebx +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov edx, eax +lea eax, [ebx - 4] +cmp eax, 1 +jbe short loc_00011f61 ; jbe 0x11f61 +test ebx, ebx +jne short loc_00011fae ; jne 0x11fae + +loc_00011f61: ; not directly referenced +push ecx +push ecx +lea esi, [edx + 0xe1] +push 0x3c +push esi +mov dword [ebp - 0x20], edx +call fcn_0001866c ; call 0x1866c +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +mov edx, dword [ebp - 0x20] +or eax, ebx +je short loc_00011f8e ; je 0x11f8e +mov eax, dword [ebp + 0x10] +bt eax, ebx +jb short loc_00011fae ; jb 0x11fae +cmp ebx, 3 +jbe short loc_00011fae ; jbe 0x11fae + +loc_00011f8e: ; not directly referenced +push eax +add edx, 0xe2 +push eax +push 1 +push edx +call fcn_0001866c ; call 0x1866c +pop eax +pop edx +push 0x80 +push esi +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_00011fae: ; not directly referenced +inc ebx +jmp near loc_00011f2a ; jmp 0x11f2a + +loc_00011fb4: ; not directly referenced +test byte [ebp + 0x10], 0x3f +jne loc_0001210b ; jne 0x1210b +push ecx +push ecx +push 0 +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +movzx eax, byte [ebp - 0x2c] +push 0x1c +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ebx +pop esi +push 0x40 +add eax, 0xe1 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 +jmp near loc_0001210b ; jmp 0x1210b + +loc_00011ff4: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne loc_0001210b ; jne 0x1210b +movzx edi, byte [ebp - 0x20] + +loc_00012002: ; not directly referenced +call fcn_0001c0fb ; call 0x1c0fb +movzx eax, al +cmp ebx, eax +jae loc_0001210b ; jae 0x1210b +mov eax, dword [ebp + 0x14] +bt eax, ebx +jb short loc_0001207b ; jb 0x1207b +push esi +push esi +push ebx +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +lea esi, [eax + 0xe1] +mov dword [ebp - 0x1c], eax +pop eax +pop edx +push 0x3c +push esi +call fcn_0001866c ; call 0x1866c +mov eax, 0xf +mov cl, bl +shl eax, cl +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +test dword [ebp + 0x10], eax +jne short loc_0001207b ; jne 0x1207b +push eax +add edx, 0xe2 +push eax +push 1 +push edx +call fcn_0001866c ; call 0x1866c +pop edx +pop ecx +push 0x80 +push esi +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_0001207b: ; not directly referenced +add ebx, 4 +jmp short loc_00012002 ; jmp 0x12002 + +loc_00012080: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_000120fd ; jne 0x120fd +push esi +push esi +push ebx +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +pop eax +pop edx +lea eax, [esi + 0xe2] +add esi, 0x420 +push 0x30 +push eax +call fcn_0001866c ; call 0x1866c +pop ecx +pop eax +push 0x80000000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_000120c8: ; not directly referenced +cmp byte [ebp - 0x21], 0 +je short loc_000120fd ; je 0x120fd +push eax +push eax +push ebx +push dword [ebp + 0x18] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +push 0x1c +push edi +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 0x60000000 +add eax, 0x420 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_000120fd: ; not directly referenced +inc ebx +jmp near loc_00011e0c ; jmp 0x11e0c + +loc_00012103: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_000120fd ; jne 0x120fd +jmp short loc_000120c8 ; jmp 0x120c8 + +loc_0001210b: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00012115: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov ebx, dword [ebp + 0xc] +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0x10] +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +jne short loc_00012151 ; jne 0x12151 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00012151 ; je 0x12151 +push edx +push ebx +push ref_00024e7e ; push 0x24e7e +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012151: ; not directly referenced +sub esp, 0xc +add ebx, 0xfc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and ax, 0xc000 +cmp ax, 0x8000 +je short loc_00012182 ; je 0x12182 +cmp ax, 0xc000 +je short loc_0001217b ; je 0x1217b +xor ebx, ebx +cmp ax, 0x4000 +jne short loc_00012187 ; jne 0x12187 + +loc_0001217b: ; not directly referenced +mov ebx, 2 +jmp short loc_00012187 ; jmp 0x12187 + +loc_00012182: ; not directly referenced +mov ebx, 0x22 + +loc_00012187: ; not directly referenced +call fcn_0001bef7 ; call 0x1bef7 +dec eax +jne short loc_000121d4 ; jne 0x121d4 +push eax +push 4 +push 0x1c +movzx eax, byte [edi + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xfc +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and ax, 0xc000 +cmp ax, 0x8000 +je short loc_000121cc ; je 0x121cc +cmp ax, 0xc000 +je short loc_000121d1 ; je 0x121d1 +mov edx, ebx +or dh, 2 +cmp ax, 0x4000 +cmove ebx, edx +jmp short loc_000121d4 ; jmp 0x121d4 + +loc_000121cc: ; not directly referenced +or bh, 0x22 +jmp short loc_000121d4 ; jmp 0x121d4 + +loc_000121d1: ; not directly referenced +or bh, 2 + +loc_000121d4: ; not directly referenced +movzx ebx, bx +add esi, 0x103c +mov dword [ebp + 0xc], ebx +mov dword [ebp + 8], esi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_000121ef: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x4c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00012212 ; je 0x12212 +push esi +push esi +push ref_00024e93 ; push 0x24e93 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012212: ; not directly referenced +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x2c], eax +push eax +mov eax, dword [ebp + 8] +push 0 +push 0x1f +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 0xf0] +add ebx, 0x40 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], ebx +mov dword [ebp - 0x30], eax +and dword [ebp - 0x30], 0xffffc000 +call fcn_00017cfe ; call 0x17cfe +mov edi, dword [ebp - 0x30] +mov word [ebp - 0x3e], ax +pop eax +pop edx +and word [ebp - 0x3e], 0xfffc +push 0 +push edi +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +mov eax, dword [ebp + 8] +push 0x1c +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop ebx +push 4 +push edi +mov esi, eax +mov dword [ebp - 0x34], eax +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +mov eax, dword [ebp + 8] +push 0x1c +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +call fcn_0001c0fb ; call 0x1c0fb +add esp, 0xc +push 5 +push 0xf5 +mov byte [ebp - 0x39], al +mov eax, esi +add eax, 0xf5 +push eax +call fcn_000186c6 ; call 0x186c6 +add esp, 0xc +push dword [ebp + 8] +push esi +push edi +call fcn_00012115 ; call 0x12115 +mov eax, esi +add eax, 0xfc +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov esi, eax +and eax, 0xc000 +cmp eax, 0x8000 +je short loc_00012308 ; je 0x12308 +cmp eax, 0xc000 +je short loc_0001230f ; je 0x1230f +cmp eax, 0x4000 +sete al +movzx eax, al +mov edi, eax +add edi, eax +jmp short loc_00012314 ; jmp 0x12314 + +loc_00012308: ; not directly referenced +mov edi, 0xa +jmp short loc_00012314 ; jmp 0x12314 + +loc_0001230f: ; not directly referenced +mov edi, 0xe + +loc_00012314: ; not directly referenced +cmp dword [ebp - 0x2c], 1 +jne short loc_0001235c ; jne 0x1235c +sub esp, 0xc +add ebx, 0xfc +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xc000 +cmp eax, 0x8000 +je short loc_0001234e ; je 0x1234e +cmp eax, 0xc000 +je short loc_00012356 ; je 0x12356 +mov edx, edi +or edx, 0x20 +cmp eax, 0x4000 +cmove edi, edx +jmp short loc_0001235c ; jmp 0x1235c + +loc_0001234e: ; not directly referenced +or edi, 0xa0 +jmp short loc_0001235c ; jmp 0x1235c + +loc_00012356: ; not directly referenced +or edi, 0xe0 + +loc_0001235c: ; not directly referenced +mov eax, dword [ebp - 0x30] +sub esp, 0xc +mov bl, 0xff +add eax, 0x3414 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test esi, 0x80000 +je short loc_00012389 ; je 0x12389 +test al, 0x20 +jne short loc_00012389 ; jne 0x12389 +and esi, 0x70000 +mov ebx, esi +shr ebx, 0x10 + +loc_00012389: ; not directly referenced +cmp dword [ebp - 0x2c], 1 +jne short loc_000123b4 ; jne 0x123b4 +mov eax, dword [ebp - 0x34] +sub esp, 0xc +add eax, 0x410 +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 0x11 +je short loc_000123af ; je 0x123af +test bl, bl +jne short loc_000123f5 ; jne 0x123f5 +test al, 0x10 +jne short loc_000123f5 ; jne 0x123f5 + +loc_000123af: ; not directly referenced +or edi, 1 +jmp short loc_000123f5 ; jmp 0x123f5 + +loc_000123b4: ; not directly referenced +cmp dword [ebp - 0x2c], 2 +jne short loc_00012405 ; jne 0x12405 +mov eax, dword [ebp - 0x34] +sub esp, 0xc +lea esi, [eax + 0x410] +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 3 +jne short loc_000123db ; jne 0x123db + +loc_000123d3: ; not directly referenced +or edi, 1 +jmp near loc_00012b91 ; jmp 0x12b91 + +loc_000123db: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 3 +cmp eax, 2 +jne loc_00012b91 ; jne 0x12b91 +jmp short loc_000123d3 ; jmp 0x123d3 + +loc_000123f5: ; not directly referenced +test al, 0x24 +je short loc_00012402 ; je 0x12402 +cmp bl, 1 +jne short loc_00012405 ; jne 0x12405 +test al, 0x20 + +loc_00012400: ; not directly referenced +jne short loc_00012405 ; jne 0x12405 + +loc_00012402: ; not directly referenced +or edi, 2 + +loc_00012405: ; not directly referenced +cmp dword [ebp - 0x2c], 1 +sete dl +mov byte [ebp - 0x3b], dl +cmp bl, 2 +jne short loc_0001241e ; jne 0x1241e +mov eax, edi +or eax, 4 +test dl, dl +cmovne edi, eax + +loc_0001241e: ; not directly referenced +cmp dword [ebp - 0x2c], 2 +sete cl +mov byte [ebp - 0x3c], cl +test bl, bl +jne short loc_00012436 ; jne 0x12436 +mov eax, edi +or eax, 4 +test cl, cl +cmovne edi, eax + +loc_00012436: ; not directly referenced +cmp bl, 3 +jne short loc_00012447 ; jne 0x12447 +mov eax, edi +or eax, 8 +cmp byte [ebp - 0x3b], 0 +cmovne edi, eax + +loc_00012447: ; not directly referenced +cmp bl, 1 +jne short loc_00012458 ; jne 0x12458 +mov eax, edi +or eax, 8 +cmp byte [ebp - 0x3c], 0 +cmovne edi, eax + +loc_00012458: ; not directly referenced +cmp bl, 4 +jne short loc_00012468 ; jne 0x12468 +cmp byte [ebp - 0x3b], 0 +je short loc_00012468 ; je 0x12468 +or edi, 0x10 +jmp short loc_0001247c ; jmp 0x1247c + +loc_00012468: ; not directly referenced +cmp byte [ebp - 0x3c], 0 +je short loc_0001247c ; je 0x1247c +mov eax, edi +lea edx, [ebx - 2] +or eax, 0x10 +cmp dl, 3 +cmovbe edi, eax + +loc_0001247c: ; not directly referenced +cmp bl, 5 +jne short loc_0001248c ; jne 0x1248c +cmp byte [ebp - 0x3b], 0 +je short loc_0001248c ; je 0x1248c +or edi, 0x20 +jmp short loc_000124b8 ; jmp 0x124b8 + +loc_0001248c: ; not directly referenced +cmp byte [ebp - 0x3c], 0 +je short loc_000124b2 ; je 0x124b2 +mov eax, dword [ebp - 0x34] +sub esp, 0xc +add eax, 0x410 +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, edi +add esp, 0x10 +or edx, 0x20 +test al, 0xf0 +cmove edi, edx +jmp short loc_000124cc ; jmp 0x124cc + +loc_000124b2: ; not directly referenced +cmp byte [ebp - 0x3b], 0 +je short loc_000124cc ; je 0x124cc + +loc_000124b8: ; not directly referenced +cmp bl, 6 +jne short loc_000124c2 ; jne 0x124c2 +or edi, 0x40 +jmp short loc_000124cc ; jmp 0x124cc + +loc_000124c2: ; not directly referenced +mov eax, edi +or al, 0x80 +cmp bl, 7 +cmove edi, eax + +loc_000124cc: ; not directly referenced +mov eax, dword [ebp - 0x30] +sub esp, 0xc +add eax, 0x1030 +push eax +mov dword [ebp - 0x4c], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp - 0x48], 0xff +test eax, 0x400000 +je short loc_0001250f ; je 0x1250f +mov eax, dword [ebp + 8] +cmp byte [eax + 0x1a6], 0 +je short loc_0001250f ; je 0x1250f +call fcn_000153f0 ; call 0x153f0 +mov eax, dword [ebp + 8] +movzx eax, byte [eax + 0x1a7] +mov dword [ebp - 0x48], eax + +loc_0001250f: ; not directly referenced +xor ecx, ecx +mov eax, 0x10000 +mov dword [ebp - 0x34], 0 +mov edx, 1 + +loc_00012522: ; not directly referenced +cmp byte [ebp - 0x39], cl +jbe short loc_00012549 ; jbe 0x12549 +imul ebx, ecx, 0x2c +mov esi, dword [ebp + 8] +test byte [esi + ebx + 0x46], 1 +je short loc_00012546 ; je 0x12546 +mov esi, dword [ebp + 0xc] +mov ebx, eax +shl ebx, cl +test dword [esi], ebx +jne short loc_00012546 ; jne 0x12546 +mov ebx, edx +shl ebx, cl +or dword [ebp - 0x34], ebx + +loc_00012546: ; not directly referenced +inc ecx +jmp short loc_00012522 ; jmp 0x12522 + +loc_00012549: ; not directly referenced +cmp dword [ebp - 0x34], 0 +je short loc_00012556 ; je 0x12556 +mov eax, edi +not eax +and dword [ebp - 0x34], eax + +loc_00012556: ; not directly referenced +mov eax, dword [ebp + 8] +mov byte [ebp - 0x3a], 0xff +cmp byte [eax + 0x1a9], 0 +jne short loc_000125bc ; jne 0x125bc +xor eax, eax + +loc_00012568: ; not directly referenced +mov dl, al +cmp al, byte [ebp - 0x39] +jae short loc_00012586 ; jae 0x12586 +imul ecx, eax, 0x2c +mov esi, dword [ebp + 8] +cmp byte [esi + ecx + 0x4f], 0 +mov cl, byte [ebp - 0x3a] +cmove ecx, edx +inc eax +mov byte [ebp - 0x3a], cl +jmp short loc_00012568 ; jmp 0x12568 + +loc_00012586: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000125af ; je 0x125af +mov al, byte [ebp - 0x39] +cmp byte [ebp - 0x3a], al +jbe short loc_000125af ; jbe 0x125af +push eax +push ref_00024ead ; push 0x24ead +push 0x173 +push ref_00024ecc ; push 0x24ecc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000125af: ; not directly referenced +mov cl, byte [ebp - 0x3a] +mov eax, 1 +shl eax, cl +or dword [ebp - 0x34], eax + +loc_000125bc: ; not directly referenced +sub esp, 0xc +lea eax, [ebp - 0x20] +push eax +call fcn_000196d3 ; call 0x196d3 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001260f ; je 0x1260f +test ebx, ebx +jns short loc_0001260f ; jns 0x1260f +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000125f7 ; je 0x125f7 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000125f7: ; not directly referenced +push eax +push ref_00020664 ; push 0x20664 +push 0x181 +push ref_00024ecc ; push 0x24ecc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001260f: ; not directly referenced +cmp dword [ebp - 0x20], 0x11 +je short loc_00012649 ; je 0x12649 +mov eax, dword [ebp + 8] +mov dword [ebp - 0x38], 0 +cmp byte [eax], 9 +jbe short loc_00012650 ; jbe 0x12650 +mov edx, dword [ebp + 8] +mov al, byte [eax + 0x1aa] +movzx ecx, byte [edx + 0x1ab] +shr al, 1 +movzx eax, al +mov dword [ebp - 0x38], ecx +and dword [ebp - 0x38], 7 +shl dword [ebp - 0x38], 7 +or dword [ebp - 0x38], eax +jmp short loc_00012650 ; jmp 0x12650 + +loc_00012649: ; not directly referenced +mov dword [ebp - 0x38], 0x3e8 + +loc_00012650: ; not directly referenced +movzx eax, word [ebp - 0x3e] +mov dword [ebp - 0x2c], 0 +mov dword [ebp - 0x44], 0 +mov dword [ebp - 0x58], eax + +loc_00012665: ; not directly referenced +mov edx, dword [ebp - 0x2c] +mov al, byte [ebp - 0x39] +mov byte [ebp - 0x3e], dl +cmp dl, al +jae loc_00012a30 ; jae 0x12a30 +push eax +push eax +push dword [ebp - 0x2c] +push dword [ebp - 0x30] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +mov eax, dword [ebp + 8] +push 0x1c +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +call fcn_0001bff9 ; call 0x1bff9 +add esp, 0x10 +cmp eax, 2 +jne short loc_000126e4 ; jne 0x126e4 +cmp byte [ebp - 0x3c], 0 +je short loc_000126e4 ; je 0x126e4 +mov edx, dword [ebp + 8] +mov eax, 0x2000430 +cmp byte [edx], 7 +jbe short loc_000126d2 ; jbe 0x126d2 +imul eax, dword [ebp - 0x2c], 0x2c +mov al, byte [edx + eax + 0x46] +shr al, 7 +cmp al, 1 +sbb eax, eax +and eax, 0xfffffffd +add eax, 0x2000433 + +loc_000126d2: ; not directly referenced +push esi +push esi +push eax +lea eax, [ebx + 0x418] +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_000126e4: ; not directly referenced +cmp byte [ebp - 0x3e], 0 +jne loc_000127d9 ; jne 0x127d9 +mov esi, dword [ebp - 0x30] +push eax +push eax +push 0 +push esi +call fcn_0001c2db ; call 0x1c2db +pop edx +pop ecx +lea edx, [ebp - 0x21] +push edx +sub eax, 0x20 +lea edx, [ebp - 0x1c] +movzx eax, al +push edx +push eax +push 4 +push 0xe00000e0 +push esi +call fcn_00009e5f ; call 0x9e5f +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00012760 ; je 0x12760 +test esi, esi +jns short loc_00012760 ; jns 0x12760 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00012748 ; je 0x12748 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012748: ; not directly referenced +push esi +push ref_00020664 ; push 0x20664 +push 0x1ab +push ref_00024ecc ; push 0x24ecc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00012760: ; not directly referenced +mov esi, dword [ebp - 0x30] +push ecx +push ecx +push 0 +push esi +or dword [ebp - 0x1c], 0x300000 +call fcn_0001c2db ; call 0x1c2db +pop edx +pop ecx +lea ecx, [ebp - 0x21] +lea edx, [ebp - 0x1c] +push ecx +sub eax, 0x20 +push edx +movzx eax, al +push eax +push 5 +push 0xe00000e0 +push esi +call fcn_00009e5f ; call 0x9e5f +add esp, 0x20 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000127d9 ; je 0x127d9 +test esi, esi +jns short loc_000127d9 ; jns 0x127d9 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000127c1 ; je 0x127c1 +push edx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000127c1: ; not directly referenced +push eax +push ref_00020664 ; push 0x20664 +push 0x1b5 +push ref_00024ecc ; push 0x24ecc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000127d9: ; not directly referenced +mov cl, byte [ebp - 0x2c] +mov esi, 1 +shl esi, cl +mov eax, esi +and eax, edi +mov dword [ebp - 0x50], eax +jne loc_00012bbc ; jne 0x12bbc +push eax +push eax +push 0x100 +lea eax, [ebx + 0x42] +push eax +call fcn_00018863 ; call 0x18863 +lea edx, [ebx + 0x5a] +mov dword [esp], edx +mov dword [ebp - 0x54], edx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, dword [ebp - 0x54] +test al, 0x40 +jne loc_000128a9 ; jne 0x128a9 +imul eax, dword [ebp - 0x2c], 0x2c +mov ecx, dword [ebp + 8] +test byte [ecx + eax + 0x46], 8 +jne short loc_000128a9 ; jne 0x128a9 +mov eax, dword [ebp - 0x48] +cmp dword [ebp - 0x2c], eax +je short loc_000128a9 ; je 0x128a9 +push eax +mov esi, 0x1f4 +push eax +push 0x4000000 +lea eax, [ebx + 0x338] +push eax +call fcn_00018a50 ; call 0x18a50 +lea eax, [ebx + 0x328] +add esp, 0x10 +mov dword [ebp - 0x54], eax + +loc_00012856: ; not directly referenced +sub esp, 0xc +push dword [ebp - 0x54] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xff000000 +cmp eax, 0x1000000 +jne short loc_00012897 ; jne 0x12897 + +loc_00012870: ; not directly referenced +push eax +push eax +push 0x8000000 +lea eax, [ebx + 0x408] +push eax +call fcn_00018a50 ; call 0x18a50 +mov cl, byte [ebp - 0x2c] +mov eax, 0x10000 +mov edx, dword [ebp + 0xc] +shl eax, cl +or dword [edx], eax +jmp near loc_000129c5 ; jmp 0x129c5 + +loc_00012897: ; not directly referenced +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec esi +jne short loc_00012856 ; jne 0x12856 +jmp short loc_00012870 ; jmp 0x12870 + +loc_000128a9: ; not directly referenced +test dword [ebp - 0x34], esi +jne short loc_000128e2 ; jne 0x128e2 +sub esp, 0xc +push edx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x40 +je short loc_000128ce ; je 0x128ce +push eax +push eax +push 0x10 +lea eax, [ebx + 0x50] +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_000128ce: ; not directly referenced +mov cl, byte [ebp - 0x2c] +mov eax, 0x10000 +mov edx, dword [ebp + 0xc] +shl eax, cl +or dword [edx], eax +jmp near loc_000129c8 ; jmp 0x129c8 + +loc_000128e2: ; not directly referenced +sub esp, 0xc +lea eax, [ebx + 0xe0] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +cmp dword [ebp - 0x20], 0x11 +jne short loc_000128fe ; jne 0x128fe +test al, 2 +je short loc_0001292c ; je 0x1292c + +loc_000128fe: ; not directly referenced +lea esi, [ebx + 0x52] + +loc_00012901: ; not directly referenced +mov eax, dword [ebp - 0x38] +cmp dword [ebp - 0x44], eax +jae short loc_0001292c ; jae 0x1292c +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test ah, 0x20 +jne short loc_0001292c ; jne 0x1292c +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +inc dword [ebp - 0x44] +jmp short loc_00012901 ; jmp 0x12901 + +loc_0001292c: ; not directly referenced +sub esp, 0xc +mov eax, dword [ebp - 0x2c] +push dword [ebp - 0x30] +push dword [ebp - 0x58] +push dword [ebp + 8] +push eax +push eax +call fcn_000118aa ; call 0x118aa +add esp, 0x20 +test eax, eax +js short loc_0001296c ; js 0x1296c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001296c ; je 0x1296c +mov eax, dword [ebp - 0x2c] +push dword [ebp - 0x34] +inc eax +push eax +push ref_00024efa ; push 0x24efa +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001296c: ; not directly referenced +imul eax, dword [ebp - 0x2c], 0x2c +mov ecx, dword [ebp + 8] +test byte [ecx + eax + 0x46], 0x40 +je short loc_000129c8 ; je 0x129c8 +sub esp, 0xc +lea eax, [ebx + 0x328] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x780000 +cmp eax, 0x380000 +jne short loc_000129c8 ; jne 0x129c8 +push eax +push eax +push 0x10 +lea esi, [ebx + 0x50] +push esi +call fcn_0001866c ; call 0x1866c +pop eax +pop edx +lea eax, [ebx + 0xe8] +push 0x2000 +push eax +call fcn_00018863 ; call 0x18863 +pop ecx +pop eax +push 0xef +push esi +call fcn_00018699 ; call 0x18699 + +loc_000129c5: ; not directly referenced +add esp, 0x10 + +loc_000129c8: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +inc eax +je short loc_00012a28 ; je 0x12a28 +cmp byte [ebp - 0x3b], 0 +je short loc_000129e3 ; je 0x129e3 +test byte [ebp - 0x3e], 0xfb +jmp short loc_000129f7 ; jmp 0x129f7 + +loc_000129e3: ; not directly referenced +cmp byte [ebp - 0x3c], 0 +je short loc_00012a0f ; je 0x12a0f +mov cl, byte [ebp - 0x3e] +mov al, cl +sub eax, 4 +cmp al, 1 +jbe short loc_000129f9 ; jbe 0x129f9 +test cl, cl + +loc_000129f7: ; not directly referenced +jne short loc_00012a0f ; jne 0x12a0f + +loc_000129f9: ; not directly referenced +push eax +push eax +push 0xf3 +lea eax, [ebx + 0xf7] +push eax +call fcn_00018699 ; call 0x18699 +add esp, 0x10 + +loc_00012a0f: ; not directly referenced +cmp dword [ebp - 0x50], 0 +jne short loc_00012a28 ; jne 0x12a28 +push esi +add ebx, 0xd4 +push esi +push 2 +push ebx +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_00012a28: ; not directly referenced +inc dword [ebp - 0x2c] +jmp near loc_00012665 ; jmp 0x12665 + +loc_00012a30: ; not directly referenced +mov eax, dword [ebp + 8] +cmp byte [eax + 0x1a9], 0 +jne short loc_00012a6e ; jne 0x12a6e +mov eax, dword [ebp + 0xc] +mov ecx, 8 +sub cl, byte [ebp - 0x39] +mov edx, dword [eax] +mov eax, 0xff +sar eax, cl +mov ecx, edx +shr ecx, 0x10 +and ecx, eax +cmp ecx, eax +je short loc_00012a6e ; je 0x12a6e +mov cl, byte [ebp - 0x3a] +mov eax, 0x10000 +shl eax, cl +not eax +and eax, edx +mov edx, dword [ebp + 0xc] +mov dword [edx], eax + +loc_00012a6e: ; not directly referenced +sub esp, 0xc +push dword [ebp - 0x4c] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x400000 +je short loc_00012ad6 ; je 0x12ad6 +mov eax, dword [ebp + 8] +cmp byte [eax + 0x1a6], 0 +je short loc_00012ad6 ; je 0x12ad6 +movzx eax, byte [eax + 0x1a7] +mov ecx, dword [ebp + 8] +imul edx, eax, 0x2c +test byte [ecx + edx + 0x46], 1 +je short loc_00012ad6 ; je 0x12ad6 +push edx +push edx +push eax +push dword [ebp - 0x30] +call fcn_0001c2db ; call 0x1c2db +add esp, 0xc +movzx eax, al +push eax +mov eax, dword [ebp + 8] +push 0x1c +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +pop ecx +pop ebx +push 3 +add eax, 0xec +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00012ad6: ; not directly referenced +mov edx, dword [ebp + 8] +mov eax, dword [ebp + 0xc] +cmp byte [edx + 0x1a8], 0 +mov eax, dword [eax] +je short loc_00012b05 ; je 0x12b05 +sub esp, 0xc +push dword [ebp - 0x30] +shr eax, 0x10 +not eax +movzx eax, al +push edi +push eax +push edx +movzx eax, byte [edx + 1] +push eax +call fcn_00011de4 ; call 0x11de4 +add esp, 0x20 + +loc_00012b05: ; not directly referenced +xor ebx, ebx + +loc_00012b07: ; not directly referenced +cmp byte [ebp - 0x39], bl +jbe short loc_00012b47 ; jbe 0x12b47 +push eax +mov eax, dword [ebp + 8] +push ebx +push 0x1c +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov dword [esp], eax +mov esi, eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +inc ax +je short loc_00012b44 ; je 0x12b44 +push edi +add esi, 0x320 +push edi +push 0x1800000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00012b44: ; not directly referenced +inc ebx +jmp short loc_00012b07 ; jmp 0x12b07 + +loc_00012b47: ; not directly referenced +mov edi, dword [ebp - 0x30] +push edx +push edx +push 0x80000080 +mov eax, edi +add eax, 0x2314 +push eax +call fcn_00018a50 ; call 0x18a50 +mov eax, edi +pop ecx +add eax, 0x1114 +pop ebx +push 0xc000 +push eax +call fcn_00018863 ; call 0x18863 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00012bd0 ; je 0x12bd0 +push eax +push eax +push ref_00024f2c ; push 0x24f2c +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_00012bd0 ; jmp 0x12bd0 + +loc_00012b91: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 0xc +je loc_00012402 ; je 0x12402 +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xc +cmp eax, 8 +jmp near loc_00012400 ; jmp 0x12400 + +loc_00012bbc: ; not directly referenced +mov cl, byte [ebp - 0x2c] +mov eax, 0x10000 +shl eax, cl +mov ecx, dword [ebp + 0xc] +or dword [ecx], eax +jmp near loc_000129c8 ; jmp 0x129c8 + +loc_00012bd0: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00012bda: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +mov ebx, 0xa +sub esp, 0xc +mov edi, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] + +loc_00012bee: ; not directly referenced +sub esp, 0xc +push dword [ebp + 8] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +and eax, edi +cmp ax, si +je short loc_00012c1a ; je 0x12c1a +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec ebx +jne short loc_00012bee ; jne 0x12bee +mov eax, 0x80000012 +jmp short loc_00012c1c ; jmp 0x12c1c + +loc_00012c1a: ; not directly referenced +xor eax, eax + +loc_00012c1c: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00012c24: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x20 +mov esi, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +push 0 +push 1 +lea ebx, [esi + 0x68] +push ebx +mov dword [ebp - 0x1c], eax +call fcn_00012bda ; call 0x12bda +add esp, 0x10 +test eax, eax +jns short loc_00012c60 ; jns 0x12c60 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00012cea ; je 0x12cea +push eax +push eax +push ref_00024f44 ; push 0x24f44 +jmp short loc_00012cdd ; jmp 0x12cdd + +loc_00012c60: ; not directly referenced +mov eax, dword [ebp + 0xc] +push ecx +push ecx +push dword [eax] +lea eax, [esi + 0x60] +push eax +call fcn_00017dcb ; call 0x17dcb +pop edi +pop eax +push 3 +push ebx +call fcn_00018863 ; call 0x18863 +add esp, 0xc +push 0 +push 1 +push ebx +call fcn_00012bda ; call 0x12bda +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_00012c9f ; jns 0x12c9f +push edx +push edx +push 0xfffe +push ebx +call fcn_00018890 ; call 0x18890 +jmp short loc_00012cc8 ; jmp 0x12cc8 + +loc_00012c9f: ; not directly referenced +xor edi, edi +cmp byte [ebp - 0x1c], 1 +jne short loc_00012cef ; jne 0x12cef +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +je short loc_00012ccd ; je 0x12ccd +sub esp, 0xc +add esi, 0x64 +push esi +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp + 0xc] +mov dword [edx], eax + +loc_00012cc8: ; not directly referenced +add esp, 0x10 +jmp short loc_00012cef ; jmp 0x12cef + +loc_00012ccd: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00012cea ; je 0x12cea +push eax +push eax +push ref_00024f73 ; push 0x24f73 + +loc_00012cdd: ; not directly referenced +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012cea: ; not directly referenced +mov edi, 0x80000007 + +loc_00012cef: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00012cf9: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +mov al, byte [ebp + 0xc] +mov byte [ebp - 0x29], al +mov al, byte [ebp + 0x10] +mov byte [ebp - 0x2a], al +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00012d35 ; je 0x12d35 +cmp dword [ebp + 8], 0 +jne short loc_00012d35 ; jne 0x12d35 +push eax +push ref_00024f96 ; push 0x24f96 +push 0x96 +push ref_00024faa ; push 0x24faa +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00012d35: ; not directly referenced +xor ebx, ebx +lea esi, [ebp - 0x1c] + +loc_00012d3a: ; not directly referenced +push esi +push 0 +push ebx +push ref_0002907c ; push 0x2907c +mov dword [ebp - 0x1c], 0 +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +test eax, eax +jne short loc_00012d88 ; jne 0x12d88 +mov edx, dword [ebp - 0x1c] +test edx, edx +je short loc_00012d88 ; je 0x12d88 +movzx ecx, word [edx] +movzx edi, word [edx + 2] +shl ecx, 0x10 +or ecx, edi +cmp ecx, dword [ebp + 8] +jne short loc_00012d88 ; jne 0x12d88 +mov cl, byte [edx + 4] +cmp cl, 0xff +je short loc_00012d7b ; je 0x12d7b +cmp cl, byte [ebp - 0x29] +jne short loc_00012d88 ; jne 0x12d88 + +loc_00012d7b: ; not directly referenced +mov dl, byte [edx + 5] +cmp dl, 0xff +je short loc_00012d8d ; je 0x12d8d +cmp dl, byte [ebp - 0x2a] +je short loc_00012d8d ; je 0x12d8d + +loc_00012d88: ; not directly referenced +inc ebx +test eax, eax +je short loc_00012d3a ; je 0x12d3a + +loc_00012d8d: ; not directly referenced +mov eax, dword [ebp - 0x1c] +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00012d98: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +push eax +push 0 +push 0x1f +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +lea edx, [eax + 0x63bf] +cmp dx, 6 +jbe short loc_00012dd6 ; jbe 0x12dd6 +add ax, 0x633f +cmp ax, 0xa +ja short loc_00012e19 ; ja 0x12e19 + +loc_00012dd6: ; not directly referenced +push ecx +push 0 +push 0x1b +movzx eax, byte [ebx + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00012e04 ; je 0x12e04 +push edx +push edx +push ref_00024fd2 ; push 0x24fd2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012e04: ; not directly referenced +push eax +mov eax, esi +movzx esi, al +add ebx, 0x42 +push esi +push 0x3f +push ebx +call fcn_000186c6 ; call 0x186c6 +add esp, 0x10 + +loc_00012e19: ; not directly referenced +lea esp, [ebp - 8] +xor eax, eax +pop ebx +pop esi +pop ebp +ret + +fcn_00012e22: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x4c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00012e45 ; je 0x12e45 +push eax +push eax +push ref_00025017 ; push 0x25017 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00012e45: ; not directly referenced +mov eax, dword [ebp + 8] +mov esi, dword [eax + 4] +call fcn_0001bef7 ; call 0x1bef7 +lea edi, [esi + 0x2030] +mov dword [ebp - 0x2c], eax +push eax +mov eax, dword [ebp + 8] +push 0 +push 0x1b +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x1f +mov ebx, eax +mov eax, dword [ebp + 8] +lea esi, [ebx + 0x120] +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, eax +jns short loc_00012edf ; jns 0x12edf +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +and eax, 0xfe +or eax, 0x2000000 +push eax +push 0xf8ffff01 +push esi +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp dword [ebp - 0x2c], 1 +jne short loc_00012edf ; jne 0x12edf +push eax +push eax +push 0xf7ff +lea eax, [ebx + 0x78] +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 + +loc_00012edf: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x7000000 +je short loc_00012f33 ; je 0x12f33 +push eax +push eax +push 0xffffff01 +lea eax, [ebx + 0x114] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +cmp dword [ebp - 0x2c], 1 +jne short loc_00012f1d ; jne 0x12f1d +push edi +push edi +push 0x80000000 +push esi +call fcn_00018a50 ; call 0x18a50 +jmp short loc_00012f30 ; jmp 0x12f30 + +loc_00012f1d: ; not directly referenced +cmp dword [ebp - 0x2c], 2 +jne short loc_00012f33 ; jne 0x12f33 +push ecx +push ecx +push 0x7fffffff +push esi +call fcn_00018a7a ; call 0x18a7a + +loc_00012f30: ; not directly referenced +add esp, 0x10 + +loc_00012f33: ; not directly referenced +mov eax, dword [ebp + 8] +lea ecx, [ebx + 0x10] +mov dword [ebp - 0x40], ecx +mov eax, dword [eax + 0x1a] +push edx +push edx +push eax +push ecx +mov dword [ebp - 0x34], eax +call fcn_00017dcb ; call 0x17dcb +lea eax, [ebx + 0x14] +pop ecx +pop esi +mov dword [ebp - 0x44], eax +push 0 +push eax +call fcn_00017dcb ; call 0x17dcb +lea eax, [ebx + 4] +pop edi +pop edx +mov dword [ebp - 0x48], eax +push 2 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp dword [ebp - 0x2c], 1 +jne short loc_00012f9e ; jne 0x12f9e +push esi +push esi +push 0x10 +lea eax, [ebx + 0x43] +push eax +call fcn_0001866c ; call 0x1866c +pop edi +pop eax +lea eax, [ebx + 0xc0] +push 0x20000 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +mov eax, 0x4000 +jmp short loc_00012fbe ; jmp 0x12fbe + +loc_00012f9e: ; not directly referenced +xor eax, eax +cmp dword [ebp - 0x2c], 2 +jne short loc_00012fbe ; jne 0x12fbe +push ecx +push ecx +push 0xbf +lea eax, [ebx + 0x43] +push eax +call fcn_00018699 ; call 0x18699 +add esp, 0x10 +mov eax, 0x1000000 + +loc_00012fbe: ; not directly referenced +push edx +push edx +push eax +lea eax, [ebx + 0xc4] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp dword [ebp - 0x2c], 1 +jne short loc_00012fec ; jne 0x12fec +push eax +push eax +push 0x7fffffff +lea eax, [ebx + 0xd0] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_00012fec: ; not directly referenced +mov eax, dword [ebp + 8] +cmp byte [eax + 0x372], 0 +jne short loc_00013007 ; jne 0x13007 +push eax +push eax +push 0x7f +lea eax, [ebx + 0x4d] +push eax +call fcn_00018699 ; call 0x18699 +jmp short loc_00013033 ; jmp 0x13033 + +loc_00013007: ; not directly referenced +mov eax, dword [ebp + 8] +cmp byte [eax + 0x373], 0 +je short loc_00013036 ; je 0x13036 +sub esp, 0xc +lea eax, [ebx + 0x4d] +push eax +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +test al, 1 +jne short loc_00013036 ; jne 0x13036 +push edi +push edi +push 1 +lea eax, [ebx + 0x4c] +push eax +call fcn_0001866c ; call 0x1866c + +loc_00013033: ; not directly referenced +add esp, 0x10 + +loc_00013036: ; not directly referenced +cmp dword [ebp - 0x2c], 2 +jne short loc_00013069 ; jne 0x13069 +push eax +push eax +mov eax, dword [ebp - 0x34] +push 1 +add eax, 0x12 +push eax +call fcn_00018863 ; call 0x18863 +pop eax +pop edx +lea eax, [ebx + 0x41] +push 1 +push eax +call fcn_0001866c ; call 0x1866c +lea eax, [ebx + 0x42] +pop ecx +pop esi +push 4 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0x10 + +loc_00013069: ; not directly referenced +mov edi, dword [ebp - 0x34] +push eax +push eax +push 1 +lea esi, [edi + 8] +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 1 +push 1 +push esi +call fcn_00012bda ; call 0x12bda +mov dword [esp], edi +call fcn_00017cfe ; call 0x17cfe +pop edx +pop ecx +movzx eax, ax +push eax +push edi +call fcn_00017d40 ; call 0x17d40 +mov ecx, 3 +cmp dword [ebp - 0x2c], 2 +pop eax +mov eax, 0xf +pop edx +cmove eax, ecx +lea edx, [edi + 0xe] +push eax +push edx +mov dword [ebp - 0x3c], edx +call fcn_0001866c ; call 0x1866c +pop ecx +pop edi +push 0xfffffffffffffffe +push esi +call fcn_00018a7a ; call 0x18a7a +add esp, 0xc +push 0 +push 1 +push esi +call fcn_00012bda ; call 0x12bda +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_000130f0 ; jns 0x130f0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00013407 ; je 0x13407 +push eax +push eax +push ref_0002502e ; push 0x2502e +jmp short loc_00013136 ; jmp 0x13136 + +loc_000130f0: ; not directly referenced +push edi +push edi +push 1 +push esi +call fcn_00018a50 ; call 0x18a50 +mov eax, dword [ebp + 8] +movzx eax, word [eax + 0x374] +mov dword [esp], eax +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0xc +push 1 +push 1 +push esi +call fcn_00012bda ; call 0x12bda +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_00013148 ; jns 0x13148 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00013407 ; je 0x13407 +push ecx +push ecx +push ref_00025069 ; push 0x25069 + +loc_00013136: ; not directly referenced +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_00013407 ; jmp 0x13407 + +loc_00013148: ; not directly referenced +cmp dword [ebp - 0x2c], 2 +mov edx, 3 +mov eax, 0xf +mov edi, 0xa +cmove eax, edx +xor edx, edx +mov word [ebp - 0x38], ax + +loc_00013164: ; not directly referenced +sub esp, 0xc +push dword [ebp - 0x3c] +mov dword [ebp - 0x4c], edx +call fcn_00017cc7 ; call 0x17cc7 +mov edx, dword [ebp - 0x4c] +add esp, 0x10 +mov byte [ebp - 0x2d], al +mov al, byte [ebp - 0x38] +and byte [ebp - 0x2d], al +mov al, byte [ebp - 0x2d] +cmp al, dl +jne short loc_0001318c ; jne 0x1318c +test al, al +jne short loc_000131db ; jne 0x131db + +loc_0001318c: ; not directly referenced +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec edi +je short loc_000131a1 ; je 0x131a1 +mov dl, byte [ebp - 0x2d] +jmp short loc_00013164 ; jmp 0x13164 + +loc_000131a1: ; not directly referenced +cmp byte [ebp - 0x2d], 0 +jne short loc_000131db ; jne 0x131db +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000131c4 ; je 0x131c4 +push edx +push edx +push ref_000250a4 ; push 0x250a4 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000131c4: ; not directly referenced +push eax +mov edi, 0x80000007 +push eax +push 0xfffffffffffffffe +push esi +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +jmp near loc_00013407 ; jmp 0x13407 + +loc_000131db: ; not directly referenced +mov eax, dword [ebp + 8] +cmp byte [eax + 0x371], 1 +jne short loc_000131fa ; jne 0x131fa +push eax +add ebx, 0x54 +push eax +push 0x100 +push ebx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_000131fa: ; not directly referenced +xor eax, eax +cmp dword [ebp - 0x2c], 2 +mov byte [ebp - 0x2c], 0 +setne al +lea eax, [eax + eax + 2] +mov word [ebp - 0x3c], ax + +loc_0001320f: ; not directly referenced +movzx eax, byte [ebp - 0x2c] +cmp ax, word [ebp - 0x3c] +jae loc_00013405 ; jae 0x13405 +test byte [ebp - 0x2d], 1 +jne short loc_00013240 ; jne 0x13240 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_000133fa ; je 0x133fa +push eax +movzx eax, byte [ebp - 0x2c] +push eax +push ref_000250c3 ; push 0x250c3 +jmp near loc_00013345 ; jmp 0x13345 + +loc_00013240: ; not directly referenced +mov eax, dword [ebp + 8] +cmp byte [eax + 0x371], 0 +je short loc_0001326b ; je 0x1326b +mov cl, byte [ebp - 0x2c] +push eax +push eax +mov eax, 1 +shl eax, cl +movzx eax, ax +push eax +mov eax, dword [ebp - 0x34] +add eax, 0xc +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_0001326b: ; not directly referenced +movzx ebx, byte [ebp - 0x2c] +mov eax, ebx +shl eax, 0x1c +mov dword [ebp - 0x38], eax +or eax, 0xf0000 +mov dword [ebp - 0x24], eax +push eax +push 1 +lea eax, [ebp - 0x24] +push eax +push dword [ebp - 0x34] +call fcn_00012c24 ; call 0x12c24 +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_000132b0 ; jns 0x132b0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00013407 ; je 0x13407 +push eax +push eax +push ref_000250e0 ; push 0x250e0 +jmp near loc_00013136 ; jmp 0x13136 + +loc_000132b0: ; not directly referenced +mov eax, dword [ebp - 0x38] +push esi +push 1 +or eax, 0xf0002 +mov dword [ebp - 0x20], eax +lea eax, [ebp - 0x20] +push eax +push dword [ebp - 0x34] +call fcn_00012c24 ; call 0x12c24 +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_000132ec ; jns 0x132ec +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_00013407 ; je 0x13407 +push ecx +push ecx +push ref_00025114 ; push 0x25114 +jmp near loc_00013136 ; jmp 0x13136 + +loc_000132ec: ; not directly referenced +mov eax, dword [ebp - 0x20] +movzx eax, ah +mov dword [ebp - 0x20], eax +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00013317 ; je 0x13317 +sub esp, 0xc +push dword [ebp - 0x20] +push dword [ebp - 0x24] +push ebx +push ref_00025140 ; push 0x25140 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00013317: ; not directly referenced +movzx eax, byte [ebp - 0x20] +push edx +push ebx +push eax +push dword [ebp - 0x24] +call fcn_00012cf9 ; call 0x12cf9 +add esp, 0x10 +mov esi, eax +test eax, eax +jne short loc_00013357 ; jne 0x13357 +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_000133fa ; je 0x133fa +push eax +push dword [ebp - 0x24] +push ref_00025170 ; push 0x25170 + +loc_00013345: ; not directly referenced +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp near loc_000133fa ; jmp 0x133fa + +loc_00013357: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00013388 ; je 0x13388 +push eax +movzx eax, word [esi + 6] +push eax +movzx eax, byte [esi + 5] +push eax +movzx eax, byte [esi + 4] +push eax +movzx eax, word [esi + 2] +push eax +movzx eax, word [esi] +push eax +push ref_000251b6 ; push 0x251b6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_00013388: ; not directly referenced +xor ebx, ebx + +loc_0001338a: ; not directly referenced +movzx eax, word [esi + 6] +cmp ebx, eax +jae short loc_000133fa ; jae 0x133fa +mov eax, dword [esi + ebx*4 + 0xc] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000133c2 ; je 0x133c2 +mov eax, dword [ebp - 0x1c] +shr eax, 0x1c +je short loc_000133c2 ; je 0x133c2 +push eax +push ref_0002520c ; push 0x2520c +push 0x26a +push ref_00024faa ; push 0x24faa +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000133c2: ; not directly referenced +mov eax, dword [ebp - 0x38] +or dword [ebp - 0x1c], eax +push eax +push 0 +lea eax, [ebp - 0x1c] +push eax +push dword [ebp - 0x34] +call fcn_00012c24 ; call 0x12c24 +add esp, 0x10 +mov edi, eax +test eax, eax +jns short loc_000133f7 ; jns 0x133f7 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00013407 ; je 0x13407 +push eax +push dword [ebp - 0x24] +push ref_00025226 ; push 0x25226 +jmp near loc_00013136 ; jmp 0x13136 + +loc_000133f7: ; not directly referenced +inc ebx +jmp short loc_0001338a ; jmp 0x1338a + +loc_000133fa: ; not directly referenced +inc byte [ebp - 0x2c] +shr byte [ebp - 0x2d], 1 +jmp near loc_0001320f ; jmp 0x1320f + +loc_00013405: ; not directly referenced +xor edi, edi + +loc_00013407: ; not directly referenced +push edx +push edx +push 0xfffd +push dword [ebp - 0x48] +call fcn_00018890 ; call 0x18890 +pop ecx +pop ebx +push 0 +push dword [ebp - 0x40] +call fcn_00017dcb ; call 0x17dcb +pop esi +pop eax +push 0 +push dword [ebp - 0x44] +call fcn_00017dcb ; call 0x17dcb +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0001344b ; je 0x1344b +push eax +push eax +push ref_0002525a ; push 0x2525a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001344b: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00013455: +push ebp +mov ebp, esp +push edi +push esi +push ebx +mov ebx, 0xc8 +sub esp, 0xc +mov esi, dword [ebp + 0xc] +lea edi, [esi + 0x20] + +loc_00013469: +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 2 +je short loc_00013489 ; je 0x13489 +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec ebx +jne short loc_00013469 ; jne 0x13469 + +loc_00013489: +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 2 +jne short loc_000134b2 ; jne 0x134b2 +add esi, 0x60 +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], 1 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +loc_000134b2: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000134ba: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov ebx, dword [ebp + 0x14] +lea esi, [ebx + 0x84] +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +je short loc_00013502 ; je 0x13502 + +loc_000134d9: +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +je short loc_00013547 ; je 0x13547 +sub ebx, 0xffffff80 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], 2 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018863 ; jmp 0x18863 + +loc_00013502: +sub esp, 0xc +lea edi, [ebx + 0x80] +push edi +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +and eax, 0xfffffffe +push eax +push edi +mov edi, 0xc8 +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00013525: +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +jne short loc_000134d9 ; jne 0x134d9 +sub esp, 0xc +push 0x64 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec edi +jne short loc_00013525 ; jne 0x13525 +jmp short loc_000134d9 ; jmp 0x134d9 + +loc_00013547: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001354f: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +movzx eax, byte [ebp + 0x10] +mov byte [ebp - 0x19], 0 +mov dword [ebp - 0x2c], eax + +loc_00013563: +call fcn_0001c181 ; call 0x1c181 +cmp byte [ebp - 0x19], al +jae loc_00013764 ; jae 0x13764 +movzx esi, byte [ebp - 0x19] +push ecx +movzx eax, byte [esi + esi + ref_00020461] ; movzx eax, byte [esi + esi + 0x20461] +push eax +movzx eax, byte [esi + esi + ref_00020460] ; movzx eax, byte [esi + esi + 0x20460] +push eax +push dword [ebp - 0x2c] +mov dword [ebp - 0x28], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov ebx, eax +mov eax, dword [ebp + 8] +lea eax, [eax + esi*8] +cmp byte [eax], 0 +mov dword [ebp - 0x24], eax +jne short loc_000135c0 ; jne 0x135c0 +push edi +push edi +push 0 +lea eax, [ebx + 0x10] +add ebx, 4 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +pop edx +push 0 +push ebx +jmp near loc_0001371f ; jmp 0x1371f + +loc_000135c0: +mov eax, dword [ebp + 8] +cmp byte [eax + 0x13], 1 +jne short loc_000135dc ; jne 0x135dc +push esi +push esi +push 0xfffc +lea eax, [ebx + 0x78] +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 + +loc_000135dc: +sub esp, 0xc +lea edi, [ebx + 0x10] +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, eax +jne short loc_0001361f ; jne 0x1361f +sub esp, 0xc +lea eax, [ebx + 4] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 2 +jne short loc_0001361f ; jne 0x1361f +push ecx +push ecx +push dword [ebp + 0xc] +push edi +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov esi, dword [ebp + 0xc] +mov byte [ebp - 0x1a], 0 +mov word [ebp - 0x1c], 0 +jmp short loc_00013640 ; jmp 0x13640 + +loc_0001361f: +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +lea eax, [ebx + 4] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov byte [ebp - 0x1a], 1 +mov word [ebp - 0x1c], ax + +loc_00013640: +push edx +push edx +lea eax, [ebx + 4] +push 6 +push eax +mov dword [ebp - 0x20], eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp byte [ebp - 0x1a], 0 +jne short loc_00013669 ; jne 0x13669 +push eax +push eax +push 2 +lea eax, [esi + 0x20] +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 + +loc_00013669: +push eax +push eax +push 1 +lea edx, [ebx + 0x80] +push edx +mov dword [ebp - 0x34], edx +call fcn_00018863 ; call 0x18863 +lea ecx, [esi + 4] +push 0 +push 0xf +push 0xc +push ecx +mov dword [ebp - 0x30], ecx +call fcn_00018b02 ; call 0x18b02 +mov eax, dword [ebp - 0x24] +add esp, 0x20 +mov ecx, dword [ebp - 0x30] +cmp byte [eax + 1], 1 +sbb eax, eax +add eax, 3 +movzx eax, al +push eax +push 3 +push 0 +push ecx +call fcn_00018b02 ; call 0x18b02 +pop eax +pop edx +mov edx, dword [ebp - 0x34] +push 0xfffe +push edx +call fcn_00018890 ; call 0x18890 +lea edx, [ebx + 0x78] +mov dword [esp], edx +mov dword [ebp - 0x24], edx +call fcn_00017d8a ; call 0x17d8a +pop ecx +pop edx +mov edx, dword [ebp - 0x24] +or eax, 4 +push eax +push edx +call fcn_00017dcb ; call 0x17dcb +pop ecx +pop eax +lea eax, [ebx + 0x7c] +add ebx, 0x8c +push 0x4080 +push eax +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +and eax, 0xfbfff4ff +or eax, 0x20400 +push eax +push ebx +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp byte [ebp - 0x1a], 0 +je short loc_00013726 ; je 0x13726 +movzx eax, word [ebp - 0x1c] +push esi +push esi +push eax +push dword [ebp - 0x20] + +loc_0001371f: +call fcn_00017d40 ; call 0x17d40 +jmp short loc_00013759 ; jmp 0x13759 + +loc_00013726: +mov eax, dword [ebp + 8] +cmp byte [eax + 0xb5], 0 +je short loc_00013740 ; je 0x13740 +push ebx +push ebx +push esi +push dword [ebp - 0x28] +call fcn_00013455 ; call 0x13455 +add esp, 0x10 + +loc_00013740: +push eax +push eax +push 0xfff9 +push dword [ebp - 0x20] +call fcn_00018890 ; call 0x18890 +pop edx +pop ecx +push 0 +push edi +call fcn_00017dcb ; call 0x17dcb + +loc_00013759: +add esp, 0x10 +inc byte [ebp - 0x19] +jmp near loc_00013563 ; jmp 0x13563 + +loc_00013764: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001376e: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ecx, dword [ebp + 0x10] +mov eax, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +mov edi, dword [ebp + 0x18] +mov dword [ebp - 0x24], ecx +mov dword [ebp - 0x20], eax +call fcn_0001bef7 ; call 0x1bef7 +mov esi, eax +call fcn_0001bff9 ; call 0x1bff9 +mov dword [ebp - 0x1c], eax +call fcn_0001bb39 ; call 0x1bb39 +mov eax, dword [ebp - 0x20] +cmp byte [eax + 0x10], 0 +je loc_00013ba6 ; je 0x13ba6 +cmp esi, 1 +jne short loc_000137dc ; jne 0x137dc +sub esp, 0xc +lea eax, [edi + 0xe0] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, 0x15000000 +and eax, 0x18 +sub eax, 8 +cmp eax, 0x10 +ja short loc_000137d8 ; ja 0x137d8 +mov edx, dword [eax*4 + ref_000203dc] ; mov edx, dword [eax*4 + 0x203dc] + +loc_000137d8: +push eax +push edx +jmp short loc_000137e8 ; jmp 0x137e8 + +loc_000137dc: +cmp dword [ebp - 0x1c], 2 +jne short loc_000137f9 ; jne 0x137f9 +push ecx +push 0xf000000 + +loc_000137e8: +push 0xffffff +lea eax, [ebx + 4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000137f9: +push eax +push eax +push 0xc401 +lea eax, [edi + 0x44] +push eax +call fcn_00018863 ; call 0x18863 +pop eax +pop edx +lea eax, [edi + 0x46] +push 0xf +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0xc +mov edx, 0xe0000000 +cmp esi, 1 +mov eax, 0xf8000000 +cmovne eax, edx +mov ecx, 0xfce2e5f +mov edx, 0x7886e9f +cmovne edx, ecx +push edx +push eax +lea eax, [edi + 0x50] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x200000a +push 0xff00 +lea eax, [ebx + 0xc] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x600 +push 0xffffffffffffffdf +lea eax, [ebx + 0x10] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +cmp esi, 2 +jne short loc_000138b6 ; jne 0x138b6 +cmp dword [ebp - 0x1c], 1 +jne short loc_00013891 ; jne 0x13891 +push eax +add edi, 0xb0 +push 0x20000 +push 0xffff9fff +push edi +call fcn_00018aa4 ; call 0x18aa4 +jmp short loc_000138ae ; jmp 0x138ae + +loc_00013891: +cmp dword [ebp - 0x1c], 2 +jne loc_000139ca ; jne 0x139ca +push eax +add edi, 0xa8 +push eax +push 0x22000 +push edi +call fcn_00018a50 ; call 0x18a50 + +loc_000138ae: +add esp, 0x10 +jmp near loc_000139ca ; jmp 0x139ca + +loc_000138b6: +cmp esi, 1 +jne short loc_000138ea ; jne 0x138ea +push eax +push eax +push 0xfff7ffff +lea eax, [ebx + 0x8008] +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0xc +push 0x110000 + +loc_000138d6: +push 0xfffffeff +lea eax, [ebx + 0x8058] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000138ea: +push ecx +push ecx +push 0x2040000 +lea eax, [ebx + 0x8060] +push eax +call fcn_00018a50 ; call 0x18a50 +pop edi +pop eax +lea eax, [ebx + 0x8090] +push 0x4100 +push eax +call fcn_00018a50 ; call 0x18a50 +pop eax +pop edx +lea eax, [ebx + 0x8094] +push 0xa04000 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0x40 +push 0xfffeffff +lea eax, [ebx + 0x80e0] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0xc00 +push 0xffff8dff +lea eax, [ebx + 0x80ec] +push eax +call fcn_00018aa4 ; call 0x18aa4 +lea eax, [ebx + 0x80f0] +pop ecx +pop edi +push 0xffefffff +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +cmp esi, 2 +jne short loc_000139d5 ; jne 0x139d5 +push edi +push edi +push 0x2000000 +lea eax, [ebx + 0x80fc] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0xc +push 0x100800 +push 0xfffffefb +lea eax, [ebx + 0x8110] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0xff00f03c +push 0 +lea eax, [ebx + 0x8140] +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +lea eax, [ebx + 0x8144] +push 0x1c0 +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +jmp near loc_00013b97 ; jmp 0x13b97 + +loc_000139ca: +push eax +push 0x10000 +jmp near loc_000138d6 ; jmp 0x138d6 + +loc_000139d5: +cmp esi, 1 +jne loc_00013b97 ; jne 0x13b97 +push ecx +xor edi, edi +push 0x100800 +push 0xfffffffffffffffb +lea eax, [ebx + 0x8110] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0xff03c132 +push 0 +lea eax, [ebx + 0x8140] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x100 +push 0xffffff3f +lea eax, [ebx + 0x8144] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov eax, 0x202000 + +loc_00013a2b: +push ecx +not eax +push edi +push eax +lea edx, [ebx + 0x8154] +push edx +mov dword [ebp - 0x28], edx +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +mov edx, dword [ebp - 0x28] +push 0xfffffffffffffff7 +push edx +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 +cmp esi, 2 +jne loc_00013af0 ; jne 0x13af0 +push ecx +push ecx +push 3 +lea eax, [ebx + 0x8164] +push eax +call fcn_00018a50 ; call 0x18a50 +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +cmp eax, 1 +je short loc_00013a80 ; je 0x13a80 +cmp eax, 2 +mov eax, 0xe403f +cmove edi, eax +jmp short loc_00013a85 ; jmp 0x13a85 + +loc_00013a80: +mov edi, 0xe0038 + +loc_00013a85: +push eax +push edi +push 0xfff00000 +lea eax, [ebx + 0x816c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +lea eax, [ebx + 0x8174] +push 0x1400c0a +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0xc +push 0x33200a3 +push 0 +lea eax, [ebx + 0x817c] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0xcb0028 +push 0 +lea eax, [ebx + 0x8180] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +push 0x64001e +push 0 +lea eax, [ebx + 0x8184] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00013af0: +cmp esi, 2 +sete dl +cmp dword [ebp - 0x1c], 1 +jne short loc_00013b05 ; jne 0x13b05 +mov eax, 0x5000000 +test dl, dl +jne short loc_00013b16 ; jne 0x13b16 + +loc_00013b05: +cmp dword [ebp - 0x1c], 2 +mov eax, 0x1000000 +mov ecx, 0x5000000 +cmove eax, ecx + +loc_00013b16: +push ecx +push ecx +push eax +lea eax, [ebx + 0x8188] +push eax +mov dword [ebp - 0x28], edx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp dword [ebp - 0x1c], 2 +jne short loc_00013ba6 ; jne 0x13ba6 +mov edx, dword [ebp - 0x28] +test dl, dl +je short loc_00013ba6 ; je 0x13ba6 +cmp byte [ebp - 0x24], 7 +jbe short loc_00013ba6 ; jbe 0x13ba6 +push edx +push 2 +push 0xfffffffffffffff9 +lea eax, [ebx + 0x8098] +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov ecx, dword [ebp - 0x20] +add esp, 0xc +mov edx, 0x1737d +mov eax, 0x3737d +cmp byte [ecx + 0x28], 1 +cmove eax, edx +push eax +push 0xfffd8000 +lea eax, [ebx + 0x8198] +add ebx, 0x819c +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], 0xfffffff0 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018a7a ; jmp 0x18a7a + +loc_00013b97: +mov eax, 0x200000 +mov edi, 0x2000 +jmp near loc_00013a2b ; jmp 0x13a2b + +loc_00013ba6: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00013bae: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +call fcn_0001bef7 ; call 0x1bef7 +mov esi, eax +call fcn_0001bff9 ; call 0x1bff9 +mov edi, eax +call fcn_0001bb39 ; call 0x1bb39 +mov eax, dword [ebp + 8] +push ebx +push 0 +push 0x14 +movzx eax, byte [eax + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +push 0xc0 +push 0xffffffffffffffff +push 0xe5004001 +push dword [ebp + 0xc] +mov ebx, eax +call fcn_00009d54 ; call 0x9d54 +add esp, 0x14 +lea edx, [ebx + 0x40] +push edx +mov dword [ebp - 0x20], edx +call fcn_00017d8a ; call 0x17d8a +pop edx +mov edx, dword [ebp - 0x20] +mov ecx, eax +movzx eax, ax +and ecx, 0xff7fffff +or ah, 1 +mov dword [ebp - 0x1c], ecx +pop ecx +push eax +push edx +call fcn_00017d40 ; call 0x17d40 +pop eax +mov eax, dword [ebp - 0x1c] +pop edx +or eax, 0x360100 +shr eax, 0x10 +movzx eax, al +push eax +lea eax, [ebx + 0x42] +push eax +call fcn_00017ce1 ; call 0x17ce1 +pop ecx +pop eax +lea eax, [ebx + 0x44] +push 0x288 +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +cmp esi, 1 +je short loc_00013c6c ; je 0x13c6c +mov eax, 0xc0 +cmp esi, 2 +jne short loc_00013c71 ; jne 0x13c71 +mov eax, 0x40040 +cmp edi, 2 +mov edx, 0x40000 +cmovne eax, edx +jmp short loc_00013c71 ; jmp 0x13c71 + +loc_00013c6c: +mov eax, 0x40 + +loc_00013c71: +push ecx +push ecx +push eax +lea eax, [ebx + 0xa0] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp edi, 2 +jne short loc_00013c92 ; jne 0x13c92 +mov eax, 0x1800 +cmp esi, 2 +je short loc_00013c94 ; je 0x13c94 + +loc_00013c92: +xor eax, eax + +loc_00013c94: +push edx +add ebx, 0xa4 +push eax +push 0xffffdfff +push ebx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00013cb2: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edx, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x18] +mov dword [ebp - 0x1c], edx +call fcn_0001bef7 ; call 0x1bef7 +mov edi, eax +call fcn_0001bff9 ; call 0x1bff9 +mov edx, dword [ebp - 0x1c] +cmp eax, 1 +sete cl +cmp edi, 1 +jne loc_00013ddd ; jne 0x13ddd +test cl, cl +je loc_00013ddd ; je 0x13ddd +mov eax, dword [ebp + 8] +sub esp, 0xc +lea edi, [eax + 0xe0] +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +and eax, 6 +cmp eax, 4 +je short loc_00013d2d ; je 0x13d2d +cmp eax, 6 +je short loc_00013d22 ; je 0x13d22 +cmp eax, 2 +jne short loc_00013d38 ; jne 0x13d38 +mov byte [edx], 0xc +mov dword [ebx], 0x3f3f +jmp short loc_00013d41 ; jmp 0x13d41 + +loc_00013d22: +mov byte [edx], 8 +mov dword [ebx], 0xf0f +jmp short loc_00013d41 ; jmp 0x13d41 + +loc_00013d2d: +mov byte [edx], 0xa +mov dword [ebx], 0xf3f +jmp short loc_00013d41 ; jmp 0x13d41 + +loc_00013d38: +mov byte [edx], 0xe +mov dword [ebx], 0x3fff + +loc_00013d41: +or dword [ebx], 0xf0 +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x18 +cmp eax, 0x10 +je short loc_00013d87 ; je 0x13d87 +cmp eax, 0x18 +je short loc_00013d76 ; je 0x13d76 +cmp eax, 8 +jne short loc_00013d98 ; jne 0x13d98 +mov eax, dword [ebp + 0x14] +mov byte [eax], 4 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 0xf +jmp short loc_00013da7 ; jmp 0x13da7 + +loc_00013d76: +mov eax, dword [ebp + 0x14] +mov byte [eax], 0 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 0 +jmp short loc_00013da7 ; jmp 0x13da7 + +loc_00013d87: +mov eax, dword [ebp + 0x14] +mov byte [eax], 2 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 3 +jmp short loc_00013da7 ; jmp 0x13da7 + +loc_00013d98: +mov eax, dword [ebp + 0x14] +mov byte [eax], 6 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 0x3f + +loc_00013da7: +sub esp, 0xc +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x20 +je short loc_00013dcf ; je 0x13dcf +cmp eax, 0x20 +jne loc_00013ea5 ; jne 0x13ea5 +mov byte [esi], 0 +and dword [ebx], 0xffffbfff +jmp near loc_00013ea5 ; jmp 0x13ea5 + +loc_00013dcf: +mov byte [esi], 1 +or dword [ebx], 0x4000 +jmp near loc_00013ea5 ; jmp 0x13ea5 + +loc_00013ddd: +cmp edi, 2 +jne short loc_00013e37 ; jne 0x13e37 +test cl, cl +je short loc_00013e37 ; je 0x13e37 +mov eax, dword [ebp + 0x14] +sub esp, 0xc +mov byte [edx], 8 +mov dword [ebx], 0xff +mov byte [eax], 4 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 0xf +mov eax, dword [ebp + 8] +lea edi, [eax + 0xe0] +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x20 +je short loc_00013e2c ; je 0x13e2c +cmp eax, 0x20 +jne loc_00013ea5 ; jne 0x13ea5 +mov byte [esi], 0 +and dword [ebx], 0xfffffeff +jmp short loc_00013ea5 ; jmp 0x13ea5 + +loc_00013e2c: +mov byte [esi], 1 +or dword [ebx], 0x100 +jmp short loc_00013ea5 ; jmp 0x13ea5 + +loc_00013e37: +cmp eax, 2 +jne short loc_00013ea5 ; jne 0x13ea5 +mov eax, dword [ebp + 8] +sub esp, 0xc +mov dword [ebp - 0x1c], edx +lea edi, [eax + 0xe0] +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +test al, 2 +je short loc_00013e69 ; je 0x13e69 +mov byte [edx], 8 +mov dword [ebx], 0xff +mov byte [esi], 0 +jmp short loc_00013e96 ; jmp 0x13e96 + +loc_00013e69: +sub esp, 0xc +mov byte [edx], 0xa +mov dword [ebx], 0xff +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 0x20 +jne short loc_00013e8d ; jne 0x13e8d +mov byte [esi], 1 +or dword [ebx], 0x400 +jmp short loc_00013e96 ; jmp 0x13e96 + +loc_00013e8d: +mov byte [esi], 0 +and dword [ebx], 0xfffffbff + +loc_00013e96: +mov eax, dword [ebp + 0x14] +mov byte [eax], 4 +mov eax, dword [ebp + 0x1c] +mov dword [eax], 0xf + +loc_00013ea5: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00013ead: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +call fcn_0001bff9 ; call 0x1bff9 +mov ebx, eax +call fcn_0001bef7 ; call 0x1bef7 +cmp ebx, 1 +jne short loc_00013ee6 ; jne 0x13ee6 +cmp eax, 2 +je short loc_00013f02 ; je 0x13f02 +mov ecx, ref_0002731c ; mov ecx, 0x2731c +xor edx, edx +mov edi, ecx +dec eax +mov eax, ref_00027358 ; mov eax, 0x27358 +cmovne edi, edx +cmove edx, eax +mov dword [ebp - 0x34], edx +jmp short loc_00013f0e ; jmp 0x13f0e + +loc_00013ee6: +mov edx, ref_000272d0 ; mov edx, 0x272d0 +xor eax, eax +mov edi, edx +cmp ebx, 2 +mov edx, ref_000272e0 ; mov edx, 0x272e0 +cmovne edi, eax +cmove eax, edx +mov dword [ebp - 0x34], eax +jmp short loc_00013f0e ; jmp 0x13f0e + +loc_00013f02: +mov edi, ref_0002730c ; mov edi, 0x2730c +mov dword [ebp - 0x34], ref_00027334 ; mov dword [ebp - 0x34], 0x27334 + +loc_00013f0e: +test edi, edi +je short loc_00013f18 ; je 0x13f18 +cmp dword [ebp - 0x34], 0 +jne short loc_00013f42 ; jne 0x13f42 + +loc_00013f18: +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0001480b ; je 0x1480b +push eax +push ref_000221f1 ; push 0x221f1 +push 0x601 +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_0001480b ; jmp 0x1480b + +loc_00013f42: +mov eax, dword [ebp + 8] +cmp byte [eax + 0x10], 0 +je loc_0001480b ; je 0x1480b +push eax +push eax +lea eax, [ebp - 0x20] +push eax +lea eax, [ebp - 0x24] +push eax +lea eax, [ebp - 0x25] +push eax +lea eax, [ebp - 0x26] +push eax +lea eax, [ebp - 0x27] +push eax +push dword [ebp + 0x18] +call fcn_00013cb2 ; call 0x13cb2 +mov eax, dword [ebp + 0xc] +add esp, 0x14 +add eax, 0x10 +push eax +call fcn_00017d8a ; call 0x17d8a +mov ecx, dword [ebp + 0xc] +shr eax, 0x10 +lea ebx, [ecx + eax*4] +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00013faf ; je 0x13faf +push eax +push ebx +push ref_0002529d ; push 0x2529d +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 + +loc_00013fac: +add esp, 0x10 + +loc_00013faf: +mov eax, esi +cmp al, 0xa +jne short loc_00014033 ; jne 0x14033 +sub esp, 0xc +lea eax, [ebx + 0x20] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +je loc_0001404f ; je 0x1404f +sub esp, 0xc +add ebx, 0x24 +push ebx +call fcn_00017d8a ; call 0x17d8a +movzx edx, byte [ebp - 0x25] +add esp, 0x10 +mov dword [ebp - 0x2c], 0 +shr eax, 0x18 +add eax, 0x47 +shl eax, 4 + +loc_00013fef: +cmp dword [ebp - 0x2c], edx +jae short loc_00014026 ; jae 0x14026 +mov ecx, dword [ebp - 0x2c] +cmp eax, dword [edi + ecx*4] +jne short loc_00014021 ; jne 0x14021 +call fcn_000153e9 ; call 0x153e9 +mov byte [ebp - 0x2d], 1 +test al, al +je short loc_0001405a ; je 0x1405a +push esi +push dword [ebp - 0x2c] +push ref_000252ca ; push 0x252ca +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001405a ; jmp 0x1405a + +loc_00014021: +inc dword [ebp - 0x2c] +jmp short loc_00013fef ; jmp 0x13fef + +loc_00014026: +mov dword [ebp - 0x2c], 0xffffffff +mov byte [ebp - 0x2d], 1 +jmp short loc_0001405a ; jmp 0x1405a + +loc_00014033: +mov eax, esi +movzx esi, ah +test esi, esi +je short loc_0001404f ; je 0x1404f +lea ebx, [ebx + esi*4] +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +jmp near loc_00013fac ; jmp 0x13fac + +loc_0001404f: +mov dword [ebp - 0x2c], 0xffffffff +mov byte [ebp - 0x2d], 0 + +loc_0001405a: +mov eax, dword [ebp + 0x18] +push ebx +push dword [ebp - 0x24] +add eax, 0xd4 +mov dword [ebp - 0x38], eax +push 0xffff8000 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0xc +mov eax, dword [ebp + 0x18] +push dword [ebp - 0x20] +add eax, 0xdc +push 0xffffffffffffffc0 +push eax +mov dword [ebp - 0x3c], eax +call fcn_00018aa4 ; call 0x18aa4 +lea eax, [ebp - 0x1c] +mov dword [esp], eax +call fcn_000196d3 ; call 0x196d3 +add esp, 0x10 +cmp dword [ebp - 0x1c], 0x11 +je loc_0001480b ; je 0x1480b +mov eax, dword [ebp + 0x1c] +sub esp, 0xc +add eax, 0xa2 +push eax +mov dword [ebp - 0x40], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x20 +je short loc_00014138 ; je 0x14138 +mov eax, dword [ebp + 0x1c] +sub esp, 0xc +add eax, 0xac +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, 0x10000 +je short loc_00014138 ; je 0x14138 +sub esp, 0xc +push dword [ebp - 0x3c] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x3f +cmp byte [ebp - 0x2d], 0 +je short loc_000140fe ; je 0x140fe +mov cl, byte [ebp - 0x2c] +mov edx, 1 +shl edx, cl +or eax, edx + +loc_000140fe: +push edx +push eax +mov eax, dword [ebp + 0x18] +push 0xffffffffffffffc0 +add eax, 0xd8 +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop ecx +push dword [ebp - 0x38] +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +and eax, 0x7fff +push eax +mov eax, dword [ebp + 0x18] +push 0xffff8000 +add eax, 0xd0 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00014138: +mov eax, dword [ebp + 8] +cmp byte [eax + 0xb5], 0 +jne short loc_0001415c ; jne 0x1415c +push eax +push eax +mov eax, dword [ebp + 0x1c] +push 0xfffeffff +add eax, 0xac +push eax +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_0001415c: +mov eax, dword [ebp + 8] +mov esi, 1 +mov al, byte [eax + 0x11] +test al, al +je loc_00014240 ; je 0x14240 +xor esi, esi +dec al +jne loc_00014240 ; jne 0x14240 +mov eax, dword [ebp + 8] +mov al, byte [eax + 0x10] +cmp al, 2 +sete cl +dec al +mov esi, ecx +jne loc_00014240 ; jne 0x14240 +sub esp, 0xc +push dword [ebp - 0x40] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x20 +jne short loc_000141aa ; jne 0x141aa + +loc_000141a0: +mov esi, 2 +jmp near loc_00014240 ; jmp 0x14240 + +loc_000141aa: +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_000141b2: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_000141dd ; jae 0x141dd +cmp esi, dword [ebp - 0x2c] +jne short loc_000141c3 ; jne 0x141c3 +test bl, bl +jne short loc_000141da ; jne 0x141da + +loc_000141c3: +push eax +mov eax, dword [ebp + 0xc] +push 0x80000000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000141da: +inc esi +jmp short loc_000141b2 ; jmp 0x141b2 + +loc_000141dd: +mov al, byte [ebp - 0x2d] +mov ebx, 0xa +and eax, 1 +mov byte [ebp - 0x2e], al + +loc_000141eb: +xor esi, esi +xor edx, edx + +loc_000141ef: +movzx eax, byte [ebp - 0x25] +cmp edx, eax +jae short loc_0001421f ; jae 0x1421f +cmp edx, dword [ebp - 0x2c] +jne short loc_00014202 ; jne 0x14202 +cmp byte [ebp - 0x2e], 0 +jne short loc_0001421c ; jne 0x1421c + +loc_00014202: +mov eax, dword [ebp + 0xc] +sub esp, 0xc +add eax, dword [edi + edx*4] +mov dword [ebp - 0x44], edx +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x44] +add esp, 0x10 +or esi, eax + +loc_0001421c: +inc edx +jmp short loc_000141ef ; jmp 0x141ef + +loc_0001421f: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +and esi, 0x10 +je loc_000141a0 ; je 0x141a0 +dec ebx +jne short loc_000141eb ; jne 0x141eb +jmp near loc_000141a0 ; jmp 0x141a0 + +loc_00014240: +cmp byte [ebp - 0x25], 0 +je loc_00014476 ; je 0x14476 +mov eax, esi +dec al +jne loc_00014476 ; jne 0x14476 +mov eax, dword [ebp + 0x18] +sub esp, 0xc +lea ebx, [eax + 0xd0] +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, eax +je short loc_00014271 ; je 0x14271 + +loc_0001426d: +xor esi, esi +jmp short loc_000142bf ; jmp 0x142bf + +loc_00014271: +mov eax, dword [ebp + 0x18] +sub esp, 0xc +add eax, 0xd8 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test eax, eax +jne short loc_0001426d ; jne 0x1426d +jmp near loc_00014476 ; jmp 0x14476 + +loc_0001428e: +mov ecx, dword [ebp - 0x34] +sub esp, 0xc +mov eax, dword [ebp + 0xc] +add eax, dword [ecx + esi*4] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +je short loc_000142be ; je 0x142be +mov ecx, dword [ebp - 0x34] +push eax +mov eax, dword [ebp + 0xc] +push 0x10 +push 0xfffffffffffffffd +add eax, dword [ecx + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000142be: +inc esi + +loc_000142bf: +movzx eax, byte [ebp - 0x27] +cmp esi, eax +jb short loc_0001428e ; jb 0x1428e +mov dword [ebp - 0x38], 0xa + +loc_000142ce: +xor esi, esi +xor edx, edx + +loc_000142d2: +movzx eax, byte [ebp - 0x27] +cmp edx, eax +jae short loc_000142fa ; jae 0x142fa +mov ecx, dword [ebp - 0x34] +sub esp, 0xc +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x3c], edx +add eax, dword [ecx + edx*4] +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x3c] +add esp, 0x10 +inc edx +or esi, eax +jmp short loc_000142d2 ; jmp 0x142d2 + +loc_000142fa: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +and esi, 0x10 +je short loc_00014314 ; je 0x14314 +dec dword [ebp - 0x38] +jne short loc_000142ce ; jne 0x142ce + +loc_00014314: +push esi +push esi +push 0xffff8000 +push ebx +xor ebx, ebx +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_00014326: +movzx eax, byte [ebp - 0x27] +cmp ebx, eax +jae short loc_0001434b ; jae 0x1434b +push ecx +mov ecx, dword [ebp - 0x34] +push 0xfe0000 +mov eax, dword [ebp + 0xc] +push 0xfffffffffffffffd +add eax, dword [ecx + ebx*4] +inc ebx +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +jmp short loc_00014326 ; jmp 0x14326 + +loc_0001434b: +cmp byte [ebp - 0x26], 0 +je short loc_0001436b ; je 0x1436b +push edx +mov edx, dword [ebp - 0x34] +push 0xfe0000 +mov ecx, dword [ebp + 0xc] +push 0xfffffffffffffffd +add ecx, dword [edx + eax*4] +push ecx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0001436b: +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_00014373: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_0001439e ; jae 0x1439e +cmp esi, dword [ebp - 0x2c] +jne short loc_00014384 ; jne 0x14384 +test bl, bl +jne short loc_0001439b ; jne 0x1439b + +loc_00014384: +push eax +mov eax, dword [ebp + 0xc] +push 0x80000000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0001439b: +inc esi +jmp short loc_00014373 ; jmp 0x14373 + +loc_0001439e: +cmp byte [ebp - 0x2d], 0 +mov eax, 0xffffffc0 +je short loc_000143b6 ; je 0x143b6 +mov cl, byte [ebp - 0x2c] +mov eax, 1 +shl eax, cl +or eax, 0xffffffc0 + +loc_000143b6: +push ebx +push ebx +mov ebx, 0xa +push eax +mov eax, dword [ebp + 0x18] +add eax, 0xd8 +push eax +call fcn_00018a7a ; call 0x18a7a +mov al, byte [ebp - 0x2d] +add esp, 0x10 +and eax, 1 +mov byte [ebp - 0x38], al + +loc_000143d8: +xor esi, esi +xor edx, edx + +loc_000143dc: +movzx eax, byte [ebp - 0x25] +cmp edx, eax +jae short loc_0001440c ; jae 0x1440c +cmp edx, dword [ebp - 0x2c] +jne short loc_000143ef ; jne 0x143ef +cmp byte [ebp - 0x38], 0 +jne short loc_00014409 ; jne 0x14409 + +loc_000143ef: +mov eax, dword [ebp + 0xc] +sub esp, 0xc +add eax, dword [edi + edx*4] +mov dword [ebp - 0x3c], edx +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x3c] +add esp, 0x10 +or esi, eax + +loc_00014409: +inc edx +jmp short loc_000143dc ; jmp 0x143dc + +loc_0001440c: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +and esi, 0x10 +je short loc_00014424 ; je 0x14424 +dec ebx +jne short loc_000143d8 ; jne 0x143d8 + +loc_00014424: +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_0001442c: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_00014457 ; jae 0x14457 +cmp esi, dword [ebp - 0x2c] +jne short loc_0001443d ; jne 0x1443d +test bl, bl +jne short loc_00014454 ; jne 0x14454 + +loc_0001443d: +push ecx +mov eax, dword [ebp + 0xc] +push 0xfe0000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00014454: +inc esi +jmp short loc_0001442c ; jmp 0x1442c + +loc_00014457: +mov eax, dword [ebp + 0xc] +push esi +push esi +push 1 +lea ebx, [eax + 0x80] +push ebx +call fcn_00018a50 ; call 0x18a50 +pop eax +pop edx +push 0xfffffffffffffffe +push ebx +call fcn_00018a7a ; call 0x18a7a +jmp short loc_000144e0 ; jmp 0x144e0 + +loc_00014476: +cmp byte [ebp - 0x25], 0 +je loc_0001458f ; je 0x1458f +mov eax, esi +cmp al, 2 +jne short loc_000144e8 ; jne 0x144e8 +sub esp, 0xc +push dword [ebp - 0x3c] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0x3f +cmp byte [ebp - 0x2d], 0 +je short loc_000144a9 ; je 0x144a9 +mov cl, byte [ebp - 0x2c] +mov edx, 1 +shl edx, cl +or eax, edx + +loc_000144a9: +push edx +push eax +mov eax, dword [ebp + 0x18] +push 0xffffffffffffffc0 +add eax, 0xd8 +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop ecx +push dword [ebp - 0x38] +call fcn_00017d8a ; call 0x17d8a +add esp, 0xc +and eax, 0x7fff +push eax +mov eax, dword [ebp + 0x18] +push 0xffff8000 +add eax, 0xd0 +push eax +call fcn_00018aa4 ; call 0x18aa4 + +loc_000144e0: +add esp, 0x10 +jmp near loc_0001458f ; jmp 0x1458f + +loc_000144e8: +sub esp, 0xc +push dword [ebp - 0x40] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +test al, 0x20 +je loc_0001458f ; je 0x1458f +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_00014506: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_00014531 ; jae 0x14531 +cmp esi, dword [ebp - 0x2c] +jne short loc_00014517 ; jne 0x14517 +test bl, bl +jne short loc_0001452e ; jne 0x1452e + +loc_00014517: +push eax +mov eax, dword [ebp + 0xc] +push 0x80000000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_0001452e: +inc esi +jmp short loc_00014506 ; jmp 0x14506 + +loc_00014531: +mov al, byte [ebp - 0x2d] +mov dword [ebp - 0x38], 0 +and eax, 1 +mov byte [ebp - 0x3c], al + +loc_00014541: +cmp esi, dword [ebp - 0x2c] +jne short loc_0001454e ; jne 0x1454e +xor ebx, ebx +cmp byte [ebp - 0x3c], 0 +jne short loc_00014584 ; jne 0x14584 + +loc_0001454e: +xor ebx, ebx +xor esi, esi + +loc_00014552: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_00014571 ; jae 0x14571 +mov eax, dword [ebp + 0xc] +sub esp, 0xc +add eax, dword [edi + esi*4] +inc esi +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +or ebx, eax +jmp short loc_00014552 ; jmp 0x14552 + +loc_00014571: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +inc dword [ebp - 0x38] + +loc_00014584: +and bl, 0x10 +je short loc_0001458f ; je 0x1458f +cmp dword [ebp - 0x38], 9 +jbe short loc_00014541 ; jbe 0x14541 + +loc_0001458f: +mov eax, dword [ebp + 8] +xor ebx, ebx +cmp byte [eax + 0x13], 1 +jne loc_000147cc ; jne 0x147cc + +loc_0001459e: +movzx eax, byte [ebp - 0x27] +cmp ebx, eax +jae short loc_000145d9 ; jae 0x145d9 +mov ecx, dword [ebp - 0x34] +sub esp, 0xc +mov eax, dword [ebp + 0xc] +add eax, dword [ecx + ebx*4] +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 1 +je short loc_000145d6 ; je 0x145d6 +push ecx +mov ecx, dword [ebp - 0x34] +push 0x10 +mov eax, dword [ebp + 0xc] +push 0xfffffffffffffffd +add eax, dword [ecx + ebx*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000145d6: +inc ebx +jmp short loc_0001459e ; jmp 0x1459e + +loc_000145d9: +mov ebx, 0xa + +loc_000145de: +xor esi, esi +xor edx, edx + +loc_000145e2: +movzx eax, byte [ebp - 0x27] +cmp edx, eax +jae short loc_0001460a ; jae 0x1460a +mov ecx, dword [ebp - 0x34] +sub esp, 0xc +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x38], edx +add eax, dword [ecx + edx*4] +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x38] +add esp, 0x10 +inc edx +or esi, eax +jmp short loc_000145e2 ; jmp 0x145e2 + +loc_0001460a: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +and esi, 0x10 +je short loc_00014622 ; je 0x14622 +dec ebx +jne short loc_000145de ; jne 0x145de + +loc_00014622: +movzx edx, byte [ebp - 0x27] +xor eax, eax +xor ecx, ecx +mov ebx, 1 + +loc_0001462f: +cmp ecx, edx +jae short loc_00014646 ; jae 0x14646 +mov esi, dword [ebp + 8] +cmp byte [esi + ecx + 0x14], 1 +jne short loc_00014643 ; jne 0x14643 +mov esi, ebx +shl esi, cl +or eax, esi + +loc_00014643: +inc ecx +jmp short loc_0001462f ; jmp 0x1462f + +loc_00014646: +push edx +xor ebx, ebx +push eax +mov eax, dword [ebp + 0x18] +push 0xffff8000 +add eax, 0xd0 +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_00014660: +movzx eax, byte [ebp - 0x27] +cmp ebx, eax +jae short loc_00014685 ; jae 0x14685 +mov ecx, dword [ebp - 0x34] +push esi +mov eax, dword [ebp + 0xc] +push 0xfe0000 +push 0xfffffffffffffffd +add eax, dword [ecx + ebx*4] +inc ebx +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +jmp short loc_00014660 ; jmp 0x14660 + +loc_00014685: +cmp byte [ebp - 0x26], 0 +je short loc_000146a5 ; je 0x146a5 +mov edx, dword [ebp - 0x34] +push ebx +mov ecx, dword [ebp + 0xc] +push 0xfe0000 +push 0xfffffffffffffffd +add ecx, dword [edx + eax*4] +push ecx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000146a5: +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_000146ad: +movzx edx, byte [ebp - 0x25] +cmp esi, edx +jae short loc_000146d8 ; jae 0x146d8 +cmp esi, dword [ebp - 0x2c] +jne short loc_000146be ; jne 0x146be +test bl, bl +jne short loc_000146d5 ; jne 0x146d5 + +loc_000146be: +push ecx +mov eax, dword [ebp + 0xc] +push 0x80000000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000146d5: +inc esi +jmp short loc_000146ad ; jmp 0x146ad + +loc_000146d8: +xor eax, eax +xor ecx, ecx +mov ebx, 1 + +loc_000146e1: +cmp ecx, edx +je short loc_000146f8 ; je 0x146f8 +mov esi, dword [ebp + 8] +cmp byte [esi + ecx + 0x22], 1 +jne short loc_000146f5 ; jne 0x146f5 +mov esi, ebx +shl esi, cl +or eax, esi + +loc_000146f5: +inc ecx +jmp short loc_000146e1 ; jmp 0x146e1 + +loc_000146f8: +cmp byte [ebp - 0x2d], 0 +je short loc_0001470a ; je 0x1470a +mov cl, byte [ebp - 0x2c] +mov edx, 1 +shl edx, cl +or eax, edx + +loc_0001470a: +push edx +mov ebx, 0xa +push eax +mov eax, dword [ebp + 0x18] +push 0xffffffffffffffc0 +add eax, 0xd8 +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov al, byte [ebp - 0x2d] +add esp, 0x10 +and eax, 1 +mov byte [ebp - 0x38], al + +loc_0001472d: +xor esi, esi +xor edx, edx + +loc_00014731: +movzx eax, byte [ebp - 0x25] +cmp edx, eax +jae short loc_00014761 ; jae 0x14761 +cmp edx, dword [ebp - 0x2c] +jne short loc_00014744 ; jne 0x14744 +cmp byte [ebp - 0x38], 0 +jne short loc_0001475e ; jne 0x1475e + +loc_00014744: +mov eax, dword [ebp + 0xc] +sub esp, 0xc +add eax, dword [edi + edx*4] +mov dword [ebp - 0x3c], edx +push eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x3c] +add esp, 0x10 +or esi, eax + +loc_0001475e: +inc edx +jmp short loc_00014731 ; jmp 0x14731 + +loc_00014761: +sub esp, 0xc +push 0x2710 +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +and esi, 0x10 +je short loc_00014779 ; je 0x14779 +dec ebx +jne short loc_0001472d ; jne 0x1472d + +loc_00014779: +mov bl, byte [ebp - 0x2d] +xor esi, esi +and ebx, 1 + +loc_00014781: +movzx eax, byte [ebp - 0x25] +cmp esi, eax +jae short loc_000147ac ; jae 0x147ac +cmp esi, dword [ebp - 0x2c] +jne short loc_00014792 ; jne 0x14792 +test bl, bl +jne short loc_000147a9 ; jne 0x147a9 + +loc_00014792: +push eax +mov eax, dword [ebp + 0xc] +push 0xfe0000 +push 0xfffffffffffffffd +add eax, dword [edi + esi*4] +push eax +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 + +loc_000147a9: +inc esi +jmp short loc_00014781 ; jmp 0x14781 + +loc_000147ac: +mov eax, dword [ebp + 0xc] +lea ebx, [eax + 0x80] +push eax +push eax +push 1 +push ebx +call fcn_00018a50 ; call 0x18a50 +pop edx +pop ecx +push 0xfffffffffffffffe +push ebx +call fcn_00018a7a ; call 0x18a7a +add esp, 0x10 + +loc_000147cc: +mov eax, dword [ebp + 8] +test byte [eax + 0x10], 0xfd +je short loc_0001480b ; je 0x1480b +cmp byte [eax + 0x11], 0 +je short loc_0001480b ; je 0x1480b +cmp byte [eax + 0xb5], 0 +je short loc_0001480b ; je 0x1480b +movzx eax, byte [ebp - 0x25] +push eax +movzx eax, byte [ebp - 0x27] +push edi +push eax +mov eax, dword [ebp + 0x18] +push dword [ebp - 0x34] +push dword [ebp + 0xc] +shr eax, 0x14 +movzx eax, al +push 0 +push 0x14 +push eax +call fcn_000134ba ; call 0x134ba +add esp, 0x20 + +loc_0001480b: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014813: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x44 +push 0x10 +lea eax, [ebp - 0x38] +push eax +call fcn_00016f3b ; call 0x16f3b +pop eax +pop edx +lea eax, [ebp - 0x28] +push 0x10 +push eax +call fcn_00016f3b ; call 0x16f3b +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x40], eax +call fcn_0001bff9 ; call 0x1bff9 +mov edx, dword [ebp + 8] +add esp, 0x10 +cmp byte [edx + 0x10], 0 +je loc_00014ac0 ; je 0x14ac0 +cmp eax, 1 +jne loc_0001498b ; jne 0x1498b +mov dword [ebp - 0x3c], 0 +xor edi, edi +xor ebx, ebx + +loc_00014865: +call fcn_0001c19d ; call 0x1c19d +movzx eax, al +cmp ebx, eax +jae short loc_000148ea ; jae 0x148ea +mov eax, dword [ebp + 8] +movzx ecx, byte [eax + ebx*8 + 0x2d] +cmp cl, 8 +je short loc_000148e4 ; je 0x148e4 +cmp ebx, 7 +ja short loc_000148ac ; ja 0x148ac +cmp cl, 3 +jbe short loc_0001489e ; jbe 0x1489e +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000148e4 ; je 0x148e4 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x9c4 +jmp short loc_000148c7 ; jmp 0x148c7 + +loc_0001489e: +lea ecx, [ebx + ecx*8] +mov eax, 1 +shl eax, cl +or edi, eax +jmp short loc_000148e4 ; jmp 0x148e4 + +loc_000148ac: +lea eax, [ecx - 4] +cmp al, 3 +jbe short loc_000148d6 ; jbe 0x148d6 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000148e4 ; je 0x148e4 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x9d0 + +loc_000148c7: +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_000148e4 ; jmp 0x148e4 + +loc_000148d6: +lea ecx, [ebx + ecx*8 - 0x28] +mov eax, 1 +shl eax, cl +or dword [ebp - 0x3c], eax + +loc_000148e4: +inc ebx +jmp near loc_00014865 ; jmp 0x14865 + +loc_000148ea: +xor ebx, ebx +xor esi, esi +xor edx, edx + +loc_000148f0: +mov dword [ebp - 0x44], edx +call fcn_0001c234 ; call 0x1c234 +mov edx, dword [ebp - 0x44] +movzx eax, al +cmp edx, eax +jae short loc_00014933 ; jae 0x14933 +mov eax, dword [ebp + 8] +movzx eax, byte [eax + edx*4 + 0x9d] +cmp al, 8 +je short loc_00014930 ; je 0x14930 +cmp al, 3 +ja short loc_00014923 ; ja 0x14923 +lea ecx, [edx + eax*8] +mov eax, 1 +shl eax, cl +or esi, eax +jmp short loc_00014930 ; jmp 0x14930 + +loc_00014923: +lea ecx, [edx + eax*8 - 0x20] +mov eax, 1 +shl eax, cl +or ebx, eax + +loc_00014930: +inc edx +jmp short loc_000148f0 ; jmp 0x148f0 + +loc_00014933: +mov eax, dword [ebp + 0xc] +push ecx +push ecx +push edi +add eax, 0xc0 +push eax +call fcn_00017dcb ; call 0x17dcb +pop edi +pop eax +mov eax, dword [ebp + 0xc] +push esi +add eax, 0xc8 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp dword [ebp - 0x40], 1 +jne loc_00014ac0 ; jne 0x14ac0 +push eax +push eax +mov eax, dword [ebp + 0xc] +push dword [ebp - 0x3c] +add eax, 0xc4 +push eax +call fcn_00017dcb ; call 0x17dcb +pop eax +mov eax, dword [ebp + 0xc] +pop edx +add eax, 0xcc +push ebx +push eax +call fcn_00017dcb ; call 0x17dcb +jmp near loc_00014abd ; jmp 0x14abd + +loc_0001498b: +xor ebx, ebx +cmp eax, 2 +jne loc_00014a9f ; jne 0x14a9f + +loc_00014996: +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp ebx, eax +jae short loc_000149e9 ; jae 0x149e9 +mov eax, dword [ebp + 8] +mov al, byte [eax + ebx*4 + 0x9d] +cmp al, 8 +je short loc_000149e6 ; je 0x149e6 +movzx esi, al +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000149d9 ; je 0x149d9 +cmp esi, 3 +jbe short loc_000149d9 ; jbe 0x149d9 +push eax +push ref_000252ee ; push 0x252ee +push 0x9fd +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000149d9: +mov eax, 1 +mov cl, bl +shl eax, cl +or dword [ebp + esi*4 - 0x28], eax + +loc_000149e6: +inc ebx +jmp short loc_00014996 ; jmp 0x14996 + +loc_000149e9: +mov edx, dword [ebp + 0xc] +mov eax, dword [ebp + 0xc] +lea edi, [edx + 0xd0] +mov dword [ebp - 0x3c], edi +mov edi, edx +add eax, 0xc0 +neg edi +mov esi, eax +mov dword [ebp - 0x40], eax +lea ebx, [ebp + edi - 0x28] + +loc_00014a0a: +push eax +push eax +push dword [ebx + esi - 0xc0] +push esi +add esi, 4 +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp esi, dword [ebp - 0x3c] +jne short loc_00014a0a ; jne 0x14a0a +xor ebx, ebx + +loc_00014a26: +call fcn_0001c1fd ; call 0x1c1fd +movzx eax, al +cmp ebx, eax +jae short loc_00014a76 ; jae 0x14a76 +mov eax, dword [ebp + 8] +mov al, byte [eax + ebx*8 + 0x2d] +cmp al, 8 +je short loc_00014a73 ; je 0x14a73 +movzx esi, al +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00014a66 ; je 0x14a66 +cmp esi, 3 +jbe short loc_00014a66 ; jbe 0x14a66 +push ecx +push ref_000252ee ; push 0x252ee +push 0xa0d +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00014a66: +mov eax, 1 +mov cl, bl +shl eax, cl +or dword [ebp + esi*4 - 0x38], eax + +loc_00014a73: +inc ebx +jmp short loc_00014a26 ; jmp 0x14a26 + +loc_00014a76: +mov eax, dword [ebp + 0xc] +lea esi, [ebp + edi - 0x38] +lea ebx, [eax + 0xb0] + +loc_00014a83: +push edx +push edx +push dword [esi + ebx - 0xb0] +push ebx +add ebx, 4 +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +cmp ebx, dword [ebp - 0x40] +jne short loc_00014a83 ; jne 0x14a83 +jmp short loc_00014ac0 ; jmp 0x14ac0 + +loc_00014a9f: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00014ac0 ; je 0x14ac0 +push eax +push ref_000221f1 ; push 0x221f1 +push 0xa16 +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc + +loc_00014abd: +add esp, 0x10 + +loc_00014ac0: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014ac8: +push ebp +mov ebp, esp +push edi +xor edi, edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov esi, dword [ebp + 8] +mov dword [ebp - 0x24], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x28], eax +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x20], 0 +mov dword [ebp - 0x1c], eax + +loc_00014af3: +call fcn_0001c1d4 ; call 0x1c1d4 +movzx eax, al +cmp ebx, eax +jae short loc_00014b79 ; jae 0x14b79 +movzx ecx, byte [esi + ebx*8 + 0x2d] +cmp cl, 8 +je short loc_00014b73 ; je 0x14b73 +cmp ebx, 7 +ja short loc_00014b37 ; ja 0x14b37 +cmp cl, 3 +jbe short loc_00014b29 ; jbe 0x14b29 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00014b73 ; je 0x14b73 +push ecx +push ref_000221f1 ; push 0x221f1 +push 0xa69 +jmp short loc_00014b58 ; jmp 0x14b58 + +loc_00014b29: +lea ecx, [ebx + ecx*8] +mov eax, 1 +shl eax, cl +or edi, eax +jmp short loc_00014b73 ; jmp 0x14b73 + +loc_00014b37: +cmp dword [ebp - 0x1c], 1 +jne short loc_00014b73 ; jne 0x14b73 +lea eax, [ecx - 4] +cmp al, 3 +jbe short loc_00014b67 ; jbe 0x14b67 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00014b73 ; je 0x14b73 +push edx +push ref_000221f1 ; push 0x221f1 +push 0xa76 + +loc_00014b58: +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_00014b73 ; jmp 0x14b73 + +loc_00014b67: +mov eax, dword [ebp - 0x1c] +lea ecx, [ebx + ecx*8 - 0x28] +shl eax, cl +or dword [ebp - 0x20], eax + +loc_00014b73: +inc ebx +jmp near loc_00014af3 ; jmp 0x14af3 + +loc_00014b79: +cmp byte [esi], 1 +jne short loc_00014b90 ; jne 0x14b90 +push eax +push eax +mov eax, dword [ebp - 0x24] +push edi +add eax, 0x74 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 + +loc_00014b90: +cmp dword [ebp - 0x1c], 1 +jne short loc_00014bb7 ; jne 0x14bb7 +cmp byte [esi + 8], 1 +jne short loc_00014bb7 ; jne 0x14bb7 +mov eax, dword [ebp - 0x20] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp - 0x28] +add eax, 0x74 +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +loc_00014bb7: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014bbf: +push ebp +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x1c +mov esi, dword [ebp + 8] +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0xc] +add eax, 0x64 +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x10] +lea edi, [eax + 0x64] + +loc_00014be4: +call fcn_0001c1d4 ; call 0x1c1d4 +movzx eax, al +cmp ebx, eax +jae loc_00014c81 ; jae 0x14c81 +cmp ebx, 7 +ja short loc_00014c35 ; ja 0x14c35 +cmp byte [esi], 1 +jne short loc_00014c35 ; jne 0x14c35 +cmp byte [esi + ebx*8 + 0x2c], 0 +jne short loc_00014c1b ; jne 0x14c1b +push eax +mov cl, bl +push eax +mov eax, 1 +shl eax, cl +push eax +push dword [ebp - 0x20] +call fcn_0001866c ; call 0x1866c +jmp short loc_00014c32 ; jmp 0x14c32 + +loc_00014c1b: +push ecx +mov eax, 0xfffffffe +push ecx +mov cl, bl +rol eax, cl +movzx eax, al +push eax +push dword [ebp - 0x20] +call fcn_00018699 ; call 0x18699 + +loc_00014c32: +add esp, 0x10 + +loc_00014c35: +cmp dword [ebp - 0x1c], 1 +jne short loc_00014c7b ; jne 0x14c7b +cmp ebx, 0xd +ja short loc_00014c7b ; ja 0x14c7b +cmp byte [esi + 8], 1 +jne short loc_00014c7b ; jne 0x14c7b +cmp byte [esi + ebx*8 + 0x2c], 0 +lea ecx, [ebx - 8] +jne short loc_00014c63 ; jne 0x14c63 +mov eax, dword [ebp - 0x1c] +push edx +push edx +shl eax, cl +movzx ecx, al +push ecx +push edi +call fcn_0001866c ; call 0x1866c +jmp short loc_00014c78 ; jmp 0x14c78 + +loc_00014c63: +push eax +push eax +mov eax, dword [ebp - 0x1c] +shl eax, cl +mov ecx, eax +not ecx +movzx ecx, cl +push ecx +push edi +call fcn_00018699 ; call 0x18699 + +loc_00014c78: +add esp, 0x10 + +loc_00014c7b: +inc ebx +jmp near loc_00014be4 ; jmp 0x14be4 + +loc_00014c81: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014c89: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +call fcn_0001bef7 ; call 0x1bef7 +cmp byte [esi + 0x10], 0 +mov dword [ebp - 0x1c], eax +je loc_00014d7a ; je 0x14d7a +lea eax, [edi + 0xe4] +sub esp, 0xc +push eax +mov dword [ebp - 0x20], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +xor edx, edx +mov ebx, eax +and ebx, 0x7fff + +loc_00014cc9: +mov dword [ebp - 0x24], edx +call fcn_0001c19d ; call 0x1c19d +mov edx, dword [ebp - 0x24] +movzx eax, al +cmp edx, eax +jae short loc_00014d08 ; jae 0x14d08 +cmp dword [ebp - 0x1c], 1 +mov ecx, edx +jne short loc_00014cea ; jne 0x14cea +mov ecx, dword [edx*4 + ref_00020420] ; mov ecx, dword [edx*4 + 0x20420] + +loc_00014cea: +cmp byte [esi + edx*8 + 0x2c], 0 +jne short loc_00014cfc ; jne 0x14cfc +mov eax, 1 +shl eax, cl +or ebx, eax +jmp short loc_00014d05 ; jmp 0x14d05 + +loc_00014cfc: +mov eax, 0xfffffffe +rol eax, cl +and ebx, eax + +loc_00014d05: +inc edx +jmp short loc_00014cc9 ; jmp 0x14cc9 + +loc_00014d08: +lea eax, [edi + 0xe8] +sub esp, 0xc +push eax +mov dword [ebp - 0x1c], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +xor ecx, ecx +mov edi, eax +and edi, 0x3f + +loc_00014d24: +mov dword [ebp - 0x24], ecx +call fcn_0001c234 ; call 0x1c234 +mov ecx, dword [ebp - 0x24] +movzx eax, al +cmp ecx, eax +jae short loc_00014d57 ; jae 0x14d57 +cmp byte [esi + ecx*4 + 0x9c], 0 +je short loc_00014d4b ; je 0x14d4b +mov eax, 0xfffffffe +rol eax, cl +and edi, eax +jmp short loc_00014d54 ; jmp 0x14d54 + +loc_00014d4b: +mov eax, 1 +shl eax, cl +or edi, eax + +loc_00014d54: +inc ecx +jmp short loc_00014d24 ; jmp 0x14d24 + +loc_00014d57: +push eax +push eax +push ebx +push dword [ebp - 0x20] +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +mov dword [ebp + 0xc], edi +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +loc_00014d7a: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014d82: +push ebp +mov ebp, esp +sub esp, 0x10 +mov eax, dword [ebp + 8] +push 0x100 +add eax, 0x7a +push eax +call fcn_00018863 ; call 0x18863 +add esp, 0x10 +leave +ret + +fcn_00014d9e: +push ebp +mov ebp, esp +push ebx +push ecx +mov edx, dword [ebp + 8] +mov eax, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +cmp byte [edx + 0x10], 0 +je short loc_00014dd7 ; je 0x14dd7 +push edx +push edx +push eax +lea eax, [ebx + 0x10] +add ebx, 4 +push eax +call fcn_00017dcb ; call 0x17dcb +add esp, 0x10 +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +mov dword [ebp + 0xc], 6 +leave +jmp near fcn_00018863 ; jmp 0x18863 + +loc_00014dd7: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00014ddc: +push ebp +mov ebp, esp +push ebx +push edx +mov eax, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +cmp byte [eax + 0x10], 0 +je short loc_00014e16 ; je 0x14e16 +push eax +push eax +push 0xfff9 +lea eax, [ebx + 4] +add ebx, 0x10 +push eax +call fcn_00018890 ; call 0x18890 +add esp, 0x10 +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +mov dword [ebp + 0xc], 0 +leave +jmp near fcn_00017dcb ; jmp 0x17dcb + +loc_00014e16: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00014e1b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 0x10] +mov edi, dword [ebp + 8] +call fcn_0001bef7 ; call 0x1bef7 +mov dword [ebp - 0x24], eax +call fcn_0001bb39 ; call 0x1bb39 +mov ebx, eax +call fcn_0001bff9 ; call 0x1bff9 +cmp ebx, 0x40 +seta byte [ebp - 0x19] +cmp eax, 2 +sete al +and byte [ebp - 0x19], al +cmp byte [ebp - 0x19], 1 +sbb eax, eax +xor ebx, ebx +and eax, 0x100 +add eax, 0x4381 +push eax +push 0 +push 0xe5007f04 +push esi +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_00014e71: +call fcn_0001c19d ; call 0x1c19d +movzx eax, al +cmp ebx, eax +jae loc_00014f31 ; jae 0x14f31 +inc ebx +mov eax, ebx +push 0 +shl eax, 8 +push 0xfffffffffffffffe +mov dword [ebp - 0x28], eax +sub eax, 0x1affbff1 +push eax +push esi +call fcn_00009d54 ; call 0x9d54 +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00014ec5 ; je 0x14ec5 +cmp byte [edi + ebx*8 + 0x27], 7 +jbe short loc_00014ec5 ; jbe 0x14ec5 +push edx +push ref_000252f8 ; push 0x252f8 +push 0xc0b +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00014ec5: +mov al, byte [edi + ebx*8 + 0x27] +and eax, 7 +mov dword [ebp - 0x20], eax +shl dword [ebp - 0x20], 0xb +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00014efb ; je 0x14efb +cmp byte [edi + ebx*8 + 0x26], 7 +jbe short loc_00014efb ; jbe 0x14efb +push eax +push ref_00025334 ; push 0x25334 +push 0xc0d +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00014efb: +mov al, byte [edi + ebx*8 + 0x26] +and eax, 7 +shl eax, 8 +or eax, dword [ebp - 0x20] +mov edx, eax +or edx, 0x30 +cmp byte [ebp - 0x19], 0 +cmovne eax, edx +push eax +mov eax, dword [ebp - 0x28] +push 0xffff80ff +sub eax, 0x1affc000 +push eax +push esi +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 +jmp near loc_00014e71 ; jmp 0x14e71 + +loc_00014f31: +push 0x180000 +push 0xffffffffffffffff +push 0xe5007f14 +push esi +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 +cmp dword [ebp - 0x24], 2 +jne short loc_00014f61 ; jne 0x14f61 +push 0 +push 0xff3fffff +push 0xe5007f02 +push esi +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_00014f61: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00014f69: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 2 +jne short loc_00014f9e ; jne 0x14f9e +cmp byte [esi + 0x284], 0 +jne short loc_00014f9e ; jne 0x14f9e +push ecx +push ecx +push 5 +lea eax, [ebx + 0x3a84] +push eax +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 + +loc_00014f9e: +push 0xc0 +push 0xffffffffffffffff +push 0xe5004001 +push ebx +xor ebx, ebx +call fcn_00009d54 ; call 0x9d54 +add esp, 0x10 + +loc_00014fb5: +call fcn_0001c181 ; call 0x1c181 +cmp bl, al +jae short loc_00015017 ; jae 0x15017 +movzx edi, bl +push eax +movzx eax, byte [edi + edi + ref_00020461] ; movzx eax, byte [edi + edi + 0x20461] +push eax +movzx eax, byte [edi + edi + ref_00020460] ; movzx eax, byte [edi + edi + 0x20460] +add edi, 0x50 +push eax +movzx eax, byte [esi + 1] +push eax +call fcn_00016bd6 ; call 0x16bd6 +cmp byte [esi + edi*8 + 4], 1 +pop edx +sbb edx, edx +inc ebx +not edx +mov ecx, eax +add edx, 0x27 +pop eax +lea eax, [ecx + 0xdc] +mov dword [ebp - 0x1c], ecx +push edx +push eax +call fcn_00018a50 ; call 0x18a50 +mov ecx, dword [ebp - 0x1c] +pop eax +pop edx +add ecx, 0x78 +push 3 +push ecx +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +jmp short loc_00014fb5 ; jmp 0x14fb5 + +loc_00015017: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001501f: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +push eax +push eax +push esi +push ebx +call fcn_00014f69 ; call 0x14f69 +add esp, 0x10 +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00013bae ; jmp 0x13bae + +fcn_00015047: +push ebp +mov edx, 0x18 +mov ebp, esp +push edi +push esi +mov esi, ref_00027120 ; mov esi, 0x27120 +push ebx +mov ebx, 0x24 +sub esp, 0x1c +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 8] +dec al +mov eax, ref_00027000 ; mov eax, 0x27000 +cmovne ebx, edx +cmovne esi, eax +call fcn_0001c234 ; call 0x1c234 +mov dword [ebp - 0x20], 0 +movzx ecx, al +mov eax, ebx +cdq +idiv ecx +lea ebx, [edi + 0x9e] +mov dword [ebp - 0x28], eax +mov word [ebp - 0x1c], ax +lea eax, [edi + ecx*4 + 0x9e] +mov dword [ebp - 0x24], eax + +loc_0001509d: +cmp ebx, dword [ebp - 0x24] +je loc_0001512f ; je 0x1512f +cmp byte [ebx], 1 +jne short loc_00015121 ; jne 0x15121 +mov byte [ebp - 0x19], 0 + +loc_000150af: +movzx eax, byte [ebp - 0x19] +cmp ax, word [ebp - 0x1c] +jae short loc_00015121 ; jae 0x15121 +movzx eax, byte [ebp - 0x19] +add eax, dword [ebp - 0x20] +imul eax, eax, 0xc +add eax, esi +push dword [eax + 8] +push dword [eax + 4] +push dword [eax] +push dword [ebp + 0xc] +call fcn_00009d54 ; call 0x9d54 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001511c ; je 0x1511c +test edi, edi +jns short loc_0001511c ; jns 0x1511c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00015104 ; je 0x15104 +push edx +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00015104: +push eax +push ref_00020664 ; push 0x20664 +push 0xcbb +push ref_0002526f ; push 0x2526f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001511c: +inc byte [ebp - 0x19] +jmp short loc_000150af ; jmp 0x150af + +loc_00015121: +mov eax, dword [ebp - 0x28] +add ebx, 4 +add dword [ebp - 0x20], eax +jmp near loc_0001509d ; jmp 0x1509d + +loc_0001512f: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00015137: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov eax, dword [ebp + 0x20] +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0x1c] +mov dword [ebp - 0x34], eax +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00015169 ; je 0x15169 +push eax +push eax +push ref_00025370 ; push 0x25370 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00015169: +call fcn_0001bef7 ; call 0x1bef7 +mov edx, esi +movzx esi, dl +mov dword [ebp - 0x20], eax +push eax +push 0 +push 0x1f +push esi +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x14 +push esi +mov dword [ebp - 0x2c], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push 0 +push 0x1d +push esi +mov dword [ebp - 0x24], eax +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +cmp dword [ebp - 0x20], 1 +mov dword [ebp - 0x1c], 0 +mov dword [ebp - 0x30], eax +jne short loc_000151c5 ; jne 0x151c5 +push ecx +push 0 +push 0x1a +push esi +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0x10 +mov dword [ebp - 0x1c], eax + +loc_000151c5: +mov eax, dword [ebp - 0x2c] +sub esp, 0xc +add eax, 0x40 +push eax +call fcn_00017cfe ; call 0x17cfe +mov word [ebp - 0x48], ax +mov eax, dword [ebp - 0x2c] +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp byte [ebx], 0 +jne short loc_000151f4 ; jne 0x151f4 +or dword [edi], 0x8000 + +loc_000151f4: +cmp dword [ebp - 0x20], 1 +jne short loc_00015206 ; jne 0x15206 +cmp byte [ebx + 8], 0 +jne short loc_00015206 ; jne 0x15206 +or dword [edi], 0x2000 + +loc_00015206: +cmp byte [ebx + 0x10], 0 +jne short loc_00015212 ; jne 0x15212 +or dword [edi], 0x8000000 + +loc_00015212: +push edx +movzx edi, ax +movzx eax, byte [ebp - 0x34] +push edx +push dword [ebp + 0x18] +mov dword [ebp - 0x28], eax +push edi +push eax +push esi +push dword [ebp + 0xc] +push ebx +call fcn_0001354f ; call 0x1354f +mov esi, dword [ebp - 0x24] +add esp, 0x1c +push esi +push dword [ebp + 0x10] +push ebx +call fcn_00014d9e ; call 0x14d9e +mov dword [esp], esi +push edi +push dword [ebp - 0x28] +push dword [ebp + 0x10] +push ebx +call fcn_0001376e ; call 0x1376e +add esp, 0x20 +cmp byte [ebp - 0x34], 7 +jbe short loc_00015268 ; jbe 0x15268 +movzx eax, byte [ebp - 0x20] +push ecx +push eax +push dword [ebp + 0x18] +push ebx +call fcn_00015047 ; call 0x15047 +add esp, 0x10 + +loc_00015268: +push eax +mov esi, dword [ebp - 0x24] +push eax +push dword [ebp - 0x2c] +push esi +push edi +push dword [ebp - 0x28] +push dword [ebp + 0x10] +push ebx +call fcn_00013ead ; call 0x13ead +add esp, 0x1c +push dword [ebp - 0x1c] +push dword [ebp - 0x30] +push ebx +call fcn_00014ac8 ; call 0x14ac8 +pop eax +pop edx +push esi +push ebx +call fcn_00014813 ; call 0x14813 +add esp, 0xc +push dword [ebp + 0x18] +push edi +push ebx +call fcn_00014e1b ; call 0x14e1b +add esp, 0x10 +cmp byte [ebx + 0xb4], 1 +jne short loc_00015303 ; jne 0x15303 +mov esi, dword [ebp - 0x48] +sub esp, 0xc +and esi, 0xfffc +add esi, 0x3c +push esi +call fcn_00018e32 ; call 0x18e32 +pop ecx +mov edi, eax +pop eax +mov eax, edi +or eax, 2 +and edi, 0xfffd +movzx eax, ax +push eax +push esi +call fcn_00018e63 ; call 0x18e63 +add esp, 0xc +push dword [ebp - 0x1c] +push dword [ebp - 0x30] +push ebx +call fcn_00014bbf ; call 0x14bbf +pop eax +pop edx +push dword [ebp - 0x24] +push ebx +call fcn_00014c89 ; call 0x14c89 +pop ecx +pop eax +push edi +push esi +call fcn_00018e63 ; call 0x18e63 +add esp, 0x10 + +loc_00015303: +cmp byte [ebx + 1], 1 +jne short loc_0001531c ; jne 0x1531c +cmp byte [ebx], 1 +jne short loc_0001531c ; jne 0x1531c +sub esp, 0xc +push dword [ebp - 0x30] +call fcn_00014d82 ; call 0x14d82 +add esp, 0x10 + +loc_0001531c: +cmp dword [ebp - 0x20], 1 +jne short loc_0001533c ; jne 0x1533c +cmp byte [ebx + 9], 1 +jne short loc_0001533c ; jne 0x1533c +cmp byte [ebx + 8], 1 +jne short loc_0001533c ; jne 0x1533c +sub esp, 0xc +push dword [ebp - 0x1c] +call fcn_00014d82 ; call 0x14d82 +add esp, 0x10 + +loc_0001533c: +push edx +push dword [ebp - 0x24] +push dword [ebp + 0x10] +push ebx +call fcn_00014ddc ; call 0x14ddc +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00015366 ; je 0x15366 +push eax +push eax +push ref_00025389 ; push 0x25389 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00015366: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00015370: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +add esi, ebx + +loc_0001537d: ; not directly referenced +cmp ebx, esi +je short loc_00015394 ; je 0x15394 +inc ebx +movzx eax, byte [ebx - 1] +sub esp, 0xc +push eax +call fcn_0001638a ; call 0x1638a +add esp, 0x10 +jmp short loc_0001537d ; jmp 0x1537d + +loc_00015394: ; not directly referenced +lea esp, [ebp - 8] +or eax, 0xffffffff +pop ebx +pop esi +pop ebp +ret + +fcn_0001539e: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +push 0x80 +movzx eax, bx +movzx ebx, bh +push eax +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 0x90 +push ebx +call fcn_00018e26 ; call 0x18e26 +add esp, 0x10 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000153ce: +push ebp +mov ebp, esp +sub esp, 8 +lea eax, [ebp + 0xc] +push eax +push dword [ebp + 8] +push 0 +push fcn_00015370 ; push 0x15370 +call fcn_0001551c ; call 0x1551c +leave +ret + +fcn_000153e9: +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_000153f0: +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_000153f7: +push ebp +mov ebp, esp +pop ebp +ret + +fcn_000153fc: +push ebp +mov ebp, esp +pop ebp +ret + +fcn_00015401: +push ebp +mov ebp, esp +push edi +mov edi, eax +push esi +push ebx +mov ebx, edx +sub esp, 0x1c + +loc_0001540e: +test ebx, ebx +jle short loc_0001543e ; jle 0x1543e +push eax +mov eax, dword [ebp + 8] +cmp ebx, 0x10 +mov esi, 0x10 +cmovle esi, ebx +push esi +push edi +push dword [eax] +mov dword [ebp - 0x1c], ecx +call ecx +mov edx, dword [ebp + 8] +add esp, 0x10 +mov ecx, dword [ebp - 0x1c] +test eax, eax +mov dword [edx], eax +jne short loc_00015442 ; jne 0x15442 +or eax, 0xffffffff +jmp short loc_00015446 ; jmp 0x15446 + +loc_0001543e: +xor eax, eax +jmp short loc_00015446 ; jmp 0x15446 + +loc_00015442: +sub ebx, esi +jmp short loc_0001540e ; jmp 0x1540e + +loc_00015446: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001544e: +push ebp +mov ebp, esp +push edi +mov edi, ecx +push esi +mov esi, eax +push ebx +mov ebx, edx +sub esp, 0xc +test ecx, ecx +jne short loc_0001546f ; jne 0x1546f + +loc_00015461: +cmp dword [ebp + 8], 0 +je short loc_000154a7 ; je 0x154a7 +cmp dword [ebp + 0xc], 0 +je short loc_000154a7 ; je 0x154a7 +jmp short loc_00015490 ; jmp 0x15490 + +loc_0001546f: +sub esp, 0xc +mov ecx, eax +push edx +mov eax, ref_000204c8 ; mov eax, 0x204c8 +mov edx, edi +call fcn_00015401 ; call 0x15401 +add esp, 0x10 +test eax, eax +jns short loc_00015461 ; jns 0x15461 + +loc_00015488: +or eax, 0xffffffff +jmp near loc_00015514 ; jmp 0x15514 + +loc_00015490: +push edx +push dword [ebp + 0xc] +push dword [ebp + 8] +push dword [ebx] +call esi +add esp, 0x10 +mov dword [ebx], eax +test eax, eax +je short loc_00015488 ; je 0x15488 +add edi, dword [ebp + 0xc] + +loc_000154a7: +cmp dword [ebp + 0x10], 0 +jne short loc_000154b8 ; jne 0x154b8 + +loc_000154ad: +add edi, dword [ebp + 0x10] +cmp dword [ebp + 0x18], 0 +je short loc_000154e8 ; je 0x154e8 +jmp short loc_000154d4 ; jmp 0x154d4 + +loc_000154b8: +mov edx, dword [ebp + 0x10] +sub esp, 0xc +mov ecx, esi +push ebx +mov eax, ref_000204b4 ; mov eax, 0x204b4 +call fcn_00015401 ; call 0x15401 +add esp, 0x10 +test eax, eax +jns short loc_000154ad ; jns 0x154ad +jmp short loc_00015488 ; jmp 0x15488 + +loc_000154d4: +push eax +push dword [ebp + 0x18] +push dword [ebp + 0x14] +push dword [ebx] +call esi +add esp, 0x10 +mov dword [ebx], eax +test eax, eax +je short loc_00015488 ; je 0x15488 + +loc_000154e8: +add edi, dword [ebp + 0x18] +cmp dword [ebp + 0x1c], 0 +je short loc_0001550f ; je 0x1550f +mov edx, dword [ebp + 0x1c] +sub esp, 0xc +mov ecx, esi +push ebx +mov eax, ref_000204c8 ; mov eax, 0x204c8 +call fcn_00015401 ; call 0x15401 +add esp, 0x10 +test eax, eax +js loc_00015488 ; js 0x15488 + +loc_0001550f: +mov eax, dword [ebp + 0x1c] +add eax, edi + +loc_00015514: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001551c: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xec +mov eax, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +test eax, eax +je short loc_00015580 ; je 0x15580 +mov dword [ebp - 0xe0], 0 +mov dword [ebp - 0xd4], 0 +jmp short loc_000155a1 ; jmp 0x155a1 + +loc_00015548: +cmp dl, 0x2a +jne loc_000155dc ; jne 0x155dc +mov ecx, dword [ebx] +lea eax, [ebx + 4] +mov dword [ebp - 0xc4], ecx +test ecx, ecx +jns short loc_0001556d ; jns 0x1556d +neg dword [ebp - 0xc4] +or dword [ebp - 0xb4], 4 + +loc_0001556d: +inc edi +mov ebx, eax + +loc_00015570: +cmp dword [ebp - 0xc4], 0x1f4 +jle loc_00015634 ; jle 0x15634 + +loc_00015580: +or eax, 0xffffffff +jmp near loc_000160e6 ; jmp 0x160e6 + +loc_00015588: +test dl, dl +je short loc_00015594 ; je 0x15594 +inc esi + +loc_0001558d: +mov dl, byte [esi] +cmp dl, 0x25 +jne short loc_00015588 ; jne 0x15588 + +loc_00015594: +mov edi, esi +sub edi, eax +jne short loc_000155ae ; jne 0x155ae + +loc_0001559a: +cmp byte [esi], 0 +jne short loc_000155c9 ; jne 0x155c9 +mov eax, esi + +loc_000155a1: +cmp byte [eax], 0 +je loc_000160ab ; je 0x160ab +mov esi, eax +jmp short loc_0001558d ; jmp 0x1558d + +loc_000155ae: +push edx +push edi +push eax +push dword [ebp + 0xc] +call dword [ebp + 8] ; ucall +add esp, 0x10 +mov dword [ebp + 0xc], eax +test eax, eax +je short loc_00015580 ; je 0x15580 +add dword [ebp - 0xd4], edi +jmp short loc_0001559a ; jmp 0x1559a + +loc_000155c9: +lea edi, [esi + 1] +mov dword [ebp - 0xb4], 0 + +loc_000155d6: +mov dl, byte [edi] +test dl, dl +jne short loc_000155e8 ; jne 0x155e8 + +loc_000155dc: +mov dword [ebp - 0xc4], 0 +jmp short loc_00015624 ; jmp 0x15624 + +loc_000155e8: +mov eax, ref_000204ac ; mov eax, 0x204ac + +loc_000155ed: +mov cl, byte [eax] +cmp cl, dl +je loc_000160b3 ; je 0x160b3 +test cl, cl +je loc_00015548 ; je 0x15548 +inc eax +jmp short loc_000155ed ; jmp 0x155ed + +loc_00015602: +cmp dword [ebp - 0xc4], 0x1f3 +jg loc_00015570 ; jg 0x15570 +imul edx, dword [ebp - 0xc4], 0xa +inc edi +lea eax, [edx + eax - 0x30] +mov dword [ebp - 0xc4], eax + +loc_00015624: +movsx eax, byte [edi] +lea edx, [eax - 0x30] +cmp dl, 9 +jbe short loc_00015602 ; jbe 0x15602 +jmp near loc_00015570 ; jmp 0x15570 + +loc_00015634: +cmp byte [edi], 0x2e +mov dword [ebp - 0xc0], 0xffffffff +jne short loc_000156ad ; jne 0x156ad +cmp byte [edi + 1], 0x2a +je short loc_00015656 ; je 0x15656 +inc edi +mov dword [ebp - 0xc0], 0 +jmp short loc_00015692 ; jmp 0x15692 + +loc_00015656: +lea eax, [ebx + 4] +mov ebx, dword [ebx] +mov dword [ebp - 0xc0], ebx +cmp ebx, 0x1f4 +jg loc_00015580 ; jg 0x15580 +add edi, 2 +mov ebx, eax +jmp short loc_000156ad ; jmp 0x156ad + +loc_00015674: +cmp dword [ebp - 0xc0], 0x1f3 +jg short loc_0001569d ; jg 0x1569d +imul edx, dword [ebp - 0xc0], 0xa +inc edi +lea eax, [edx + eax - 0x30] +mov dword [ebp - 0xc0], eax + +loc_00015692: +movsx eax, byte [edi] +lea edx, [eax - 0x30] +cmp dl, 9 +jbe short loc_00015674 ; jbe 0x15674 + +loc_0001569d: +cmp dword [ebp - 0xc0], 0x1f4 +jg loc_00015580 ; jg 0x15580 + +loc_000156ad: +cmp byte [edi], 0x3a +mov dword [ebp - 0xb0], 0 +jne short loc_0001571f ; jne 0x1571f +cmp byte [edi + 1], 0x2a +jne short loc_00015706 ; jne 0x15706 +mov esi, dword [ebx] +lea eax, [ebx + 4] +mov dword [ebp - 0xb0], esi +test esi, esi +js short loc_000156db ; js 0x156db +cmp esi, 0x24 +jle short loc_000156e5 ; jle 0x156e5 +jmp near loc_00015580 ; jmp 0x15580 + +loc_000156db: +mov dword [ebp - 0xb0], 0 + +loc_000156e5: +add edi, 2 +mov ebx, eax +jmp short loc_0001571f ; jmp 0x1571f + +loc_000156ec: +cmp dword [ebp - 0xb0], 0x23 +jg short loc_00015712 ; jg 0x15712 +imul ecx, dword [ebp - 0xb0], 0xa +lea eax, [ecx + eax - 0x30] +mov dword [ebp - 0xb0], eax + +loc_00015706: +inc edi +movsx eax, byte [edi] +lea edx, [eax - 0x30] +cmp dl, 9 +jbe short loc_000156ec ; jbe 0x156ec + +loc_00015712: +cmp dword [ebp - 0xb0], 0x24 +jg loc_00015580 ; jg 0x15580 + +loc_0001571f: +cmp byte [edi], 0x5b +mov dword [ebp - 0xcc], 0 +jne short loc_00015758 ; jne 0x15758 +lea eax, [edi + 1] +not edi +mov dword [ebp - 0xe0], eax +mov esi, edi + +loc_0001573b: +mov dl, byte [eax] +lea edi, [eax + esi] +mov dword [ebp - 0xcc], edi +test dl, dl +je loc_00015580 ; je 0x15580 +cmp dl, 0x5d +lea eax, [eax + 1] +jne short loc_0001573b ; jne 0x1573b +mov edi, eax + +loc_00015758: +mov al, byte [edi] +mov esi, ref_000253a0 ; mov esi, 0x253a0 +test al, al +je short loc_00015790 ; je 0x15790 + +loc_00015763: +mov dl, byte [esi] +cmp dl, al +je short loc_00015774 ; je 0x15774 +test dl, dl +je short loc_00015770 ; je 0x15770 +inc esi +jmp short loc_00015763 ; jmp 0x15763 + +loc_00015770: +xor eax, eax +jmp short loc_00015790 ; jmp 0x15790 + +loc_00015774: +mov dl, byte [edi + 1] +lea esi, [edi + 1] +test dl, dl +je loc_000160cb ; je 0x160cb +cmp dl, al +jne loc_000160cb ; jne 0x160cb +or eax, 1 +add edi, 2 + +loc_00015790: +mov dl, byte [edi] +test dl, dl +jne short loc_000157a0 ; jne 0x157a0 +mov eax, dword [ebx] +add ebx, 4 +jmp near loc_000155a1 ; jmp 0x155a1 + +loc_000157a0: +mov byte [ebp - 0xb8], 0 +cmp dl, 0x43 +jne short loc_000157c2 ; jne 0x157c2 +mov cl, byte [edi + 1] +lea esi, [edi + 1] +mov byte [ebp - 0xb8], cl +test cl, cl +je loc_00015580 ; je 0x15580 +mov edi, esi + +loc_000157c2: +mov byte [ebp - 0xa3], dl +cmp dl, 0x6e +jne short loc_00015823 ; jne 0x15823 +mov edx, dword [ebx] +test edx, edx +je loc_000160df ; je 0x160df +cmp al, 0x68 +jne short loc_000157e9 ; jne 0x157e9 +mov eax, dword [ebp - 0xd4] +mov word [edx], ax +jmp near loc_000160df ; jmp 0x160df + +loc_000157e9: +cmp al, 0x69 +jne short loc_000157fa ; jne 0x157fa +mov al, byte [ebp - 0xd4] +mov byte [edx], al +jmp near loc_000160df ; jmp 0x160df + +loc_000157fa: +cmp al, 0x6c +je short loc_00015816 ; je 0x15816 +cmp al, 0x6a +jne short loc_00015816 ; jne 0x15816 +mov eax, dword [ebp - 0xd4] +mov dword [edx + 4], 0 +mov dword [edx], eax +jmp near loc_000160df ; jmp 0x160df + +loc_00015816: +mov eax, dword [ebp - 0xd4] +mov dword [edx], eax +jmp near loc_000160df ; jmp 0x160df + +loc_00015823: +cmp dl, 0x25 +jne short loc_00015850 ; jne 0x15850 +push eax +xor ecx, ecx +push eax +push 0 +push 1 +lea eax, [ebp - 0xa3] +push eax +mov eax, dword [ebp + 8] +push 0 +push 0 +push 0 +lea edx, [ebp + 0xc] +call fcn_0001544e ; call 0x1544e +add esp, 0x20 +jmp near loc_00016095 ; jmp 0x16095 + +loc_00015850: +mov esi, edx +and esi, 0xffffffdf +mov ecx, esi +cmp cl, 0x43 +jne short loc_000158d4 ; jne 0x158d4 +cmp dl, 0x63 +jne short loc_0001586e ; jne 0x1586e +mov eax, dword [ebx] +add ebx, 4 +mov byte [ebp - 0x9a], al +jmp short loc_0001587a ; jmp 0x1587a + +loc_0001586e: +mov al, byte [ebp - 0xb8] +mov byte [ebp - 0x9a], al + +loc_0001587a: +mov esi, dword [ebp - 0xc0] +mov eax, 1 +test esi, esi +cmovs esi, eax +test esi, esi +cmovg eax, esi +xor esi, esi +mov dword [ebp - 0xb0], eax + +loc_00015897: +push eax +xor ecx, ecx +push eax +push 0 +push 1 +lea eax, [ebp - 0x9a] +push eax +mov eax, dword [ebp + 8] +push 0 +push 0 +push 0 +lea edx, [ebp + 0xc] +call fcn_0001544e ; call 0x1544e +add esp, 0x20 +cmp eax, 0xffffffff +je loc_00015580 ; je 0x15580 +add esi, eax +dec dword [ebp - 0xb0] +jne short loc_00015897 ; jne 0x15897 +mov eax, esi +jmp near loc_00016095 ; jmp 0x16095 + +loc_000158d4: +cmp dl, 0x73 +jne loc_0001596b ; jne 0x1596b +lea eax, [ebx + 4] +mov edx, ref_000253a7 ; mov edx, 0x253a7 +mov dword [ebp - 0xb0], eax +mov eax, dword [ebx] +test eax, eax +cmove eax, edx +mov edx, eax + +loc_000158f4: +cmp byte [edx], 0 +je short loc_000158fc ; je 0x158fc +inc edx +jmp short loc_000158f4 ; jmp 0x158f4 + +loc_000158fc: +mov ebx, dword [ebp - 0xc0] +sub edx, eax +test ebx, ebx +js short loc_0001590d ; js 0x1590d +cmp edx, ebx +cmovg edx, ebx + +loc_0001590d: +mov esi, dword [ebp - 0xc4] +xor ecx, ecx +mov ebx, esi +sub ebx, edx +cmp edx, esi +mov esi, dword [ebp - 0xb4] +cmovl ecx, ebx +xor ebx, ebx +and esi, 4 +je short loc_0001592f ; je 0x1592f +mov ebx, ecx +xor ecx, ecx + +loc_0001592f: +test byte [ebp - 0xb4], 0x40 +je short loc_00015947 ; je 0x15947 +add ebx, ecx +xor ecx, ecx +test esi, esi +sete cl +add ecx, ebx +sar ecx, 1 +sub ebx, ecx + +loc_00015947: +push esi +push esi +push ebx +push edx +push eax +mov eax, dword [ebp + 8] +push 0 +push 0 +push 0 +lea edx, [ebp + 0xc] +call fcn_0001544e ; call 0x1544e +add esp, 0x20 +mov ebx, dword [ebp - 0xb0] +jmp near loc_00016095 ; jmp 0x16095 + +loc_0001596b: +cmp dl, 0x70 +jne short loc_00015997 ; jne 0x15997 +mov byte [ebp - 0xa3], 0x58 +xor eax, eax +mov dword [ebp - 0xc0], 8 +mov dword [ebp - 0xc4], 8 +mov dword [ebp - 0xb4], 0x28 + +loc_00015997: +mov dl, byte [ebp - 0xa3] +cmp dl, 0x69 +sete cl +mov byte [ebp - 0xc8], dl +mov byte [ebp - 0xd8], cl +cmp dl, 0x64 +je short loc_000159bf ; je 0x159bf +test cl, cl +jne short loc_000159bf ; jne 0x159bf +xor esi, esi +cmp dl, 0x49 +jne short loc_000159ee ; jne 0x159ee + +loc_000159bf: +mov dl, byte [ebp - 0xc8] +mov esi, 0xa +and dword [ebp - 0xb4], 0xfffffff7 +or dword [ebp - 0xb4], 0x80 +and edx, 0xffffffdf +cmp dl, 0x49 +jne short loc_000159ee ; jne 0x159ee +mov ecx, dword [ebp - 0xb0] +test ecx, ecx +cmovne esi, ecx + +loc_000159ee: +mov dl, byte [ebp - 0xc8] +and edx, 0xffffffdf +cmp dl, 0x58 +sete cl +test cl, cl +mov byte [ebp - 0xbc], cl +mov ecx, 0x10 +cmovne esi, ecx +cmp dl, 0x55 +jne short loc_00015a22 ; jne 0x15a22 +mov ecx, dword [ebp - 0xb0] +mov esi, 0xa +test ecx, ecx +cmovne esi, ecx + +loc_00015a22: +mov cl, byte [ebp - 0xc8] +cmp cl, 0x6f +je short loc_00015a3c ; je 0x15a3c +cmp cl, 0x62 +je short loc_00015a43 ; je 0x15a43 +cmp esi, 1 +ja short loc_00015a48 ; ja 0x15a48 +jmp near loc_00015580 ; jmp 0x15580 + +loc_00015a3c: +mov esi, 8 +jmp short loc_00015a48 ; jmp 0x15a48 + +loc_00015a43: +mov esi, 2 + +loc_00015a48: +test byte [ebp - 0xb4], 0x80 +je loc_00015b0d ; je 0x15b0d +cmp al, 0x6c +jne short loc_00015a5e ; jne 0x15a5e +lea eax, [ebx + 4] +jmp short loc_00015a65 ; jmp 0x15a65 + +loc_00015a5e: +cmp al, 0x6a +jne short loc_00015a6f ; jne 0x15a6f +lea eax, [ebx + 8] + +loc_00015a65: +mov dword [ebp - 0xb8], eax + +loc_00015a6b: +mov edx, dword [ebx] +jmp short loc_00015a93 ; jmp 0x15a93 + +loc_00015a6f: +lea edx, [ebx + 4] +cmp al, 0x7a +mov dword [ebp - 0xb8], edx +je short loc_00015a6b ; je 0x15a6b +mov edx, dword [ebx] +cmp al, 0x74 +je short loc_00015a93 ; je 0x15a93 +cmp al, 0x68 +jne short loc_00015a8b ; jne 0x15a8b +movsx edx, dx +jmp short loc_00015a93 ; jmp 0x15a93 + +loc_00015a8b: +movsx ecx, dl +cmp al, 0x69 +cmove edx, ecx + +loc_00015a93: +mov ecx, edx +sar ecx, 0x1f +mov eax, ecx +xor eax, edx +sub eax, ecx +mov dword [ebp - 0xb0], eax +sar eax, 0x1f +mov dword [ebp - 0xac], eax +test edx, edx +jns short loc_00015aba ; jns 0x15aba +mov byte [ebp - 0xa2], 0x2d +jmp short loc_00015ae0 ; jmp 0x15ae0 + +loc_00015aba: +test byte [ebp - 0xb4], 2 +je short loc_00015acc ; je 0x15acc +mov byte [ebp - 0xa2], 0x2b +jmp short loc_00015ae0 ; jmp 0x15ae0 + +loc_00015acc: +mov eax, dword [ebp - 0xb4] +and eax, 1 +neg eax +and eax, 0x20 +mov byte [ebp - 0xa2], al + +loc_00015ae0: +cmp byte [ebp - 0xa2], 0 +mov dword [ebp - 0xd0], 0 +je loc_00015bc4 ; je 0x15bc4 +or dword [ebp - 0xb4], 8 +mov dword [ebp - 0xd0], 1 +jmp near loc_00015bc4 ; jmp 0x15bc4 + +loc_00015b0d: +cmp al, 0x6c +jne short loc_00015b20 ; jne 0x15b20 +lea eax, [ebx + 4] +xor edx, edx +mov dword [ebp - 0xb8], eax +mov eax, dword [ebx] +jmp short loc_00015b32 ; jmp 0x15b32 + +loc_00015b20: +cmp al, 0x6a +jne short loc_00015b40 ; jne 0x15b40 +lea eax, [ebx + 8] +mov edx, dword [ebx + 4] +mov dword [ebp - 0xb8], eax +mov eax, dword [ebx] + +loc_00015b32: +mov dword [ebp - 0xb0], eax +mov dword [ebp - 0xac], edx +jmp short loc_00015bb3 ; jmp 0x15bb3 + +loc_00015b40: +lea edx, [ebx + 4] +cmp al, 0x7a +mov dword [ebp - 0xb8], edx +jne short loc_00015b60 ; jne 0x15b60 +mov eax, dword [ebx] +mov dword [ebp - 0xb0], eax +sar eax, 0x1f +mov dword [ebp - 0xac], eax +jmp short loc_00015bb3 ; jmp 0x15bb3 + +loc_00015b60: +cmp al, 0x74 +jne short loc_00015b77 ; jne 0x15b77 +mov eax, dword [ebx] +mov dword [ebp - 0xb0], eax +sar eax, 0x1f +mov dword [ebp - 0xac], eax +jmp short loc_00015bb3 ; jmp 0x15bb3 + +loc_00015b77: +mov edx, dword [ebx] +mov dword [ebp - 0xac], 0 +mov dword [ebp - 0xb0], edx +cmp al, 0x68 +jne short loc_00015b98 ; jne 0x15b98 +movzx edx, dx +mov dword [ebp - 0xb0], edx +jmp short loc_00015ba9 ; jmp 0x15ba9 + +loc_00015b98: +cmp al, 0x69 +jne short loc_00015bb3 ; jne 0x15bb3 +movzx eax, byte [ebp - 0xb0] +mov dword [ebp - 0xb0], eax + +loc_00015ba9: +mov dword [ebp - 0xac], 0 + +loc_00015bb3: +mov byte [ebp - 0xa2], 0x30 +mov dword [ebp - 0xd0], 0 + +loc_00015bc4: +mov eax, dword [ebp - 0xb0] +mov edx, dword [ebp - 0xac] +mov ebx, eax +or ebx, edx +setne al +je short loc_00015bf2 ; je 0x15bf2 +cmp byte [ebp - 0xc8], 0x6f +mov edx, 1 +cmovne edx, dword [ebp - 0xd0] +mov dword [ebp - 0xd0], edx + +loc_00015bf2: +cmp byte [ebp - 0xbc], 0 +jne short loc_00015c04 ; jne 0x15c04 +cmp byte [ebp - 0xc8], 0x62 +jne short loc_00015c32 ; jne 0x15c32 + +loc_00015c04: +test byte [ebp - 0xb4], 0x20 +jne short loc_00015c19 ; jne 0x15c19 +test al, al +je short loc_00015c32 ; je 0x15c32 +mov al, byte [ebp - 0xc8] +jmp short loc_00015c22 ; jmp 0x15c22 + +loc_00015c19: +mov al, byte [ebp - 0xc8] +or eax, 0x20 + +loc_00015c22: +mov byte [ebp - 0xa1], al +mov dword [ebp - 0xd0], 2 + +loc_00015c32: +test byte [ebp - 0xb4], 8 +je short loc_00015c49 ; je 0x15c49 +lea eax, [ebp - 0xa2] +mov dword [ebp - 0xec], eax +jmp short loc_00015c5d ; jmp 0x15c5d + +loc_00015c49: +mov dword [ebp - 0xec], 0 +mov dword [ebp - 0xd0], 0 + +loc_00015c5d: +cmp esi, 0xa +jne short loc_00015cc8 ; jne 0x15cc8 +mov dword [ebp - 0xbc], 0 +lea esi, [ebp - 0xa0] + +loc_00015c72: +mov edx, dword [ebp - 0xac] +mov eax, dword [ebp - 0xb0] +mov ebx, edx +or ebx, eax +je loc_00015e16 ; je 0x15e16 +push esi +push 0xa +push dword [ebp - 0xac] +push dword [ebp - 0xb0] +call fcn_0001743e ; call 0x1743e +mov bl, byte [ebp - 0xa0] +add esp, 0x10 +inc dword [ebp - 0xbc] +mov dword [ebp - 0xb0], eax +mov eax, dword [ebp - 0xbc] +mov dword [ebp - 0xac], edx +lea edx, [ebx + 0x30] +neg eax +mov byte [eax + ebp - 0x18], dl +jmp short loc_00015c72 ; jmp 0x15c72 + +loc_00015cc8: +cmp byte [ebp - 0xc8], 0x75 +sete byte [ebp - 0xdc] +cmp esi, 8 +sete dl +cmp esi, 2 +je short loc_00015cf9 ; je 0x15cf9 +test dl, dl +jne short loc_00015cf9 ; jne 0x15cf9 +cmp esi, 0x10 +je short loc_00015cf9 ; je 0x15cf9 +mov dword [ebp - 0xbc], 0 +jmp near loc_00015dfd ; jmp 0x15dfd + +loc_00015cf9: +lea eax, [esi - 1] +cmp esi, 0x10 +je short loc_00015d0e ; je 0x15d0e +cmp dl, 1 +sbb ecx, ecx +and ecx, 0xfffffffe +add ecx, 3 +jmp short loc_00015d13 ; jmp 0x15d13 + +loc_00015d0e: +mov ecx, 4 + +loc_00015d13: +mov dword [ebp - 0xbc], 0 + +loc_00015d1d: +mov esi, dword [ebp - 0xac] +mov ebx, dword [ebp - 0xb0] +mov edx, esi +or edx, ebx +je loc_00015e16 ; je 0x15e16 +mov edx, dword [ebp - 0xb0] +and edx, eax +cmp byte [ebp - 0xc8], 0x78 +mov dl, byte [edx + ref_00020464] ; mov dl, byte [edx + 0x20464] +je short loc_00015d5c ; je 0x15d5c +cmp byte [ebp - 0xd8], 0 +jne short loc_00015d5c ; jne 0x15d5c +cmp byte [ebp - 0xdc], 0 +je short loc_00015d5f ; je 0x15d5f + +loc_00015d5c: +or edx, 0x20 + +loc_00015d5f: +inc dword [ebp - 0xbc] +mov esi, dword [ebp - 0xbc] +mov ebx, dword [ebp - 0xb0] +neg esi +mov byte [esi + ebp - 0x18], dl +mov esi, dword [ebp - 0xac] +xor edx, edx +shrd ebx, esi, cl +shr esi, cl +test cl, 0x20 +cmovne ebx, esi +cmovne esi, edx +mov dword [ebp - 0xb0], ebx +mov dword [ebp - 0xac], esi +jmp short loc_00015d1d ; jmp 0x15d1d + +loc_00015d9b: +push eax +push esi +push dword [ebp - 0xac] +push dword [ebp - 0xb0] +call fcn_000173ac ; call 0x173ac +add esp, 0x10 +cmp byte [ebp - 0xdc], 0 +mov al, byte [eax + ref_00020464] ; mov al, byte [eax + 0x20464] +jne short loc_00015e11 ; jne 0x15e11 +cmp byte [ebp - 0xd8], 0 +jne short loc_00015e11 ; jne 0x15e11 + +loc_00015dc9: +inc dword [ebp - 0xbc] +mov edx, dword [ebp - 0xbc] +neg edx +mov byte [edx + ebp - 0x18], al +push eax +push esi +push dword [ebp - 0xac] +push dword [ebp - 0xb0] +call fcn_000173f5 ; call 0x173f5 +add esp, 0x10 +mov dword [ebp - 0xb0], eax +mov dword [ebp - 0xac], edx + +loc_00015dfd: +mov edx, dword [ebp - 0xac] +mov eax, dword [ebp - 0xb0] +mov ebx, edx +or ebx, eax +jne short loc_00015d9b ; jne 0x15d9b +jmp short loc_00015e16 ; jmp 0x15e16 + +loc_00015e11: +or eax, 0x20 +jmp short loc_00015dc9 ; jmp 0x15dc9 + +loc_00015e16: +cmp dword [ebp - 0xcc], 0 +mov dword [ebp - 0xe8], 0 +je loc_00015fd0 ; je 0x15fd0 +mov eax, dword [ebp - 0xe0] +mov ebx, dword [ebp - 0xcc] +mov ecx, dword [ebp - 0xbc] +mov dword [ebp - 0xc8], 0x82 +sub dword [ebp - 0xc8], ecx +lea eax, [eax + ebx - 1] +mov dword [ebp - 0xd8], eax +xor eax, eax +mov dword [ebp - 0xb0], ecx +mov byte [ebp - 0xe4], 0 + +loc_00015e68: +cmp dword [ebp - 0xb0], 0 +je loc_00015fd0 ; je 0x15fd0 +cmp dword [ebp - 0xcc], 0 +je loc_000160d2 ; je 0x160d2 +mov ebx, dword [ebp - 0xd8] +mov al, byte [ebx] +cmp al, 0x2d +je loc_00015fd0 ; je 0x15fd0 +cmp al, 0x2a +je short loc_00015eb3 ; je 0x15eb3 +mov ecx, dword [ebp - 0xcc] +mov edx, 1 +xor eax, eax +sub ebx, ecx +mov dword [ebp - 0xdc], ecx +mov dword [ebp - 0xe4], ebx +jmp short loc_00015f03 ; jmp 0x15f03 + +loc_00015eb3: +mov eax, dword [ebp - 0xb8] +lea esi, [eax + 4] +mov eax, dword [eax] +test eax, eax +js loc_00015fca ; js 0x15fca +mov ecx, dword [ebp - 0xd8] +mov edx, dword [ebp - 0xcc] +mov dword [ebp - 0xb8], esi +dec ecx +dec edx +mov dword [ebp - 0xdc], edx +jne short loc_00015f39 ; jne 0x15f39 +jmp near loc_00015fd0 ; jmp 0x15fd0 + +loc_00015ee7: +movsx esi, bl +sub esi, 0x30 +imul esi, edx +imul ebx, edx, 0xa +add eax, esi +dec dword [ebp - 0xdc] +mov edx, ebx +je loc_00015fd0 ; je 0x15fd0 + +loc_00015f03: +mov ebx, dword [ebp - 0xdc] +mov esi, dword [ebp - 0xe4] +mov dword [ebp - 0xf0], eax +mov ecx, ebx +mov al, byte [esi + ebx] +sub ecx, dword [ebp - 0xcc] +add ecx, dword [ebp - 0xd8] +mov esi, eax +mov bl, al +sub esi, 0x30 +mov eax, esi +cmp al, 9 +mov eax, dword [ebp - 0xf0] +jbe short loc_00015ee7 ; jbe 0x15ee7 + +loc_00015f39: +mov dl, byte [ecx] +lea ebx, [ecx - 1] +mov ecx, dword [ebp - 0xdc] +mov dword [ebp - 0xd8], ebx +mov byte [ebp - 0xe4], dl +dec ecx +mov dword [ebp - 0xcc], ecx +test eax, eax +je short loc_00015fbb ; je 0x15fbb + +loc_00015f5b: +mov esi, dword [ebp - 0xb0] +cmp esi, eax +jle short loc_00015fd0 ; jle 0x15fd0 +lea ecx, [ebp - 0x9a] +sub esi, eax +add ecx, dword [ebp - 0xc8] +xor edx, edx + +loc_00015f75: +cmp edx, esi +je short loc_00015f83 ; je 0x15f83 +mov bl, byte [ecx + edx] +mov byte [ecx + edx - 1], bl +inc edx +jmp short loc_00015f75 ; jmp 0x15f75 + +loc_00015f83: +mov ecx, dword [ebp - 0xb0] +dec dword [ebp - 0xc8] +add ecx, dword [ebp - 0xc8] +mov bl, byte [ebp - 0xe4] +inc dword [ebp - 0xbc] +sub ecx, eax +inc dword [ebp - 0xe8] +mov byte [ebp + ecx - 0x9a], bl +mov dword [ebp - 0xb0], edx +jmp near loc_00015e68 ; jmp 0x15e68 + +loc_00015fbb: +cmp dword [ebp - 0xcc], 0 +jne loc_00015e68 ; jne 0x15e68 +jmp short loc_00015fd0 ; jmp 0x15fd0 + +loc_00015fca: +mov dword [ebp - 0xb8], esi + +loc_00015fd0: +cmp dword [ebp - 0xc0], 0 +js short loc_00015fe2 ; js 0x15fe2 +and dword [ebp - 0xb4], 0xffffffef +jmp short loc_00015fec ; jmp 0x15fec + +loc_00015fe2: +mov dword [ebp - 0xc0], 1 + +loc_00015fec: +mov ebx, dword [ebp - 0xbc] +mov eax, dword [ebp - 0xc0] +add eax, dword [ebp - 0xe8] +cmp eax, ebx +cmovl eax, ebx +mov ebx, dword [ebp - 0xc4] +xor ecx, ecx +mov esi, eax +mov eax, dword [ebp - 0xd0] +mov edx, ebx +add eax, esi +sub edx, eax +cmp eax, ebx +cmovl ecx, edx +mov edx, dword [ebp - 0xb4] +xor eax, eax +and edx, 4 +je short loc_0001602f ; je 0x1602f +mov eax, ecx +xor ecx, ecx + +loc_0001602f: +test byte [ebp - 0xb4], 0x40 +je short loc_00016047 ; je 0x16047 +add eax, ecx +xor ecx, ecx +test edx, edx +sete cl +add ecx, eax +sar ecx, 1 +sub eax, ecx + +loc_00016047: +sub esi, dword [ebp - 0xbc] +mov edx, esi +test byte [ebp - 0xb4], 0x10 +je short loc_0001605c ; je 0x1605c +add edx, ecx +xor ecx, ecx + +loc_0001605c: +mov esi, dword [ebp - 0xbc] +push ebx +push ebx +push eax +lea eax, [ebp - 0x9a] +sub eax, esi +push esi +add eax, 0x82 +push eax +mov eax, dword [ebp + 8] +push edx +push dword [ebp - 0xd0] +push dword [ebp - 0xec] +lea edx, [ebp + 0xc] +call fcn_0001544e ; call 0x1544e +mov ebx, dword [ebp - 0xb8] +add esp, 0x20 + +loc_00016095: +test eax, eax +js loc_00015580 ; js 0x15580 + +loc_0001609d: +add dword [ebp - 0xd4], eax +lea eax, [edi + 1] +jmp near loc_000155a1 ; jmp 0x155a1 + +loc_000160ab: +mov eax, dword [ebp - 0xd4] +jmp short loc_000160e6 ; jmp 0x160e6 + +loc_000160b3: +sub eax, ref_000204ac ; sub eax, 0x204ac +inc edi +mov eax, dword [eax*4 + ref_0002048c] ; mov eax, dword [eax*4 + 0x2048c] +or dword [ebp - 0xb4], eax +jmp near loc_000155d6 ; jmp 0x155d6 + +loc_000160cb: +mov edi, esi +jmp near loc_00015790 ; jmp 0x15790 + +loc_000160d2: +test eax, eax +jne loc_00015f5b ; jne 0x15f5b +jmp near loc_00015fd0 ; jmp 0x15fd0 + +loc_000160df: +add ebx, 4 +xor eax, eax +jmp short loc_0001609d ; jmp 0x1609d + +loc_000160e6: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000160ee: ; not directly referenced +push ebp +mov edx, dword [ref_00029b08] ; mov edx, dword [0x29b08] +mov ebp, esp +mov eax, dword [ebp + 0xc] +mov dword [eax], edx +xor eax, eax +pop ebp +ret + +fcn_00016100: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +pop ebp +mov dword [ref_00029b08], eax ; mov dword [0x29b08], eax +xor eax, eax +ret + +fcn_0001610f: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_00016116: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +jmp near fcn_0001707a ; jmp 0x1707a + +fcn_0001611f: ; not directly referenced +push ebp +mov ebp, esp +push ebx +mov ebx, eax +push edx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016175 ; je 0x16175 +movzx eax, byte [ebx + 0xf] +sub esp, 0xc +push eax +movzx eax, byte [ebx + 0xe] +push eax +movzx eax, byte [ebx + 0xd] +push eax +movzx eax, byte [ebx + 0xc] +push eax +movzx eax, byte [ebx + 0xb] +push eax +movzx eax, byte [ebx + 0xa] +push eax +movzx eax, byte [ebx + 9] +push eax +movzx eax, byte [ebx + 8] +push eax +movzx eax, word [ebx + 6] +push eax +movzx eax, word [ebx + 4] +push eax +push dword [ebx] +push ref_000253ae ; push 0x253ae +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x40 + +loc_00016175: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001617a: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 0xc] + +loc_00016186: ; not directly referenced +mov esi, ref_00029a8c ; mov esi, 0x29a8c +xor edi, edi + +loc_0001618d: ; not directly referenced +cmp edi, dword [ref_00029c00] ; cmp edi, dword [0x29c00] +jae short loc_000161d7 ; jae 0x161d7 +push eax +add esi, 0xc +push eax +push dword [ebx + 4] +push dword [esi + 0x7c] +call fcn_00016e24 ; call 0x16e24 +add esp, 0x10 +test al, al +je short loc_000161d4 ; je 0x161d4 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000161ca ; je 0x161ca +push esi +push ref_000204f4 ; push 0x204f4 +push ref_000253e2 ; push 0x253e2 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000161ca: ; not directly referenced +mov eax, dword [ebx + 4] +call fcn_0001611f ; call 0x1611f +jmp short loc_000161d7 ; jmp 0x161d7 + +loc_000161d4: ; not directly referenced +inc edi +jmp short loc_0001618d ; jmp 0x1618d + +loc_000161d7: ; not directly referenced +cmp edi, dword [ref_00029c00] ; cmp edi, dword [0x29c00] +jne short loc_00016214 ; jne 0x16214 +cmp edi, 0x13 +jbe short loc_0001620c ; jbe 0x1620c +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000009 +test al, al +je short loc_0001626c ; je 0x1626c +push ecx +push ref_000204f4 ; push 0x204f4 +push ref_000253f6 ; push 0x253f6 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001626c ; jmp 0x1626c + +loc_0001620c: ; not directly referenced +lea eax, [edi + 1] +mov dword [ref_00029c00], eax ; mov dword [0x29c00], eax + +loc_00016214: ; not directly referenced +imul edi, edi, 0xc +mov ecx, 3 +mov esi, ebx +add edi, ref_00029b10 ; add edi, 0x29b10 +rep movsd ; rep movsd dword es:[edi], dword ptr [esi] +mov edi, ref_00029c04 ; mov edi, 0x29c04 +xor esi, esi + +loc_0001622d: ; not directly referenced +cmp esi, dword [ref_00029cf4] ; cmp esi, dword [0x29cf4] +jae short loc_0001625d ; jae 0x1625d +push edx +push edx +push dword [ebx + 4] +push dword [edi + 4] +call fcn_00016e24 ; call 0x16e24 +add esp, 0x10 +test al, al +je short loc_00016257 ; je 0x16257 +push eax +push dword [ebx + 8] +push edi +push dword [ebp + 8] +call dword [edi + 8] ; ucall +add esp, 0x10 + +loc_00016257: ; not directly referenced +inc esi +add edi, 0xc +jmp short loc_0001622d ; jmp 0x1622d + +loc_0001625d: ; not directly referenced +mov eax, dword [ebx] +add ebx, 0xc +test eax, eax +jns loc_00016186 ; jns 0x16186 +xor ebx, ebx + +loc_0001626c: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00016276: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +mov esi, ref_00029b10 ; mov esi, 0x29b10 +push ebx +xor ebx, ebx +sub esp, 0xc + +loc_00016286: ; not directly referenced +cmp ebx, dword [ref_00029c00] ; cmp ebx, dword [0x29c00] +jae short loc_000162b6 ; jae 0x162b6 +push eax +mov edi, esi +push eax +add esi, 0xc +push dword [esi - 8] +push dword [ebp + 0xc] +call fcn_00016e24 ; call 0x16e24 +add esp, 0x10 +test al, al +je short loc_000162b3 ; je 0x162b3 +mov eax, dword [ebp + 0x18] +mov edx, dword [edi + 8] +mov dword [eax], edx +xor eax, eax +jmp short loc_000162e4 ; jmp 0x162e4 + +loc_000162b3: ; not directly referenced +inc ebx +jmp short loc_00016286 ; jmp 0x16286 + +loc_000162b6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_000162d7 ; je 0x162d7 +push ebx +push ref_000204dc ; push 0x204dc +push ref_00025411 ; push 0x25411 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_000162d7: ; not directly referenced +mov eax, dword [ebp + 0xc] +call fcn_0001611f ; call 0x1611f +mov eax, 0x8000000e + +loc_000162e4: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000162ec: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ref_00029cf4] ; mov ebx, dword [0x29cf4] +imul edx, ebx, 0xc + +loc_00016300: ; not directly referenced +cmp ebx, 0x13 +jbe short loc_00016325 ; jbe 0x16325 +call fcn_000153e9 ; call 0x153e9 +mov esi, 0x80000009 +test al, al +je short loc_0001636c ; je 0x1636c +push eax +push ref_000204e8 ; push 0x204e8 +push ref_0002542e ; push 0x2542e +push 0x80000000 +jmp short loc_00016364 ; jmp 0x16364 + +loc_00016325: ; not directly referenced +mov esi, dword [ebp + 0xc] +inc ebx +mov ecx, 3 +mov dword [ref_00029cf4], ebx ; mov dword [0x29cf4], ebx +lea edi, [eax + edx + ref_00029c04] ; lea edi, [eax + edx + 0x29c04] +add esi, eax +rep movsd ; rep movsd dword es:[edi], dword ptr [esi] +mov edi, dword [ebp + 0xc] +mov ecx, dword [edi + eax] +add eax, 0xc +test ecx, ecx +jns short loc_00016300 ; jns 0x16300 +call fcn_000153e9 ; call 0x153e9 +xor esi, esi +test al, al +je short loc_0001636c ; je 0x1636c +push ebx +push ref_000204e8 ; push 0x204e8 +push ref_0002544e ; push 0x2544e +push 0x40 + +loc_00016364: ; not directly referenced +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001636c: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00016376: ; not directly referenced +push ebp +mov eax, ref_00029a8c ; mov eax, 0x29a8c +mov ebp, esp +pop ebp +ret + +fcn_00016380: +push ebp +mov eax, dword [ref_00029b0c] ; mov eax, dword [0x29b0c] +mov ebp, esp +pop ebp +ret + +fcn_0001638a: ; not directly referenced +mov eax, dword [ref_00029cfc] ; mov eax, dword [0x29cfc] +push ebp +mov ebp, esp +mov edx, dword [ebp + 8] +test eax, eax +je short loc_000163a2 ; je 0x163a2 +movzx edx, dl +mov dword [ebp + 8], edx +pop ebp +jmp eax + +loc_000163a2: ; not directly referenced +pop ebp +ret + +fcn_000163a4: +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +mov eax, dword [ebx] +cmp eax, 0x16 +je short loc_000163cb ; je 0x163cb +push ebx +push 0x16 +push eax +push ref_0002545f ; push 0x2545f +call fcn_000153ce ; call 0x153ce +add esp, 0x10 +xor eax, eax +jmp near loc_00016524 ; jmp 0x16524 + +loc_000163cb: +mov eax, dword [ebx + 0xca] +push ecx +push ecx +push 0x270 +push ref_00029a8c ; push 0x29a8c +mov dword [ref_00029cfc], eax ; mov dword [0x29cfc], eax +call fcn_00016f3b ; call 0x16f3b +add esp, 0x10 +mov dword [ref_00029b0c], ebx ; mov dword [0x29b0c], ebx +cmp dword [ebx + 8], 3 +mov dword [ref_00029a8c], 0xfeaddeaf ; mov dword [0x29a8c], 0xfeaddeaf +jne short loc_00016425 ; jne 0x16425 +cmp dword [ebx + 0x8f6], 0 +je short loc_00016425 ; je 0x16425 +sub esp, 0xc +push ref_00025483 ; push 0x25483 +call fcn_000153ce ; call 0x153ce +add esp, 0x10 +mov dword [ref_00029b08], 0x11 ; mov dword [0x29b08], 0x11 +jmp short loc_0001642f ; jmp 0x1642f + +loc_00016425: +mov dword [ref_00029b08], 6 ; mov dword [0x29b08], 6 + +loc_0001642f: +sub esp, 0xc +push ref_00029a88 ; push 0x29a88 +mov dword [ref_00029b14], ref_00028fec ; mov dword [0x29b14], 0x28fec +mov dword [ref_00029c00], 1 ; mov dword [0x29c00], 1 +mov dword [ref_00029ab0], fcn_00016276 ; mov dword [0x29ab0], 0x16276 +mov dword [ref_00029ab8], fcn_000160ee ; mov dword [0x29ab8], 0x160ee +mov dword [ref_00029abc], fcn_00016100 ; mov dword [0x29abc], 0x16100 +mov dword [ref_00029ac0], fcn_0001d4a5 ; mov dword [0x29ac0], 0x1d4a5 +mov dword [ref_00029ac4], fcn_0001d3db ; mov dword [0x29ac4], 0x1d3db +mov dword [ref_00029ab4], fcn_000162ec ; mov dword [0x29ab4], 0x162ec +mov dword [ref_00029aa8], fcn_0001617a ; mov dword [0x29aa8], 0x1617a +mov dword [ref_00029adc], fcn_0001d351 ; mov dword [0x29adc], 0x1d351 +mov dword [ref_00029ae0], fcn_00016116 ; mov dword [0x29ae0], 0x16116 +mov dword [ref_00029b04], fcn_0001610f ; mov dword [0x29b04], 0x1610f +mov dword [ref_00029a88], ref_00029a90 ; mov dword [0x29a88], 0x29a90 +call fcn_00019a38 ; call 0x19a38 +pop eax +pop edx +push ref_00029a88 ; push 0x29a88 +push 0 +call fcn_0001adbe ; call 0x1adbe +mov dword [esp], ref_00025493 ; mov dword [esp], 0x25493 +call fcn_000153ce ; call 0x153ce +pop ecx +pop ebx +push ref_00029a88 ; push 0x29a88 +push 0 +call fcn_00016c36 ; call 0x16c36 +mov dword [esp], ref_000254a8 ; mov dword [esp], 0x254a8 +call fcn_000153ce ; call 0x153ce +pop eax +pop edx +push ref_00029a88 ; push 0x29a88 +push 0 +call fcn_0001653b ; call 0x1653b +pop ecx +pop ebx +push ref_00029a88 ; push 0x29a88 +push 0 +call fcn_0001b8a7 ; call 0x1b8a7 +pop eax +pop edx +push ref_00029a88 ; push 0x29a88 +push 0 +call fcn_0001b002 ; call 0x1b002 +add esp, 0x10 +mov eax, ref_00029a88 ; mov eax, 0x29a88 + +loc_00016524: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00016529: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push dword [ebp + 0x10] +call fcn_0001ba3f ; call 0x1ba3f +xor eax, eax +leave +ret + +fcn_0001653b: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +push ref_00028f78 ; push 0x28f78 +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00016590 ; je 0x16590 +test ebx, ebx +jns short loc_00016590 ; jns 0x16590 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001657b ; je 0x1657b +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001657b: +push eax +push ref_00020664 ; push 0x20664 +push 0x42 +push ref_000254bf ; push 0x254bf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016590: +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00016597: +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_0001659e: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +ret + +fcn_000165a3: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +ret + +fcn_000165a8: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +mov esi, edx +push ebx +sub esp, 0x2c +mov edx, dword [ebp + 8] +mov word [ebp - 0x2a], cx +mov dword [ebp - 0x1c], 0x80000007 +test esi, esi +je loc_00016671 ; je 0x16671 +cmp cx, 0x1ff +ja loc_00016671 ; ja 0x16671 +mov edi, edx +movzx edx, dx +add edx, ecx +cmp edx, 0x1ff +jg loc_00016671 ; jg 0x16671 +lea ecx, [edi + esi] +movzx eax, al +mov ebx, esi +mov word [ebp - 0x2c], cx +mov dword [ebp - 0x30], eax + +loc_000165f6: ; not directly referenced +cmp word [ebp - 0x2c], bx +je short loc_0001666a ; je 0x1666a +mov dx, word [ebp - 0x2a] +mov edi, dword [ebp + 0xc] +sub edx, esi +movzx ecx, byte [edi] +add edx, ebx +mov eax, edx +shr ax, 8 +cmp ax, cx +je short loc_0001661b ; je 0x1661b +mov byte [edi], al +mov al, 1 +jmp short loc_0001661d ; jmp 0x1661d + +loc_0001661b: ; not directly referenced +xor eax, eax + +loc_0001661d: ; not directly referenced +dec al +movzx edi, dl +jne short loc_00016642 ; jne 0x16642 +mov eax, dword [ebp + 0xc] +cmp byte [eax], 1 +push edx +lea edx, [ebp - 0x1c] +sbb eax, eax +push edx +and eax, 0xfffffffe +push 0 +add eax, 0x6e +push eax +call fcn_0001a236 ; call 0x1a236 +add esp, 0x10 + +loc_00016642: ; not directly referenced +shl edi, 8 +push eax +or edi, dword [ebp - 0x30] +push eax +lea eax, [ebp - 0x1c] +push eax +push edi +mov dword [ebp - 0x34], ebx +inc ebx +call fcn_0001a1be ; call 0x1a1be +add esp, 0x10 +mov edx, dword [ebp - 0x34] +mov byte [ebx - 1], al +cmp dword [ebp - 0x1c], 0 +je short loc_000165f6 ; je 0x165f6 +mov byte [edx], 0 + +loc_0001666a: ; not directly referenced +mov dword [ebp - 0x1c], 0 + +loc_00016671: ; not directly referenced +mov eax, dword [ebp - 0x1c] +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001667c: ; not directly referenced +push ebp +mov ecx, 2 +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x34 +mov esi, dword [ebp + 0x10] +movzx eax, byte [ebp + 0xc] +lea edi, [ebp - 0x19] +push edi +push 1 +lea edx, [esi + 2] +mov byte [ebp - 0x19], 0xff +mov dword [ebp - 0x30], eax +call fcn_000165a8 ; call 0x165a8 +add esp, 0x10 +mov esi, eax +test eax, eax +jne short loc_00016710 ; jne 0x16710 +mov eax, dword [ebp + 0x18] +xor edx, edx +mov ecx, dword [ebp + 8] +mov dword [ebp - 0x2c], 1 +mov ebx, dword [ebp + 0x14] +shl dword [ebp - 0x2c], cl +mov ecx, 5 +div ecx +lea eax, [eax + eax*4] +add eax, ebx +mov dword [ebp - 0x34], eax + +loc_000166d3: ; not directly referenced +cmp ebx, dword [ebp - 0x34] +je short loc_00016710 ; je 0x16710 +movzx eax, byte [ebx + 4] +test dword [ebp - 0x2c], eax +je short loc_0001670b ; je 0x1670b +push eax +mov edx, dword [ebp + 0x10] +push eax +movzx ecx, word [ebx] +push edi +mov ax, word [ebx + 2] +add edx, ecx +inc eax +sub ax, word [ebx] +movzx eax, ax +push eax +mov eax, dword [ebp - 0x30] +call fcn_000165a8 ; call 0x165a8 +add esp, 0x10 +test eax, eax +je short loc_0001670b ; je 0x1670b +mov esi, eax +jmp short loc_00016710 ; jmp 0x16710 + +loc_0001670b: ; not directly referenced +add ebx, 5 +jmp short loc_000166d3 ; jmp 0x166d3 + +loc_00016710: ; not directly referenced +test esi, esi +sete al +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001671d: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001673e ; je 0x1673e +push eax +push eax +push dword [ebp + 8] +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001673e: ; not directly referenced +leave +ret + +fcn_00016740: ; not directly referenced +push ebp +mov ebp, esp +mov edx, dword [ebp + 0x10] +movzx eax, byte [ebp + 0x14] +and edx, 7 +shl edx, 8 +or eax, 0x80000000 +or eax, edx +movzx edx, byte [ebp + 8] +shl edx, 0x10 +or eax, edx +movzx edx, byte [ebp + 0xc] +pop ebp +shl edx, 0xb +movzx edx, dx +or eax, edx +ret + +fcn_0001676e: ; not directly referenced +push ebp +mov ebp, esp +movzx eax, byte [ebp + 0x10] +movzx edx, byte [ebp + 0x14] +shl eax, 0xc +add edx, eax +movzx eax, byte [ebp + 0xc] +shl eax, 0xf +add edx, eax +movzx eax, byte [ebp + 8] +pop ebp +shl eax, 0x14 +add eax, edx +ret + +fcn_00016792: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov edx, dword [ebp + 8] +mov al, dl +mov bl, dl +sar al, 7 +and edx, 0x7f +and eax, 2 +add eax, 0x74 +push edx +movzx eax, al +sar bl, 7 +push eax +and ebx, 2 +call fcn_00018e26 ; call 0x18e26 +add ebx, 0x75 +add esp, 0x10 +movzx ebx, bl +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +leave +jmp near fcn_00018e1d ; jmp 0x18e1d + +fcn_000167d1: ; not directly referenced +push ebp +mov edx, 0xfffff +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] + +loc_000167e8: ; not directly referenced +push ecx +push ecx +push 0xa +push 0x70 +mov dword [ebp - 0x1c], edx +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +test al, al +jns short loc_00016811 ; jns 0x16811 +dec edx +jne short loc_000167e8 ; jne 0x167e8 +jmp short loc_00016815 ; jmp 0x16815 + +loc_00016811: ; not directly referenced +test edx, edx +jne short loc_0001688b ; jne 0x1688b + +loc_00016815: ; not directly referenced +push eax +push eax +push 0xb +push 0x70 +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 0x82 +push 0x71 +call fcn_00018e26 ; call 0x18e26 +pop ecx +pop eax +push 0xa +push 0x70 +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 0x26 +push 0x71 +call fcn_00018e26 ; call 0x18e26 +pop ecx +pop eax +push 0xc +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +pop eax +pop edx +push 0xd +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +pop ecx +pop eax +push 0xb +push 0x70 +call fcn_00018e26 ; call 0x18e26 +pop eax +pop edx +push 2 +push 0x71 +call fcn_00018e26 ; call 0x18e26 +add esp, 0x10 + +loc_0001688b: ; not directly referenced +push eax +push eax +push 0 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov byte [edi], al +pop edx +pop ecx +push 2 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov byte [esi], al +pop eax +pop edx +push 4 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov byte [ebx], al +pop ecx +pop eax +push 7 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp + 0x14] +mov byte [edx], al +pop eax +pop edx +push 8 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp + 0x18] +mov byte [edx], al +pop ecx +pop eax +push 9 +push 0x70 +call fcn_00018e26 ; call 0x18e26 +mov dword [esp], 0x71 +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp + 0x1c] +movzx eax, al +mov word [edx], ax +mov cl, byte [edi] +mov dl, 0xa +mov al, cl +and ecx, 0xf +shr al, 4 +imul eax, edx +add eax, ecx +mov byte [edi], al +mov cl, byte [esi] +mov edi, dword [ebp + 0x1c] +mov al, cl +and ecx, 0xf +shr al, 4 +imul eax, edx +add eax, ecx +mov byte [esi], al +mov cl, byte [ebx] +mov esi, dword [ebp + 0x18] +mov al, cl +and ecx, 0xf +shr al, 4 +imul eax, edx +add eax, ecx +mov byte [ebx], al +mov eax, dword [ebp + 0x14] +mov ebx, dword [ebp + 0x14] +mov cl, byte [eax] +mov al, cl +and ecx, 0xf +shr al, 4 +imul eax, edx +add eax, ecx +mov byte [ebx], al +mov eax, dword [ebp + 0x18] +mov cl, byte [eax] +mov al, cl +and ecx, 0xf +shr al, 4 +imul eax, edx +add eax, ecx +mov byte [esi], al +mov eax, dword [ebp + 0x1c] +mov ax, word [eax] +mov edx, eax +and edx, 0xf +shr ax, 4 +add esp, 0x10 +and eax, 0xf +imul eax, eax, 0xa +lea eax, [edx + eax + 0x7d0] +mov word [edi], ax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000169be: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +push 0xce +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +xor edx, edx +movzx ebx, ah +xor eax, eax +imul ebx, ebx, 0x186a0 +test ebx, ebx +je short loc_000169f4 ; je 0x169f4 +call fcn_000177b2 ; call 0x177b2 +push ecx +push ebx +push edx +push eax +call fcn_000173f5 ; call 0x173f5 +add esp, 0x10 + +loc_000169f4: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000169f9: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +mov eax, dword [ebp + 8] +mov ecx, dword [ebp + 0x10] + +loc_00016a04: ; not directly referenced +cmp edx, dword [ebp + 0xc] +je short loc_00016a10 ; je 0x16a10 +mov word [eax + edx*2], cx +inc edx +jmp short loc_00016a04 ; jmp 0x16a04 + +loc_00016a10: ; not directly referenced +pop ebp +ret + +fcn_00016a12: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +mov eax, dword [ebp + 8] +mov ecx, dword [ebp + 0x10] + +loc_00016a1d: ; not directly referenced +cmp edx, dword [ebp + 0xc] +je short loc_00016a28 ; je 0x16a28 +mov dword [eax + edx*4], ecx +inc edx +jmp short loc_00016a1d ; jmp 0x16a1d + +loc_00016a28: ; not directly referenced +pop ebp +ret + +fcn_00016a2a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x20 +lea eax, [ebp - 8] +mov dword [ebp - 0x14], eax +mov eax, dword [ebp + 8] +movq qword [ebp - 0x10], mm0 +movq mm0, qword [eax] +movq qword [ebp - 0x14], mm0 +movq mm0, qword [ebp - 0x10] +emms +mov eax, dword [ebp - 8] +mov edx, dword [ebp - 4] +leave +ret + +fcn_00016a52: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x18 +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x18], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x14], eax +mov eax, dword [ebp + 8] +movq qword [ebp - 8], mm0 +movq mm0, qword [ebp - 0x18] +movq qword [eax], mm0 +movq mm0, qword [ebp - 8] +emms +mov eax, dword [ebp - 0x18] +mov edx, dword [ebp - 0x14] +leave +ret + +fcn_00016a80: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +push ebx +mov ebx, 0x186a0 +sub esp, 0x14 + +loc_00016a8e: ; not directly referenced +test eax, eax +jne short loc_00016adb ; jne 0x16adb +test ebx, ebx +je short loc_00016adb ; je 0x16adb +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016ab0 ; je 0x16ab0 +push edx +push edx +push ref_000254c7 ; push 0x254c7 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016ab0: ; not directly referenced +clc + +loc_00016ab1: ; not directly referenced +rdrand eax +mov dword [ebp - 0xc], eax +jae short loc_00016ab1 ; jae 0x16ab1 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016ad5 ; je 0x16ad5 +push eax +push dword [ebp - 0xc] +push ref_000254e4 ; push 0x254e4 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016ad5: ; not directly referenced +mov eax, dword [ebp - 0xc] +dec ebx +jmp short loc_00016a8e ; jmp 0x16a8e + +loc_00016adb: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00016ae0: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_00016ae7: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x14] +pop ebp +ret + +fcn_00016aef: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +cmp dword [ebp + 0xc], 0x41 +mov edx, dword [eax + 0x241b] +mov edx, dword [edx + 0x1e] +jne short loc_00016b14 ; jne 0x16b14 +sub esp, 0xc +push eax +call dword [edx + 0xcc] ; ucall +add esp, 0x10 + +loc_00016b14: ; not directly referenced +xor eax, eax +leave +ret + +fcn_00016b18: ; not directly referenced +push ebp +mov ebp, esp +mov edx, dword [ebp + 8] +mov eax, dword [ebp + 0xc] +push esi +push ebx +mov word [edx + 0x2467], ax +movzx esi, ax +mov ebx, eax +push edx +push edx +push esi +push 0x80 +call fcn_00018e63 ; call 0x18e63 +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00016b59 ; je 0x16b59 +push eax +push esi +push ref_00025502 ; push 0x25502 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016b59: ; not directly referenced +sub esp, 0xc +push 0x48 +call fcn_00016792 ; call 0x16792 +mov dword [esp], 0x49 +mov esi, eax +call fcn_00016792 ; call 0x16792 +add esp, 0x10 +mov edx, eax +mov eax, esi +shl edx, 8 +movzx esi, al +or edx, esi +cmp bx, dx +je short loc_00016b59 ; je 0x16b59 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00016b8c: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016bae ; je 0x16bae +push eax +push dword [ebp + 0xc] +push ref_00025514 ; push 0x25514 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016bae: ; not directly referenced +push eax +mov eax, 0x1000 +in al, 0x99 +pop eax +leave +ret + +fcn_00016bb9: ; not directly referenced +push ebp +mov ebp, esp +push ebx +mov edx, cr4 +mov eax, edx +or eax, 0x4000 +mov cr4, eax +xor eax, eax +mov ebx, eax +getsec +mov cr4, edx +pop ebx +pop ebp +ret + +fcn_00016bd6: +push ebp +mov ebp, esp +push ebx +push edx +call fcn_00016380 ; call 0x16380 +mov ebx, dword [eax + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016c19 ; je 0x16c19 +cmp dword [ebp + 8], 0xff +ja short loc_00016c01 ; ja 0x16c01 +cmp dword [ebp + 0xc], 0x1f +ja short loc_00016c01 ; ja 0x16c01 +cmp dword [ebp + 0x10], 7 +jbe short loc_00016c19 ; jbe 0x16c19 + +loc_00016c01: +push eax +push ref_00025554 ; push 0x25554 +push 0x319 +push ref_0002558b ; push 0x2558b +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016c19: +mov eax, dword [ebp + 0x10] +mov edx, dword [ebp + 0xc] +shl eax, 0xc +add eax, ebx +mov ebx, dword [ebp - 4] +shl edx, 0xf +add eax, edx +mov edx, dword [ebp + 8] +leave +shl edx, 0x14 +add eax, edx +ret + +fcn_00016c36: +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push ebx +call fcn_0001deee ; call 0x1deee +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00016c66 ; je 0x16c66 +push ecx +push ecx +push ref_000255a6 ; push 0x255a6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016c66: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016ca5 ; je 0x16ca5 +test esi, esi +jns short loc_00016ca5 ; jns 0x16ca5 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016c90 ; je 0x16c90 +push edx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016c90: +push eax +push ref_00020664 ; push 0x20664 +push 0x33 +push ref_000255d4 ; push 0x255d4 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016ca5: +sub esp, 0xc +push ebx +call fcn_0001ec6d ; call 0x1ec6d +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00016ccd ; je 0x16ccd +push eax +push eax +push ref_0002560a ; push 0x2560a +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016ccd: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016d0c ; je 0x16d0c +test esi, esi +jns short loc_00016d0c ; jns 0x16d0c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016cf7 ; je 0x16cf7 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016cf7: +push eax +push ref_00020664 ; push 0x20664 +push 0x3a +push ref_000255d4 ; push 0x255d4 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016d0c: +sub esp, 0xc +push ebx +call fcn_0001eefd ; call 0x1eefd +mov esi, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00016d34 ; je 0x16d34 +push eax +push eax +push ref_00025638 ; push 0x25638 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016d34: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016d73 ; je 0x16d73 +test esi, esi +jns short loc_00016d73 ; jns 0x16d73 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016d5e ; je 0x16d5e +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016d5e: +push esi +push ref_00020664 ; push 0x20664 +push 0x43 +push ref_000255d4 ; push 0x255d4 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016d73: +sub esp, 0xc +push ebx +call fcn_0001d4c2 ; call 0x1d4c2 +mov ebx, eax +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_00016d9b ; je 0x16d9b +push ecx +push ecx +push ref_00025665 ; push 0x25665 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016d9b: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016dda ; je 0x16dda +test ebx, ebx +jns short loc_00016dda ; jns 0x16dda +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00016dc5 ; je 0x16dc5 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00016dc5: +push eax +push ref_00020664 ; push 0x20664 +push 0x4a +push ref_000255d4 ; push 0x255d4 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016dda: +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00016de3: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push esi +add esi, 8 +call fcn_00017329 ; call 0x17329 +add esp, 0xc +push edx +push eax +push ebx +call fcn_00017360 ; call 0x17360 +mov dword [esp], esi +call fcn_00017329 ; call 0x17329 +add esp, 0xc +push edx +push eax +lea eax, [ebx + 8] +push eax +call fcn_00017360 ; call 0x17360 +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00016e24: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov esi, dword [ebp + 8] +push esi +add esi, 8 +call fcn_00017329 ; call 0x17329 +mov ebx, eax +pop eax +push dword [ebp + 0xc] +mov dword [ebp - 0x1c], edx +call fcn_00017329 ; call 0x17329 +mov dword [esp], esi +mov dword [ebp - 0x20], eax +mov dword [ebp - 0x24], edx +call fcn_00017329 ; call 0x17329 +mov edi, eax +mov eax, dword [ebp + 0xc] +mov esi, edx +add eax, 8 +mov dword [esp], eax +call fcn_00017329 ; call 0x17329 +mov ecx, dword [ebp - 0x1c] +add esp, 0x10 +xor eax, edi +xor edx, esi +or eax, edx +sete al +xor ebx, dword [ebp - 0x20] +xor ecx, dword [ebp - 0x24] +or ebx, ecx +sete dl +lea esp, [ebp - 0xc] +and eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00016e8b: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016ebc ; je 0x16ebc +test bl, 3 +je short loc_00016ebc ; je 0x16ebc +push eax +push ref_0002569b ; push 0x2569b +push 0x81 +push ref_000256cd ; push 0x256cd +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016ebc: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016ee5 ; je 0x16ee5 +mov eax, ebx +neg eax +cmp esi, eax +jbe short loc_00016ee5 ; jbe 0x16ee5 +push ecx +push ref_0002570f ; push 0x2570f +push 0x82 +push ref_000256cd ; push 0x256cd +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016ee5: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016f0e ; je 0x16f0e +test esi, 0xf +je short loc_00016f0e ; je 0x16f0e +push edx +push ref_0002573a ; push 0x2573a +push 0x83 +push ref_000256cd ; push 0x256cd +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016f0e: ; not directly referenced +and esi, 0xfffffff0 +add esi, ebx + +loc_00016f13: ; not directly referenced +cmp ebx, esi +jae short loc_00016f2e ; jae 0x16f2e +push eax +push eax +push dword [ebp + 0x10] +push ebx +call fcn_00016e24 ; call 0x16e24 +add esp, 0x10 +test al, al +jne short loc_00016f32 ; jne 0x16f32 +add ebx, 0x10 +jmp short loc_00016f13 ; jmp 0x16f13 + +loc_00016f2e: ; not directly referenced +xor eax, eax +jmp short loc_00016f34 ; jmp 0x16f34 + +loc_00016f32: ; not directly referenced +mov eax, ebx + +loc_00016f34: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00016f3b: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016f6c ; je 0x16f6c +test ebx, ebx +jne short loc_00016f6c ; jne 0x16f6c +test esi, esi +je short loc_00016f6c ; je 0x16f6c +push edx +push ref_00025762 ; push 0x25762 +push 0x31 +push ref_0002578a ; push 0x2578a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016f6c: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016f92 ; je 0x16f92 +mov eax, ebx +neg eax +cmp esi, eax +jbe short loc_00016f92 ; jbe 0x16f92 +push eax +push ref_0002570f ; push 0x2570f +push 0x32 +push ref_0002578a ; push 0x2578a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016f92: +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near loc_00017158 ; jmp 0x17158 + +fcn_00016fa3: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov edi, dword [ebp + 0x10] +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +test edi, edi +je loc_00017070 ; je 0x17070 +cmp ebx, esi +je loc_00017070 ; je 0x17070 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00016fe7 ; je 0x16fe7 +test ebx, ebx +jne short loc_00016fe7 ; jne 0x16fe7 +push eax +push ref_000257d0 ; push 0x257d0 +push 0x3c +push ref_000257f2 ; push 0x257f2 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00016fe7: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017009 ; je 0x17009 +test esi, esi +jne short loc_00017009 ; jne 0x17009 +push ecx +push ref_0002583b ; push 0x2583b +push 0x3d +push ref_000257f2 ; push 0x257f2 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017009: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017032 ; je 0x17032 +mov eax, ebx +lea edx, [edi - 1] +not eax +cmp edx, eax +jbe short loc_00017032 ; jbe 0x17032 +push edx +push ref_00025858 ; push 0x25858 +push 0x3e +push ref_000257f2 ; push 0x257f2 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017032: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001705b ; je 0x1705b +mov eax, esi +lea edx, [edi - 1] +not eax +cmp edx, eax +jbe short loc_0001705b ; jbe 0x1705b +push eax +push ref_00025890 ; push 0x25890 +push 0x3f +push ref_000257f2 ; push 0x257f2 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001705b: +mov dword [ebp + 0x10], edi +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_00017105 ; jmp 0x17105 + +loc_00017070: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001707a: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +test esi, esi +je short loc_000170fb ; je 0x170fb +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000170b9 ; je 0x170b9 +mov eax, ebx +lea edx, [esi - 1] +not eax +cmp edx, eax +jbe short loc_000170b9 ; jbe 0x170b9 +push edx +push ref_00025858 ; push 0x25858 +push 0x38 +push ref_000258c3 ; push 0x258c3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000170b9: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000170e2 ; je 0x170e2 +mov eax, edi +lea edx, [esi - 1] +not eax +cmp edx, eax +jbe short loc_000170e2 ; jbe 0x170e2 +push eax +push ref_00025890 ; push 0x25890 +push 0x39 +push ref_000258c3 ; push 0x258c3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000170e2: +cmp ebx, edi +je short loc_000170fb ; je 0x170fb +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], edi +mov dword [ebp + 8], ebx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_00017122 ; jmp 0x17122 + +loc_000170fb: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +loc_00017105: +push esi +push edi +mov esi, dword [esp + 0xc] +mov edi, dword [esp + 0x10] +mov ecx, dword [esp + 0x14] +repe cmpsb ; repe cmpsb byte [esi], byte ptr es:[edi] +movzx eax, byte [esi - 1] +movzx edx, byte [edi - 1] +sub eax, edx +pop edi +pop esi +ret + +loc_00017122: +push esi +push edi +mov esi, dword [esp + 0x10] +mov edi, dword [esp + 0xc] +mov edx, dword [esp + 0x14] +cmp edi, esi +je short loc_00017151 ; je 0x17151 +cmp edx, 0 +je short loc_00017151 ; je 0x17151 +lea eax, [esi + edx - 1] +cmp esi, edi +jae short loc_0001714c ; jae 0x1714c +cmp eax, edi +jb short loc_0001714c ; jb 0x1714c +mov esi, eax +lea edi, [edi + edx - 1] +std + +loc_0001714c: +mov ecx, edx +rep movsb ; rep movsb byte es:[edi], byte ptr [esi] +cld + +loc_00017151: +mov eax, dword [esp + 0xc] +pop edi +pop esi +ret + +loc_00017158: +push edi +xor eax, eax +mov edi, dword [esp + 8] +mov ecx, dword [esp + 0xc] +mov edx, ecx +shr ecx, 2 +and edx, 3 +push edi +rep stosd ; rep stosd dword es:[edi], eax +mov ecx, edx +rep stosb ; rep stosb byte es:[edi], al +pop eax +pop edi +ret + +fcn_00017175: +push ebp +mov ebp, esp +sub esp, 0x10 +mov dword [ebp - 4], 0 + +loc_00017182: +mov eax, dword [ebp - 4] +test eax, eax +je short loc_00017182 ; je 0x17182 +leave +ret + +fcn_0001718b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000171c0 ; je 0x171c0 +cmp ebx, 0x3f +jbe short loc_000171c0 ; jbe 0x171c0 +push eax +push ref_00025909 ; push 0x25909 +push 0x27 +push ref_00025914 ; push 0x25914 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000171c0: +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_000177dc ; jmp 0x177dc + +fcn_000171d5: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000171ff ; je 0x171ff +test ebx, ebx +jne short loc_000171ff ; jne 0x171ff +push eax +push ref_000260eb ; push 0x260eb +push 0x26 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000171ff: ; not directly referenced +mov ax, word [ebx] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00017207: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017234 ; je 0x17234 +test esi, esi +jne short loc_00017234 ; jne 0x17234 +push eax +push ref_000260eb ; push 0x260eb +push 0x41 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017234: ; not directly referenced +mov word [esi], bx +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00017240: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001726a ; je 0x1726a +test ebx, ebx +jne short loc_0001726a ; jne 0x1726a +push eax +push ref_000260eb ; push 0x260eb +push 0x59 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001726a: ; not directly referenced +mov eax, dword [ebx] +mov ebx, dword [ebp - 4] +leave +and eax, 0xffffff +ret + +fcn_00017276: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000172a3 ; je 0x172a3 +test ebx, ebx +jne short loc_000172a3 ; jne 0x172a3 +push eax +push ref_000260eb ; push 0x260eb +push 0x74 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000172a3: ; not directly referenced +push esi +push 0x17 +push 0 +push dword [ebx] +call fcn_0001f920 ; call 0x1f920 +mov dword [ebx], eax +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_000172ba: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000172e7 ; je 0x172e7 +test ebx, ebx +jne short loc_000172e7 ; jne 0x172e7 +push eax +push ref_000260eb ; push 0x260eb +push 0x8d +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000172e7: ; not directly referenced +mov eax, dword [ebx] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000172ee: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001731e ; je 0x1731e +test esi, esi +jne short loc_0001731e ; jne 0x1731e +push eax +push ref_000260eb ; push 0x260eb +push 0xa8 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001731e: ; not directly referenced +mov dword [esi], ebx +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00017329: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017356 ; je 0x17356 +test ebx, ebx +jne short loc_00017356 ; jne 0x17356 +push eax +push ref_000260eb ; push 0x260eb +push 0xc0 +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017356: +mov eax, dword [ebx] +mov edx, dword [ebx + 4] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00017360: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov eax, dword [ebp + 0xc] +mov edx, dword [ebp + 0x10] +mov ebx, dword [ebp + 8] +mov esi, eax +mov edi, edx +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001739b ; je 0x1739b +test ebx, ebx +jne short loc_0001739b ; jne 0x1739b +push eax +push ref_000260eb ; push 0x260eb +push 0xdb +push ref_00025949 ; push 0x25949 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001739b: +mov dword [ebx], esi +mov eax, esi +mov edx, edi +mov dword [ebx + 4], edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000173ac: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000173e0 ; je 0x173e0 +test ebx, ebx +jne short loc_000173e0 ; jne 0x173e0 +push eax +push ref_0002597e ; push 0x2597e +push 0x2b +push ref_0002598b ; push 0x2598b +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000173e0: +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_00017493 ; jmp 0x17493 + +fcn_000173f5: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017429 ; je 0x17429 +test ebx, ebx +jne short loc_00017429 ; jne 0x17429 +push eax +push ref_0002597e ; push 0x2597e +push 0x2b +push ref_000259c0 ; push 0x259c0 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017429: +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_000174a8 ; jmp 0x174a8 + +fcn_0001743e: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017478 ; je 0x17478 +test ebx, ebx +jne short loc_00017478 ; jne 0x17478 +push eax +push ref_0002597e ; push 0x2597e +push 0x2f +push ref_000259f5 ; push 0x259f5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017478: +mov eax, dword [ebp - 0x1c] +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], edi +mov dword [ebp + 0x14], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_000174bd ; jmp 0x174bd + +loc_00017493: +mov eax, dword [esp + 8] +mov ecx, dword [esp + 0xc] +xor edx, edx +div ecx +mov eax, dword [esp + 4] +div ecx +mov eax, edx +ret + +loc_000174a8: +mov eax, dword [esp + 8] +mov ecx, dword [esp + 0xc] +xor edx, edx +div ecx +push eax +mov eax, dword [esp + 8] +div ecx +pop edx +ret + +loc_000174bd: +mov ecx, dword [esp + 0xc] +mov eax, dword [esp + 8] +xor edx, edx +div ecx +push eax +mov eax, dword [esp + 8] +div ecx +mov ecx, dword [esp + 0x14] +jecxz loc_000174d8 ; jecxz 0x174d8 +mov dword [ecx], edx + +loc_000174d8: +pop edx +ret + +fcn_000174da: +push ebp +mov ebp, esp +pop ebp +ret + +fcn_000174df: ; not directly referenced +push ebp +mov ebp, esp +sti +pop ebp +ret + +fcn_000174e5: ; not directly referenced +push ebp +mov ebp, esp +cli +pop ebp +ret + +fcn_000174eb: ; not directly referenced +push ebp +mov ebp, esp +pause +pop ebp +ret + +fcn_000174f2: ; not directly referenced +push ebp +mov ebp, esp +int3 +pop ebp +ret + +fcn_000174f8: +push ebp +mov ebp, esp +mov ecx, dword [ebp + 8] +rdmsr +pop ebp +ret + +fcn_00017502: +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +mov edx, dword [ebp + 0x10] +mov ecx, dword [ebp + 8] +wrmsr +pop ebp +ret + +fcn_00017512: ; not directly referenced +push ebp +mov ebp, esp +pushfd +pop eax +pop ebp +ret + +fcn_00017519: ; not directly referenced +push ebp +mov ebp, esp +mov eax, cr0 +pop ebp +ret + +fcn_00017521: ; not directly referenced +push ebp +mov ebp, esp +mov eax, cr2 +pop ebp +ret + +fcn_00017529: ; not directly referenced +push ebp +mov ebp, esp +mov eax, cr3 +pop ebp +ret + +fcn_00017531: ; not directly referenced +push ebp +mov ebp, esp +mov eax, cr4 +pop ebp +ret + +fcn_00017539: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov cr0, eax +pop ebp +ret + +fcn_00017544: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov cr2, eax +pop ebp +ret + +fcn_0001754f: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov cr3, eax +pop ebp +ret + +fcn_0001755a: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov cr4, eax +pop ebp +ret + +fcn_00017565: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr0 +pop ebp +ret + +fcn_0001756d: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr1 +pop ebp +ret + +fcn_00017575: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr2 +pop ebp +ret + +fcn_0001757d: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr3 +pop ebp +ret + +fcn_00017585: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr4 +pop ebp +ret + +fcn_0001758d: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr5 +pop ebp +ret + +fcn_00017595: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr6 +pop ebp +ret + +fcn_0001759d: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dr7 +pop ebp +ret + +fcn_000175a5: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr0, eax +pop ebp +ret + +fcn_000175b0: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr1, eax +pop ebp +ret + +fcn_000175bb: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr2, eax +pop ebp +ret + +fcn_000175c6: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr3, eax +pop ebp +ret + +fcn_000175d1: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr4, eax +pop ebp +ret + +fcn_000175dc: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr5, eax +pop ebp +ret + +fcn_000175e7: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr6, eax +pop ebp +ret + +fcn_000175f2: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +mov dr7, eax +pop ebp +ret + +fcn_000175fd: ; not directly referenced +push ebp +mov ebp, esp +mov ax, cs +pop ebp +ret + +fcn_00017605: ; not directly referenced +push ebp +mov ebp, esp +mov ax, ds +pop ebp +ret + +fcn_0001760d: ; not directly referenced +push ebp +mov ebp, esp +mov ax, es +pop ebp +ret + +fcn_00017615: ; not directly referenced +push ebp +mov ebp, esp +mov ax, fs +pop ebp +ret + +fcn_0001761d: ; not directly referenced +push ebp +mov ebp, esp +mov ax, gs +pop ebp +ret + +fcn_00017625: ; not directly referenced +push ebp +mov ebp, esp +mov ax, ds +pop ebp +ret + +fcn_0001762d: ; not directly referenced +push ebp +mov ebp, esp +str ax +pop ebp +ret + +fcn_00017636: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +sgdt [eax] +pop ebp +ret + +fcn_00017641: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +lgdt [eax] +pop ebp +ret + +fcn_0001764c: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +sidt [eax] +pop ebp +ret + +fcn_00017657: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +lidt [eax] +pop ebp +ret + +fcn_00017662: ; not directly referenced +push ebp +mov ebp, esp +sldt ax +pop ebp +ret + +fcn_0001766b: ; not directly referenced +push ebp +mov ebp, esp +lldt word [ebp + 8] +pop ebp +ret + +fcn_00017674: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +fxsave [eax] +pop ebp +ret + +fcn_0001767f: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +fxrstor [eax] +pop ebp +ret + +fcn_0001768a: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm0 +pop eax +pop edx +pop ebp +ret + +fcn_00017697: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm1 +pop eax +pop edx +pop ebp +ret + +fcn_000176a4: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm2 +pop eax +pop edx +pop ebp +ret + +fcn_000176b1: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm3 +pop eax +pop edx +pop ebp +ret + +fcn_000176be: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm4 +pop eax +pop edx +pop ebp +ret + +fcn_000176cb: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm5 +pop eax +pop edx +pop ebp +ret + +fcn_000176d8: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm6 +pop eax +pop edx +pop ebp +ret + +fcn_000176e5: ; not directly referenced +push ebp +mov ebp, esp +push eax +push eax +movq qword [esp], mm7 +pop eax +pop edx +pop ebp +ret + +fcn_000176f2: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm0, qword [ebp - 8] +leave +ret + +fcn_0001770a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm1, qword [ebp - 8] +leave +ret + +fcn_00017722: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm2, qword [ebp - 8] +leave +ret + +fcn_0001773a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm3, qword [ebp - 8] +leave +ret + +fcn_00017752: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm4, qword [ebp - 8] +leave +ret + +fcn_0001776a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm5, qword [ebp - 8] +leave +ret + +fcn_00017782: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm6, qword [ebp - 8] +leave +ret + +fcn_0001779a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov eax, dword [ebp + 8] +mov dword [ebp - 8], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 4], eax +movq mm7, qword [ebp - 8] +leave +ret + +fcn_000177b2: ; not directly referenced +push ebp +mov ebp, esp +rdtsc +pop ebp +ret + +fcn_000177b9: ; not directly referenced +push ebp +mov ebp, esp +mov ecx, dword [ebp + 8] +rdpmc +pop ebp +ret + +fcn_000177c3: ; not directly referenced +push ebp +mov ebp, esp +wbinvd +pop ebp +ret + +fcn_000177ca: ; not directly referenced +push ebp +mov ebp, esp +invd +pop ebp +ret + +fcn_000177d1: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +clflush [eax] +pop ebp +ret + +loc_000177dc: +mov cl, byte [esp + 0xc] +xor edx, edx +mov eax, dword [esp + 8] +test cl, 0x20 +cmove edx, eax +cmove eax, dword [esp + 4] +shrd eax, edx, cl +shr edx, cl +ret + +fcn_000177f7: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push dword [ebp + 8] +call fcn_000174f8 ; call 0x174f8 +leave +ret + +fcn_00017807: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +sub esp, 0xc +mov eax, dword [ebp + 0xc] +push edx +push eax +push dword [ebp + 8] +call fcn_00017502 ; call 0x17502 +leave +ret + +fcn_0001781e: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_000177f7 ; call 0x177f7 +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f726 ; jmp 0x1f726 + +fcn_0001784b: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +mov dword [ebp + 8], edi +or eax, esi +or edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_0001787f: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +sub esp, 0xc +mov eax, dword [ebp + 0xc] +push edx +push eax +push dword [ebp + 8] +call fcn_0001784b ; call 0x1784b +leave +ret + +fcn_00017896: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +and edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_000178ca: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +sub esp, 0xc +mov eax, dword [ebp + 0xc] +push edx +push eax +push dword [ebp + 8] +call fcn_00017896 ; call 0x17896 +leave +ret + +fcn_000178e1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov eax, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x18] +mov edi, dword [ebp + 0xc] +push ebx +mov esi, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +mov dword [ebp - 0x20], ecx +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, edi +and edx, esi +or eax, dword [ebp - 0x1c] +or edx, dword [ebp - 0x20] +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_00017927: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +sub esp, 0x14 +mov eax, dword [ebp + 0x10] +push edx +xor edx, edx +push eax +mov eax, dword [ebp + 0xc] +push edx +push eax +push dword [ebp + 8] +call fcn_000178e1 ; call 0x178e1 +leave +ret + +fcn_00017945: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push dword [ebp + 8] +call fcn_000174f8 ; call 0x174f8 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push edx +push eax +call fcn_0001f98f ; call 0x1f98f +leave +ret + +fcn_00017962: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_000174f8 ; call 0x174f8 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fcc5 ; call 0x1fcc5 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_000179b0: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000179e1 ; je 0x179e1 +cmp ebx, 0x1f +jbe short loc_000179e1 ; jbe 0x179e1 +push edx +push ref_00025a33 ; push 0x25a33 +push 0xe3 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000179e1: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017a06 ; je 0x17a06 +cmp esi, ebx +jbe short loc_00017a06 ; jbe 0x17a06 +push eax +push ref_00025a81 ; push 0x25a81 +push 0xe4 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017a06: ; not directly referenced +mov eax, dword [ebp + 0x14] +sub esp, 0xc +xor edx, edx +push edx +push eax +push ebx +push esi +push dword [ebp + 8] +call fcn_00017962 ; call 0x17962 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00017a21: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_000174f8 ; call 0x174f8 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fa1e ; call 0x1fa1e +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_00017a6f: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017aa0 ; je 0x17aa0 +cmp ebx, 0x1f +jbe short loc_00017aa0 ; jbe 0x17aa0 +push edx +push ref_00025a94 ; push 0x25a94 +push 0x10c +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017aa0: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017ac5 ; je 0x17ac5 +cmp esi, ebx +jbe short loc_00017ac5 ; jbe 0x17ac5 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x10d +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017ac5: ; not directly referenced +mov eax, dword [ebp + 0x14] +sub esp, 0xc +xor edx, edx +push edx +push eax +push ebx +push esi +push dword [ebp + 8] +call fcn_00017a21 ; call 0x17a21 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00017ae0: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_000174f8 ; call 0x174f8 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fb10 ; call 0x1fb10 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_00017b2e: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017b5f ; je 0x17b5f +cmp ebx, 0x1f +jbe short loc_00017b5f ; jbe 0x17b5f +push edx +push ref_00025ab1 ; push 0x25ab1 +push 0x135 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017b5f: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017b84 ; je 0x17b84 +cmp esi, ebx +jbe short loc_00017b84 ; jbe 0x17b84 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x136 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017b84: ; not directly referenced +mov eax, dword [ebp + 0x14] +sub esp, 0xc +xor edx, edx +push edx +push eax +push ebx +push esi +push dword [ebp + 8] +call fcn_00017ae0 ; call 0x17ae0 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00017b9f: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0x10] +mov ecx, dword [ebp + 8] +mov edi, dword [ebp + 0x20] +mov edx, dword [ebp + 0x18] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 0x1c] +push ecx +mov ebx, dword [ebp + 0xc] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x28], eax +mov dword [ebp - 0x24], edx +call fcn_000174f8 ; call 0x174f8 +push edi +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fc0e ; call 0x1fc0e +mov ecx, dword [ebp - 0x20] +add esp, 0x30 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017502 ; jmp 0x17502 + +fcn_00017bfd: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017c2e ; je 0x17c2e +cmp ebx, 0x1f +jbe short loc_00017c2e ; jbe 0x17c2e +push ecx +push ref_00025ab1 ; push 0x25ab1 +push 0x163 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017c2e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017c53 ; je 0x17c53 +cmp esi, ebx +jbe short loc_00017c53 ; jbe 0x17c53 +push edx +push ref_00025a81 ; push 0x25a81 +push 0x164 +push ref_00025a4f ; push 0x25a4f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017c53: ; not directly referenced +push eax +mov eax, dword [ebp + 0x18] +xor edx, edx +push edx +xor edx, edx +push eax +mov eax, dword [ebp + 0x14] +push edx +push eax +push ebx +push esi +push dword [ebp + 8] +call fcn_00017b9f ; call 0x17b9f +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00017c73: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017c97 ; je 0x17c97 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x26 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017c97: ; not directly referenced +xor eax, eax +xor edx, edx +leave +ret + +fcn_00017c9d: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017cc1 ; je 0x17cc1 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x41 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017cc1: ; not directly referenced +xor eax, eax +xor edx, edx +leave +ret + +fcn_00017cc7: +push ebp +mov ebp, esp +push ebx +push eax +call fcn_000174da ; call 0x174da +mov eax, dword [ebp + 8] +mov bl, byte [eax] +call fcn_000174da ; call 0x174da +pop edx +mov al, bl +pop ebx +pop ebp +ret + +fcn_00017ce1: +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 0xc] +call fcn_000174da ; call 0x174da +mov eax, dword [ebp + 8] +mov byte [eax], bl +call fcn_000174da ; call 0x174da +mov al, bl +pop edx +pop ebx +pop ebp +ret + +fcn_00017cfe: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017d2c ; je 0x17d2c +test bl, 1 +je short loc_00017d2c ; je 0x17d2c +push eax +push ref_00025b0b ; push 0x25b0b +push 0x97 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017d2c: +call fcn_000174da ; call 0x174da +mov bx, word [ebx] +call fcn_000174da ; call 0x174da +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00017d40: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017d74 ; je 0x17d74 +test esi, 1 +je short loc_00017d74 ; je 0x17d74 +push eax +push ref_00025b0b ; push 0x25b0b +push 0xb7 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017d74: +call fcn_000174da ; call 0x174da +mov word [esi], bx +call fcn_000174da ; call 0x174da +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00017d8a: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017db8 ; je 0x17db8 +test bl, 3 +je short loc_00017db8 ; je 0x17db8 +push eax +push ref_00025b1e ; push 0x25b1e +push 0xd7 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017db8: +call fcn_000174da ; call 0x174da +mov ebx, dword [ebx] +call fcn_000174da ; call 0x174da +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00017dcb: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017dff ; je 0x17dff +test esi, 3 +je short loc_00017dff ; je 0x17dff +push eax +push ref_00025b1e ; push 0x25b1e +push 0xf7 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017dff: +call fcn_000174da ; call 0x174da +mov dword [esi], ebx +call fcn_000174da ; call 0x174da +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_00017e14: +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017e44 ; je 0x17e44 +test bl, 7 +je short loc_00017e44 ; je 0x17e44 +push eax +push ref_00025b31 ; push 0x25b31 +push 0x117 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017e44: +call fcn_000174da ; call 0x174da +mov eax, dword [ebx] +mov edx, dword [ebx + 4] +mov dword [ebp - 0x10], eax +mov dword [ebp - 0xc], edx +call fcn_000174da ; call 0x174da +mov eax, dword [ebp - 0x10] +mov edx, dword [ebp - 0xc] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00017e64: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov eax, dword [ebp + 0xc] +mov edx, dword [ebp + 0x10] +mov ebx, dword [ebp + 8] +mov esi, eax +mov edi, edx +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00017ea0 ; je 0x17ea0 +test bl, 7 +je short loc_00017ea0 ; je 0x17ea0 +push eax +push ref_00025b31 ; push 0x25b31 +push 0x135 +push ref_00025acf ; push 0x25acf +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00017ea0: +call fcn_000174da ; call 0x174da +mov dword [ebx], esi +mov dword [ebx + 4], edi +call fcn_000174da ; call 0x174da +lea esp, [ebp - 0xc] +mov eax, esi +pop ebx +mov edx, edi +pop esi +pop edi +pop ebp +ret + +fcn_00017ebb: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018e1d ; call 0x18e1d +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_00017ee8: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018e1d ; call 0x18e1d +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_00017f15: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00018e1d ; call 0x18e1d +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_00017f49: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00018e1d ; call 0x18e1d +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +movzx eax, al +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f228 ; jmp 0x1f228 + +fcn_00017f79: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f42e ; call 0x1f42e +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_00017fc3: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f29b ; call 0x1f29b +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_0001800d: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018e1d ; call 0x18e1d +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f316 ; call 0x1f316 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_00018057: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0x18] +push ebx +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +call fcn_00018e1d ; call 0x18e1d +mov ecx, esi +mov edx, edi +movzx esi, cl +mov ecx, dword [ebp - 0x1c] +movzx edi, dl +mov edx, dword [ebp - 0x20] +mov dword [esp], edi +push esi +push ecx +push edx +movzx eax, al +push eax +call fcn_0001f391 ; call 0x1f391 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_000180b2: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018e32 ; call 0x18e32 +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_000180df: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018e32 ; call 0x18e32 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_0001810c: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00018e32 ; call 0x18e32 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_00018140: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00018e32 ; call 0x18e32 +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +movzx eax, ax +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f4ae ; jmp 0x1f4ae + +fcn_00018170: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00018e32 ; call 0x18e32 +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f6aa ; call 0x1f6aa +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_000181b8: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00018e32 ; call 0x18e32 +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f521 ; call 0x1f521 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_00018200: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00018e32 ; call 0x18e32 +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f598 ; call 0x1f598 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_00018248: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +push ebx +mov edi, dword [ebp + 0x18] +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +movzx esi, si +call fcn_00018e32 ; call 0x18e32 +mov ecx, dword [ebp - 0x1c] +movzx edi, di +mov edx, dword [ebp - 0x20] +mov dword [esp], edi +push esi +push ecx +push edx +movzx eax, ax +push eax +call fcn_0001f60f ; call 0x1f60f +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_0001829f: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_000182c9: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_000182f3: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_00018324: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f726 ; jmp 0x1f726 + +fcn_00018351: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018ea0 ; call 0x18ea0 +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f920 ; call 0x1f920 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_00018390: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018ea0 ; call 0x18ea0 +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f792 ; call 0x1f792 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_000183cf: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00018ea0 ; call 0x18ea0 +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f810 ; call 0x1f810 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_0001840e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x18] +mov esi, dword [ebp + 0xc] +push ebx +mov edi, dword [ebp + 0x10] +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +call fcn_00018ea0 ; call 0x18ea0 +mov ecx, dword [ebp - 0x1c] +mov edx, dword [ebp - 0x20] +mov dword [esp], ecx +push edx +push edi +push esi +push eax +call fcn_0001f88e ; call 0x1f88e +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_00018459: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017c73 ; call 0x17c73 +add esp, 0x10 +mov dword [ebp + 8], edi +or eax, esi +or edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_0001848d: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017c73 ; call 0x17c73 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +and edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_000184c1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov eax, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x18] +mov edi, dword [ebp + 0xc] +push ebx +mov esi, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +mov dword [ebp - 0x20], ecx +call fcn_00017c73 ; call 0x17c73 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, edi +and edx, esi +or eax, dword [ebp - 0x1c] +or edx, dword [ebp - 0x20] +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_00018507: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push dword [ebp + 8] +call fcn_00017c73 ; call 0x17c73 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push edx +push eax +call fcn_0001f98f ; call 0x1f98f +leave +ret + +fcn_00018524: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017c73 ; call 0x17c73 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fcc5 ; call 0x1fcc5 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_00018572: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017c73 ; call 0x17c73 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fa1e ; call 0x1fa1e +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_000185c0: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017c73 ; call 0x17c73 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fb10 ; call 0x1fb10 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_0001860e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0x10] +mov ecx, dword [ebp + 8] +mov edi, dword [ebp + 0x20] +mov edx, dword [ebp + 0x18] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 0x1c] +push ecx +mov ebx, dword [ebp + 0xc] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x28], eax +mov dword [ebp - 0x24], edx +call fcn_00017c73 ; call 0x17c73 +push edi +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fc0e ; call 0x1fc0e +mov ecx, dword [ebp - 0x20] +add esp, 0x30 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_0001866c: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_00018699: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_000186c6: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_000186fa: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00017cc7 ; call 0x17cc7 +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +movzx eax, al +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f228 ; jmp 0x1f228 + +fcn_0001872a: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017cc7 ; call 0x17cc7 +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f42e ; call 0x1f42e +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_00018774: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017cc7 ; call 0x17cc7 +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f29b ; call 0x1f29b +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_000187be: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017cc7 ; call 0x17cc7 +mov edx, dword [ebp - 0x1c] +mov ecx, esi +movzx esi, cl +push esi +push edx +push edi +movzx eax, al +push eax +call fcn_0001f316 ; call 0x1f316 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_00018808: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0x18] +push ebx +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +call fcn_00017cc7 ; call 0x17cc7 +mov ecx, esi +mov edx, edi +movzx esi, cl +mov ecx, dword [ebp - 0x1c] +movzx edi, dl +mov edx, dword [ebp - 0x20] +mov dword [esp], edi +push esi +push ecx +push edx +movzx eax, al +push eax +call fcn_0001f391 ; call 0x1f391 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, al +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_00018863: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_00018890: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_000188bd: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_000188f1: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +movzx eax, ax +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f4ae ; jmp 0x1f4ae + +fcn_00018921: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f6aa ; call 0x1f6aa +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_00018969: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f521 ; call 0x1f521 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_000189b1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +mov edi, dword [ebp + 0xc] +push ebx +mov dword [ebp - 0x1c], edx +movzx esi, si +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x1c] +push esi +push edx +push edi +movzx eax, ax +push eax +call fcn_0001f598 ; call 0x1f598 +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_000189f9: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +push ebx +mov edi, dword [ebp + 0x18] +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +movzx esi, si +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp - 0x1c] +movzx edi, di +mov edx, dword [ebp - 0x20] +mov dword [esp], edi +push esi +push ecx +push edx +movzx eax, ax +push eax +call fcn_0001f60f ; call 0x1f60f +add esp, 0x20 +mov dword [ebp + 8], ebx +movzx eax, ax +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_00018a50: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp + 8], ebx +or eax, esi +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018a7a: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, esi +mov dword [ebp + 0xc], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018aa4: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +or eax, ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018ad5: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x10] +push ebx +mov ebx, dword [ebp + 0xc] +sub esp, 0xc +push dword [ebp + 8] +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_0001f726 ; jmp 0x1f726 + +fcn_00018b02: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f920 ; call 0x1f920 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018b41: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f792 ; call 0x1f792 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018b80: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +push ebx +mov dword [ebp - 0x1c], edx +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x1c] +push edx +push edi +push esi +push eax +call fcn_0001f810 ; call 0x1f810 +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018bbf: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov edx, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x18] +mov esi, dword [ebp + 0xc] +push ebx +mov edi, dword [ebp + 0x10] +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +call fcn_00017d8a ; call 0x17d8a +mov ecx, dword [ebp - 0x1c] +mov edx, dword [ebp - 0x20] +mov dword [esp], ecx +push edx +push edi +push esi +push eax +call fcn_0001f88e ; call 0x1f88e +add esp, 0x20 +mov dword [ebp + 8], ebx +mov dword [ebp + 0xc], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_00018c0a: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017e14 ; call 0x17e14 +add esp, 0x10 +mov dword [ebp + 8], edi +or eax, esi +or edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018c3e: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x18 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +push edi +call fcn_00017e14 ; call 0x17e14 +add esp, 0x10 +mov dword [ebp + 8], edi +and eax, esi +and edx, ebx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018c72: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ebx, dword [ebp + 8] +mov eax, dword [ebp + 0x14] +mov ecx, dword [ebp + 0x18] +mov edi, dword [ebp + 0xc] +push ebx +mov esi, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +mov dword [ebp - 0x20], ecx +call fcn_00017e14 ; call 0x17e14 +add esp, 0x10 +mov dword [ebp + 8], ebx +and eax, edi +and edx, esi +or eax, dword [ebp - 0x1c] +or edx, dword [ebp - 0x20] +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018cb8: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push dword [ebp + 8] +call fcn_00017e14 ; call 0x17e14 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push edx +push eax +call fcn_0001f98f ; call 0x1f98f +leave +ret + +fcn_00018cd5: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017e14 ; call 0x17e14 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fcc5 ; call 0x1fcc5 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018d23: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017e14 ; call 0x17e14 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fa1e ; call 0x1fa1e +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018d71: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov ecx, dword [ebp + 8] +mov eax, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov ebx, dword [ebp + 0xc] +push ecx +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], eax +call fcn_00017e14 ; call 0x17e14 +pop ecx +pop ecx +push edi +push esi +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fb10 ; call 0x1fb10 +mov ecx, dword [ebp - 0x20] +add esp, 0x20 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018dbf: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0x10] +mov ecx, dword [ebp + 8] +mov edi, dword [ebp + 0x20] +mov edx, dword [ebp + 0x18] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 0x1c] +push ecx +mov ebx, dword [ebp + 0xc] +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x28], eax +mov dword [ebp - 0x24], edx +call fcn_00017e14 ; call 0x17e14 +push edi +push esi +push dword [ebp - 0x24] +push dword [ebp - 0x28] +push dword [ebp - 0x1c] +push ebx +push edx +push eax +call fcn_0001fc0e ; call 0x1fc0e +mov ecx, dword [ebp - 0x20] +add esp, 0x30 +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_00018e1d: +push ebp +mov ebp, esp +mov edx, dword [ebp + 8] +in al, dx +pop ebp +ret + +fcn_00018e26: +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +mov edx, dword [ebp + 8] +out dx, al +pop ebp +ret + +fcn_00018e32: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018e5c ; je 0x18e5c +test byte [ebp + 8], 1 +je short loc_00018e5c ; je 0x18e5c +push eax +push ref_00025b44 ; push 0x25b44 +push 0x69 +push ref_00025b54 ; push 0x25b54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018e5c: +mov edx, dword [ebp + 8] +in ax, dx +leave +ret + +fcn_00018e63: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018e92 ; je 0x18e92 +test byte [ebp + 8], 1 +je short loc_00018e92 ; je 0x18e92 +push eax +push ref_00025b44 ; push 0x25b44 +push 0x86 +push ref_00025b54 ; push 0x25b54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018e92: +mov eax, ebx +mov edx, dword [ebp + 8] +out dx, ax +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00018ea0: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018ecd ; je 0x18ecd +test byte [ebp + 8], 3 +je short loc_00018ecd ; je 0x18ecd +push eax +push ref_00025b93 ; push 0x25b93 +push 0xa3 +push ref_00025b54 ; push 0x25b54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018ecd: +mov edx, dword [ebp + 8] +in eax, dx +leave +ret + +fcn_00018ed3: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018f00 ; je 0x18f00 +test byte [ebp + 8], 3 +je short loc_00018f00 ; je 0x18f00 +push eax +push ref_00025b93 ; push 0x25b93 +push 0xc0 +push ref_00025b54 ; push 0x25b54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018f00: +mov eax, dword [ebp + 0xc] +mov edx, dword [ebp + 8] +out dx, eax +mov eax, dword [ebp + 0xc] +leave +ret + +fcn_00018f0c: +push ebp +mov ebp, esp +push ebx +sub esp, 0x20 +lea eax, [ebp - 0xc] +push eax +call fcn_00019703 ; call 0x19703 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00018f60 ; je 0x18f60 +test ebx, ebx +jns short loc_00018f60 ; jns 0x18f60 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00018f4b ; je 0x18f4b +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00018f4b: +push edx +push ref_00020664 ; push 0x20664 +push 0x32 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018f60: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018f84 ; je 0x18f84 +cmp dword [ebp - 0xc], 0 +jne short loc_00018f84 ; jne 0x18f84 +push eax +push ref_00025bd7 ; push 0x25bd7 +push 0x33 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00018f84: +mov eax, dword [ebp - 0xc] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00018f8c: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00018fc6 ; je 0x18fc6 +test ebx, ebx +jne short loc_00018fc6 ; jne 0x18fc6 +push eax +push ref_00025bef ; push 0x25bef +push 0x52 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_00018fc6 ; jmp 0x18fc6 + +loc_00018fbb: +cmp ax, si +je short loc_00018fd3 ; je 0x18fd3 +movzx eax, word [ebx + 2] +add ebx, eax + +loc_00018fc6: +mov ax, word [ebx] +cmp ax, 0xffff +jne short loc_00018fbb ; jne 0x18fbb +xor eax, eax +jmp short loc_00018fd5 ; jmp 0x18fd5 + +loc_00018fd3: +mov eax, ebx + +loc_00018fd5: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00018fdc: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_00018f0c ; call 0x18f0c +movzx ebx, bx +push edx +push edx +push eax +push ebx +call fcn_00018f8c ; call 0x18f8c +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00018ffa: +push ebp +mov ebp, esp +push ebx +push ecx +mov ebx, dword [ebp + 0xc] + +loc_00019002: +push eax +push eax +push ebx +push 4 +call fcn_00018f8c ; call 0x18f8c +add esp, 0x10 +mov ebx, eax +test eax, eax +je short loc_00019032 ; je 0x19032 +push edx +push edx +lea eax, [ebx + 8] +push eax +push dword [ebp + 8] +call fcn_00016e24 ; call 0x16e24 +add esp, 0x10 +test al, al +jne short loc_00019032 ; jne 0x19032 +movzx eax, word [ebx + 2] +add ebx, eax +jmp short loc_00019002 ; jmp 0x19002 + +loc_00019032: +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00019039: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00018f0c ; call 0x18f0c +push edx +push edx +push eax +push dword [ebp + 8] +call fcn_00018ffa ; call 0x18ffa +leave +ret + +fcn_00019051: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x20 +lea eax, [ebp - 0xc] +push eax +call fcn_000196d3 ; call 0x196d3 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000190a8 ; je 0x190a8 +test ebx, ebx +jns short loc_000190a8 ; jns 0x190a8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00019090 ; je 0x19090 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00019090: ; not directly referenced +push eax +push ref_00020664 ; push 0x20664 +push 0xd8 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000190a8: ; not directly referenced +mov eax, dword [ebp - 0xc] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000190b0: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x1c +lea eax, [ebp - 0xc] +push eax +movzx eax, word [ebp + 0xc] +push eax +movzx eax, word [ebp + 8] +push eax +call fcn_0001971b ; call 0x1971b +add esp, 0x10 +test eax, eax +jns short loc_000190d7 ; jns 0x190d7 +mov dword [ebp - 0xc], 0 + +loc_000190d7: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000190fe ; je 0x190fe +cmp dword [ebp - 0xc], 0 +jne short loc_000190fe ; jne 0x190fe +push eax +push ref_00025c08 ; push 0x25c08 +push 0xfa +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000190fe: ; not directly referenced +mov eax, dword [ebp - 0xc] +leave +ret + +fcn_00019103: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x10] +mov edx, dword [ebp + 0x20] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x14] +mov dword [ebp - 0x24], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x1c], edx +mov dword [ebp - 0x28], eax +mov eax, dword [ebp + 0x1c] +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001915b ; je 0x1915b +test esi, 0xfff +jne short loc_00019143 ; jne 0x19143 +test ebx, 0xfff +je short loc_0001915b ; je 0x1915b + +loc_00019143: ; not directly referenced +push eax +push ref_00025c1c ; push 0x25c1c +push 0x11a +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001915b: ; not directly referenced +push edi +push edi +push 0x48 +push 2 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov edi, eax +test eax, eax +je short loc_000191c2 ; je 0x191c2 +push eax +push eax +push ref_00028fac ; push 0x28fac +lea eax, [edi + 8] +push eax +call fcn_00016de3 ; call 0x16de3 +mov eax, dword [ebp - 0x24] +mov dword [edi + 0x18], esi +mov dword [edi + 0x20], ebx +mov dword [edi + 0x28], 3 +mov dword [edi + 0x1c], eax +mov eax, dword [ebp - 0x28] +mov dword [edi + 0x24], eax +lea eax, [edi + 0x2c] +pop edx +pop ecx +push 4 +push eax +call fcn_00016f3b ; call 0x16f3b +lea eax, [edi + 0x30] +pop ebx +pop esi +push dword [ebp + 8] +push eax +call fcn_00016de3 ; call 0x16de3 +mov eax, dword [ebp - 0x20] +add esp, 0x10 +mov edx, dword [ebp - 0x1c] +mov dword [edi + 0x40], eax +mov dword [edi + 0x44], edx + +loc_000191c2: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000191ca: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +sub esp, 0x18 +mov eax, dword [ebp + 0x18] +mov edx, dword [ebp + 0x1c] +push 0x30 +mov esi, dword [ebp + 0x10] +push 3 +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x10], eax +mov dword [ebp - 0xc], edx +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +test eax, eax +je short loc_00019212 ; je 0x19212 +mov edx, dword [ebp + 8] +mov dword [eax + 0x20], esi +mov esi, dword [ebp - 0x10] +mov dword [eax + 0x24], edi +mov edi, dword [ebp - 0xc] +mov dword [eax + 0x18], edx +mov edx, dword [ebp + 0xc] +mov dword [eax + 0x28], esi +mov dword [eax + 0x2c], edi +mov dword [eax + 0x1c], edx + +loc_00019212: ; not directly referenced +lea esp, [ebp - 8] +pop esi +pop edi +pop ebp +ret + +fcn_00019219: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019249 ; je 0x19249 +test esi, esi +jne short loc_00019249 ; jne 0x19249 +push eax +push ref_00025c7b ; push 0x25c7b +push 0x176 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019249: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019272 ; je 0x19272 +cmp ebx, 0xffe0 +jbe short loc_00019272 ; jbe 0x19272 +push ecx +push ref_00025c90 ; push 0x25c90 +push 0x17b +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019272: ; not directly referenced +add ebx, 0x18 +push edx +movzx ebx, bx +push edx +push ebx +push 4 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov ebx, eax +test eax, eax +je short loc_0001929f ; je 0x1929f +push eax +push eax +push esi +lea eax, [ebx + 8] +push eax +call fcn_00016de3 ; call 0x16de3 +lea eax, [ebx + 0x18] +add esp, 0x10 +jmp short loc_000192a1 ; jmp 0x192a1 + +loc_0001929f: ; not directly referenced +xor eax, eax + +loc_000192a1: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_000192a8: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000192e3 ; je 0x192e3 +test esi, esi +jne short loc_000192e3 ; jne 0x192e3 +test ebx, ebx +je short loc_000192e3 ; je 0x192e3 +push edx +push ref_00025cc4 ; push 0x25cc4 +push 0x1a8 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000192e3: ; not directly referenced +push eax +push eax +push ebx +push edi +call fcn_00019219 ; call 0x19219 +add esp, 0x10 +test eax, eax +je short loc_00019308 ; je 0x19308 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001707a ; jmp 0x1707a + +loc_00019308: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019312: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +sub esp, 0x18 +mov eax, dword [ebp + 0x10] +mov edx, dword [ebp + 0x14] +push 0x18 +mov esi, dword [ebp + 8] +push 5 +mov edi, dword [ebp + 0xc] +mov dword [ebp - 0x10], eax +mov dword [ebp - 0xc], edx +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +test eax, eax +je short loc_0001934e ; je 0x1934e +mov edx, dword [ebp - 0x10] +mov ecx, dword [ebp - 0xc] +mov dword [eax + 8], esi +mov dword [eax + 0xc], edi +mov dword [eax + 0x10], edx +mov dword [eax + 0x14], ecx + +loc_0001934e: ; not directly referenced +lea esp, [ebp - 8] +pop esi +pop edi +pop ebp +ret + +fcn_00019355: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov edx, dword [ebp + 0x14] +mov eax, dword [ebp + 0x10] +mov ecx, dword [ebp + 0x18] +push 0x38 +mov esi, dword [ebp + 8] +push 9 +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +mov dword [ebp - 0x20], eax +mov dword [ebp - 0x24], ecx +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov edx, eax +test eax, eax +je short loc_000193ca ; je 0x193ca +mov dword [eax + 8], esi +mov esi, dword [ebp - 0x20] +mov dword [eax + 0xc], edi +mov edi, dword [ebp - 0x1c] +mov ecx, dword [ebp - 0x24] +mov dword [ebp - 0x20], edx +mov dword [eax + 0x10], esi +mov dword [eax + 0x14], edi +push eax +push eax +push ecx +lea eax, [edx + 0x18] +push eax +call fcn_00016de3 ; call 0x16de3 +mov edx, dword [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0xc], ebx +add edx, 0x28 +mov dword [ebp + 8], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00016de3 ; jmp 0x16de3 + +loc_000193ca: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000193d2: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +sub esp, 0x18 +mov eax, dword [ebp + 0x10] +mov edx, dword [ebp + 0x14] +push 0x18 +mov esi, dword [ebp + 8] +push 0xb +mov edi, dword [ebp + 0xc] +mov dword [ebp - 0x10], eax +mov dword [ebp - 0xc], edx +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +test eax, eax +je short loc_0001940e ; je 0x1940e +mov edx, dword [ebp - 0x10] +mov ecx, dword [ebp - 0xc] +mov dword [eax + 8], esi +mov dword [eax + 0xc], edi +mov dword [eax + 0x10], edx +mov dword [eax + 0x14], ecx + +loc_0001940e: ; not directly referenced +lea esp, [ebp - 8] +pop esi +pop edi +pop ebp +ret + +fcn_00019415: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +push eax +push eax +push 0x10 +push 6 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +test eax, eax +je short loc_00019452 ; je 0x19452 +mov edx, esi +add eax, 0xa +mov byte [eax - 2], dl +mov byte [eax - 1], bl +mov dword [ebp + 0xc], 6 +mov dword [ebp + 8], eax +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +jmp near fcn_00016f3b ; jmp 0x16f3b + +loc_00019452: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00019459: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_000194a2 ; je 0x194a2 +test esi, 0xfff +jne short loc_0001948a ; jne 0x1948a +test ebx, 0xfff +je short loc_000194a2 ; je 0x194a2 + +loc_0001948a: ; not directly referenced +push ecx +push ref_00025cec ; push 0x25cec +push 0x251 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000194a2: ; not directly referenced +push edx +push edx +push 0x30 +push 2 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov edx, eax +test eax, eax +je short loc_000194fe ; je 0x194fe +push eax +push eax +push ref_00028f9c ; push 0x28f9c +lea eax, [edx + 8] +push eax +mov dword [ebp - 0x20], edx +call fcn_00016de3 ; call 0x16de3 +mov edx, dword [ebp - 0x20] +add esp, 0x10 +mov eax, dword [ebp - 0x1c] +mov dword [edx + 0x18], esi +add edx, 0x2c +mov dword [edx - 0x10], edi +mov dword [edx - 0xc], ebx +mov dword [edx - 8], eax +mov dword [edx - 4], 4 +mov dword [ebp + 0xc], 4 +mov dword [ebp + 8], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00016f3b ; jmp 0x16f3b + +loc_000194fe: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019506: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019555 ; je 0x19555 +test esi, 0xfff +jne short loc_0001953d ; jne 0x1953d +test ebx, 0xfff +je short loc_00019555 ; je 0x19555 + +loc_0001953d: ; not directly referenced +push ecx +push ref_00025cec ; push 0x25cec +push 0x27c +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019555: ; not directly referenced +push edx +push edx +push 0x30 +push 2 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov edx, eax +test eax, eax +je short loc_000195b0 ; je 0x195b0 +push eax +push eax +push ref_00028f8c ; push 0x28f8c +lea eax, [edx + 8] +push eax +mov dword [ebp - 0x24], edx +call fcn_00016de3 ; call 0x16de3 +mov edx, dword [ebp - 0x24] +add esp, 0x10 +mov eax, dword [ebp - 0x20] +mov dword [edx + 0x18], esi +add edx, 0x2c +mov dword [edx - 8], eax +mov eax, dword [ebp - 0x1c] +mov dword [edx - 0x10], edi +mov dword [edx - 0xc], ebx +mov dword [edx - 4], eax +mov dword [ebp + 0xc], 4 +mov dword [ebp + 8], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00016f3b ; jmp 0x16f3b + +loc_000195b0: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_000195b8: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x14] +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019607 ; je 0x19607 +test esi, 0xfff +jne short loc_000195ef ; jne 0x195ef +test ebx, 0xfff +je short loc_00019607 ; je 0x19607 + +loc_000195ef: ; not directly referenced +push ecx +push ref_00025cec ; push 0x25cec +push 0x2a7 +push ref_00025ba3 ; push 0x25ba3 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019607: ; not directly referenced +push edx +push edx +push 0x30 +push 2 +call fcn_000190b0 ; call 0x190b0 +add esp, 0x10 +mov edx, eax +test eax, eax +je short loc_0001965f ; je 0x1965f +push eax +push eax +push 0x10 +lea eax, [edx + 8] +push eax +mov dword [ebp - 0x24], edx +call fcn_00016f3b ; call 0x16f3b +mov edx, dword [ebp - 0x24] +add esp, 0x10 +mov eax, dword [ebp - 0x20] +mov dword [edx + 0x18], esi +add edx, 0x2c +mov dword [edx - 8], eax +mov eax, dword [ebp - 0x1c] +mov dword [edx - 0x10], edi +mov dword [edx - 0xc], ebx +mov dword [edx - 4], eax +mov dword [ebp + 0xc], 4 +mov dword [ebp + 8], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_00016f3b ; jmp 0x16f3b + +loc_0001965f: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019667: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +push edx +mov edx, dword [eax] +push dword [ebp + 8] +push eax +call dword [edx + 0x18] ; ucall +leave +ret + +fcn_0001967f: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +mov edx, dword [eax] +push dword [ebp + 0xc] +push dword [ebp + 8] +push eax +call dword [edx + 0x1c] ; ucall +leave +ret + +fcn_00019699: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +sub esp, 0xc +mov edx, dword [eax] +push dword [ebp + 0x14] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +push eax +call dword [edx + 0x20] ; ucall +leave +ret + +fcn_000196bb: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +push edx +mov edx, dword [eax] +push dword [ebp + 8] +push eax +call dword [edx + 0x24] ; ucall +leave +ret + +fcn_000196d3: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +push edx +mov edx, dword [eax] +push dword [ebp + 8] +push eax +call dword [edx + 0x28] ; ucall +leave +ret + +fcn_000196eb: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +push edx +mov edx, dword [eax] +push dword [ebp + 8] +push eax +call dword [edx + 0x2c] ; ucall +leave +ret + +fcn_00019703: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +push edx +mov edx, dword [eax] +push dword [ebp + 8] +push eax +call dword [edx + 0x30] ; ucall +leave +ret + +fcn_0001971b: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +movzx esi, si +movzx ebx, bx +mov edx, dword [eax] +push dword [ebp + 0x10] +push esi +push ebx +push eax +call dword [edx + 0x34] ; ucall +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00019743: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +mov edx, dword [eax] +push dword [ebp + 0xc] +push dword [ebp + 8] +push eax +call dword [edx + 0x38] ; ucall +leave +ret + +fcn_0001975d: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +movzx ebx, bl +mov edx, dword [eax] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push ebx +push eax +call dword [edx + 0x3c] ; ucall +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001977f: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +movzx ebx, bl +mov edx, dword [eax] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push ebx +push eax +call dword [edx + 0x40] ; ucall +mov ebx, dword [ebp - 4] +leave +ret + +fcn_000197a1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +sub esp, 0x10 +mov edx, dword [ebp + 0xc] +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0xc], edx +mov dword [ebp - 0x10], eax +call fcn_00019a6d ; call 0x19a6d +sub esp, 0xc +mov edx, dword [eax] +push edi +push esi +push dword [ebp - 0xc] +push dword [ebp - 0x10] +push eax +call dword [edx + 0x44] ; ucall +lea esp, [ebp - 8] +pop esi +pop edi +pop ebp +ret + +fcn_000197d8: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +mov edx, dword [eax] +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +push eax +call dword [edx + 0x48] ; ucall +leave +ret + +fcn_000197f4: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +push edx +mov edx, dword [eax] +push dword [ebp + 0xc] +push dword [ebp + 8] +push eax +call dword [edx + 0x4c] ; ucall +leave +ret + +fcn_0001980e: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00019a6d ; call 0x19a6d +sub esp, 0xc +mov edx, dword [eax] +push eax +call dword [edx + 0x5c] ; ucall +leave +ret + +fcn_00019824: +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +mov eax, dword [eax] +mov dword [ebp + 8], ebx +mov eax, dword [eax + 0x74] +pop edx +pop ebx +pop ebp +jmp eax +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +mov eax, dword [eax] +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +pop ebx +mov eax, dword [eax + 0x6c] +pop esi +pop ebp +jmp eax +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +call fcn_00019a6d ; call 0x19a6d +mov eax, dword [eax] +mov dword [ebp + 0x10], edi +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +mov eax, dword [eax + 0x68] +add esp, 0xc +pop ebx +pop esi +pop edi +pop ebp +jmp eax +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_00019a6d ; call 0x19a6d +mov eax, dword [eax] +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +pop ebx +mov eax, dword [eax + 0x70] +pop esi +pop ebp +jmp eax +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0xc] +push 0x20 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x24], eax +call fcn_00019cf2 ; call 0x19cf2 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000198fe ; je 0x198fe +test ebx, ebx +jne short loc_000198fe ; jne 0x198fe +push eax +push ref_00025d3a ; push 0x25d3a +push 0x23d +push ref_00025d54 ; push 0x25d54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000198fe: +test edi, edi +je short loc_00019907 ; je 0x19907 +push eax +push eax +push edi +jmp short loc_0001990e ; jmp 0x1990e + +loc_00019907: +push eax +push eax +push ref_00028fbc ; push 0x28fbc + +loc_0001990e: +push ebx +call fcn_00016de3 ; call 0x16de3 +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +mov dword [ebx + 0x10], eax +mov eax, dword [ebp - 0x20] +mov dword [ebx + 0x14], eax +test esi, esi +je short loc_0001995e ; je 0x1995e +push edi +push edi +push esi +push 0x10 +call fcn_00019dcd ; call 0x19dcd +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001995b ; je 0x1995b +test esi, esi +jne short loc_0001995b ; jne 0x1995b +push ecx +push ref_00025d95 ; push 0x25d95 +push 0x248 +push ref_00025d54 ; push 0x25d54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001995b: +mov dword [ebx + 0x18], esi + +loc_0001995e: +mov eax, dword [ebp - 0x24] +test eax, eax +je short loc_0001999c ; je 0x1999c +push edx +push edx +push eax +push 0x10 +call fcn_00019dcd ; call 0x19dcd +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00019999 ; je 0x19999 +test esi, esi +jne short loc_00019999 ; jne 0x19999 +push edi +push ref_00025db7 ; push 0x25db7 +push 0x24d +push ref_00025d54 ; push 0x25d54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019999: +mov dword [ebx + 0x1c], esi + +loc_0001999c: +push ecx +push ecx +push ref_00020504 ; push 0x20504 +push 0xc +call fcn_00019dcd ; call 0x19dcd +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_000199d4 ; je 0x199d4 +test esi, esi +jne short loc_000199d4 ; jne 0x199d4 +push edx +push ref_00025ddb ; push 0x25ddb +push 0x252 +push ref_00025d54 ; push 0x25d54 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_000199d4: +sub esp, 0xc +mov dword [esi + 8], ebx +push esi +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_00019a30 ; je 0x19a30 +test ebx, ebx +jns short loc_00019a30 ; jns 0x19a30 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00019a0f ; je 0x19a0f +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00019a0f: +mov dword [ebp + 0x10], ref_00020664 ; mov dword [ebp + 0x10], 0x20664 +mov dword [ebp + 0xc], 0x256 +mov dword [ebp + 8], ref_00025d54 ; mov dword [ebp + 8], 0x25d54 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153fc ; jmp 0x153fc + +loc_00019a30: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019a38: +push ebp +mov ebp, esp +push ebx +push edx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019a62 ; je 0x19a62 +test ebx, ebx +jne short loc_00019a62 ; jne 0x19a62 +push eax +push ref_00025dff ; push 0x25dff +push 0x29 +push ref_00025e27 ; push 0x25e27 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019a62: +mov dword [ref_00031240], ebx ; mov dword [0x31240], ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00019a6d: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019a9a ; je 0x19a9a +cmp dword [ref_00031240], 0 ; cmp dword [0x31240], 0 +jne short loc_00019a9a ; jne 0x19a9a +push eax +push ref_00025e7d ; push 0x25e7d +push 0x3f +push ref_00025e27 ; push 0x25e27 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019a9a: +mov eax, dword [ref_00031240] ; mov eax, dword [0x31240] +leave +ret + +fcn_00019aa1: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +pop ebp +mov dword [ref_00031240], eax ; mov dword [0x31240], eax +xor eax, eax +ret + +fcn_00019ab0: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x18 +mov eax, dword [ebp + 0xc] +test eax, eax +jne short loc_00019ac1 ; jne 0x19ac1 + +loc_00019abd: ; not directly referenced +xor eax, eax +jmp short loc_00019ad9 ; jmp 0x19ad9 + +loc_00019ac1: ; not directly referenced +push edx +lea edx, [ebp - 0x10] +push edx +push eax +push dword [ebp + 8] +call fcn_000197d8 ; call 0x197d8 +add esp, 0x10 +test eax, eax +js short loc_00019abd ; js 0x19abd +mov eax, dword [ebp - 0x10] + +loc_00019ad9: ; not directly referenced +leave +ret + +fcn_00019adb: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 4 +call fcn_00019ab0 ; call 0x19ab0 +leave +ret + +fcn_00019aed: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 6 +call fcn_00019ab0 ; call 0x19ab0 +leave +ret + +fcn_00019aff: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 0 +call fcn_00019ab0 ; call 0x19ab0 +leave +ret + +fcn_00019b11: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019b3e ; je 0x19b3e +cmp dword [ebp + 0xc], 0 +jne short loc_00019b3e ; jne 0x19b3e +push eax +push ref_00025e9a ; push 0x25e9a +push 0x95 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019b3e: ; not directly referenced +leave +ret + +fcn_00019b40: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019b73 ; je 0x19b73 +lea eax, [ebx - 1] +test eax, ebx +je short loc_00019b73 ; je 0x19b73 +push ecx +push ref_00025ef3 ; push 0x25ef3 +push 0xba +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019b73: ; not directly referenced +test esi, esi +je short loc_00019be2 ; je 0x19be2 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019bb0 ; je 0x19bb0 +xor edx, edx +mov eax, ebx +test ebx, 0xfff +setne dl +shr eax, 0xc +add eax, edx +not eax +cmp esi, eax +jbe short loc_00019bb0 ; jbe 0x19bb0 +push edx +push ref_00025f16 ; push 0x25f16 +push 0xc2 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019bb0: ; not directly referenced +push eax +push eax +mov eax, ebx +shr eax, 0xc +add esi, eax +xor eax, eax +test ebx, 0xfff +setne al +add esi, eax +push esi +push dword [ebp + 8] +call fcn_00019ab0 ; call 0x19ab0 +add esp, 0x10 +cmp ebx, 1 +adc ebx, 0xffffffff +mov edx, ebx +not edx +add ebx, eax +and edx, ebx +jmp short loc_00019be4 ; jmp 0x19be4 + +loc_00019be2: ; not directly referenced +xor edx, edx + +loc_00019be4: ; not directly referenced +lea esp, [ebp - 8] +mov eax, edx +pop ebx +pop esi +pop ebp +ret + +fcn_00019bed: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 8] +push 4 +call fcn_00019b40 ; call 0x19b40 +leave +ret + +fcn_00019c02: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 8] +push 6 +call fcn_00019b40 ; call 0x19b40 +leave +ret + +fcn_00019c17: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 8] +push 0 +call fcn_00019b40 ; call 0x19b40 +leave +ret + +fcn_00019c2c: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019c59 ; je 0x19c59 +cmp dword [ebp + 0xc], 0 +jne short loc_00019c59 ; jne 0x19c59 +push eax +push ref_00025e9a ; push 0x25e9a +push 0x13b +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019c59: ; not directly referenced +leave +ret + +fcn_00019c5b: ; not directly referenced +push ebp +xor edx, edx +mov ebp, esp +mov eax, dword [ebp + 0xc] +test eax, 0xfff +setne dl +shr eax, 0xc +add eax, edx +mov dword [ebp + 0xc], eax +pop ebp +jmp near fcn_00019ab0 ; jmp 0x19ab0 + +fcn_00019c79: +push ebp +mov ebp, esp +sub esp, 0x20 +lea eax, [ebp - 0xc] +push eax +push dword [ebp + 8] +call fcn_000197f4 ; call 0x197f4 +add esp, 0x10 +test eax, eax +jns short loc_00019c99 ; jns 0x19c99 +mov dword [ebp - 0xc], 0 + +loc_00019c99: +mov eax, dword [ebp - 0xc] +leave +ret + +fcn_00019c9e: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 6 +call fcn_00019c5b ; call 0x19c5b +leave +ret + +fcn_00019cb0: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 0 +call fcn_00019c5b ; call 0x19c5b +leave +ret + +fcn_00019cc2: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 0xc] +push ebx +push dword [ebp + 8] +call fcn_00019c5b ; call 0x19c5b +add esp, 0x10 +test eax, eax +je short loc_00019ceb ; je 0x19ceb +mov dword [ebp + 0xc], ebx +mov ebx, dword [ebp - 4] +mov dword [ebp + 8], eax +leave +jmp near fcn_00016f3b ; jmp 0x16f3b + +loc_00019ceb: ; not directly referenced +xor eax, eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00019cf2: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +push ebx +call fcn_00019c79 ; call 0x19c79 +add esp, 0x10 +test eax, eax +je short loc_00019d15 ; je 0x19d15 +push edx +push edx +push ebx +push eax +call fcn_00016f3b ; call 0x16f3b +add esp, 0x10 + +loc_00019d15: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00019d1a: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 6 +call fcn_00019cc2 ; call 0x19cc2 +leave +ret + +fcn_00019d2c: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +push dword [ebp + 8] +push 0 +call fcn_00019cc2 ; call 0x19cc2 +leave +ret + +fcn_00019d3e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019d75 ; je 0x19d75 +test ebx, ebx +jne short loc_00019d75 ; jne 0x19d75 +push ecx +push ref_000260eb ; push 0x260eb +push 0x221 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019d75: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019d9e ; je 0x19d9e +mov eax, ebx +neg eax +cmp esi, eax +jbe short loc_00019d9e ; jbe 0x19d9e +push edx +push ref_00025f66 ; push 0x25f66 +push 0x222 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019d9e: ; not directly referenced +push eax +push eax +push esi +push edi +call fcn_00019c5b ; call 0x19c5b +add esp, 0x10 +test eax, eax +je short loc_00019dc3 ; je 0x19dc3 +mov dword [ebp + 0x10], esi +mov dword [ebp + 0xc], ebx +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001707a ; jmp 0x1707a + +loc_00019dc3: ; not directly referenced +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019dcd: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 8] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019dfd ; je 0x19dfd +test ebx, ebx +jne short loc_00019dfd ; jne 0x19dfd +push eax +push ref_000260eb ; push 0x260eb +push 0x245 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019dfd: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019e26 ; je 0x19e26 +mov eax, ebx +neg eax +cmp esi, eax +jbe short loc_00019e26 ; jbe 0x19e26 +push ecx +push ref_00025f66 ; push 0x25f66 +push 0x246 +push ref_00025ea5 ; push 0x25ea5 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019e26: +sub esp, 0xc +push esi +call fcn_00019c79 ; call 0x19c79 +add esp, 0x10 +test eax, eax +je short loc_00019e42 ; je 0x19e42 +push edx +push esi +push ebx +push eax +call fcn_0001707a ; call 0x1707a +add esp, 0x10 + +loc_00019e42: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_00019e49: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 8] +push 6 +call fcn_00019d3e ; call 0x19d3e +leave +ret + +fcn_00019e5e: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push dword [ebp + 0xc] +push dword [ebp + 8] +push 0 +call fcn_00019d3e ; call 0x19d3e +leave +ret + +fcn_00019e73: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 0x10] +mov esi, dword [ebp + 0x14] +push ebx +push dword [ebp + 8] +call fcn_00019cc2 ; call 0x19cc2 +add esp, 0x10 +mov edi, eax +test eax, eax +je short loc_00019eab ; je 0x19eab +test esi, esi +je short loc_00019eab ; je 0x19eab +cmp ebx, dword [ebp + 0xc] +cmova ebx, dword [ebp + 0xc] +push eax +push ebx +push esi +push edi +call fcn_0001707a ; call 0x1707a +add esp, 0x10 + +loc_00019eab: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_00019eb5: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +push 4 +call fcn_00019e73 ; call 0x19e73 +leave +ret + +fcn_00019ecd: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +push 6 +call fcn_00019e73 ; call 0x19e73 +leave +ret + +fcn_00019ee5: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +push dword [ebp + 0x10] +push dword [ebp + 0xc] +push dword [ebp + 8] +push 0 +call fcn_00019e73 ; call 0x19e73 +leave +ret + +fcn_00019efd: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +ret + +fcn_00019f02: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019f30 ; je 0x19f30 +test ebx, 0x400000 +je short loc_00019f30 ; je 0x19f30 +push eax +push ref_00025f9a ; push 0x25f9a +push 0x33 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019f30: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019f55 ; je 0x19f55 +movzx eax, bh +test eax, eax +je short loc_00019f55 ; je 0x19f55 +push ecx +push ref_0002600d ; push 0x2600d +push 0x34 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019f55: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019f7b ; je 0x19f7b +test ebx, 0x3f0000 +je short loc_00019f7b ; je 0x19f7b +push edx +push ref_00026031 ; push 0x26031 +push 0x35 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019f7b: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019fa1 ; je 0x19fa1 +test ebx, 0xff800001 +je short loc_00019fa1 ; je 0x19fa1 +push eax +push ref_00026056 ; push 0x26056 +push 0x36 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019fa1: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +push 0 +push 0 +push ebx +push 0 +call fcn_0001a727 ; call 0x1a727 +add esp, 0x20 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_00019fbb: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_00019fe9 ; je 0x19fe9 +test ebx, 0x400000 +je short loc_00019fe9 ; je 0x19fe9 +push eax +push ref_00025f9a ; push 0x25f9a +push 0x5c +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_00019fe9: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a00e ; je 0x1a00e +movzx eax, bh +test eax, eax +je short loc_0001a00e ; je 0x1a00e +push ecx +push ref_0002600d ; push 0x2600d +push 0x5d +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a00e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a034 ; je 0x1a034 +test ebx, 0x3f0000 +je short loc_0001a034 ; je 0x1a034 +push edx +push ref_00026031 ; push 0x26031 +push 0x5e +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a034: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a05a ; je 0x1a05a +test ebx, 0xff800001 +je short loc_0001a05a ; je 0x1a05a +push eax +push ref_00026056 ; push 0x26056 +push 0x5f +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a05a: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +push 0 +push 0 +push ebx +push 1 +call fcn_0001a727 ; call 0x1a727 +add esp, 0x20 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a074: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a0a6 ; je 0x1a0a6 +movzx eax, bh +test eax, eax +je short loc_0001a0a6 ; je 0x1a0a6 +push ecx +push ref_0002600d ; push 0x2600d +push 0x8a +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a0a6: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a0cf ; je 0x1a0cf +test ebx, 0x3f0000 +je short loc_0001a0cf ; je 0x1a0cf +push edx +push ref_00026031 ; push 0x26031 +push 0x8b +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a0cf: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a0f8 ; je 0x1a0f8 +test ebx, 0xff800001 +je short loc_0001a0f8 ; je 0x1a0f8 +push eax +push ref_00026056 ; push 0x26056 +push 0x8c +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a0f8: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +lea eax, [ebp - 9] +push eax +push 1 +push ebx +push 2 +call fcn_0001a727 ; call 0x1a727 +mov al, byte [ebp - 9] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a114: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a14a ; je 0x1a14a +movzx eax, bh +test eax, eax +je short loc_0001a14a ; je 0x1a14a +push ecx +push ref_0002600d ; push 0x2600d +push 0xbb +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a14a: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a173 ; je 0x1a173 +test ebx, 0x3f0000 +je short loc_0001a173 ; je 0x1a173 +push edx +push ref_00026031 ; push 0x26031 +push 0xbc +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a173: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a19c ; je 0x1a19c +test ebx, 0xff800001 +je short loc_0001a19c ; je 0x1a19c +push eax +push ref_00026056 ; push 0x26056 +push 0xbd +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a19c: ; not directly referenced +sub esp, 0xc +mov eax, esi +push dword [ebp + 0x10] +mov byte [ebp - 9], al +lea eax, [ebp - 9] +push eax +push 1 +push ebx +push 3 +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001a1be: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a1f1 ; je 0x1a1f1 +test ebx, 0x3f0000 +je short loc_0001a1f1 ; je 0x1a1f1 +push edx +push ref_00026031 ; push 0x26031 +push 0xea +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a1f1: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a21a ; je 0x1a21a +test ebx, 0xff800001 +je short loc_0001a21a ; je 0x1a21a +push eax +push ref_00026056 ; push 0x26056 +push 0xeb +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a21a: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +lea eax, [ebp - 9] +push eax +push 1 +push ebx +push 4 +call fcn_0001a727 ; call 0x1a727 +mov al, byte [ebp - 9] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a236: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a26d ; je 0x1a26d +test ebx, 0x3f0000 +je short loc_0001a26d ; je 0x1a26d +push edx +push ref_00026031 ; push 0x26031 +push 0x11a +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a26d: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a296 ; je 0x1a296 +test ebx, 0xff800001 +je short loc_0001a296 ; je 0x1a296 +push eax +push ref_00026056 ; push 0x26056 +push 0x11b +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a296: ; not directly referenced +sub esp, 0xc +mov eax, esi +push dword [ebp + 0x10] +mov byte [ebp - 9], al +lea eax, [ebp - 9] +push eax +push 1 +push ebx +push 5 +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001a2b8: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a2eb ; je 0x1a2eb +test ebx, 0x3f0000 +je short loc_0001a2eb ; je 0x1a2eb +push edx +push ref_00026031 ; push 0x26031 +push 0x148 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a2eb: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a314 ; je 0x1a314 +test ebx, 0xff800001 +je short loc_0001a314 ; je 0x1a314 +push eax +push ref_00026056 ; push 0x26056 +push 0x149 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a314: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +lea eax, [ebp - 0xa] +push eax +push 2 +push ebx +push 6 +call fcn_0001a727 ; call 0x1a727 +mov ax, word [ebp - 0xa] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a331: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a368 ; je 0x1a368 +test ebx, 0x3f0000 +je short loc_0001a368 ; je 0x1a368 +push edx +push ref_00026031 ; push 0x26031 +push 0x178 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a368: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a391 ; je 0x1a391 +test ebx, 0xff800001 +je short loc_0001a391 ; je 0x1a391 +push eax +push ref_00026056 ; push 0x26056 +push 0x179 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a391: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0x10] +lea eax, [ebp - 0xa] +mov word [ebp - 0xa], si +push eax +push 2 +push ebx +push 7 +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001a3b2: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov eax, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +mov word [ebp - 0xc], ax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a3ec ; je 0x1a3ec +test ebx, 0x3f0000 +je short loc_0001a3ec ; je 0x1a3ec +push edx +push ref_00026031 ; push 0x26031 +push 0x1a7 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a3ec: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a415 ; je 0x1a415 +test ebx, 0xff800001 +je short loc_0001a415 ; je 0x1a415 +push eax +push ref_00026056 ; push 0x26056 +push 0x1a8 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a415: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0x10] +lea eax, [ebp - 0xc] +push eax +push 2 +push ebx +push 0xa +call fcn_0001a727 ; call 0x1a727 +mov eax, dword [ebp - 0xc] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a431: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a461 ; je 0x1a461 +test esi, esi +jne short loc_0001a461 ; jne 0x1a461 +push ecx +push ref_000260eb ; push 0x260eb +push 0x1d8 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a461: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a48a ; je 0x1a48a +test ebx, 0x3f0000 +je short loc_0001a48a ; je 0x1a48a +push edx +push ref_00026031 ; push 0x26031 +push 0x1d9 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a48a: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a4b3 ; je 0x1a4b3 +test ebx, 0xff800001 +je short loc_0001a4b3 ; je 0x1a4b3 +push eax +push ref_00026056 ; push 0x26056 +push 0x1da +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a4b3: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0x10] +push esi +push 0x20 +push ebx +push 8 +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001a4cb: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a4fb ; je 0x1a4fb +test esi, esi +jne short loc_0001a4fb ; jne 0x1a4fb +push eax +push ref_000260eb ; push 0x260eb +push 0x207 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a4fb: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a524 ; je 0x1a524 +test ebx, 0x3f0000 +jne short loc_0001a524 ; jne 0x1a524 +push ecx +push ref_00026080 ; push 0x26080 +push 0x208 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a524: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a552 ; je 0x1a552 +mov eax, ebx +shr eax, 0x10 +and eax, 0x3f +cmp eax, 0x20 +jbe short loc_0001a552 ; jbe 0x1a552 +push edx +push ref_000260a5 ; push 0x260a5 +push 0x209 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a552: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a57b ; je 0x1a57b +test ebx, 0xff800001 +je short loc_0001a57b ; je 0x1a57b +push eax +push ref_00026056 ; push 0x26056 +push 0x20a +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a57b: ; not directly referenced +sub esp, 0xc +mov eax, ebx +push dword [ebp + 0x10] +shr eax, 0x10 +and eax, 0x3f +push esi +push eax +push ebx +push 9 +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001a59a: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a5ce ; je 0x1a5ce +test edi, edi +jne short loc_0001a5ce ; jne 0x1a5ce +push eax +push ref_000260cb ; push 0x260cb +push 0x23c +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a5ce: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a5f5 ; je 0x1a5f5 +cmp dword [ebp + 0x10], 0 +jne short loc_0001a5f5 ; jne 0x1a5f5 +push eax +push ref_000260e7 ; push 0x260e7 +push 0x23d +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a5f5: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a61e ; je 0x1a61e +test ebx, 0x3f0000 +jne short loc_0001a61e ; jne 0x1a61e +push eax +push ref_00026080 ; push 0x26080 +push 0x23e +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a61e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a64c ; je 0x1a64c +mov eax, ebx +shr eax, 0x10 +and eax, 0x3f +cmp eax, 0x20 +jbe short loc_0001a64c ; jbe 0x1a64c +push esi +push ref_000260a5 ; push 0x260a5 +push 0x23f +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a64c: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a675 ; je 0x1a675 +test ebx, 0xff800001 +je short loc_0001a675 ; je 0x1a675 +push ecx +push ref_00026056 ; push 0x26056 +push 0x240 +push ref_00025fcc ; push 0x25fcc +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a675: ; not directly referenced +mov esi, ebx +shr esi, 0x10 +push eax +and esi, 0x3f +push esi +push edi +push dword [ebp + 0x10] +call fcn_0001707a ; call 0x1707a +pop edx +push dword [ebp + 0x14] +push eax +push esi +push ebx +push 0xb +call fcn_0001a727 ; call 0x1a727 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001a69e: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +lea eax, [ebp - 0xc] +push eax +push 0 +push 0 +push ref_0002900c ; push 0x2900c +call fcn_00019699 ; call 0x19699 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001a6fb ; je 0x1a6fb +test ebx, ebx +jns short loc_0001a6fb ; jns 0x1a6fb +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001a6e6 ; je 0x1a6e6 +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001a6e6: ; not directly referenced +push edx +push ref_00020664 ; push 0x20664 +push 0x24 +push ref_00026102 ; push 0x26102 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a6fb: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001a71f ; je 0x1a71f +cmp dword [ebp - 0xc], 0 +jne short loc_0001a71f ; jne 0x1a71f +push eax +push ref_00026146 ; push 0x26146 +push 0x25 +push ref_00026102 ; push 0x26102 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001a71f: ; not directly referenced +mov eax, dword [ebp - 0xc] +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001a727: ; not directly referenced +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0x18] +push ebx +mov ebx, dword [ebp + 0xc] +call fcn_0001a69e ; call 0x1a69e +mov ecx, ebx +shr ecx, 1 +and ecx, 0x7f +push edx +push dword [ebp + 0x14] +lea edx, [ebp + 0x10] +push edx +mov edx, ebx +shr edx, 0x16 +movzx ebx, bh +and edx, 1 +push edx +push dword [ebp + 8] +push ebx +push ecx +push eax +call dword [eax] ; ucall +add esp, 0x20 +test esi, esi +je short loc_0001a763 ; je 0x1a763 +mov dword [esi], eax + +loc_0001a763: ; not directly referenced +mov eax, dword [ebp + 0x10] +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001a76d: +push ebp +mov ebp, esp +sub esp, 0x10 +movzx eax, byte [ebp + 8] +push eax +push 0x80 +call fcn_00018e26 ; call 0x18e26 +mov eax, dword [ebp + 8] +leave +ret + +fcn_0001a787: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x10 +movzx eax, byte [ebp + 8] +push eax +push 0x80 +call fcn_00018e26 ; call 0x18e26 +mov eax, dword [ebp + 8] +leave +ret + +fcn_0001a7a1: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_0001a7a8: ; not directly referenced +push ebp +xor eax, eax +mov ebp, esp +pop ebp +ret + +fcn_0001a7af: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017cc7 ; jmp 0x17cc7 + +fcn_0001a7be: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017cfe ; jmp 0x17cfe + +fcn_0001a7cd: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017d8a ; jmp 0x17d8a + +fcn_0001a7dc: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017e14 ; jmp 0x17e14 + +fcn_0001a7eb: ; not directly referenced +push ebp +mov ebp, esp +movzx eax, byte [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017ce1 ; jmp 0x17ce1 + +fcn_0001a801: ; not directly referenced +push ebp +mov ebp, esp +movzx eax, word [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017d40 ; jmp 0x17d40 + +fcn_0001a817: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017dcb ; jmp 0x17dcb + +fcn_0001a82c: ; not directly referenced +push ebp +mov ebp, esp +mov ecx, dword [ebp + 0x10] +mov eax, dword [ebp + 0x18] +mov edx, dword [ebp + 0x1c] +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +pop ebp +jmp near fcn_00017e64 ; jmp 0x17e64 + +fcn_0001a847: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018e1d ; jmp 0x18e1d + +fcn_0001a856: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018e32 ; jmp 0x18e32 + +fcn_0001a865: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018ea0 ; jmp 0x18ea0 + +fcn_0001a874: ; not directly referenced +push ebp +mov ebp, esp +movzx eax, byte [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_0001a88a: ; not directly referenced +push ebp +mov ebp, esp +movzx eax, word [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018e63 ; jmp 0x18e63 + +fcn_0001a8a0: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x18] +mov dword [ebp + 0xc], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00018ed3 ; jmp 0x18ed3 + +fcn_0001a8b5: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0x10] +mov dword [ebp + 8], eax +pop ebp +jmp near fcn_00017c73 ; jmp 0x17c73 + +fcn_0001a8c4: ; not directly referenced +push ebp +mov ebp, esp +mov ecx, dword [ebp + 0x10] +mov eax, dword [ebp + 0x18] +mov edx, dword [ebp + 0x1c] +mov dword [ebp + 8], ecx +mov dword [ebp + 0xc], eax +mov dword [ebp + 0x10], edx +pop ebp +jmp near fcn_00017c9d ; jmp 0x17c9d + +fcn_0001a8df: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0x10] +cmp dword [ebp + 0x1c], 0 +mov ecx, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov dword [ebp - 0x1c], eax +mov edi, dword [ebp + 0x14] +mov eax, 0x80000002 +mov ebx, dword [ebp + 0x18] +je loc_0001a98c ; je 0x1a98c +cmp esi, 0xb +ja short loc_0001a98c ; ja 0x1a98c +lea edx, [esi - 4] +cmp edx, 3 +mov edx, 1 +cmovbe ebx, edx +and esi, 3 +cmp esi, 3 +jne short loc_0001a928 ; jne 0x1a928 +test cl, cl +je short loc_0001a98c ; je 0x1a98c + +loc_0001a928: ; not directly referenced +mov eax, 0xffff +xor edx, edx +test cl, cl +je short loc_0001a938 ; je 0x1a938 +or eax, 0xffffffff +xor edx, edx + +loc_0001a938: ; not directly referenced +test ebx, ebx +jne short loc_0001a94e ; jne 0x1a94e +cmp edi, edx +jb short loc_0001a982 ; jb 0x1a982 +ja short loc_0001a947 ; ja 0x1a947 + +loc_0001a942: ; not directly referenced +cmp dword [ebp - 0x1c], eax +jbe short loc_0001a982 ; jbe 0x1a982 + +loc_0001a947: ; not directly referenced +mov eax, 0x80000003 +jmp short loc_0001a98c ; jmp 0x1a98c + +loc_0001a94e: ; not directly referenced +push ecx +push esi +push edx +push eax +call fcn_0001718b ; call 0x1718b +lea ecx, [ebx - 1] +add esp, 0x10 +cmp edx, 0 +jbe short loc_0001a986 ; jbe 0x1a986 + +loc_0001a962: ; not directly referenced +push ecx +mov ecx, ebx +xor ebx, ebx +sub eax, ecx +sbb edx, ebx +add eax, 1 +push esi +adc edx, 0 +push edx +push eax +call fcn_0001fd4c ; call 0x1fd4c +add esp, 0x10 +cmp edi, edx +ja short loc_0001a947 ; ja 0x1a947 +jae short loc_0001a942 ; jae 0x1a942 + +loc_0001a982: ; not directly referenced +xor eax, eax +jmp short loc_0001a98c ; jmp 0x1a98c + +loc_0001a986: ; not directly referenced +cmp eax, ecx +jb short loc_0001a947 ; jb 0x1a947 +jmp short loc_0001a962 ; jmp 0x1a962 + +loc_0001a98c: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001a994: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 0x20] +mov edi, dword [ebp + 0x18] +mov esi, dword [ebp + 0x14] +mov edx, dword [ebp + 0x10] +push ebx +push dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +push edi +push esi +push edx +push 1 +call fcn_0001a8df ; call 0x1a8df +add esp, 0x20 +test eax, eax +js loc_0001aab9 ; js 0x1aab9 +mov edx, dword [ebp - 0x1c] +mov dword [ebp - 0x24], 0 +mov al, byte [edx + ref_0002953c] ; mov al, byte [edx + 0x2953c] +mov byte [ebp - 0x1e], al +mov eax, edx +and eax, 3 +mov dword [ebp - 0x1c], eax +movzx eax, byte [eax + ref_00029548] ; movzx eax, byte [eax + 0x29548] +dec eax +test ebx, eax +movzx eax, byte [edx + ref_00029548] ; movzx eax, byte [edx + 0x29548] +sete byte [ebp - 0x1d] +mov dword [ebp - 0x28], eax + +loc_0001a9f8: ; not directly referenced +cmp dword [ebp + 0x1c], 0 +je loc_0001aab7 ; je 0x1aab7 +cmp dword [ebp - 0x1c], 0 +jne short loc_0001aa18 ; jne 0x1aa18 +sub esp, 0xc +push esi +call fcn_00017cc7 ; call 0x17cc7 +mov byte [ebx], al +jmp near loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa18: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_0001aa49 ; jne 0x1aa49 +cmp byte [ebp - 0x1d], 0 +je short loc_0001aa32 ; je 0x1aa32 +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +mov word [ebx], ax +jmp short loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa32: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017cfe ; call 0x17cfe +pop edx +pop ecx +movzx eax, ax +push eax +push ebx +call fcn_00017207 ; call 0x17207 +jmp short loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa49: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_0001aa76 ; jne 0x1aa76 +cmp byte [ebp - 0x1d], 0 +je short loc_0001aa62 ; je 0x1aa62 +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +mov dword [ebx], eax +jmp short loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa62: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +pop edx +pop ecx +push eax +push ebx +call fcn_000172ee ; call 0x172ee +jmp short loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa76: ; not directly referenced +cmp byte [ebp - 0x1d], 0 +je short loc_0001aa8c ; je 0x1aa8c +sub esp, 0xc +push esi +call fcn_00017e14 ; call 0x17e14 +mov dword [ebx], eax +mov dword [ebx + 4], edx +jmp short loc_0001aaa0 ; jmp 0x1aaa0 + +loc_0001aa8c: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00017e14 ; call 0x17e14 +add esp, 0xc +push edx +push eax +push ebx +call fcn_00017360 ; call 0x17360 + +loc_0001aaa0: ; not directly referenced +movzx eax, byte [ebp - 0x1e] +add esp, 0x10 +add esi, dword [ebp - 0x28] +adc edi, dword [ebp - 0x24] +dec dword [ebp + 0x1c] +add ebx, eax +jmp near loc_0001a9f8 ; jmp 0x1a9f8 + +loc_0001aab7: ; not directly referenced +xor eax, eax + +loc_0001aab9: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001aac1: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 0x20] +mov edi, dword [ebp + 0x18] +mov esi, dword [ebp + 0x14] +mov edx, dword [ebp + 0x10] +push ebx +push dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +push edi +push esi +push edx +push 1 +call fcn_0001a8df ; call 0x1a8df +add esp, 0x20 +test eax, eax +js loc_0001abce ; js 0x1abce +mov edx, dword [ebp - 0x1c] +mov dword [ebp - 0x24], 0 +mov al, byte [edx + ref_0002953c] ; mov al, byte [edx + 0x2953c] +mov byte [ebp - 0x1e], al +mov eax, edx +and eax, 3 +mov dword [ebp - 0x1c], eax +movzx eax, byte [eax + ref_00029548] ; movzx eax, byte [eax + 0x29548] +dec eax +test ebx, eax +movzx eax, byte [edx + ref_00029548] ; movzx eax, byte [edx + 0x29548] +sete byte [ebp - 0x1d] +mov dword [ebp - 0x28], eax + +loc_0001ab25: ; not directly referenced +cmp dword [ebp + 0x1c], 0 +je loc_0001abcc ; je 0x1abcc +cmp dword [ebp - 0x1c], 0 +jne short loc_0001ab43 ; jne 0x1ab43 +push eax +push eax +movzx eax, byte [ebx] +push eax +push esi +call fcn_00017ce1 ; call 0x17ce1 +jmp short loc_0001abb5 ; jmp 0x1abb5 + +loc_0001ab43: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_0001ab6d ; jne 0x1ab6d +cmp byte [ebp - 0x1d], 0 +je short loc_0001ab56 ; je 0x1ab56 +push eax +push eax +movzx eax, word [ebx] +jmp short loc_0001ab64 ; jmp 0x1ab64 + +loc_0001ab56: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_000171d5 ; call 0x171d5 +pop edx +pop ecx +movzx eax, ax + +loc_0001ab64: ; not directly referenced +push eax +push esi +call fcn_00017d40 ; call 0x17d40 +jmp short loc_0001abb5 ; jmp 0x1abb5 + +loc_0001ab6d: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_0001ab93 ; jne 0x1ab93 +cmp byte [ebp - 0x1d], 0 +je short loc_0001ab7f ; je 0x1ab7f +push eax +push eax +push dword [ebx] +jmp short loc_0001ab8b ; jmp 0x1ab8b + +loc_0001ab7f: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_000172ba ; call 0x172ba +pop edx +pop ecx +push eax + +loc_0001ab8b: ; not directly referenced +push esi +call fcn_00017dcb ; call 0x17dcb +jmp short loc_0001abb5 ; jmp 0x1abb5 + +loc_0001ab93: ; not directly referenced +cmp byte [ebp - 0x1d], 0 +je short loc_0001aba1 ; je 0x1aba1 +push eax +push dword [ebx + 4] +push dword [ebx] +jmp short loc_0001abaf ; jmp 0x1abaf + +loc_0001aba1: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_00017329 ; call 0x17329 +add esp, 0xc +push edx +push eax + +loc_0001abaf: ; not directly referenced +push esi +call fcn_00017e64 ; call 0x17e64 + +loc_0001abb5: ; not directly referenced +movzx eax, byte [ebp - 0x1e] +add esp, 0x10 +add esi, dword [ebp - 0x28] +adc edi, dword [ebp - 0x24] +dec dword [ebp + 0x1c] +add ebx, eax +jmp near loc_0001ab25 ; jmp 0x1ab25 + +loc_0001abcc: ; not directly referenced +xor eax, eax + +loc_0001abce: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001abd6: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 0x20] +mov edi, dword [ebp + 0x18] +mov esi, dword [ebp + 0x14] +mov edx, dword [ebp + 0x10] +push ebx +push dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +push edi +push esi +push edx +push 0 +call fcn_0001a8df ; call 0x1a8df +add esp, 0x20 +test eax, eax +js loc_0001accc ; js 0x1accc +mov edx, dword [ebp - 0x1c] +mov dword [ebp - 0x24], 0 +mov al, byte [edx + ref_0002953c] ; mov al, byte [edx + 0x2953c] +mov byte [ebp - 0x1e], al +mov eax, edx +and eax, 3 +mov dword [ebp - 0x1c], eax +movzx eax, byte [eax + ref_00029548] ; movzx eax, byte [eax + 0x29548] +dec eax +test ebx, eax +movzx eax, byte [edx + ref_00029548] ; movzx eax, byte [edx + 0x29548] +sete byte [ebp - 0x1d] +mov dword [ebp - 0x28], eax + +loc_0001ac3a: ; not directly referenced +cmp dword [ebp + 0x1c], 0 +je loc_0001acca ; je 0x1acca +cmp dword [ebp - 0x1c], 0 +jne short loc_0001ac57 ; jne 0x1ac57 +sub esp, 0xc +push esi +call fcn_00018e1d ; call 0x18e1d +mov byte [ebx], al +jmp short loc_0001acb3 ; jmp 0x1acb3 + +loc_0001ac57: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_0001ac88 ; jne 0x1ac88 +cmp byte [ebp - 0x1d], 0 +je short loc_0001ac71 ; je 0x1ac71 +sub esp, 0xc +push esi +call fcn_00018e32 ; call 0x18e32 +mov word [ebx], ax +jmp short loc_0001acb3 ; jmp 0x1acb3 + +loc_0001ac71: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00018e32 ; call 0x18e32 +pop edx +pop ecx +movzx eax, ax +push eax +push ebx +call fcn_00017207 ; call 0x17207 +jmp short loc_0001acb3 ; jmp 0x1acb3 + +loc_0001ac88: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_0001acb6 ; jne 0x1acb6 +cmp byte [ebp - 0x1d], 0 +je short loc_0001aca1 ; je 0x1aca1 +sub esp, 0xc +push esi +call fcn_00018ea0 ; call 0x18ea0 +mov dword [ebx], eax +jmp short loc_0001acb3 ; jmp 0x1acb3 + +loc_0001aca1: ; not directly referenced +sub esp, 0xc +push esi +call fcn_00018ea0 ; call 0x18ea0 +pop edx +pop ecx +push eax +push ebx +call fcn_000172ee ; call 0x172ee + +loc_0001acb3: ; not directly referenced +add esp, 0x10 + +loc_0001acb6: ; not directly referenced +movzx eax, byte [ebp - 0x1e] +add esi, dword [ebp - 0x28] +adc edi, dword [ebp - 0x24] +dec dword [ebp + 0x1c] +add ebx, eax +jmp near loc_0001ac3a ; jmp 0x1ac3a + +loc_0001acca: ; not directly referenced +xor eax, eax + +loc_0001accc: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001acd4: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 0x20] +mov edi, dword [ebp + 0x18] +mov esi, dword [ebp + 0x14] +mov edx, dword [ebp + 0x10] +push ebx +push dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +push edi +push esi +push edx +push 0 +call fcn_0001a8df ; call 0x1a8df +add esp, 0x20 +test eax, eax +js loc_0001adb6 ; js 0x1adb6 +mov edx, dword [ebp - 0x1c] +mov dword [ebp - 0x24], 0 +mov al, byte [edx + ref_0002953c] ; mov al, byte [edx + 0x2953c] +mov byte [ebp - 0x1e], al +mov eax, edx +and eax, 3 +mov dword [ebp - 0x1c], eax +movzx eax, byte [eax + ref_00029548] ; movzx eax, byte [eax + 0x29548] +dec eax +test ebx, eax +movzx eax, byte [edx + ref_00029548] ; movzx eax, byte [edx + 0x29548] +sete byte [ebp - 0x1d] +mov dword [ebp - 0x28], eax + +loc_0001ad38: ; not directly referenced +cmp dword [ebp + 0x1c], 0 +je short loc_0001adb4 ; je 0x1adb4 +cmp dword [ebp - 0x1c], 0 +jne short loc_0001ad52 ; jne 0x1ad52 +push eax +push eax +movzx eax, byte [ebx] +push eax +push esi +call fcn_00018e26 ; call 0x18e26 +jmp short loc_0001ada0 ; jmp 0x1ada0 + +loc_0001ad52: ; not directly referenced +cmp dword [ebp - 0x1c], 1 +jne short loc_0001ad7c ; jne 0x1ad7c +cmp byte [ebp - 0x1d], 0 +je short loc_0001ad65 ; je 0x1ad65 +push eax +push eax +movzx eax, word [ebx] +jmp short loc_0001ad73 ; jmp 0x1ad73 + +loc_0001ad65: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_000171d5 ; call 0x171d5 +pop edx +pop ecx +movzx eax, ax + +loc_0001ad73: ; not directly referenced +push eax +push esi +call fcn_00018e63 ; call 0x18e63 +jmp short loc_0001ada0 ; jmp 0x1ada0 + +loc_0001ad7c: ; not directly referenced +cmp dword [ebp - 0x1c], 2 +jne short loc_0001ada3 ; jne 0x1ada3 +cmp byte [ebp - 0x1d], 0 +je short loc_0001ad8e ; je 0x1ad8e +push eax +push eax +push dword [ebx] +jmp short loc_0001ad9a ; jmp 0x1ad9a + +loc_0001ad8e: ; not directly referenced +sub esp, 0xc +push ebx +call fcn_000172ba ; call 0x172ba +pop edx +pop ecx +push eax + +loc_0001ad9a: ; not directly referenced +push esi +call fcn_00018ed3 ; call 0x18ed3 + +loc_0001ada0: ; not directly referenced +add esp, 0x10 + +loc_0001ada3: ; not directly referenced +movzx eax, byte [ebp - 0x1e] +add esi, dword [ebp - 0x28] +adc edi, dword [ebp - 0x24] +dec dword [ebp + 0x1c] +add ebx, eax +jmp short loc_0001ad38 ; jmp 0x1ad38 + +loc_0001adb4: ; not directly referenced +xor eax, eax + +loc_0001adb6: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001adbe: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +push dword [ebp + 8] +call fcn_00019824 ; call 0x19824 +mov edx, dword [ebp + 0xc] +add esp, 0x10 +mov edx, dword [edx] +mov dword [edx + 0x60], ref_00029560 ; mov dword [edx + 0x60], 0x29560 +cmp eax, 0x80000014 +jne short loc_0001ae00 ; jne 0x1ae00 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ae54 ; je 0x1ae54 +push ecx +push ref_00029560 ; push 0x29560 +push ref_0002615f ; push 0x2615f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +jmp short loc_0001ae51 ; jmp 0x1ae51 + +loc_0001ae00: +sub esp, 0xc +push ref_00029554 ; push 0x29554 +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001ae54 ; je 0x1ae54 +test ebx, ebx +jns short loc_0001ae54 ; jns 0x1ae54 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ae3c ; je 0x1ae3c +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001ae3c: +push eax +push ref_00020664 ; push 0x20664 +push 0x35c +push ref_0002619d ; push 0x2619d +call fcn_000153fc ; call 0x153fc + +loc_0001ae51: +add esp, 0x10 + +loc_0001ae54: +xor eax, eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001ae5b: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov al, byte [ebp + 0xc] +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x18] +mov byte [ebp - 0x28], al +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ae9e ; je 0x1ae9e +mov eax, dword [ebp - 0x28] +sub esp, 0xc +push dword [ebp + 0x14] +and eax, 0x7f +push ebx +add eax, eax +push eax +push ref_000261ce ; push 0x261ce +push 0x80000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0001ae9e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001aec7 ; je 0x1aec7 +cmp dword [esi - 0x18], 0x626d7370 +je short loc_0001aec7 ; je 0x1aec7 +push ecx +push ref_00026219 ; push 0x26219 +push 0x43 +push ref_0002622e ; push 0x2622e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_0001aeca ; jmp 0x1aeca + +loc_0001aec7: ; not directly referenced +sub esi, 0x18 + +loc_0001aeca: ; not directly referenced +push edx +mov eax, edi +push edx +movzx edi, al +mov al, byte [ebp - 0x28] +push dword [ebp + 0x20] +push dword [ebp + 0x1c] +push edi +push dword [ebp + 0x14] +push ebx +push eax +call fcn_0001b324 ; call 0x1b324 +add esp, 0x14 +push esi +mov ebx, eax +call fcn_0001b1fc ; call 0x1b1fc +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0001af10 ; je 0x1af10 +push eax +push eax +push ref_00026258 ; push 0x26258 +push 0x80000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001af10: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001af1a: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 0xc] +mov eax, dword [ebp + 8] +mov dword [ebx], 0x626d7370 +mov dword [ebx + 4], eax +lea eax, [ebp - 0xc] +push eax +push 0 +push 0 +push ref_0002912c ; push 0x2912c +call fcn_00019699 ; call 0x19699 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001af8a ; je 0x1af8a +test esi, esi +jns short loc_0001af8a ; jns 0x1af8a +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001af72 ; je 0x1af72 +push edx +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001af72: +push eax +push ref_00020664 ; push 0x20664 +push 0xee +push ref_0002622e ; push 0x2622e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001af8a: +mov eax, dword [ebp - 0xc] +movzx edx, word [eax + 0x388] +add eax, 0x38e +mov dword [ebx + 8], edx +mov dl, byte [eax - 1] +mov dword [ebx + 0xce], eax +lea eax, [ebx + 0x18] +mov dword [ebx + 0xc], 0x80000010 +mov dword [ebx + 0x10], ref_0002900c ; mov dword [ebx + 0x10], 0x2900c +mov byte [ebx + 0xcd], dl +mov dword [ebx + 0x14], eax +mov dword [ebx + 0x18], fcn_0001ae5b ; mov dword [ebx + 0x18], 0x1ae5b +mov dword [ebx + 0x1c], fcn_0001b1de ; mov dword [ebx + 0x1c], 0x1b1de +mov dword [ebx + 0x20], fcn_0001b1e8 ; mov dword [ebx + 0x20], 0x1b1e8 +mov dword [ebx + 0x24], fcn_0001b1f2 ; mov dword [ebx + 0x24], 0x1b1f2 +mov dword [ebx + 0x38], 0x80000020 +mov dword [ebx + 0x3c], ref_00028fec ; mov dword [ebx + 0x3c], 0x28fec +mov dword [ebx + 0x40], fcn_0001b195 ; mov dword [ebx + 0x40], 0x1b195 +mov byte [ebx + 0x44], 0 +mov byte [ebx + 0xd2], 0 +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001b002: +push ebp +mov ebp, esp +push esi +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001b021 ; je 0x1b021 +push eax +push eax +push ref_00026270 ; push 0x26270 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b021: +sub esp, 0xc +push 0x11b +call fcn_00019c79 ; call 0x19c79 +add esp, 0x10 +mov ebx, eax +test eax, eax +jne short loc_0001b05a ; jne 0x1b05a +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000009 +test al, al +je loc_0001b18c ; je 0x1b18c +push eax +push eax +push ref_00026290 ; push 0x26290 +push 0x80000000 +jmp near loc_0001b184 ; jmp 0x1b184 + +loc_0001b05a: +push eax +push eax +push ebx +push dword [ebp + 0xc] +call fcn_0001af1a ; call 0x1af1a +add esp, 0xc +push 3 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add esp, 0xc +push dword [ebx + 8] +push 0xffe0 +mov esi, eax +lea eax, [eax + 0x20] +push eax +call fcn_00018aa4 ; call 0x18aa4 +pop eax +pop edx +lea eax, [esi + 4] +add esi, 0x40 +push 1 +push eax +call fcn_0001866c ; call 0x1866c +pop ecx +pop eax +push 0x10 +push esi +call fcn_0001866c ; call 0x1866c +pop eax +pop edx +push 8 +push esi +call fcn_0001866c ; call 0x1866c +add esp, 0xc +push 1 +push 0xf9 +push esi +call fcn_000186c6 ; call 0x186c6 +pop ecx +pop esi +push 0xff +push 0 +call fcn_0001b277 ; call 0x1b277 +lea eax, [ebx + 0xc] +mov dword [esp], eax +call fcn_00019667 ; call 0x19667 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001b11d ; je 0x1b11d +test esi, esi +jns short loc_0001b11d ; jns 0x1b11d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001b105 ; je 0x1b105 +push eax +push esi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b105: +push esi +push ref_00020664 ; push 0x20664 +push 0xc4 +push ref_0002622e ; push 0x2622e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001b11d: +sub esp, 0xc +add ebx, 0x38 +push ebx +call fcn_000196bb ; call 0x196bb +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001b170 ; je 0x1b170 +test ebx, ebx +jns short loc_0001b170 ; jns 0x1b170 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001b158 ; je 0x1b158 +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b158: +push edx +push ref_00020664 ; push 0x20664 +push 0xca +push ref_0002622e ; push 0x2622e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001b170: +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je short loc_0001b18c ; je 0x1b18c +push eax +push eax +push ref_000262b9 ; push 0x262b9 +push 0x40 + +loc_0001b184: +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b18c: +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_0001b195: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push ecx +mov ebx, dword [ebp + 0xc] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001b1c9 ; je 0x1b1c9 +cmp dword [ebx - 0x38], 0x626d7370 +je short loc_0001b1c9 ; je 0x1b1c9 +push edx +push ref_00026219 ; push 0x26219 +push 0x120 +push ref_0002622e ; push 0x2622e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_0001b1cc ; jmp 0x1b1cc + +loc_0001b1c9: ; not directly referenced +sub ebx, 0x38 + +loc_0001b1cc: ; not directly referenced +push eax +push eax +push ebx +push dword [ebp + 8] +call fcn_0001af1a ; call 0x1af1a +xor eax, eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001b1de: ; not directly referenced +push ebp +mov eax, 0x80000003 +mov ebp, esp +pop ebp +ret + +fcn_0001b1e8: ; not directly referenced +push ebp +mov eax, 0x80000003 +mov ebp, esp +pop ebp +ret + +fcn_0001b1f2: ; not directly referenced +push ebp +mov eax, 0x80000003 +mov ebp, esp +pop ebp +ret + +fcn_0001b1fc: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +ret + +fcn_0001b201: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +push 3 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x20 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +and ebx, 0xffe0 +add esp, 0x10 +test al, al +je short loc_0001b253 ; je 0x1b253 +test ebx, ebx +je short loc_0001b23e ; je 0x1b23e +cmp ebx, 0xffe0 +jne short loc_0001b253 ; jne 0x1b253 + +loc_0001b23e: +push eax +push ref_000262d7 ; push 0x262d7 +push 0x2c +push ref_00026305 ; push 0x26305 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001b253: +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001b25a: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push eax +mov ebx, dword [ebp + 8] +call fcn_0001b201 ; call 0x1b201 +movzx ebx, bl +add eax, ebx +mov dword [ebp + 8], eax +pop edx +pop ebx +pop ebp +jmp near fcn_00018e1d ; jmp 0x18e1d + +fcn_0001b277: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 8] +call fcn_0001b201 ; call 0x1b201 +mov edx, esi +movzx ebx, bl +movzx esi, dl +mov dword [ebp + 0xc], esi +add eax, ebx +mov dword [ebp + 8], eax +pop ebx +pop esi +pop ebp +jmp near fcn_00018e26 ; jmp 0x18e26 + +fcn_0001b29f: ; not directly referenced +push ebp +mov ebp, esp +push ebx +mov ebx, 0x186a0 +push eax + +loc_0001b2a9: ; not directly referenced +sub esp, 0xc +push 0 +call fcn_0001b25a ; call 0x1b25a +mov edx, dword [ebp + 8] +add esp, 0x10 +mov byte [edx], al +test al, 0x8e +jne short loc_0001b2d3 ; jne 0x1b2d3 +sub esp, 0xc +push 0xa +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec ebx +jne short loc_0001b2a9 ; jne 0x1b2a9 +xor eax, eax +jmp short loc_0001b2d5 ; jmp 0x1b2d5 + +loc_0001b2d3: ; not directly referenced +mov al, 1 + +loc_0001b2d5: ; not directly referenced +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001b2da: ; not directly referenced +push ebp +mov ebp, esp +push ebx +mov ebx, 0x80000012 +sub esp, 0x10 +push 0 +call fcn_0001b25a ; call 0x1b25a +add esp, 0x10 +test al, 0x40 +jne short loc_0001b31d ; jne 0x1b31d +test al, 1 +je short loc_0001b30b ; je 0x1b30b +push ecx +push ecx +push 0xff +push 0 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +jmp short loc_0001b31d ; jmp 0x1b31d + +loc_0001b30b: ; not directly referenced +push edx +movzx eax, al +push edx +xor ebx, ebx +push eax +push 0 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 + +loc_0001b31d: ; not directly referenced +mov eax, ebx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001b324: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +mov al, byte [ebp + 0x14] +cmp dword [ebp + 0x10], 1 +mov edi, dword [ebp + 0x18] +mov byte [ebp - 0x2f], al +jbe short loc_0001b34e ; jbe 0x1b34e +cmp dword [ebp + 0x1c], 0 +je loc_0001b850 ; je 0x1b850 +test edi, edi +je loc_0001b850 ; je 0x1b850 + +loc_0001b34e: ; not directly referenced +call fcn_0001b2da ; call 0x1b2da +test eax, eax +js loc_0001b855 ; js 0x1b855 +mov al, byte [ebp + 8] +mov dword [ebp - 0x34], 3 +mov byte [ebp - 0x2d], 0 +lea eax, [eax + eax + 1] +mov byte [ebp - 0x2e], al + +loc_0001b370: ; not directly referenced +mov al, byte [ebp - 0x2e] +cmp dword [ebp + 0x10], 0xb +mov byte [ebp - 0x2c], al +mov al, byte [ebp + 0xc] +mov byte [ebp - 0x30], al +ja loc_0001b525 ; ja 0x1b525 +mov eax, dword [ebp + 0x10] +jmp dword [eax*4 + ref_00020510] ; ujmp: jmp dword [eax*4 + 0x20510] + +loc_0001b390: ; not directly referenced +mov al, byte [ebp - 0x2e] +dec eax +mov byte [ebp - 0x2c], al + +loc_0001b397: ; not directly referenced +cmp byte [ebp - 0x2f], 1 +je loc_0001b515 ; je 0x1b515 +xor esi, esi +jmp near loc_0001b511 ; jmp 0x1b511 + +loc_0001b3a8: ; not directly referenced +mov eax, dword [ebp + 0x1c] +mov al, byte [eax] +mov byte [ebp - 0x30], al +mov al, byte [ebp - 0x2e] +dec eax +mov byte [ebp - 0x2c], al + +loc_0001b3b7: ; not directly referenced +cmp dword [edi], 1 +mov esi, 4 +mov dword [edi], 1 +sbb ebx, ebx +and ebx, 0x80000005 +jmp near loc_0001b4d3 ; jmp 0x1b4d3 + +loc_0001b3d2: ; not directly referenced +mov eax, dword [ebp + 0x1c] +push ecx +push ecx +movzx eax, byte [eax] +push eax +push 5 +call fcn_0001b277 ; call 0x1b277 +mov al, byte [ebp - 0x2e] +add esp, 0x10 +mov dword [edi], 1 +dec eax +mov byte [ebp - 0x2c], al + +loc_0001b3f2: ; not directly referenced +mov eax, dword [edi] +test eax, eax +je loc_0001b502 ; je 0x1b502 +cmp eax, 1 +je loc_0001b50c ; je 0x1b50c +cmp eax, 0x100 +ja loc_0001b525 ; ja 0x1b525 +cmp byte [ebp - 0x2f], 1 +je loc_0001b515 ; je 0x1b515 +mov esi, 0x18 +jmp near loc_0001b511 ; jmp 0x1b511 + +loc_0001b424: ; not directly referenced +mov al, byte [ebp - 0x2e] +dec eax +mov byte [ebp - 0x2c], al +push eax +push eax +mov eax, dword [ebp + 0x1c] +movzx eax, byte [eax + 1] +push eax +push 6 +call fcn_0001b277 ; call 0x1b277 +pop eax +mov eax, dword [ebp + 0x1c] +pop edx +movzx eax, byte [eax] +push eax +push 5 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 + +loc_0001b44f: ; not directly referenced +cmp dword [edi], 2 +mov esi, 0xc +mov dword [edi], 2 +sbb ebx, ebx +and ebx, 0x80000005 +jmp short loc_0001b4d3 ; jmp 0x1b4d3 + +loc_0001b467: ; not directly referenced +push eax +push eax +movzx eax, byte [edi] +push eax +push 5 +call fcn_0001b277 ; call 0x1b277 +mov al, byte [ebp - 0x2e] +add esp, 0x10 +dec eax +mov byte [ebp - 0x2c], al +mov al, byte [edi] +mov byte [ebp - 0x2d], al + +loc_0001b483: ; not directly referenced +mov eax, dword [edi] +dec eax +cmp eax, 0x1f +ja loc_0001b525 ; ja 0x1b525 +mov esi, 0x14 +jmp near loc_0001b51f ; jmp 0x1b51f + +loc_0001b499: ; not directly referenced +mov eax, dword [ebp + 0x1c] +push ebx +push ebx +movzx eax, byte [eax + 1] +push eax +push 6 +call fcn_0001b277 ; call 0x1b277 +pop esi +mov esi, 0x10 +pop eax +mov eax, dword [ebp + 0x1c] +movzx eax, byte [eax] +push eax +push 5 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +cmp dword [edi], 2 +mov dword [edi], 2 +sbb ebx, ebx +and ebx, 0x80000005 + +loc_0001b4d3: ; not directly referenced +xor eax, eax +test ebx, ebx +jns short loc_0001b52f ; jns 0x1b52f +jmp near loc_0001b825 ; jmp 0x1b825 + +loc_0001b4de: ; not directly referenced +mov eax, dword [edi] +dec eax +cmp eax, 0x1f +ja short loc_0001b525 ; ja 0x1b525 +push ecx +mov esi, 0x1c +push ecx +movzx eax, byte [edi] +push eax +push 5 +call fcn_0001b277 ; call 0x1b277 +mov al, byte [edi] +add esp, 0x10 +mov byte [ebp - 0x2d], al +jmp short loc_0001b51f ; jmp 0x1b51f + +loc_0001b502: ; not directly referenced +mov ebx, 0x80000005 +jmp near loc_0001b825 ; jmp 0x1b825 + +loc_0001b50c: ; not directly referenced +mov esi, 8 + +loc_0001b511: ; not directly referenced +xor eax, eax +jmp short loc_0001b521 ; jmp 0x1b521 + +loc_0001b515: ; not directly referenced +mov ebx, 0x80000003 +jmp near loc_0001b825 ; jmp 0x1b825 + +loc_0001b51f: ; not directly referenced +mov al, 2 + +loc_0001b521: ; not directly referenced +xor ebx, ebx +jmp short loc_0001b52f ; jmp 0x1b52f + +loc_0001b525: ; not directly referenced +mov ebx, 0x80000002 +jmp near loc_0001b825 ; jmp 0x1b825 + +loc_0001b52f: ; not directly referenced +mov dl, al +or edx, 1 +cmp byte [ebp - 0x2f], 1 +cmove eax, edx +push edx +movzx eax, al +push edx +push eax +push 0xd +call fcn_0001b277 ; call 0x1b277 +mov dword [esp], 2 +call fcn_0001b25a ; call 0x1b25a +mov eax, dword [ebp + 0x10] +add esp, 0x10 +and eax, 0xfffffffd +cmp eax, 9 +je short loc_0001b57f ; je 0x1b57f + +loc_0001b562: ; not directly referenced +movzx eax, byte [ebp - 0x2c] +push ecx +push ecx +push eax +push 4 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +movzx eax, byte [ebp - 0x30] +cmp dword [ebp + 0x10], 4 +jne short loc_0001b5b6 ; jne 0x1b5b6 +jmp short loc_0001b5aa ; jmp 0x1b5aa + +loc_0001b57f: ; not directly referenced +movzx ecx, byte [ebp - 0x2d] +xor eax, eax +mov dword [ebp - 0x38], ecx + +loc_0001b588: ; not directly referenced +cmp eax, dword [ebp - 0x38] +jae short loc_0001b562 ; jae 0x1b562 +mov ecx, dword [ebp + 0x1c] +push edx +push edx +movzx edx, byte [ecx + eax] +mov dword [ebp - 0x3c], eax +push edx +push 7 +call fcn_0001b277 ; call 0x1b277 +mov eax, dword [ebp - 0x3c] +add esp, 0x10 +inc eax +jmp short loc_0001b588 ; jmp 0x1b588 + +loc_0001b5aa: ; not directly referenced +cmp dword [edi], 1 +jbe short loc_0001b5b6 ; jbe 0x1b5b6 +push ecx +push ecx +push eax +push 6 +jmp short loc_0001b5bb ; jmp 0x1b5bb + +loc_0001b5b6: ; not directly referenced +push edx +push edx +push eax +push 3 + +loc_0001b5bb: ; not directly referenced +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +lea eax, [esi + 0x40] +movzx esi, al +push ecx +push ecx +push esi +push 2 +call fcn_0001b277 ; call 0x1b277 +lea eax, [ebp - 0x19] +mov dword [esp], eax +call fcn_0001b29f ; call 0x1b29f +add esp, 0x10 +test al, al +je loc_0001b820 ; je 0x1b820 +mov al, byte [ebp - 0x19] +test al, 4 +je short loc_0001b612 ; je 0x1b612 +sub esp, 0xc +push 0xc +call fcn_0001b25a ; call 0x1b25a +add esp, 0x10 +and eax, 1 +cmp al, 1 +sbb ebx, ebx +and ebx, 0xffffffec +sub ebx, 0x7fffffe5 +jmp near loc_0001b825 ; jmp 0x1b825 + +loc_0001b612: ; not directly referenced +test al, 8 +je short loc_0001b63a ; je 0x1b63a +push ebx +push ebx +push 8 +push 0 +call fcn_0001b277 ; call 0x1b277 +pop esi +pop eax +push 0xff +push 0 +call fcn_0001b277 ; call 0x1b277 +pop eax +pop edx +push 1 +push 0xc +jmp near loc_0001b7fc ; jmp 0x1b7fc + +loc_0001b63a: ; not directly referenced +mov eax, dword [ebp + 0x10] +sub eax, 2 +cmp eax, 9 +ja loc_0001b7e8 ; ja 0x1b7e8 +jmp dword [eax*4 + ref_00020540] ; ujmp: jmp dword [eax*4 + 0x20540] + +loc_0001b650: ; not directly referenced +sub esp, 0xc +push 6 +call fcn_0001b25a ; call 0x1b25a +mov ecx, dword [ebp + 0x1c] +mov byte [ecx + 1], al +mov dword [esp], 5 +jmp near loc_0001b727 ; jmp 0x1b727 + +loc_0001b66c: ; not directly referenced +cmp dword [edi], 1 +jbe loc_0001b722 ; jbe 0x1b722 +xor esi, esi + +loc_0001b677: ; not directly referenced +cmp esi, dword [edi] +jae loc_0001b7e8 ; jae 0x1b7e8 +sub esp, 0xc +push 7 +call fcn_0001b25a ; call 0x1b25a +mov ecx, dword [ebp + 0x1c] +add esp, 0x10 +mov byte [ecx + esi], al +mov eax, dword [edi] +lea edx, [eax - 2] +cmp esi, edx +jne short loc_0001b6af ; jne 0x1b6af +sub esp, 0xc +push 2 +call fcn_0001b25a ; call 0x1b25a +pop edx +pop ecx +or eax, 0x20 +movzx eax, al +jmp short loc_0001b6c5 ; jmp 0x1b6c5 + +loc_0001b6af: ; not directly referenced +dec eax +cmp esi, eax +jne short loc_0001b6d0 ; jne 0x1b6d0 +sub esp, 0xc +push 2 +call fcn_0001b25a ; call 0x1b25a +pop edx +pop ecx +and eax, 0xdf + +loc_0001b6c5: ; not directly referenced +push eax +push 2 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 + +loc_0001b6d0: ; not directly referenced +push eax +push eax +push 0x80 +push 0 +call fcn_0001b277 ; call 0x1b277 +mov eax, dword [edi] +add esp, 0x10 +dec eax +cmp esi, eax +jae short loc_0001b71c ; jae 0x1b71c +mov dword [ebp - 0x2c], 0x64 + +loc_0001b6ef: ; not directly referenced +sub esp, 0xc +push 0 +call fcn_0001b25a ; call 0x1b25a +add esp, 0x10 +test al, al +js short loc_0001b71c ; js 0x1b71c +sub esp, 0xc +push 0xa +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec dword [ebp - 0x2c] +jne short loc_0001b6ef ; jne 0x1b6ef +mov ebx, 0x80000012 +jmp near loc_0001b7e8 ; jmp 0x1b7e8 + +loc_0001b71c: ; not directly referenced +inc esi +jmp near loc_0001b677 ; jmp 0x1b677 + +loc_0001b722: ; not directly referenced +sub esp, 0xc +push 5 + +loc_0001b727: ; not directly referenced +call fcn_0001b25a ; call 0x1b25a +mov ecx, dword [ebp + 0x1c] +mov byte [ecx], al +jmp short loc_0001b741 ; jmp 0x1b741 + +loc_0001b733: ; not directly referenced +push eax +push eax +push 0x80 +push 0 +call fcn_0001b277 ; call 0x1b277 + +loc_0001b741: ; not directly referenced +add esp, 0x10 +jmp near loc_0001b7e8 ; jmp 0x1b7e8 + +loc_0001b749: ; not directly referenced +sub esp, 0xc +xor esi, esi +push 5 +call fcn_0001b25a ; call 0x1b25a +add esp, 0x10 +mov byte [ebp - 0x2d], al +movzx edx, al +mov al, 1 +cmp dword [edi], edx +jb short loc_0001b786 ; jb 0x1b786 + +loc_0001b764: ; not directly referenced +cmp esi, edx +jae short loc_0001b784 ; jae 0x1b784 +sub esp, 0xc +push 7 +mov dword [ebp - 0x2c], edx +call fcn_0001b25a ; call 0x1b25a +mov ecx, dword [ebp + 0x1c] +add esp, 0x10 +mov edx, dword [ebp - 0x2c] +mov byte [ecx + esi], al +inc esi +jmp short loc_0001b764 ; jmp 0x1b764 + +loc_0001b784: ; not directly referenced +xor eax, eax + +loc_0001b786: ; not directly referenced +test al, al +mov eax, 0x80000005 +mov dword [edi], edx +cmovne ebx, eax +jmp short loc_0001b7e8 ; jmp 0x1b7e8 + +loc_0001b794: ; not directly referenced +sub esp, 0xc +push 5 +call fcn_0001b25a ; call 0x1b25a +add esp, 0x10 +mov byte [ebp - 0x2d], al +test al, al +je short loc_0001b7dc ; je 0x1b7dc +movzx eax, byte [edi] +xor esi, esi +movzx edx, byte [ebp - 0x2d] +add eax, edx +cmp eax, 0x20 +jg short loc_0001b7e3 ; jg 0x1b7e3 + +loc_0001b7b8: ; not directly referenced +cmp esi, edx +jae short loc_0001b7d8 ; jae 0x1b7d8 +sub esp, 0xc +push 7 +mov dword [ebp - 0x2c], edx +call fcn_0001b25a ; call 0x1b25a +mov ecx, dword [ebp + 0x1c] +add esp, 0x10 +mov edx, dword [ebp - 0x2c] +mov byte [ecx + esi], al +inc esi +jmp short loc_0001b7b8 ; jmp 0x1b7b8 + +loc_0001b7d8: ; not directly referenced +mov dword [edi], edx +jmp short loc_0001b7e8 ; jmp 0x1b7e8 + +loc_0001b7dc: ; not directly referenced +mov ebx, 0x80000005 +jmp short loc_0001b7e8 ; jmp 0x1b7e8 + +loc_0001b7e3: ; not directly referenced +mov ebx, 0x80000007 + +loc_0001b7e8: ; not directly referenced +test byte [ebp - 0x19], 8 +je short loc_0001b825 ; je 0x1b825 +cmp ebx, 0x80000005 +je short loc_0001b825 ; je 0x1b825 +push eax +push eax +push 8 +push 0 + +loc_0001b7fc: ; not directly referenced +call fcn_0001b277 ; call 0x1b277 +mov dword [esp], 0xa +call fcn_0001ba3f ; call 0x1ba3f +add esp, 0x10 +dec dword [ebp - 0x34] +jne loc_0001b370 ; jne 0x1b370 +mov ebx, 0x80000007 +jmp short loc_0001b825 ; jmp 0x1b825 + +loc_0001b820: ; not directly referenced +mov ebx, 0x80000012 + +loc_0001b825: ; not directly referenced +push eax +push eax +push 0xff +push 0 +call fcn_0001b277 ; call 0x1b277 +pop edx +pop ecx +push 1 +push 0xc +call fcn_0001b277 ; call 0x1b277 +pop esi +pop edi +push 0 +push 0xd +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +mov eax, ebx +jmp short loc_0001b855 ; jmp 0x1b855 + +loc_0001b850: ; not directly referenced +mov eax, 0x80000002 + +loc_0001b855: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001b85d: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 8 +push 3 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +pop edx +pop ecx +push 1 +mov ebx, eax +lea eax, [eax + 4] +add ebx, 0x40 +push eax +call fcn_0001866c ; call 0x1866c +add esp, 0xc +push 1 +push 0xf9 +push ebx +call fcn_000186c6 ; call 0x186c6 +pop ebx +pop eax +push 0xff +push 0 +call fcn_0001b277 ; call 0x1b277 +add esp, 0x10 +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001b8a7: +push ebp +mov ebp, esp +push esi +push ebx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001b8c6 ; je 0x1b8c6 +push ebx +push ebx +push ref_00026331 ; push 0x26331 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b8c6: +sub esp, 0xc +mov esi, 0x80000009 +push 0x20 +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov ebx, eax +test eax, eax +je loc_0001b969 ; je 0x1b969 +sub esp, 0xc +lea eax, [eax + 0xc] +push eax +call fcn_0001ff03 ; call 0x1ff03 +lea eax, [ebx + 0x14] +mov dword [ebx], 0x80000010 +mov dword [ebx + 4], ref_0002908c ; mov dword [ebx + 4], 0x2908c +mov dword [ebx + 8], eax +mov dword [esp], ebx +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001b94d ; je 0x1b94d +test ebx, ebx +jns short loc_0001b94d ; jns 0x1b94d +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001b938 ; je 0x1b938 +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b938: +push edx +push ref_00020664 ; push 0x20664 +push 0x4c +push ref_0002634a ; push 0x2634a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001b94d: +call fcn_000153e9 ; call 0x153e9 +mov esi, ebx +test al, al +je short loc_0001b969 ; je 0x1b969 +push eax +push eax +push ref_0002636f ; push 0x2636f +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001b969: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001b972: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +sub eax, 4 +cmp eax, 1 +ja short loc_0001b9c5 ; ja 0x1b9c5 +push 0 +push 0 +push 0 +push ref_00028fec ; push 0x28fec +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +test eax, eax +jne short loc_0001b9c5 ; jne 0x1b9c5 +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000003 +test al, al +je loc_0001ba35 ; je 0x1ba35 +push ecx +push ecx +push ref_00026386 ; push 0x26386 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001ba35 ; jmp 0x1ba35 + +loc_0001b9c5: ; not directly referenced +xor ebx, ebx +lea edi, [ebp - 0x1c] + +loc_0001b9ca: ; not directly referenced +push edi +push 0 +push ebx +push ref_000290ac ; push 0x290ac +call fcn_00019699 ; call 0x19699 +add esp, 0x10 +mov esi, eax +test eax, eax +jne short loc_0001b9ee ; jne 0x1b9ee +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +push dword [ebp + 8] +call dword [eax] ; ucall +jmp short loc_0001ba27 ; jmp 0x1ba27 + +loc_0001b9ee: ; not directly referenced +cmp eax, 0x8000000e +jne short loc_0001ba10 ; jne 0x1ba10 +test ebx, ebx +jne short loc_0001ba10 ; jne 0x1ba10 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ba2a ; je 0x1ba2a +push edx +push edx +push ref_000263b0 ; push 0x263b0 +push 0x80000040 +jmp short loc_0001ba22 ; jmp 0x1ba22 + +loc_0001ba10: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ba2a ; je 0x1ba2a +push eax +push eax +push ref_000263db ; push 0x263db +push 0x40 + +loc_0001ba22: ; not directly referenced +call fcn_000153f7 ; call 0x153f7 + +loc_0001ba27: ; not directly referenced +add esp, 0x10 + +loc_0001ba2a: ; not directly referenced +inc ebx +cmp esi, 0x8000000e +jne short loc_0001b9ca ; jne 0x1b9ca +xor ebx, ebx + +loc_0001ba35: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001ba3f: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov edi, dword [ebp + 8] +test edi, edi +je loc_0001badd ; je 0x1badd +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x40 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov esi, eax +and esi, 0xfffc +add esi, 8 +mov dword [esp], esi +call fcn_00018ea0 ; call 0x18ea0 +mov ecx, 0x64 +xor edx, edx +add esp, 0x10 +mov ebx, eax +imul eax, edi, 0x166 +and ebx, 0xffffff +div ecx +lea edi, [ebx + eax + 1] +mov ecx, edi +and edi, 0xffffff +shr ecx, 0x18 + +loc_0001baa6: +test ecx, ecx +setne dl +cmp edi, ebx +jbe short loc_0001bad9 ; jbe 0x1bad9 + +loc_0001baaf: +sub esp, 0xc +push esi +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x1c], ecx +call fcn_00018ea0 ; call 0x18ea0 +add esp, 0x10 +mov ecx, dword [ebp - 0x1c] +mov edx, dword [ebp - 0x20] +and eax, 0xffffff +cmp eax, ebx +jae short loc_0001bad5 ; jae 0x1bad5 +test dl, dl +je short loc_0001badd ; je 0x1badd +dec ecx + +loc_0001bad5: +mov ebx, eax +jmp short loc_0001baa6 ; jmp 0x1baa6 + +loc_0001bad9: +test dl, dl +jne short loc_0001baaf ; jne 0x1baaf + +loc_0001badd: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001bae5: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +lea eax, [ebx + 0x3804] +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +xor edx, edx +test ah, 0x40 +je short loc_0001bb32 ; je 0x1bb32 +push eax +push 0 +push 0xffff8003 +lea eax, [ebx + 0x38b0] +add ebx, 0x38b4 +push eax +call fcn_00018aa4 ; call 0x18aa4 +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +cmp eax, 0xff0a55a +sete dl + +loc_0001bb32: +mov al, dl +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001bb39: +push ebp +mov ebp, esp +push ebx +sub esp, 0x18 +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov ebx, eax +lea eax, [eax + 8] +add ebx, 2 +mov dword [esp], eax +call fcn_00017cc7 ; call 0x17cc7 +mov dword [esp], ebx +mov dl, al +mov dword [ebp - 0xc], edx +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, dword [ebp - 0xc] +mov ecx, eax +and ecx, 0xfffffffd +cmp cx, 0x8c44 +je short loc_0001bbbc ; je 0x1bbbc +lea ecx, [eax + 0x73b2] +cmp cx, 2 +jbe short loc_0001bbbc ; jbe 0x1bbbc +lea ecx, [eax + 0x73b7] +cmp cx, 3 +jbe short loc_0001bbbc ; jbe 0x1bbbc +lea ecx, [eax + 0x73bf] +cmp cx, 1 +jbe short loc_0001bbbc ; jbe 0x1bbbc +cmp ax, 0x8c58 +je short loc_0001bbbc ; je 0x1bbbc +mov ecx, eax +and ecx, 0xfffffffb +cmp cx, 0x8c52 +je short loc_0001bbbc ; je 0x1bbbc +mov ecx, eax +and ecx, 0xfffffff7 +cmp cx, 0x8c54 +jne short loc_0001bbe3 ; jne 0x1bbe3 + +loc_0001bbbc: +cmp dl, 4 +je loc_0001bc99 ; je 0x1bc99 +cmp dl, 5 +je short loc_0001bbd9 ; je 0x1bbd9 +mov eax, 1 +cmp dl, 3 +jne short loc_0001bbfc ; jne 0x1bbfc +jmp near loc_0001bcac ; jmp 0x1bcac + +loc_0001bbd9: +mov eax, 3 +jmp near loc_0001bcac ; jmp 0x1bcac + +loc_0001bbe3: +lea ecx, [eax + 0x733f] +cmp cx, 5 +ja short loc_0001bc11 ; ja 0x1bc11 +mov eax, 0x10 +test dl, dl +je loc_0001bcac ; je 0x1bcac + +loc_0001bbfc: +call fcn_000153e9 ; call 0x153e9 +test al, al +je loc_0001bc92 ; je 0x1bc92 +push ecx +push ref_00026405 ; push 0x26405 +jmp short loc_0001bc80 ; jmp 0x1bc80 + +loc_0001bc11: +lea ecx, [eax + 0x63bf] +cmp cx, 6 +ja short loc_0001bc4b ; ja 0x1bc4b +cmp dl, 3 +je short loc_0001bca0 ; je 0x1bca0 +cmp dl, 4 +je short loc_0001bc33 ; je 0x1bc33 +mov eax, 0x20 +cmp dl, 2 +jne short loc_0001bc3a ; jne 0x1bc3a +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bc33: +mov eax, 0x22 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bc3a: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001bc92 ; je 0x1bc92 +push edx +push ref_0002640c ; push 0x2640c +jmp short loc_0001bc80 ; jmp 0x1bc80 + +loc_0001bc4b: +add ax, 0x633f +cmp ax, 0xa +ja short loc_0001bc92 ; ja 0x1bc92 +cmp dl, 2 +je short loc_0001bca7 ; je 0x1bca7 +cmp dl, 3 +je short loc_0001bc6a ; je 0x1bc6a +dec dl +jne short loc_0001bc71 ; jne 0x1bc71 +mov eax, 0x41 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bc6a: +mov eax, 0x43 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bc71: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001bc92 ; je 0x1bc92 +push eax +push ref_00026414 ; push 0x26414 + +loc_0001bc80: +push ref_000295b0 ; push 0x295b0 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001bc92: +mov eax, 0x44 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bc99: +mov eax, 2 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bca0: +mov eax, 0x21 +jmp short loc_0001bcac ; jmp 0x1bcac + +loc_0001bca7: +mov eax, 0x42 + +loc_0001bcac: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001bcb1: +push ebp +mov ebp, esp +push esi +push ebx +push edx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 2] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dword [esp], esi +movzx ebx, ax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp ax, 0x8086 +jne short loc_0001bd5c ; jne 0x1bd5c +mov eax, ebx +mov esi, 1 +and eax, 0xfffffffd +cmp ax, 0x8c44 +je loc_0001bd82 ; je 0x1bd82 +lea eax, [ebx + 0x73b2] +cmp ax, 2 +jbe short loc_0001bd82 ; jbe 0x1bd82 +lea eax, [ebx + 0x73b7] +cmp ax, 3 +jbe short loc_0001bd82 ; jbe 0x1bd82 +lea eax, [ebx + 0x73bf] +cmp ax, 1 +jbe short loc_0001bd82 ; jbe 0x1bd82 +cmp bx, 0x8c58 +je short loc_0001bd82 ; je 0x1bd82 +mov eax, ebx +and eax, 0xfffffffb +cmp ax, 0x8c52 +je short loc_0001bd7d ; je 0x1bd7d +mov eax, ebx +and eax, 0xfffffff7 +cmp ax, 0x8c54 +je short loc_0001bd7d ; je 0x1bd7d +lea eax, [ebx + 0x63bf] +cmp ax, 6 +jbe short loc_0001bd82 ; jbe 0x1bd82 +lea eax, [ebx + 0x733f] +cmp ax, 5 +jbe short loc_0001bd7d ; jbe 0x1bd7d +lea eax, [ebx + 0x633f] +cmp ax, 0xa +jbe short loc_0001bd82 ; jbe 0x1bd82 + +loc_0001bd5c: +call fcn_000153e9 ; call 0x153e9 +xor esi, esi +test al, al +je short loc_0001bd82 ; je 0x1bd82 +push eax +push ebx +push ref_0002641c ; push 0x2641c +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001bd82 ; jmp 0x1bd82 + +loc_0001bd7d: +mov esi, 1 + +loc_0001bd82: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001bd8b: +push ebp +mov ebp, esp +push ebx +push ebx +mov eax, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +cmp al, 1 +je short loc_0001bda6 ; je 0x1bda6 +xor edx, edx +cmp al, 1 +sbb eax, eax +and eax, 0xfffffff0 +dec eax +jmp short loc_0001bdae ; jmp 0x1bdae + +loc_0001bda6: +mov edx, 0x10 +or eax, 0xffffffff + +loc_0001bdae: +push ecx +add ebx, 0x3410 +push edx +push eax +push ebx +call fcn_00018aa4 ; call 0x18aa4 +add esp, 0x10 +mov dword [ebp + 8], ebx +mov ebx, dword [ebp - 4] +leave +jmp near fcn_00017d8a ; jmp 0x17d8a + +fcn_0001bdcc: +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov ebx, dword [ebp + 8] +push ebx +call fcn_0001bae5 ; call 0x1bae5 +add esp, 0x10 +xor edx, edx +dec al +jne short loc_0001bdff ; jne 0x1bdff +sub esp, 0xc +add ebx, 0x3860 +push ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +cmp eax, 0x7fff +setne dl + +loc_0001bdff: +mov al, dl +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001be06: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x10 +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +pop eax +and esi, 0xffffc000 +pop edx +lea ebx, [esi + 0x38b0] +add esi, 0x38b4 +push 0xffff8003 +push ebx +call fcn_00018a7a ; call 0x18a7a +pop ecx +pop edi +push 0x4010 +push ebx +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +pop eax +pop edx +push 0xffff8003 +push ebx +call fcn_00018a7a ; call 0x18a7a +pop ecx +pop eax +push 0x403c +push ebx +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], esi +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +xor edx, edx +and edi, 3 +je short loc_0001be93 ; je 0x1be93 +shr eax, 6 +mov edx, eax +and edx, 1 + +loc_0001be93: ; not directly referenced +lea esp, [ebp - 0xc] +mov al, dl +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001be9d: ; not directly referenced +push ebp +mov ebp, esp +push esi +push ebx +mov ebx, dword [ebp + 8] +sub esp, 0xc +push ebx +call fcn_0001bae5 ; call 0x1bae5 +add esp, 0x10 +mov dl, al +xor eax, eax +test dl, dl +je short loc_0001bef0 ; je 0x1bef0 +push eax +push eax +push 0xffff8003 +lea esi, [ebx + 0x38b0] +add ebx, 0x38b4 +push esi +call fcn_00018a7a ; call 0x18a7a +pop edx +pop ecx +push 0x4024 +push esi +call fcn_00018a50 ; call 0x18a50 +mov dword [esp], ebx +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +shr eax, 0xe +and eax, 1 + +loc_0001bef0: ; not directly referenced +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001bef7: +push ebp +mov ebp, esp +push esi +mov esi, 1 +push ebx +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +movzx ebx, ax +mov eax, ebx +and eax, 0xfffffffd +cmp ax, 0x8c44 +je loc_0001bff0 ; je 0x1bff0 +lea eax, [ebx + 0x73b2] +cmp ax, 2 +jbe loc_0001bff0 ; jbe 0x1bff0 +lea eax, [ebx + 0x73b7] +cmp ax, 3 +jbe loc_0001bff0 ; jbe 0x1bff0 +lea eax, [ebx + 0x73bf] +cmp ax, 1 +jbe loc_0001bff0 ; jbe 0x1bff0 +cmp bx, 0x8c58 +je loc_0001bff0 ; je 0x1bff0 +mov eax, ebx +and eax, 0xfffffffb +cmp ax, 0x8c52 +je short loc_0001bfeb ; je 0x1bfeb +mov eax, ebx +and eax, 0xfffffff7 +cmp ax, 0x8c54 +je short loc_0001bfeb ; je 0x1bfeb +lea eax, [ebx + 0x733f] +cmp ax, 5 +jbe short loc_0001bff0 ; jbe 0x1bff0 +lea eax, [ebx + 0x63bf] +mov si, 2 +cmp ax, 6 +jbe short loc_0001bff0 ; jbe 0x1bff0 +lea eax, [ebx + 0x633f] +cmp ax, 0xa +jbe short loc_0001bff0 ; jbe 0x1bff0 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001bfc3 ; je 0x1bfc3 +push edx +push ebx +push ref_0002644f ; push 0x2644f +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001bfc3: +call fcn_000153f0 ; call 0x153f0 +mov esi, 3 +test al, al +je short loc_0001bff0 ; je 0x1bff0 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x1cd +push ref_0002647a ; push 0x2647a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_0001bff0 ; jmp 0x1bff0 + +loc_0001bfeb: +mov esi, 1 + +loc_0001bff0: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001bff9: +push ebp +mov ebp, esp +push esi +mov esi, 1 +push ebx +push ecx +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +movzx ebx, ax +mov eax, ebx +and eax, 0xfffffffd +cmp ax, 0x8c44 +je loc_0001c0f2 ; je 0x1c0f2 +lea eax, [ebx + 0x73b2] +cmp ax, 2 +jbe loc_0001c0f2 ; jbe 0x1c0f2 +lea eax, [ebx + 0x73b7] +cmp ax, 3 +jbe loc_0001c0f2 ; jbe 0x1c0f2 +lea eax, [ebx + 0x73bf] +cmp ax, 1 +jbe loc_0001c0f2 ; jbe 0x1c0f2 +cmp bx, 0x8c58 +je loc_0001c0f2 ; je 0x1c0f2 +mov eax, ebx +and eax, 0xfffffffb +cmp ax, 0x8c52 +je short loc_0001c0ed ; je 0x1c0ed +mov eax, ebx +and eax, 0xfffffff7 +cmp ax, 0x8c54 +je short loc_0001c0ed ; je 0x1c0ed +lea eax, [ebx + 0x63bf] +cmp ax, 6 +jbe short loc_0001c0f2 ; jbe 0x1c0f2 +lea eax, [ebx + 0x733f] +cmp ax, 5 +jbe short loc_0001c0f2 ; jbe 0x1c0f2 +lea eax, [ebx + 0x633f] +mov si, 2 +cmp ax, 0xa +jbe short loc_0001c0f2 ; jbe 0x1c0f2 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c0c5 ; je 0x1c0c5 +push edx +push ebx +push ref_0002644f ; push 0x2644f +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c0c5: +call fcn_000153f0 ; call 0x153f0 +mov esi, 3 +test al, al +je short loc_0001c0f2 ; je 0x1c0f2 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x1ec +push ref_0002647a ; push 0x2647a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_0001c0f2 ; jmp 0x1c0f2 + +loc_0001c0ed: +mov esi, 1 + +loc_0001c0f2: +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_0001c0fb: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c117 ; je 0x1c117 +xor edx, edx +cmp eax, 2 +mov al, 6 +cmove edx, eax +jmp short loc_0001c119 ; jmp 0x1c119 + +loc_0001c117: +mov dl, 8 + +loc_0001c119: +mov al, dl +leave +ret + +fcn_0001c11d: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c138 ; je 0x1c138 +cmp eax, 2 +sete al +shl eax, 2 +jmp short loc_0001c13a ; jmp 0x1c13a + +loc_0001c138: +mov al, 6 + +loc_0001c13a: +leave +ret + +fcn_0001c13c: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c154 ; je 0x1c154 +cmp eax, 2 +sete al +jmp short loc_0001c156 ; jmp 0x1c156 + +loc_0001c154: ; not directly referenced +mov al, 2 + +loc_0001c156: ; not directly referenced +leave +ret + +fcn_0001c158: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 1 +jne short loc_0001c176 ; jne 0x1c176 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +jne short loc_0001c176 ; jne 0x1c176 +mov al, 0xe +jmp short loc_0001c17f ; jmp 0x1c17f + +loc_0001c176: ; not directly referenced +cmp eax, 2 +sete al +shl eax, 3 + +loc_0001c17f: ; not directly referenced +leave +ret + +fcn_0001c181: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c199 ; je 0x1c199 +cmp eax, 2 +sete al +jmp short loc_0001c19b ; jmp 0x1c19b + +loc_0001c199: +mov al, 2 + +loc_0001c19b: +leave +ret + +fcn_0001c19d: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 1 +jne short loc_0001c1c6 ; jne 0x1c1c6 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c1c2 ; je 0x1c1c2 +cmp eax, 2 +sete dl +shl edx, 3 +jmp short loc_0001c1d0 ; jmp 0x1c1d0 + +loc_0001c1c2: +mov dl, 0xe +jmp short loc_0001c1d0 ; jmp 0x1c1d0 + +loc_0001c1c6: +cmp eax, 2 +mov dl, 0xa +mov al, 0 +cmovne edx, eax + +loc_0001c1d0: +mov al, dl +leave +ret + +fcn_0001c1d4: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 1 +jne short loc_0001c1f2 ; jne 0x1c1f2 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +jne short loc_0001c1f2 ; jne 0x1c1f2 +mov al, 0xe +jmp short loc_0001c1fb ; jmp 0x1c1fb + +loc_0001c1f2: +cmp eax, 2 +sete al +shl eax, 3 + +loc_0001c1fb: +leave +ret + +fcn_0001c1fd: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 1 +jne short loc_0001c226 ; jne 0x1c226 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +je short loc_0001c222 ; je 0x1c222 +cmp eax, 2 +sete dl +lea edx, [edx + edx*8] +jmp short loc_0001c230 ; jmp 0x1c230 + +loc_0001c222: +mov dl, 0xf +jmp short loc_0001c230 ; jmp 0x1c230 + +loc_0001c226: +cmp eax, 2 +mov dl, 0xb +mov al, 0 +cmovne edx, eax + +loc_0001c230: +mov al, dl +leave +ret + +fcn_0001c234: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_0001bff9 ; call 0x1bff9 +cmp eax, 1 +jne short loc_0001c252 ; jne 0x1c252 +call fcn_0001bef7 ; call 0x1bef7 +cmp eax, 1 +jne short loc_0001c252 ; jne 0x1c252 +mov al, 6 +jmp short loc_0001c25b ; jmp 0x1c25b + +loc_0001c252: +cmp eax, 2 +sete al +shl eax, 2 + +loc_0001c25b: +leave +ret + +fcn_0001c25d: +push ebp +mov ebp, esp +push esi +push ebx +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov esi, eax +lea eax, [eax + 0xa2] +add esi, 0xa4 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov dword [esp], esi +mov ebx, eax +call fcn_00017cfe ; call 0x17cfe +mov ecx, dword [ebp + 8] +add esp, 0x10 +lea edx, [ecx - 1] +cmp edx, 4 +ja short loc_0001c2d0 ; ja 0x1c2d0 +jmp dword [edx*4 + ref_00020568] ; ujmp: jmp dword [edx*4 + 0x20568] + +loc_0001c2a3: +shr bx, 5 +jmp short loc_0001c2b3 ; jmp 0x1c2b3 + +loc_0001c2a9: +shr ax, 1 +mov edx, eax +jmp short loc_0001c2b9 ; jmp 0x1c2b9 + +loc_0001c2b0: +shr bx, 1 + +loc_0001c2b3: +mov edx, ebx +jmp short loc_0001c2b9 ; jmp 0x1c2b9 + +loc_0001c2b7: +mov dl, bl + +loc_0001c2b9: +and edx, 1 +jmp short loc_0001c2d2 ; jmp 0x1c2d2 + +loc_0001c2be: +xor edx, edx +test al, 2 +je short loc_0001c2d2 ; je 0x1c2d2 +and ebx, 0x22 +cmp bx, 2 +sete dl +jmp short loc_0001c2d2 ; jmp 0x1c2d2 + +loc_0001c2d0: +xor edx, edx + +loc_0001c2d2: +lea esp, [ebp - 8] +mov al, dl +pop ebx +pop esi +pop ebp +ret + +fcn_0001c2db: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x10 +mov eax, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +add eax, 0x404 +push eax +movzx ebx, bl +call fcn_00017d8a ; call 0x17d8a +lea ecx, [ebx*4] +mov ebx, dword [ebp - 4] +leave +shr eax, cl +and eax, 7 +ret + +fcn_0001c307: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0xc +mov eax, dword [ebp + 8] +movzx edi, byte [ebp + 0xc] +lea esi, [eax + 0x404] + +loc_0001c31f: ; not directly referenced +call fcn_0001c0fb ; call 0x1c0fb +cmp bl, al +jae short loc_0001c346 ; jae 0x1c346 +sub esp, 0xc +push esi +call fcn_00017d8a ; call 0x17d8a +movzx ecx, bl +add esp, 0x10 +shl ecx, 2 +shr eax, cl +and eax, 7 +cmp eax, edi +je short loc_0001c369 ; je 0x1c369 +inc ebx +jmp short loc_0001c31f ; jmp 0x1c31f + +loc_0001c346: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +mov bl, 0xff +test al, al +je short loc_0001c369 ; je 0x1c369 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x390 +push ref_0002647a ; push 0x2647a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001c369: ; not directly referenced +lea esp, [ebp - 0xc] +mov al, bl +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c373: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x18 +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov ebx, eax +pop eax +and ebx, 0xffffc000 +pop edx +push 0 +push ebx +call fcn_0001c2db ; call 0x1c2db +pop ecx +pop edx +lea edx, [ebp - 0xd] +push edx +sub eax, 0x20 +lea edx, [ebp - 0xc] +movzx eax, al +push edx +push eax +push 4 +push 0xe00000fc +push ebx +call fcn_00009e5f ; call 0x9e5f +add esp, 0x20 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001c409 ; je 0x1c409 +test ebx, ebx +jns short loc_0001c409 ; jns 0x1c409 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c3f1 ; je 0x1c3f1 +push eax +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c3f1: ; not directly referenced +push ecx +push ref_00020664 ; push 0x20664 +push 0x3b7 +push ref_0002647a ; push 0x2647a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001c409: ; not directly referenced +mov ebx, dword [ebp - 0xc] +test ebx, 0x80000 +je short loc_0001c47f ; je 0x1c47f +and ebx, 0x70000 +shr ebx, 0x10 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c437 ; je 0x1c437 +push edx +push ebx +push ref_000264b6 ; push 0x264b6 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c437: ; not directly referenced +call fcn_0001bef7 ; call 0x1bef7 +lea edx, [ebx + 1] +cmp eax, 2 +jne short loc_0001c488 ; jne 0x1c488 +cmp ebx, 1 +je short loc_0001c483 ; je 0x1c483 +jb short loc_0001c457 ; jb 0x1c457 +cmp ebx, 5 +ja short loc_0001c45e ; ja 0x1c45e +mov edx, 5 +jmp short loc_0001c488 ; jmp 0x1c488 + +loc_0001c457: ; not directly referenced +mov edx, 3 +jmp short loc_0001c488 ; jmp 0x1c488 + +loc_0001c45e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001c47f ; je 0x1c47f +push eax +push ref_000221f1 ; push 0x221f1 +push 0x3c7 +push ref_0002647a ; push 0x2647a +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001c47f: ; not directly referenced +xor edx, edx +jmp short loc_0001c488 ; jmp 0x1c488 + +loc_0001c483: ; not directly referenced +mov edx, 4 + +loc_0001c488: ; not directly referenced +mov eax, edx +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001c48f: ; not directly referenced +push ebp +mov eax, 0x80000002 +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +cmp ebx, 7 +ja short loc_0001c505 ; ja 0x1c505 +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +and eax, 0xffffc000 +cmp ebx, 7 +je short loc_0001c4dd ; je 0x1c4dd +sub esp, 0xc +lea eax, [eax + ebx*4 + 0x3854] +jmp short loc_0001c4e5 ; jmp 0x1c4e5 + +loc_0001c4dd: ; not directly referenced +sub esp, 0xc +add eax, 0x3800 + +loc_0001c4e5: ; not directly referenced +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +mov edx, eax +and ax, 0x7fff +and edx, 0x7fff0000 +shr edx, 0x10 +mov word [edi], dx +mov word [esi], ax +xor eax, eax + +loc_0001c505: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c50d: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov edi, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c536 ; je 0x1c536 +push eax +push eax +push ref_000264c5 ; push 0x264c5 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c536: +dec bl +lea esi, [edi + 0x3428] +jne short loc_0001c55c ; jne 0x1c55c +push ecx +push ecx +push 0x10 +lea ebx, [edi + 0x3424] +push ebx +call fcn_00017d40 ; call 0x17d40 +pop ebx +pop edi +push 1 +push esi +call fcn_00018a50 ; call 0x18a50 +jmp short loc_0001c566 ; jmp 0x1c566 + +loc_0001c55c: +push edx +push edx +push 0xfffffffffffffffe +push esi +call fcn_00018a7a ; call 0x18a7a + +loc_0001c566: +add esp, 0x10 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c583 ; je 0x1c583 +push eax +push eax +push ref_000264df ; push 0x264df +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c583: +lea esp, [ebp - 0xc] +xor eax, eax +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c58d: +push ebp +mov ebp, esp +sub esp, 0x24 +lea edx, [ebp - 0xc] +push edx +lea edx, [ebp - 0x10] +push edx +lea edx, [ebp - 0x14] +push edx +lea eax, [ebp - 0x18] +push eax +push 1 +call fcn_0001fe8d ; call 0x1fe8d +mov eax, dword [ebp - 0x18] +leave +and eax, 0xfff0ff0 +ret + +fcn_0001c5b4: +push ebp +mov ebp, esp +sub esp, 0x24 +lea edx, [ebp - 0xc] +push edx +lea edx, [ebp - 0x10] +push edx +lea edx, [ebp - 0x14] +push edx +lea eax, [ebp - 0x18] +push eax +push 1 +call fcn_0001fe8d ; call 0x1fe8d +mov eax, dword [ebp - 0x18] +leave +and eax, 0xf +ret + +fcn_0001c5d9: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +call fcn_0001c58d ; call 0x1c58d +mov esi, eax +call fcn_0001c5b4 ; call 0x1c5b4 +lea edx, [eax + esi] +mov edi, eax +cmp edx, 0x306c3 +je short loc_0001c644 ; je 0x1c644 +cmp edx, 0x40651 +je short loc_0001c644 ; je 0x1c644 +cmp edx, 0x40661 +je short loc_0001c644 ; je 0x1c644 +lea eax, [edx - 0x306d3] +cmp eax, 1 +jbe short loc_0001c644 ; jbe 0x1c644 +sub edx, 0x40670 +mov bl, 1 +cmp edx, 1 +jbe short loc_0001c646 ; jbe 0x1c646 +call fcn_000153e9 ; call 0x153e9 +xor ebx, ebx +test al, al +je short loc_0001c646 ; je 0x1c646 +push esi +push edi +push ref_000264f7 ; push 0x264f7 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001c646 ; jmp 0x1c646 + +loc_0001c644: ; not directly referenced +mov bl, 1 + +loc_0001c646: ; not directly referenced +lea esp, [ebp - 0xc] +mov al, bl +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c650: ; not directly referenced +push ebp +mov ebp, esp +push ebx +sub esp, 0x20 +lea edx, [ebp - 0xc] +push edx +lea edx, [ebp - 0x10] +push edx +lea edx, [ebp - 0x14] +push edx +lea eax, [ebp - 0x18] +push eax +push 1 +call fcn_0001fe8d ; call 0x1fe8d +mov eax, dword [ebp - 0x18] +add esp, 0x20 +and eax, 0xfff0ff0 +cmp eax, 0x40650 +je short loc_0001c6a2 ; je 0x1c6a2 +ja short loc_0001c692 ; ja 0x1c692 +cmp eax, 0x306c0 +je short loc_0001c6ed ; je 0x1c6ed +cmp eax, 0x306d0 +je short loc_0001c6a2 ; je 0x1c6a2 +jmp short loc_0001c6a6 ; jmp 0x1c6a6 + +loc_0001c692: ; not directly referenced +cmp eax, 0x40660 +je short loc_0001c6ed ; je 0x1c6ed +cmp eax, 0x40670 +jne short loc_0001c6a6 ; jne 0x1c6a6 +jmp short loc_0001c6ed ; jmp 0x1c6ed + +loc_0001c6a2: ; not directly referenced +xor ebx, ebx +jmp short loc_0001c6ef ; jmp 0x1c6ef + +loc_0001c6a6: ; not directly referenced +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c6cb ; je 0x1c6cb +mov eax, dword [ebp - 0x18] +push edx +and eax, 0xfff0ff0 +push eax +push ref_00026531 ; push 0x26531 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c6cb: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +mov bl, 2 +test al, al +je short loc_0001c6ef ; je 0x1c6ef +push eax +push ref_000221f1 ; push 0x221f1 +push 0x7f +push ref_0002655c ; push 0x2655c +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_0001c6ef ; jmp 0x1c6ef + +loc_0001c6ed: ; not directly referenced +mov bl, 1 + +loc_0001c6ef: ; not directly referenced +mov al, bl +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001c6f6: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x20 +push 0 +push 0 +push 0 +lea eax, [ebp - 0x18] +push eax +push 0 +push 4 +call fcn_0001feb9 ; call 0x1feb9 +mov eax, dword [ebp - 0x18] +add esp, 0x1c +push 0x1a +xor edx, edx +push edx +push eax +call fcn_0001718b ; call 0x1718b +leave +and eax, 0x3f +inc eax +ret + +fcn_0001c726: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0xc +push 0 +push 0 +push 0x8b +call fcn_00017502 ; call 0x17502 +mov dword [esp], 0 +push 0 +push 0 +push 0 +push 1 +call fcn_0001fe8d ; call 0x1fe8d +add esp, 0x14 +push 0x8b +call fcn_000174f8 ; call 0x174f8 +add esp, 0xc +push 0x20 +push edx +push eax +call fcn_0001718b ; call 0x1718b +leave +ret + +fcn_0001c769: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +mov eax, dword [ebp + 0x14] +push 0x35 +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov dword [ebp - 0x24], eax +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +mov dword [ebp - 0x20], eax +mov dword [ebp - 0x1c], edx +test edi, edi +jne short loc_0001c7b5 ; jne 0x1c7b5 +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0001c85c ; je 0x1c85c +mov dword [ebp + 0x10], ref_00026598 ; mov dword [ebp + 0x10], 0x26598 +mov dword [ebp + 0xc], 0xc8 +jmp near loc_0001c841 ; jmp 0x1c841 + +loc_0001c7b5: ; not directly referenced +push ecx +push 0x10 +push dword [ebp - 0x1c] +push dword [ebp - 0x20] +call fcn_0001718b ; call 0x1718b +add esp, 0x10 +mov word [edi], ax +test esi, esi +jne short loc_0001c7ea ; jne 0x1c7ea +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0001c85c ; je 0x1c85c +mov dword [ebp + 0x10], ref_000265c3 ; mov dword [ebp + 0x10], 0x265c3 +mov dword [ebp + 0xc], 0xd2 +jmp short loc_0001c841 ; jmp 0x1c841 + +loc_0001c7ea: ; not directly referenced +movzx eax, ax +push edx +xor edx, edx +push eax +movzx eax, word [ebp - 0x20] +push edx +push eax +call fcn_000173f5 ; call 0x173f5 +add esp, 0x10 +mov word [esi], ax +test ebx, ebx +jne short loc_0001c81f ; jne 0x1c81f +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001c85c ; je 0x1c85c +mov dword [ebp + 0x10], ref_000265f1 ; mov dword [ebp + 0x10], 0x265f1 +mov dword [ebp + 0xc], 0xdc +jmp short loc_0001c841 ; jmp 0x1c841 + +loc_0001c81f: ; not directly referenced +cmp dword [ebp - 0x24], 0 +mov word [ebx], 1 +jne short loc_0001c854 ; jne 0x1c854 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001c85c ; je 0x1c85c +mov dword [ebp + 0x10], ref_00026618 ; mov dword [ebp + 0x10], 0x26618 +mov dword [ebp + 0xc], 0xe3 + +loc_0001c841: ; not directly referenced +mov dword [ebp + 8], ref_0002655c ; mov dword [ebp + 8], 0x2655c +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_000153fc ; jmp 0x153fc + +loc_0001c854: ; not directly referenced +mov eax, dword [ebp - 0x24] +mov word [eax], 1 + +loc_0001c85c: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c864: +push ebp +mov al, 1 +mov ebp, esp +push edi +push esi +push ebx +xor ebx, ebx +sub esp, 0x2c +lea esi, [ebp - 0x28] +lea edi, [ebp - 0x20] + +loc_0001c877: +cmp dword [ebp + 8], 1 +je short loc_0001c8aa ; je 0x1c8aa +cmp dword [ebp + 8], 2 +jne short loc_0001c8d7 ; jne 0x1c8d7 +sub esp, 0xc +push 0x150 +call fcn_000174f8 ; call 0x174f8 +add esp, 0xc +push 8 +push esi +push edi +mov dword [ebp - 0x28], eax +mov dword [ebp - 0x24], edx +call fcn_0001707a ; call 0x1707a +mov al, byte [ebp - 0x19] +shr al, 7 +jmp short loc_0001c8d4 ; jmp 0x1c8d4 + +loc_0001c8aa: +push edx +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +and eax, 0xfffffffe +add eax, 0x5da4 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +shr eax, 0x1f + +loc_0001c8d4: +add esp, 0x10 + +loc_0001c8d7: +sub esp, 0xc +inc ebx +push 1 +mov dword [ebp - 0x2c], eax +call fcn_0001ba3f ; call 0x1ba3f +mov eax, dword [ebp - 0x2c] +add esp, 0x10 +mov dl, al +and dl, 1 +je short loc_0001c8fd ; je 0x1c8fd +cmp bx, 0x3e7 +jbe loc_0001c877 ; jbe 0x1c877 + +loc_0001c8fd: +cmp bx, 0x3e8 +jne short loc_0001c92c ; jne 0x1c92c +test dl, dl +je short loc_0001c92c ; je 0x1c92c +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000012 +test al, al +je short loc_0001c92e ; je 0x1c92e +push eax +push eax +push ref_00026639 ; push 0x26639 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001c92e ; jmp 0x1c92e + +loc_0001c92c: +xor ebx, ebx + +loc_0001c92e: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001c938: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x48 +mov edi, dword [ebp + 8] +push edi +call fcn_0001c864 ; call 0x1c864 +add esp, 0x10 +mov ebx, eax +test eax, eax +js loc_0001cb41 ; js 0x1cb41 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001c975 ; je 0x1c975 +movzx eax, byte [ebp + 0xc] +push ecx +push eax +push ref_00026661 ; push 0x26661 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001c975: +cmp edi, 1 +je short loc_0001c988 ; je 0x1c988 +cmp edi, 2 +je loc_0001ca4f ; je 0x1ca4f +jmp near loc_0001cb01 ; jmp 0x1cb01 + +loc_0001c988: +push esi +push 0 +push 0 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov edi, eax +pop eax +and edi, 0xfffffffe +pop edx +push dword [ebp + 0x10] +lea esi, [edi + 0x5da0] +add edi, 0x5da4 +push esi +call fcn_00017dcb ; call 0x17dcb +mov eax, dword [ebp + 0xc] +pop ecx +pop edx +or eax, 0x80000000 +push eax +push edi +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], 1 +call fcn_0001c864 ; call 0x1c864 +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], esi +mov dword [ebp - 0x40], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], 0xa +mov dword [ebp - 0x3c], eax +call fcn_0001ba3f ; call 0x1ba3f +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], esi +mov edi, eax +call fcn_00017d8a ; call 0x17d8a +mov ecx, dword [ebp - 0x40] +add esp, 0x10 +cmp ecx, edi +je short loc_0001ca42 ; je 0x1ca42 +cmp dword [ebp - 0x3c], eax +je short loc_0001ca42 ; je 0x1ca42 + +loc_0001ca1b: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001ca38 ; je 0x1ca38 +push ebx +push ebx +push ref_00026689 ; push 0x26689 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001ca38: +mov ebx, 0x80000002 +jmp near loc_0001cb41 ; jmp 0x1cb41 + +loc_0001ca42: +mov eax, dword [ebp + 0x14] +movzx ecx, cl +mov dword [eax], ecx +jmp near loc_0001cb23 ; jmp 0x1cb23 + +loc_0001ca4f: +mov eax, dword [ebp + 0xc] +lea edi, [ebp - 0x30] +push ecx +push 8 +lea ecx, [ebp - 0x28] +mov dword [ebp - 0x24], eax +mov eax, dword [ebp + 0x10] +push ecx +push edi +or byte [ebp - 0x21], 0x80 +mov dword [ebp - 0x3c], ecx +mov dword [ebp - 0x28], eax +call fcn_0001707a ; call 0x1707a +add esp, 0xc +push dword [ebp - 0x2c] +push dword [ebp - 0x30] +push 0x150 +call fcn_00017502 ; call 0x17502 +mov dword [esp], 2 +call fcn_0001c864 ; call 0x1c864 +mov dword [esp], 0x150 +call fcn_000174f8 ; call 0x174f8 +mov ecx, dword [ebp - 0x3c] +add esp, 0xc +push 8 +push edi +push ecx +mov dword [ebp - 0x2c], edx +mov dword [ebp - 0x30], eax +call fcn_0001707a ; call 0x1707a +mov dword [esp], 0xa +call fcn_0001ba3f ; call 0x1ba3f +mov dword [esp], 0x150 +call fcn_000174f8 ; call 0x174f8 +add esp, 0xc +push 8 +push edi +mov dword [ebp - 0x30], eax +lea eax, [ebp - 0x20] +push eax +mov dword [ebp - 0x2c], edx +call fcn_0001707a ; call 0x1707a +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +cmp dword [ebp - 0x24], eax +je short loc_0001caf6 ; je 0x1caf6 +mov eax, dword [ebp - 0x20] +cmp dword [ebp - 0x28], eax +jne loc_0001ca1b ; jne 0x1ca1b + +loc_0001caf6: +movzx eax, byte [ebp - 0x24] +mov edx, dword [ebp + 0x14] +mov dword [edx], eax +jmp short loc_0001cb23 ; jmp 0x1cb23 + +loc_0001cb01: +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000003 +test al, al +je short loc_0001cb23 ; je 0x1cb23 +push edx +push edx +push ref_000266b4 ; push 0x266b4 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cb23: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001cb41 ; je 0x1cb41 +push eax +mov eax, dword [ebp + 0x14] +push dword [eax] +push ref_000266da ; push 0x266da +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cb41: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001cb4b: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x38 +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +push edi +call fcn_0001c864 ; call 0x1c864 +add esp, 0x10 +mov ebx, eax +test eax, eax +js loc_0001cd57 ; js 0x1cd57 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001cb8c ; je 0x1cb8c +mov eax, esi +movzx eax, al +push ecx +push eax +push ref_000266fb ; push 0x266fb +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cb8c: +cmp edi, 1 +je short loc_0001cb9f ; je 0x1cb9f +cmp edi, 2 +je loc_0001cc60 ; je 0x1cc60 +jmp near loc_0001cd17 ; jmp 0x1cd17 + +loc_0001cb9f: +push eax +push 0 +push 0 +push 0 +mov dword [ebp - 0x30], esi +or byte [ebp - 0x2d], 0x80 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 0x48 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +mov esi, eax +pop eax +and esi, 0xfffffffe +pop edx +push dword [ebp - 0x30] +lea edi, [esi + 0x5da4] +add esi, 0x5da0 +push edi +call fcn_00017dcb ; call 0x17dcb +mov dword [esp], 1 +call fcn_0001c864 ; call 0x1c864 +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], esi +mov dword [ebp - 0x30], eax +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], 0xa +mov dword [ebp - 0x2c], eax +call fcn_0001ba3f ; call 0x1ba3f +mov dword [esp], edi +call fcn_00017d8a ; call 0x17d8a +mov dword [esp], esi +mov edi, eax +call fcn_00017d8a ; call 0x17d8a +mov edx, dword [ebp - 0x30] +add esp, 0x10 +cmp edx, edi +je short loc_0001cc4f ; je 0x1cc4f +cmp dword [ebp - 0x2c], eax +je short loc_0001cc4f ; je 0x1cc4f + +loc_0001cc28: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001cc45 ; je 0x1cc45 +push eax +push eax +push ref_00026689 ; push 0x26689 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cc45: +mov ebx, 0x80000002 +jmp near loc_0001cd57 ; jmp 0x1cd57 + +loc_0001cc4f: +mov eax, dword [ebp + 0x14] +mov dword [eax], edx +lea eax, [ebp - 0x2c] +push edi +push 4 +push eax +jmp near loc_0001cd0d ; jmp 0x1cd0d + +loc_0001cc60: +mov eax, dword [ebp + 0x10] +lea edi, [ebp - 0x38] +mov dword [ebp - 0x24], esi +mov eax, dword [eax] +push esi +push 8 +lea esi, [ebp - 0x28] +push esi +push edi +or byte [ebp - 0x21], 0x80 +mov dword [ebp - 0x28], eax +call fcn_0001707a ; call 0x1707a +add esp, 0xc +push dword [ebp - 0x34] +push dword [ebp - 0x38] +push 0x150 +call fcn_00017502 ; call 0x17502 +mov dword [esp], 2 +call fcn_0001c864 ; call 0x1c864 +mov dword [esp], 0x150 +call fcn_000174f8 ; call 0x174f8 +add esp, 0xc +push 8 +push edi +push esi +mov dword [ebp - 0x34], edx +mov dword [ebp - 0x38], eax +call fcn_0001707a ; call 0x1707a +mov dword [esp], 0xa +call fcn_0001ba3f ; call 0x1ba3f +mov dword [esp], 0x150 +call fcn_000174f8 ; call 0x174f8 +add esp, 0xc +push 8 +push edi +mov dword [ebp - 0x38], eax +lea eax, [ebp - 0x20] +push eax +mov dword [ebp - 0x34], edx +call fcn_0001707a ; call 0x1707a +mov eax, dword [ebp - 0x1c] +add esp, 0x10 +cmp dword [ebp - 0x24], eax +je short loc_0001cd00 ; je 0x1cd00 +mov eax, dword [ebp - 0x20] +cmp dword [ebp - 0x28], eax +jne loc_0001cc28 ; jne 0x1cc28 + +loc_0001cd00: +mov ecx, dword [ebp + 0x14] +movzx eax, byte [ebp - 0x24] +mov dword [ecx], eax +push ecx +push 4 +push esi + +loc_0001cd0d: +push dword [ebp + 0x10] +call fcn_0001707a ; call 0x1707a +jmp short loc_0001cd36 ; jmp 0x1cd36 + +loc_0001cd17: +call fcn_000153e9 ; call 0x153e9 +mov ebx, 0x80000003 +test al, al +je short loc_0001cd39 ; je 0x1cd39 +push edx +push edx +push ref_000266b4 ; push 0x266b4 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 + +loc_0001cd36: +add esp, 0x10 + +loc_0001cd39: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001cd57 ; je 0x1cd57 +push eax +mov eax, dword [ebp + 0x14] +push dword [eax] +push ref_000266da ; push 0x266da +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cd57: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001cd61: ; not directly referenced +push ebp +mov eax, 0x80000002 +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ebx, dword [ebp + 0xc] +test ebx, ebx +je loc_0001ce4b ; je 0x1ce4b +lea edi, [ebp - 0x1c] +call fcn_0001c58d ; call 0x1c58d +lea esi, [ebp - 0x20] +call fcn_0001c5b4 ; call 0x1c5b4 +push edi +push esi +push 0x8000000a +push 1 +call fcn_0001cb4b ; call 0x1cb4b +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0001cdb7 ; je 0x1cdb7 +push edx +push dword [ebp - 0x20] +push ref_00026722 ; push 0x26722 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001cdb7: ; not directly referenced +cmp dword [ebp - 0x1c], 0 +je short loc_0001cdc7 ; je 0x1cdc7 + +loc_0001cdbd: ; not directly referenced +mov eax, 0x8000000e +jmp near loc_0001ce4b ; jmp 0x1ce4b + +loc_0001cdc7: ; not directly referenced +mov edx, dword [ebp - 0x20] +xor eax, eax + +loc_0001cdcc: ; not directly referenced +mov ecx, edx +and edx, 0x3f +mov byte [ebx + eax], dl +inc eax +shr ecx, 6 +cmp eax, 4 +je short loc_0001cde1 ; je 0x1cde1 +mov edx, ecx +jmp short loc_0001cdcc ; jmp 0x1cdcc + +loc_0001cde1: ; not directly referenced +cmp dword [ebp + 8], 4 +mov dword [ebp - 0x20], ecx +ja short loc_0001cdee ; ja 0x1cdee + +loc_0001cdea: ; not directly referenced +xor eax, eax +jmp short loc_0001ce4b ; jmp 0x1ce4b + +loc_0001cdee: ; not directly referenced +call fcn_0001c650 ; call 0x1c650 +test al, al +jne short loc_0001cdea ; jne 0x1cdea +push edi +push esi +push 0x8000000b +push 1 +call fcn_0001cb4b ; call 0x1cb4b +call fcn_000153e9 ; call 0x153e9 +add esp, 0x10 +test al, al +je short loc_0001ce24 ; je 0x1ce24 +push eax +push dword [ebp - 0x20] +push ref_00026722 ; push 0x26722 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001ce24: ; not directly referenced +cmp dword [ebp - 0x1c], 0 +jne short loc_0001cdbd ; jne 0x1cdbd +mov eax, dword [ebp - 0x20] +mov edx, eax +mov cl, al +shr edx, 6 +and ecx, 0x3f +shr eax, 0xc +and edx, 0x3f +and eax, 0x3f +mov byte [ebx + 4], cl +mov byte [ebx + 5], dl +mov byte [ebx + 6], al +jmp short loc_0001cdea ; jmp 0x1cdea + +loc_0001ce4b: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001ce53: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push 0x1b +call fcn_000174f8 ; call 0x174f8 +leave +shrd eax, edx, 8 +and eax, 1 +ret + +fcn_0001ce69: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x14 +push 0x35 +call fcn_000174f8 ; call 0x174f8 +add esp, 0x10 +leave +mov edx, eax +movzx eax, al +shr edx, 0x10 +div dl +cmp al, 1 +seta al +ret + +fcn_0001ce8a: +push ebp +mov ebp, esp +push ebx +sub esp, 0x14 +mov edx, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0xc], 0 +test dx, dx +jne short loc_0001cead ; jne 0x1cead +mov word [ebx], 0 +jmp short loc_0001cf00 ; jmp 0x1cf00 + +loc_0001cead: +test al, al +jne short loc_0001cecf ; jne 0x1cecf +lea eax, [ebp - 0xc] +cmp dx, 0xfff +push eax +mov eax, 0xfff +cmovbe eax, edx +movzx eax, ax +push 0x3e8 +shl eax, 0xa +jmp short loc_0001cee5 ; jmp 0x1cee5 + +loc_0001cecf: +dec al +jne short loc_0001cf00 ; jne 0x1cf00 +lea eax, [ebp - 0xc] +push eax +movzx eax, dx +imul eax, eax, 0x3e8 +push 0x400 + +loc_0001cee5: +cdq +push edx +push eax +call fcn_0001743e ; call 0x1743e +add esp, 0x10 +cmp dword [ebp - 0xc], 0x1f3 +mov word [ebx], ax +jbe short loc_0001cf00 ; jbe 0x1cf00 +inc eax +mov word [ebx], ax + +loc_0001cf00: +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001cf05: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0x10 +mov eax, dword [ebp + 8] +mov ebx, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +mov dword [ebp - 0xc], 0 +mov word [ebx], 0 +test ax, ax +je loc_0001cfaf ; je 0x1cfaf +mov edx, eax +test cl, cl +jne short loc_0001cf60 ; jne 0x1cf60 +xor esi, esi +test ax, ax +jns short loc_0001cf44 ; jns 0x1cf44 +neg edx +mov esi, 1 +and dx, 0x7fff + +loc_0001cf44: +lea eax, [ebp - 0xc] +cmp dx, 0x1f4 +push eax +mov eax, 0x1f4 +cmovle eax, edx +cwde +push 0x3e8 +shl eax, 0xa +jmp short loc_0001cf8b ; jmp 0x1cf8b + +loc_0001cf60: +dec cl +jne short loc_0001cfaf ; jne 0x1cfaf +xor esi, esi +test ah, 4 +je short loc_0001cf79 ; je 0x1cf79 +mov edx, eax +mov esi, 1 +neg edx +and dx, 0x3ff + +loc_0001cf79: +lea eax, [ebp - 0xc] +push eax +movsx eax, dx +imul eax, eax, 0x3e8 +push 0x400 + +loc_0001cf8b: +cdq +push edx +push eax +call fcn_0001743e ; call 0x1743e +add esp, 0x10 +cmp dword [ebp - 0xc], 0x1f3 +mov word [ebx], ax +jbe short loc_0001cfa6 ; jbe 0x1cfa6 +inc eax +mov word [ebx], ax + +loc_0001cfa6: +mov eax, esi +test al, al +je short loc_0001cfaf ; je 0x1cfaf +neg word [ebx] + +loc_0001cfaf: +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001cfb6: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 0xc] +push 8 +mov esi, dword [ebp + 8] +push ebx +call fcn_00016f3b ; call 0x16f3b +mov eax, dword [ebp + 0x10] +add esp, 0x10 +dec eax +cmp eax, 0x14 +ja loc_0001d10c ; ja 0x1d10c +jmp dword [eax*4 + ref_0002057c] ; ujmp: jmp dword [eax*4 + 0x2057c] + +loc_0001cfe4: +mov dword [ebx], 0 +mov byte [ebx + 4], 1 +mov al, byte [esi + 4] +jmp short loc_0001d019 ; jmp 0x1d019 + +loc_0001cff3: +mov dword [ebx], 0 +mov byte [ebx + 4], 2 +mov byte [ebx + 5], 0 +mov al, byte [esi + 4] +mov byte [ebx + 6], al +jmp near loc_0001d129 ; jmp 0x1d129 + +loc_0001d00c: +mov dword [ebx], 0 +mov byte [ebx + 4], 0x10 +mov al, byte [esi + 6] + +loc_0001d019: +mov byte [ebx + 5], al +jmp near loc_0001d129 ; jmp 0x1d129 + +loc_0001d021: +mov al, byte [esi] +lea edi, [ebp - 0x1e] +push ecx +push 0 +push edi +mov byte [ebp - 0x1c], al +movzx eax, word [esi + 2] +mov word [ebp - 0x1e], 0 +push eax +call fcn_0001ce8a ; call 0x1ce8a +movzx edx, word [ebp - 0x1e] +add esp, 0xc +mov eax, dword [ebp - 0x1c] +mov word [ebp - 0x1e], 0 +and edx, 0xfff +shl edx, 8 +and eax, 0xfff000ff +or eax, edx +mov dword [ebp - 0x1c], eax +mov dl, byte [esi + 1] +mov al, byte [ebp - 0x1a] +push 0 +push edi +and edx, 1 +shl edx, 4 +and eax, 0xffffffef +or eax, edx +mov byte [ebp - 0x1a], al +movsx eax, word [esi + 4] +push eax +call fcn_0001cf05 ; call 0x1cf05 +mov ax, word [ebp - 0x1a] +add esp, 0xc +mov dx, word [ebp - 0x1e] +push 4 +and eax, 0x1f +shl edx, 5 +or eax, edx +mov word [ebp - 0x1a], ax +lea eax, [ebp - 0x1c] +push eax +push ebx +call fcn_0001707a ; call 0x1707a +mov byte [ebx + 4], 0x11 +mov al, byte [esi + 6] +mov byte [ebx + 5], al +jmp short loc_0001d126 ; jmp 0x1d126 + +loc_0001d0b0: +mov dword [ebx], 0 +mov byte [ebx + 4], 0x12 +jmp short loc_0001d106 ; jmp 0x1d106 + +loc_0001d0bc: +push edx +push 0 +lea eax, [ebp - 0x1e] +push eax +movzx eax, word [esi] +push eax +call fcn_0001ce8a ; call 0x1ce8a +movzx eax, byte [esi + 2] +movzx edx, word [ebp - 0x1e] +mov byte [ebx + 4], 0x13 +mov byte [ebx + 5], 0 +shl eax, 0x1f +or eax, edx +mov dword [ebx], eax +jmp short loc_0001d126 ; jmp 0x1d126 + +loc_0001d0e5: +mov dword [ebx], 0 +mov byte [ebx + 4], 0x14 +jmp short loc_0001d106 ; jmp 0x1d106 + +loc_0001d0f1: +mov al, byte [esi + 1] +mov dl, byte [esi] +mov byte [ebx + 4], 0x15 +and eax, 1 +add eax, eax +and edx, 1 +or eax, edx +mov dword [ebx], eax + +loc_0001d106: +mov byte [ebx + 5], 0 +jmp short loc_0001d129 ; jmp 0x1d129 + +loc_0001d10c: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001d129 ; je 0x1d129 +push eax +push eax +push ref_00026752 ; push 0x26752 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 + +loc_0001d126: +add esp, 0x10 + +loc_0001d129: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d131: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x34 +mov ebx, dword [ebp + 8] +push 8 +mov edi, dword [ebp + 0xc] +lea esi, [ebp - 0x20] +push esi +call fcn_00016f3b ; call 0x16f3b +add esp, 0xc +push 0x10 +push esi +push ebx +call fcn_0001cfb6 ; call 0x1cfb6 +push edi +push esi +push dword [ebp - 0x1c] +push 2 +call fcn_0001cb4b ; call 0x1cb4b +add esp, 0x20 +test eax, eax +jne short loc_0001d1b0 ; jne 0x1d1b0 +cmp dword [edi], 0 +jne short loc_0001d1b0 ; jne 0x1d1b0 +mov edx, dword [ebp - 0x20] +mov dword [ebp - 0x2c], eax +mov ecx, edx +and ecx, 0x100000 +shr ecx, 0x14 +mov byte [ebx], dl +movzx edx, dh +mov byte [ebx + 1], cl +lea ecx, [ebx + 2] +add ebx, 4 +push eax +push 1 +push ecx +push edx +call fcn_0001ce8a ; call 0x1ce8a +mov edx, dword [ebp - 0x20] +add esp, 0xc +push 1 +push ebx +shr edx, 0x15 +push edx +call fcn_0001cf05 ; call 0x1cf05 +mov eax, dword [ebp - 0x2c] +add esp, 0x10 + +loc_0001d1b0: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d1b8: +push ebp +mov ebp, esp +sub esp, 0x1c +push 0x11 +lea eax, [ebp - 0x10] +push eax +lea eax, [ebp + 8] +push eax +call fcn_0001cfb6 ; call 0x1cfb6 +push dword [ebp + 0x10] +push dword [ebp - 0x10] +push dword [ebp - 0xc] +push 2 +call fcn_0001c938 ; call 0x1c938 +leave +ret + +fcn_0001d1df: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 8] +push 8 +mov edi, dword [ebp + 0xc] +lea esi, [ebp - 0x20] +push esi +call fcn_00016f3b ; call 0x16f3b +add esp, 0xc +push 0x14 +push esi +push ebx +call fcn_0001cfb6 ; call 0x1cfb6 +push edi +push esi +push dword [ebp - 0x1c] +push 2 +call fcn_0001cb4b ; call 0x1cb4b +add esp, 0x20 +test eax, eax +jne short loc_0001d22f ; jne 0x1d22f +cmp dword [edi], 0 +jne short loc_0001d22f ; jne 0x1d22f +mov edx, dword [ebp - 0x20] +mov cl, dl +and edx, 2 +and ecx, 1 +shr edx, 1 +mov byte [ebx], cl +mov byte [ebx + 1], dl + +loc_0001d22f: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d237: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x1c +push 0x15 +lea eax, [ebp - 0x10] +push eax +lea eax, [ebp + 8] +push eax +call fcn_0001cfb6 ; call 0x1cfb6 +push dword [ebp + 0xc] +push dword [ebp - 0x10] +push dword [ebp - 0xc] +push 2 +call fcn_0001c938 ; call 0x1c938 +leave +ret + +fcn_0001d25e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 8] +push 8 +mov edi, dword [ebp + 0xc] +lea esi, [ebp - 0x20] +push esi +call fcn_00016f3b ; call 0x16f3b +add esp, 0xc +push 0x12 +push esi +push ebx +call fcn_0001cfb6 ; call 0x1cfb6 +push edi +push esi +push dword [ebp - 0x1c] +push 2 +call fcn_0001cb4b ; call 0x1cb4b +add esp, 0x20 +test eax, eax +jne short loc_0001d2af ; jne 0x1d2af +cmp dword [edi], 0 +jne short loc_0001d2af ; jne 0x1d2af +mov edx, dword [ebp - 0x20] +mov ecx, edx +and cx, 0xfff +shr edx, 0x1f +mov word [ebx], cx +mov byte [ebx + 2], dl + +loc_0001d2af: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d2b7: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 0x1c +push 0x13 +lea eax, [ebp - 0x10] +push eax +lea eax, [ebp + 8] +push eax +call fcn_0001cfb6 ; call 0x1cfb6 +push dword [ebp + 0xc] +push dword [ebp - 0x10] +push dword [ebp - 0xc] +push 2 +call fcn_0001c938 ; call 0x1c938 +leave +ret + +fcn_0001d2de: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x24 +mov ebx, dword [ebp + 8] +push 8 +mov edi, dword [ebp + 0xc] +lea esi, [ebp - 0x20] +push esi +call fcn_00016f3b ; call 0x16f3b +add esp, 0xc +push 1 +push esi +push ebx +call fcn_0001cfb6 ; call 0x1cfb6 +push edi +push esi +push dword [ebp - 0x1c] +push 2 +call fcn_0001cb4b ; call 0x1cb4b +add esp, 0x20 +test eax, eax +jne short loc_0001d349 ; jne 0x1d349 +cmp dword [edi], 0 +jne short loc_0001d349 ; jne 0x1d349 +mov edx, dword [ebp - 0x20] +mov ecx, edx +and ecx, 0x100 +shr ecx, 8 +mov byte [ebx + 1], cl +mov ecx, edx +mov byte [ebx], dl +and ecx, 0x200 +and edx, 0x400 +shr ecx, 9 +shr edx, 0xa +mov byte [ebx + 2], cl +mov byte [ebx + 3], dl + +loc_0001d349: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d351: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +mov edx, dword [ref_00031230] ; mov edx, dword [0x31230] +mov eax, dword [ebp + 0xc] +add eax, 3 +and eax, 0xfffffffc +test edx, edx +jne short loc_0001d376 ; jne 0x1d376 +mov dword [ref_00031234], ref_00029d00 ; mov dword [0x31234], 0x29d00 +jmp short loc_0001d39c ; jmp 0x1d39c + +loc_0001d376: ; not directly referenced +mov ecx, dword [ref_00031234] ; mov ecx, dword [0x31234] +cmp dword [ecx + edx], 0x900ddea1 +je short loc_0001d39c ; je 0x1d39c +push eax +push 0x3d +push ref_000205d0 ; push 0x205d0 +push ref_00026773 ; push 0x26773 +call fcn_000153ce ; call 0x153ce +add esp, 0x10 + +loc_0001d39a: ; not directly referenced +jmp short loc_0001d39a ; jmp 0x1d39a + +loc_0001d39c: ; not directly referenced +lea ecx, [eax + edx] +cmp ecx, 0x752c +jbe short loc_0001d3be ; jbe 0x1d3be +push eax +push 0x4b +push ref_000205d0 ; push 0x205d0 +push ref_00026793 ; push 0x26793 +call fcn_000153ce ; call 0x153ce +add esp, 0x10 + +loc_0001d3bc: ; not directly referenced +jmp short loc_0001d3bc ; jmp 0x1d3bc + +loc_0001d3be: ; not directly referenced +mov eax, dword [ref_00031234] ; mov eax, dword [0x31234] +mov dword [ref_00031230], ecx ; mov dword [0x31230], ecx +mov dword [eax + ecx], 0x900ddea1 +mov ecx, dword [ebp + 0x10] +add edx, eax +xor eax, eax +mov dword [ecx], edx +leave +ret + +fcn_0001d3db: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov edi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +call fcn_00016376 ; call 0x16376 +movzx esi, di +sub esp, 0xc +mov dword [ebp - 0x20], eax +lea eax, [esi + 0xc] +push eax +call fcn_00019c79 ; call 0x19c79 +add esp, 0x10 +mov ecx, dword [ebp - 0x20] +test eax, eax +mov edx, eax +jne short loc_0001d437 ; jne 0x1d437 +call fcn_000153e9 ; call 0x153e9 +mov edi, 0x80000009 +test al, al +je short loc_0001d49b ; je 0x1d49b +push eax +push esi +push ref_000267b9 ; push 0x267b9 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 +jmp short loc_0001d49b ; jmp 0x1d49b + +loc_0001d437: ; not directly referenced +lea eax, [eax + 4] +mov dword [ebx], eax +mov eax, dword [ebp - 0x1c] +mov word [edx + 4], ax +mov eax, dword [ebx] +mov word [eax + 2], di +mov eax, dword [ebx] +xor edi, edi +mov dword [eax + 4], 0 +mov eax, dword [ebx] +add eax, esi +mov word [eax], 0xffff +mov word [eax + 2], 8 +mov dword [eax + 4], 0 +mov eax, dword [ecx + 0x26c] +mov dword [edx], eax +mov dword [ecx + 0x26c], edx +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001d49b ; je 0x1d49b +sub esp, 0xc +movzx eax, word [ebp - 0x1c] +push dword [ebx] +push esi +push eax +push ref_000267df ; push 0x267df +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x20 + +loc_0001d49b: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, edi +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001d4a5: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_00016376 ; call 0x16376 +mov edx, dword [eax + 0x26c] +mov eax, dword [ebp + 0xc] +add edx, 4 +mov dword [eax], edx +xor eax, eax +leave +ret + +fcn_0001d4c2: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x3c +call fcn_00016380 ; call 0x16380 +sub esp, 0xc +push 0x27 +mov edi, eax +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d4fe ; je 0x1d4fe +cmp dword [ebp - 0x1c], 0 +jne short loc_0001d508 ; jne 0x1d508 +push edi +push ref_000267f9 ; push 0x267f9 +push 0x41 +jmp near loc_0001d666 ; jmp 0x1d666 + +loc_0001d4fe: +cmp dword [ebp - 0x1c], 0 +je loc_0001d673 ; je 0x1d673 + +loc_0001d508: +sub esp, 0xc +push 0xc +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d534 ; je 0x1d534 +cmp dword [ebp - 0x20], 0 +jne short loc_0001d53e ; jne 0x1d53e +push esi +push ref_00026839 ; push 0x26839 +push 0x47 +jmp near loc_0001d666 ; jmp 0x1d666 + +loc_0001d534: +cmp dword [ebp - 0x20], 0 +je loc_0001d673 ; je 0x1d673 + +loc_0001d53e: +sub esp, 0xc +push 0x36 +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x24], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d56a ; je 0x1d56a +cmp dword [ebp - 0x24], 0 +jne short loc_0001d574 ; jne 0x1d574 +push ebx +push ref_00026861 ; push 0x26861 +push 0x4d +jmp near loc_0001d666 ; jmp 0x1d666 + +loc_0001d56a: +cmp dword [ebp - 0x24], 0 +je loc_0001d673 ; je 0x1d673 + +loc_0001d574: +sub esp, 0xc +push 0xd +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x28], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d5a0 ; je 0x1d5a0 +cmp dword [ebp - 0x28], 0 +jne short loc_0001d5aa ; jne 0x1d5aa +push ecx +push ref_0002687e ; push 0x2687e +push 0x53 +jmp near loc_0001d666 ; jmp 0x1d666 + +loc_0001d5a0: +cmp dword [ebp - 0x28], 0 +je loc_0001d673 ; je 0x1d673 + +loc_0001d5aa: +sub esp, 0xc +push 0x102 +call fcn_00019cf2 ; call 0x19cf2 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d5d6 ; je 0x1d5d6 +test ebx, ebx +jne short loc_0001d5de ; jne 0x1d5de +push edx +push ref_00026897 ; push 0x26897 +push 0x59 +jmp near loc_0001d666 ; jmp 0x1d666 + +loc_0001d5d6: +test ebx, ebx +je loc_0001d673 ; je 0x1d673 + +loc_0001d5de: +sub esp, 0xc +push 0xdc +call fcn_00019cf2 ; call 0x19cf2 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001d607 ; je 0x1d607 +test esi, esi +jne short loc_0001d60b ; jne 0x1d60b +push eax +push ref_000268b1 ; push 0x268b1 +push 0x5f +jmp short loc_0001d666 ; jmp 0x1d666 + +loc_0001d607: +test esi, esi +je short loc_0001d673 ; je 0x1d673 + +loc_0001d60b: +sub esp, 0xc +push 0x6b +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, dword [ebp - 0x2c] +test al, al +je short loc_0001d635 ; je 0x1d635 +test edx, edx +jne short loc_0001d639 ; jne 0x1d639 +push eax +push ref_000268d0 ; push 0x268d0 +push 0x65 +jmp short loc_0001d666 ; jmp 0x1d666 + +loc_0001d635: +test edx, edx +je short loc_0001d673 ; je 0x1d673 + +loc_0001d639: +sub esp, 0xc +push 5 +mov dword [ebp - 0x30], edx +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x2c], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, dword [ebp - 0x30] +test al, al +je short loc_0001d67d ; je 0x1d67d +cmp dword [ebp - 0x2c], 0 +jne short loc_0001d683 ; jne 0x1d683 +push eax +push ref_000268eb ; push 0x268eb +push 0x6b + +loc_0001d666: +push ref_0002681d ; push 0x2681d +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001d673: +mov edx, 0x80000009 +jmp near loc_0001dee4 ; jmp 0x1dee4 + +loc_0001d67d: +cmp dword [ebp - 0x2c], 0 +je short loc_0001d673 ; je 0x1d673 + +loc_0001d683: +sub esp, 0xc +push 0x11 +mov dword [ebp - 0x34], edx +call fcn_00019cf2 ; call 0x19cf2 +mov dword [ebp - 0x30], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, dword [ebp - 0x34] +test al, al +je short loc_0001d6b2 ; je 0x1d6b2 +cmp dword [ebp - 0x30], 0 +jne short loc_0001d6b8 ; jne 0x1d6b8 +push eax +push ref_00026907 ; push 0x26907 +push 0x71 +jmp short loc_0001d666 ; jmp 0x1d666 + +loc_0001d6b2: +cmp dword [ebp - 0x30], 0 +je short loc_0001d673 ; je 0x1d673 + +loc_0001d6b8: +lea eax, [edi + 0xce] +mov dword [esi + 0xd0], eax +lea eax, [edi + 0x8ce] +mov dword [esi + 0xd4], eax +lea eax, [edi + 0x8e6] +mov dword [esi + 0xd8], eax +push eax +push 0 +push 0x27 +push dword [ebp - 0x1c] +mov dword [ebp - 0x40], edx +call fcn_0001efeb ; call 0x1efeb +mov eax, dword [ebp - 0x20] +mov ecx, dword [ebp - 0x1c] +mov dword [eax], 0x80000010 +mov dword [eax + 8], ecx +mov dword [eax + 4], ref_0002925c ; mov dword [eax + 4], 0x2925c +mov byte [ecx], 0x13 +call fcn_0001c58d ; call 0x1c58d +add esp, 0x10 +mov edx, dword [ebp - 0x40] +cmp eax, 0x306d0 +sete cl +cmp eax, 0x40670 +mov dword [ebp - 0x38], eax +sete al +mov byte [ebp - 0x34], al +or al, cl +mov byte [ebp - 0x39], cl +mov byte [ebp - 0x3a], al +je short loc_0001d74d ; je 0x1d74d +push eax +push 0 +push 2 +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov edx, dword [ebp - 0x40] +add esp, 0x10 + +loc_0001d74d: +mov al, byte [edi + 0x42] +mov dword [ebp - 0x40], edx +mov edx, dword [ebp - 0x24] +mov ecx, dword [ebp - 0x1c] +cmp byte [ebp - 0x3a], 1 +mov byte [edx], al +mov al, byte [edi + 0x43] +mov byte [edx + 1], al +mov al, byte [edi + 0x44] +mov byte [edx + 2], al +mov al, byte [edi + 0x45] +mov dword [edx + 4], 0xfed10000 +mov dword [edx + 8], 0xfed18000 +mov dword [edx + 0xc], 0xfed19000 +mov byte [edx + 3], al +mov dword [edx + 0x22], 0xfed80000 +mov eax, dword [edi + 0x14] +mov dword [edx + 0x10], eax +movzx eax, word [edi + 0x18] +mov dword [edx + 0x14], eax +mov eax, dword [edi + 0x36] +mov dword [edx + 0x2b], 0x400000 +mov dword [edx + 0x18], 0xfed84000 +mov word [edx + 0x26], 0 +mov dword [edx + 0x1c], eax +mov eax, dword [edi + 4] +mov byte [edx + 0x20], al +sbb eax, eax +mov dword [ecx + 1], edx +mov edx, dword [ebp - 0x28] +add eax, 3 +mov word [edx + 2], ax +mov byte [edx + 4], 1 +mov byte [edx + 5], 1 +mov byte [edx + 6], 0 +mov byte [edx + 7], 1 +mov byte [edx + 0xc], 1 +mov eax, dword [edi + 0x22] +mov word [edx], 0x800 +mov dword [edx + 8], eax +mov dword [ecx + 5], edx +mov byte [ebx], 0 +mov eax, dword [edi + 0x4e] +mov byte [ebx + 3], 1 +mov dword [ebx + 4], 0 +mov byte [ebx + 0x10], 0 +mov word [ebx + 1], ax +mov byte [ebx + 0x11], 1 +mov byte [ebx + 0x5d], 0xff +mov byte [ebx + 0x5e], 0x80 +mov byte [ebx + 0x5f], 1 +mov byte [ebx + 0x60], 1 +mov byte [ebx + 0x61], 1 +mov byte [ebx + 0x62], 7 +mov byte [ebx + 0x63], 0 +mov byte [ebx + 0xcf], 1 +mov byte [ebx + 0xfe], 0 +mov byte [ebx + 0xff], 0xe +mov byte [ebx + 0x100], 0 +mov byte [ebx + 0xc2], 1 +mov byte [ebx + 0xc3], 1 +mov byte [ebx + 0xf2], 0 +mov byte [ebx + 0x24], 1 +mov byte [ebx + 0x25], 0 +mov byte [ebx + 0x26], 0 +mov byte [ebx + 0x27], 0 +mov byte [ebx + 0x28], 0 +mov eax, dword [edi + 0x3a] +mov byte [ebx + 0x2a], al +mov eax, dword [edi + 0x3e] +mov byte [ebx + 0x2b], al +mov cl, byte [ebp - 0x39] +cmp dword [ebp - 0x38], 0x40650 +mov byte [ebx + 0x6d], 2 +mov edx, dword [ebp - 0x40] +mov word [ebx + 0x6e], 0x30ce +sete al +or cl, al +mov byte [ebx + 0x70], 1 +mov byte [ebx + 0x71], 0 +mov byte [ebx + 0x72], 0 +mov byte [ebx + 0x73], 0 +mov byte [ebx + 0x74], 1 +jne short loc_0001d8ad ; jne 0x1d8ad +cmp byte [ebp - 0x34], 0 +je short loc_0001d8b1 ; je 0x1d8b1 + +loc_0001d8ad: +mov byte [ebx + 0x75], 0 + +loc_0001d8b1: +mov al, byte [edi + 0x46] +mov byte [ebx + 0x77], 1 +mov byte [ebx + 0x78], 0 +mov byte [ebx + 0x79], 0 +mov byte [ebx + 0x76], al +mov byte [ebx + 0x7a], 3 +mov byte [ebx + 0x7b], 0 +mov byte [ebx + 0x7c], 0 +mov byte [ebx + 0x7d], 0 +mov byte [ebx + 0x7e], 0 +mov byte [ebx + 0x7f], 0 +mov byte [ebx + 0x80], 0 +mov word [ebx + 0x81], 0 +mov byte [ebx + 0x83], 0 +mov byte [ebx + 0x84], 0 +mov byte [ebx + 0x85], 0 +mov word [ebx + 0x86], 0 +mov byte [ebx + 0x88], 0xff +mov byte [ebx + 0x89], 0xff +mov byte [ebx + 0x8a], 0xff +mov byte [ebx + 0x8b], 0xff +mov byte [ebx + 0x8c], 0xff +mov byte [ebx + 0x8d], 0xff +mov byte [ebx + 0x8e], 0xff +mov byte [ebx + 0x8f], 0xff +mov byte [ebx + 0x90], 0xff +mov byte [ebx + 0x91], 0xff +mov byte [ebx + 0x92], 0xff +mov byte [ebx + 0x93], 0xff +mov byte [ebx + 0x94], 0xff +mov byte [ebx + 0x95], 0xff +mov byte [ebx + 0x96], 0xff +mov byte [ebx + 0x97], 0xff +mov byte [ebx + 0x98], 0 +mov byte [ebx + 0x99], 0 +mov byte [ebx + 0x9a], 0 +mov byte [ebx + 0x9b], 0 +mov byte [ebx + 0x9c], 0 +mov byte [ebx + 0x9d], 0 +mov byte [ebx + 0x9e], 0 +mov byte [ebx + 0x9f], 0 +mov byte [ebx + 0xa0], 0 +mov byte [ebx + 0xa1], 0 +mov byte [ebx + 0xa2], 0 +mov byte [ebx + 0xa3], 0 +mov byte [ebx + 0xa4], 0 +mov byte [ebx + 0xa5], 0 +mov byte [ebx + 0xa6], 0 +mov byte [ebx + 0xa7], 0 +mov byte [ebx + 0xa8], 0 +mov byte [ebx + 0xa9], 0 +mov byte [ebx + 0xaa], 0 +mov byte [ebx + 0xab], 0 +cmp dword [edi + 0x52], 0 +mov word [ebx + 0xad], 0x200 +mov byte [ebx + 0xaf], 0 +sete byte [ebx + 0xac] +mov byte [ebx + 0xb0], 0x30 +test cl, cl +jne short loc_0001da31 ; jne 0x1da31 +cmp byte [ebp - 0x34], 0 +je short loc_0001da3f ; je 0x1da3f + +loc_0001da31: +mov byte [ebx + 0xb1], 1 +mov byte [ebx + 0xb2], 0x40 + +loc_0001da3f: +mov byte [ebx + 0x101], 0xff +mov byte [ebx + 0x2e], 1 +mov byte [ebx + 0x2f], 0 +mov byte [ebx + 0x30], 4 +mov byte [ebx + 0x31], 0xc +mov byte [ebx + 0x6b], 0 +mov byte [ebx + 0x32], 0 +mov byte [ebx + 0x33], 1 +mov byte [ebx + 0x34], 1 +mov byte [ebx + 0x35], 1 +mov byte [ebx + 0x36], 1 +mov byte [ebx + 0x37], 0 +mov byte [ebx + 0x38], 1 +mov byte [ebx + 0x39], 1 +mov byte [ebx + 0x3a], 1 +mov byte [ebx + 0x3b], 0 +mov byte [ebx + 0x3c], 1 +mov byte [ebx + 0x3e], 1 +mov byte [ebx + 0x3f], 0 +mov byte [ebx + 0x40], 1 +mov byte [ebx + 0x41], 1 +mov byte [ebx + 0x42], 1 +mov byte [ebx + 0x5c], 1 +mov byte [ebx + 0x43], 1 +mov byte [ebx + 0x44], 1 +mov byte [ebx + 0x47], 1 +mov byte [ebx + 0x48], 1 +mov byte [ebx + 0x49], 1 +mov byte [ebx + 0x4a], 0 +mov byte [ebx + 0x4b], 0 +mov byte [ebx + 0x58], 0 +mov byte [ebx + 0x59], 0 +mov byte [ebx + 0x5a], 1 +mov byte [ebx + 0x6a], 1 +mov byte [ebx + 0xc5], 1 +mov byte [ebx + 0xce], 1 +cmp dword [edi + 0x56], 0 +mov byte [ebx + 0xd0], 1 +mov byte [ebx + 0x2c], 1 +sete byte [ebx + 0xfd] +mov byte [ebx + 0x55], 0 +mov byte [ebx + 0x56], 1 +mov word [ebx + 0x4c], 0 +mov dword [ebx + 0x4e], 0 +mov byte [ebx + 0x53], 2 +mov byte [ebx + 0x54], 0 +mov dword [ebx + 0x64], 0x5f5e100 +mov byte [ebx + 0xc4], 0 +mov byte [ebx + 0x5b], 1 +mov byte [ebx + 0xf3], 1 +mov byte [ebx + 0xc7], 0 +mov al, byte [edi + 0x4a] +mov byte [ebx + 0x57], al +test cl, cl +jne short loc_0001db3b ; jne 0x1db3b +cmp byte [ebp - 0x34], 0 +jmp short loc_0001db42 ; jmp 0x1db42 + +loc_0001db3b: +cmp dword [ebp - 0x38], 0x40650 + +loc_0001db42: +je short loc_0001dbc3 ; je 0x1dbc3 +mov byte [ebx + 0xfc], 0 +mov byte [ebx + 0xd1], 0 +mov dword [ebx + 0xd2], 0 +mov dword [ebx + 0xd6], 0 +mov dword [ebx + 0xda], 0 +mov dword [ebx + 0xde], 0 +mov dword [ebx + 0xe2], 0 +mov dword [ebx + 0xe6], 0 +mov dword [ebx + 0xea], 0 +mov dword [ebx + 0xee], 0 +mov byte [ebx + 0xf4], 1 +mov dword [ebx + 0xf5], 0x320 +mov word [ebx + 0xf9], 0x118 +mov byte [ebx + 0xfb], 7 + +loc_0001dbc3: +push ecx +push 0 +push 0 +push 0 +mov dword [ebp - 0x24], edx +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +mov edx, dword [ebp - 0x24] +mov ecx, eax +and ch, 0xfe +cmp cx, 0xc04 +je short loc_0001dc0a ; je 0x1dc0a +mov ecx, eax +and ecx, 0xfffffff7 +cmp cx, 0xa04 +je short loc_0001dc0a ; je 0x1dc0a +and eax, 0xffffffef +cmp ax, 0x1604 +sete al +movzx eax, al +jmp short loc_0001dc0f ; jmp 0x1dc0f + +loc_0001dc0a: +mov eax, 1 + +loc_0001dc0f: +mov byte [ebx + 0xc6], al +mov word [ebx + 0xc8], 0xcf8 +mov word [ebx + 0xca], 0xcfc +mov byte [ebx + 0xcc], 0xaa +mov dword [esi], fcn_00018e1d ; mov dword [esi], 0x18e1d +mov dword [esi + 4], fcn_00018e32 ; mov dword [esi + 4], 0x18e32 +mov dword [esi + 8], fcn_00018ea0 ; mov dword [esi + 8], 0x18ea0 +mov dword [esi + 0xc], fcn_00018e26 ; mov dword [esi + 0xc], 0x18e26 +mov dword [esi + 0x10], fcn_00018e63 ; mov dword [esi + 0x10], 0x18e63 +mov dword [esi + 0x14], fcn_00018ed3 ; mov dword [esi + 0x14], 0x18ed3 +mov dword [esi + 0x18], fcn_00017cc7 ; mov dword [esi + 0x18], 0x17cc7 +mov dword [esi + 0x1c], fcn_00017cfe ; mov dword [esi + 0x1c], 0x17cfe +mov dword [esi + 0x20], fcn_00017d8a ; mov dword [esi + 0x20], 0x17d8a +mov dword [esi + 0x24], fcn_00017e14 ; mov dword [esi + 0x24], 0x17e14 +mov dword [esi + 0x28], fcn_00017ce1 ; mov dword [esi + 0x28], 0x17ce1 +mov dword [esi + 0x2c], fcn_00017d40 ; mov dword [esi + 0x2c], 0x17d40 +mov dword [esi + 0x30], fcn_00017dcb ; mov dword [esi + 0x30], 0x17dcb +mov dword [esi + 0x34], fcn_00016a52 ; mov dword [esi + 0x34], 0x16a52 +mov dword [esi + 0x38], fcn_0001a1be ; mov dword [esi + 0x38], 0x1a1be +mov dword [esi + 0x3c], fcn_0001a2b8 ; mov dword [esi + 0x3c], 0x1a2b8 +mov dword [esi + 0x40], fcn_0001a236 ; mov dword [esi + 0x40], 0x1a236 +mov dword [esi + 0x44], fcn_0001a331 ; mov dword [esi + 0x44], 0x1a331 +mov dword [esi + 0x48], fcn_00016740 ; mov dword [esi + 0x48], 0x16740 +mov dword [esi + 0x4c], fcn_0001676e ; mov dword [esi + 0x4c], 0x1676e +mov dword [esi + 0x50], fcn_000167d1 ; mov dword [esi + 0x50], 0x167d1 +mov dword [esi + 0x54], fcn_000169be ; mov dword [esi + 0x54], 0x169be +mov dword [esi + 0x58], fcn_0001707a ; mov dword [esi + 0x58], 0x1707a +mov dword [esi + 0x5c], fcn_0001efeb ; mov dword [esi + 0x5c], 0x1efeb +mov dword [esi + 0x60], fcn_000169f9 ; mov dword [esi + 0x60], 0x169f9 +mov dword [esi + 0x64], fcn_00016a12 ; mov dword [esi + 0x64], 0x16a12 +mov dword [esi + 0x68], fcn_0001fd4c ; mov dword [esi + 0x68], 0x1fd4c +mov dword [esi + 0x6c], fcn_0001718b ; mov dword [esi + 0x6c], 0x1718b +mov dword [esi + 0x70], fcn_0001fd96 ; mov dword [esi + 0x70], 0x1fd96 +mov dword [esi + 0x74], fcn_0001fd9f ; mov dword [esi + 0x74], 0x1fd9f +mov eax, dword [ebp - 0x1c] +mov dword [esi + 0x78], fcn_0001667c ; mov dword [esi + 0x78], 0x1667c +mov dword [esi + 0x7c], fcn_00016a80 ; mov dword [esi + 0x7c], 0x16a80 +mov dword [esi + 0x80], fcn_0001cb4b ; mov dword [esi + 0x80], 0x1cb4b +mov dword [esi + 0x84], fcn_0001c938 ; mov dword [esi + 0x84], 0x1c938 +mov dword [esi + 0x88], fcn_00016ae0 ; mov dword [esi + 0x88], 0x16ae0 +mov dword [esi + 0x8c], fcn_00016ae7 ; mov dword [esi + 0x8c], 0x16ae7 +mov dword [esi + 0x90], fcn_00016aef ; mov dword [esi + 0x90], 0x16aef +mov dword [esi + 0x94], fcn_00016b18 ; mov dword [esi + 0x94], 0x16b18 +mov dword [esi + 0x98], fcn_0001671d ; mov dword [esi + 0x98], 0x1671d +mov dword [esi + 0x9c], fcn_00016792 ; mov dword [esi + 0x9c], 0x16792 +mov dword [esi + 0xa0], fcn_000174f8 ; mov dword [esi + 0xa0], 0x174f8 +mov dword [esi + 0xa4], fcn_00017502 ; mov dword [esi + 0xa4], 0x17502 +mov dword [esi + 0xa8], fcn_00016b8c ; mov dword [esi + 0xa8], 0x16b8c +mov dword [eax + 9], ebx +mov dword [eax + 0x1e], esi +xor eax, eax +mov byte [edx], 0 +mov byte [edx + 1], 1 +mov byte [edx + 2], 1 +mov byte [edx + 3], 1 +mov byte [edx + 4], 0 +mov byte [edx + 5], 0 +mov byte [edx + 6], 0 +mov byte [edx + 7], 0 +mov byte [edx + 0x5c], 0xff +mov byte [edx + 0x61], 0 +mov byte [edx + 0x5d], 0xff +mov byte [edx + 0x62], 0 +mov byte [edx + 0x5e], 0xff +mov byte [edx + 0x63], 0 +mov byte [edx + 8], 1 +mov byte [edx + 0x39], 0 +mov byte [edx + 0x40], 2 +mov byte [edx + 0x5f], 0 +mov byte [edx + 0x60], 0 +mov byte [edx + 0x64], 2 +mov word [edx + 0x65], 0x2710 +mov word [edx + 0x67], 2 +mov byte [edx + 0x69], 2 +mov byte [edx + 0x6a], 2 +mov byte [edx + 0x3b], 1 +mov byte [edx + 0x48], 0 +mov word [edx + 0x3c], 0x3e8 +mov byte [edx + 0x3f], 0xf +mov byte [edx + 0x42], 0x14 +mov word [edx + 0x50], 1 + +loc_0001de05: +mov byte [edx + eax + 9], 8 +mov byte [edx + eax + 0x19], 7 +mov byte [edx + eax + 0x29], 2 +inc eax +cmp eax, 0x10 +jne short loc_0001de05 ; jne 0x1de05 +mov eax, dword [ebp - 0x2c] +mov byte [edx + 0x49], 0 +mov byte [eax], 0 +xor eax, eax +mov byte [edx + 0x52], 0 +mov byte [edx + 0x53], 0 + +loc_0001de2e: +mov byte [edx + eax + 0x54], 8 +inc eax +cmp eax, 8 +jne short loc_0001de2e ; jne 0x1de2e +mov esi, dword [ebp - 0x30] +sub esp, 0xc +mov ecx, dword [ebp - 0x1c] +mov dword [edx + 0x44], 0 +mov dword [ecx + 0xd], edx +mov word [esi], 0 +mov word [esi + 2], 0 +mov word [esi + 4], 0 +mov word [esi + 6], 0 +mov word [esi + 8], 0 +mov byte [esi + 0xa], 0 +mov byte [esi + 0xb], 0 +mov word [esi + 0xc], 0 +mov word [esi + 0xe], 0 +mov byte [esi + 0x10], 0 +mov dword [ecx + 0x11], esi +mov byte [ecx + 0x22], 0 +mov eax, dword [edi + 0x8f6] +mov dword [ecx + 0x15], eax +push dword [ebp - 0x20] +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, ebx +test al, al +je short loc_0001dee4 ; je 0x1dee4 +test ebx, ebx +jns short loc_0001dee4 ; jns 0x1dee4 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001deca ; je 0x1deca +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001deca: +push eax +push ref_00020664 ; push 0x20664 +push 0x237 +push ref_0002681d ; push 0x2681d +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +mov edx, ebx + +loc_0001dee4: +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001deee: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +call fcn_00016380 ; call 0x16380 +mov esi, eax +call fcn_0001bef7 ; call 0x1bef7 +sub esp, 0xc +push 0x5ac +mov dword [ebp - 0x1c], eax +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov ebx, eax +test eax, eax +jne short loc_0001df47 ; jne 0x1df47 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001df3d ; je 0x1df3d +push eax +push ref_000221f1 ; push 0x221f1 +push 0x129 + +loc_0001df30: +push ref_00026920 ; push 0x26920 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001df3d: +mov edx, 0x80000009 +jmp near loc_0001e5b3 ; jmp 0x1e5b3 + +loc_0001df47: +sub esp, 0xc +push 0xc +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov dword [ebp - 0x20], eax +test eax, eax +jne short loc_0001df71 ; jne 0x1df71 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001df3d ; je 0x1df3d +push eax +push ref_000221f1 ; push 0x221f1 +push 0x12f +jmp short loc_0001df30 ; jmp 0x1df30 + +loc_0001df71: +mov eax, dword [ebp - 0x20] +xor edi, edi +mov dword [eax], 0x80000010 +mov dword [eax + 4], ref_0002912c ; mov dword [eax + 4], 0x2912c +mov dword [eax + 8], ebx +lea eax, [ebx + 0x284] +mov byte [ebx], 0xb +mov byte [ebx + 1], 0 +mov dword [ebx + 4], 0xfed1c000 +mov dword [ebp - 0x24], eax +mov eax, dword [esi + 0x2a] +mov word [ebx + 8], ax +mov eax, dword [esi + 0x2e] +mov byte [ebx + 0xc], 0 +mov byte [ebx + 0x37e], 0 +mov byte [ebx + 0x370], 1 +mov word [ebx + 0xa], ax +mov byte [ebx + 0x1da], 1 +mov byte [ebx + 0x386], 1 +mov ax, word [esi + 0x18] +or byte [ebx + 0x45e], 1 +or byte [ebx + 0x49e], 0x80 +and byte [ebx + 0x486], 0xfe +mov word [ebx + 0x388], ax +mov byte [ebx + 0x3a], 0 +mov byte [ebx + 0x496], 1 +mov byte [ebx + 0x497], 1 +mov byte [ebx + 0x498], 1 +mov byte [ebx + 0x499], 1 +mov byte [ebx + 0x49a], 1 +mov byte [ebx + 0x49b], 1 +mov byte [ebx + 0x49c], 1 +mov byte [ebx + 0x49d], 1 +or byte [ebx + 0x412], 0xf +or byte [ebx + 0x419], 0xc0 +or byte [ebx + 0x41e], 2 +or byte [ebx + 0x424], 0x40 +mov byte [ebx + 0x43c], 1 + +loc_0001e04a: +call fcn_0001c11d ; call 0x1c11d +movzx eax, al +cmp edi, eax +jae short loc_0001e064 ; jae 0x1e064 +imul eax, edi, 0x12 +inc edi +or byte [ebx + eax + 0x1e1], 0x40 +jmp short loc_0001e04a ; jmp 0x1e04a + +loc_0001e064: +mov al, byte [ebx + 0x436] +xor ecx, ecx +and byte [ebx + 0x426], 0xfe +or byte [ebx + 0x432], 7 +or eax, 3 +and eax, 0xfffffffb +mov word [ebx + 0x43a], 0 +mov byte [ebx + 0x436], al +mov byte [ebx + 0x1a8], 1 + +loc_0001e096: +mov dword [ebp - 0x28], ecx +call fcn_0001c0fb ; call 0x1c0fb +mov ecx, dword [ebp - 0x28] +cmp cl, al +jae short loc_0001e0ce ; jae 0x1e0ce +movzx eax, cl +imul eax, eax, 0x2c +add eax, ebx +mov dl, byte [eax + 0x46] +mov byte [eax + 0x4f], cl +mov byte [eax + 0x50], cl +inc ecx +mov byte [eax + 0x56], 4 +or edx, 5 +and edx, 0x7f +mov byte [eax + 0x57], 3 +mov byte [eax + 0x4e], 0 +mov byte [eax + 0x46], dl +jmp short loc_0001e096 ; jmp 0x1e096 + +loc_0001e0ce: +or byte [ebx + 0x17a], 8 +sub esp, 0xc +and byte [ebx + 0x1aa], 0xfe +mov byte [ebx + 0x1a6], 0 +mov byte [ebx + 0x1a7], 0 +mov byte [ebx + 0x1a9], 1 +push 0xc +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +test eax, eax +jne short loc_0001e118 ; jne 0x1e118 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001e17c ; je 0x1e17c +push eax +push ref_000221f1 ; push 0x221f1 +push 0xf8 +jmp short loc_0001e16f ; jmp 0x1e16f + +loc_0001e118: +sub esp, 0xc +mov dword [eax], 0x80000010 +mov dword [eax + 4], ref_0002906c ; mov dword [eax + 4], 0x2906c +mov dword [eax + 8], ref_00029698 ; mov dword [eax + 8], 0x29698 +push eax +call fcn_00019667 ; call 0x19667 +mov edi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001e17c ; je 0x1e17c +test edi, edi +jns short loc_0001e17c ; jns 0x1e17c +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001e164 ; je 0x1e164 +push eax +push edi +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001e164: +push ecx +push ref_00020664 ; push 0x20664 +push 0x101 + +loc_0001e16f: +push ref_00026920 ; push 0x26920 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001e17c: +mov dword [ebx + 0x1db], 1 +xor edi, edi + +loc_0001e188: +call fcn_0001c11d ; call 0x1c11d +mov edx, edi +cmp dl, al +jae loc_0001e217 ; jae 0x1e217 +mov eax, edi +inc edi +movzx eax, al +imul eax, eax, 0x12 +add eax, ebx +mov dl, byte [eax + 0x1e1] +lea ecx, [eax + 0x1da] +mov byte [eax + 0x1df], 0x71 +mov byte [eax + 0x1e0], 0x1f +mov byte [eax + 0x1e4], 1 +and edx, 0xffffffc0 +or edx, 0x27 +mov byte [eax + 0x1e1], dl +mov byte [eax + 0x1e6], 1 +mov byte [eax + 0x1e8], 1 +mov byte [eax + 0x1e3], 0 +mov byte [eax + 0x1e5], 0 +mov byte [eax + 0x1e7], 0 +mov byte [eax + 0x1e9], 0 +mov byte [eax + 0x1ea], 0 +mov byte [eax + 0x1eb], 0 +mov byte [eax + 0x1ec], 0 +and byte [ecx + 0x13], 0xf0 +jmp near loc_0001e188 ; jmp 0x1e188 + +loc_0001e217: +mov al, byte [ebx + 0x24c] +mov byte [ebx + 0x24b], 0x7e +mov byte [ebx + 0x253], 0 +mov byte [ebx + 0x255], 1 +or eax, 0x1e +and eax, 0xfffffffe +mov byte [ebx + 0x24c], al +mov byte [ebx + 0x254], 0 +mov dword [ebx + 0x24f], 0 +mov byte [ebx + 0x257], 0 +mov byte [ebx + 0x258], 0 +mov byte [ebx + 0x259], 0 +mov byte [ebx + 0x25a], 0 +mov byte [ebx + 0x25b], 0x64 +call fcn_000153f0 ; call 0x153f0 +mov byte [ebx + 0x38d], 4 +push eax +push 4 +push ref_00029600 ; push 0x29600 +lea eax, [ebx + 0x38e] +push eax +call fcn_0001707a ; call 0x1707a +mov word [ebx + 0x36], 0x8086 +mov word [ebx + 0x38], 0x7270 +mov byte [ebx + 0x3b], 0 +mov byte [ebx + 0x360], 2 +mov byte [ebx + 0x361], 0 +mov byte [ebx + 0x362], 1 +mov byte [ebx + 0x35c], 1 +mov byte [ebx + 0x35d], 0xf0 +mov byte [ebx + 0x35e], 0x1f +mov byte [ebx + 0x35f], 0 +mov eax, dword [esi + 0xc] +mov word [ebx + 0x22], 0xd000 +mov word [ebx + 0x24], 0x10 +mov byte [ebx + 0x11], al +mov eax, dword [esi + 0x32] +mov dword [ebx + 0x1e], 0x10000 +mov byte [ebx + 0x18], 2 +mov byte [ebx + 0x19], 6 +mov dword [ebx + 0x1a], eax +mov byte [ebx + 0x371], 0 +mov word [ebx + 0x374], 0x12c +mov byte [ebx + 0x372], 1 +mov byte [ebx + 0x373], 0 +pop eax +pop edx +lea eax, [ebx + 0x57c] +push eax +push dword [ebp - 0x24] +call fcn_0001e5bd ; call 0x1e5bd +mov al, byte [ebx + 0x40e] +add esp, 0x10 +or eax, 3 +and eax, 0xffffffc3 +mov byte [ebx + 0x40e], al +xor eax, eax + +loc_0001e340: +and byte [ebx + eax*8 + 0x554], 0xfc +mov word [ebx + eax*8 + 0x558], 0 +mov word [ebx + eax*8 + 0x55a], 0 +inc eax +cmp eax, 5 +jne short loc_0001e340 ; jne 0x1e340 +mov al, byte [ebx + 0x46a] +xor ecx, ecx +mov byte [ebx + 0x364], 1 +mov dword [ebx + 0x368], 0xfed00000 +mov byte [ebx + 0x36c], 1 +and eax, 0xffffffb0 +or eax, 0x49 +mov byte [ebx + 0x365], 0xf0 +mov byte [ebx + 0x366], 0xf +mov byte [ebx + 0x367], 0 +mov byte [ebx + 0x476], 1 +mov dword [ebx + 0x47e], 0 +mov dword [ebx + 0x47a], 1 +mov byte [ebx + 0x46a], al +mov byte [ebx + 0x37f], 0 +mov byte [ebx + 0x256], 1 + +loc_0001e3cc: +mov dword [ebp - 0x24], ecx +call fcn_0001c0fb ; call 0x1c0fb +mov ecx, dword [ebp - 0x24] +cmp cl, al +jae short loc_0001e3e9 ; jae 0x1e3e9 +movzx eax, cl +inc ecx +imul eax, eax, 0x2c +mov byte [ebx + eax + 0x58], 1 +jmp short loc_0001e3cc ; jmp 0x1e3cc + +loc_0001e3e9: +and byte [ebx + 0x45e], 0xf7 +xor ecx, ecx + +loc_0001e3f2: +mov dword [ebp - 0x24], ecx +call fcn_0001c0fb ; call 0x1c0fb +mov ecx, dword [ebp - 0x24] +cmp cl, al +jae short loc_0001e460 ; jae 0x1e460 +cmp dword [ebp - 0x1c], 2 +movzx eax, cl +jne short loc_0001e41f ; jne 0x1e41f +imul esi, eax, 0x2c +lea esi, [ebx + esi + 0x50] +mov word [esi + 0xa], 0x1003 +mov word [esi + 0xc], 0x1003 +jmp short loc_0001e438 ; jmp 0x1e438 + +loc_0001e41f: +cmp dword [ebp - 0x1c], 1 +jne short loc_0001e438 ; jne 0x1e438 +imul esi, eax, 0x2c +lea esi, [ebx + esi + 0x50] +mov word [esi + 0xa], 0x846 +mov word [esi + 0xc], 0x846 + +loc_0001e438: +imul eax, eax, 0x2c +inc ecx +add eax, ebx +mov byte [eax + 0x59], 0 +mov byte [eax + 0x5e], 2 +mov byte [eax + 0x5f], 2 +mov word [eax + 0x60], 0x3c +mov byte [eax + 0x62], 2 +mov byte [eax + 0x63], 2 +mov word [eax + 0x64], 0x3c +jmp short loc_0001e3f2 ; jmp 0x1e3f2 + +loc_0001e460: +mov al, byte [ebx + 0x446] +or byte [ebx + 0x442], 7 +and byte [ebx + 0x45e], 0xf9 +and eax, 0xffffffcc +or eax, 0xc +mov byte [ebx + 0x446], al +mov al, byte [ebx + 0x486] +mov dword [ebx + 0x44a], 0 +mov dword [ebx + 0x44e], 2 +mov dword [ebx + 0x452], 4 +and eax, 0xffffffc1 +or eax, 0x32 +mov byte [ebx + 0x486], al +mov al, byte [ebx + 0x49e] +mov dword [ebx + 0x456], 3 +mov dword [ebx + 0x45a], 3 +mov byte [ebx + 0x462], 4 +or eax, 1 +and eax, 0xffffffbd +mov byte [ebx + 0x49e], al +xor eax, eax +mov byte [ebx + 0x10], 0xdd + +loc_0001e4e3: +mov dword [ebx + eax*4 + 0x1ba], 0 +inc eax +cmp eax, 8 +jne short loc_0001e4e3 ; jne 0x1e4e3 +cmp dword [ebp - 0x1c], 2 +lea eax, [ebx + 0x4de] +lea esi, [ebx + 0x527] +jne short loc_0001e52e ; jne 0x1e52e +mov byte [ebx + 0x526], 5 +push edi +push 0x28 +push ref_00029640 ; push 0x29640 +push eax +call fcn_0001707a ; call 0x1707a +add esp, 0xc +mov byte [ebx + 0x553], 9 +push 0x24 +push ref_00029604 ; push 0x29604 +jmp short loc_0001e554 ; jmp 0x1e554 + +loc_0001e52e: +mov byte [ebx + 0x526], 6 +push ecx +push 0x30 +push ref_00029668 ; push 0x29668 +push eax +call fcn_0001707a ; call 0x1707a +add esp, 0xc +mov byte [ebx + 0x553], 6 +push 0x18 +push ref_00029628 ; push 0x29628 + +loc_0001e554: +push esi +call fcn_0001707a ; call 0x1707a +add esp, 0x10 +sub esp, 0xc +push dword [ebp - 0x20] +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, ebx +test al, al +je short loc_0001e5b3 ; je 0x1e5b3 +test ebx, ebx +jns short loc_0001e5b3 ; jns 0x1e5b3 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001e599 ; je 0x1e599 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001e599: +push eax +push ref_00020664 ; push 0x20664 +push 0x2d4 +push ref_00026920 ; push 0x26920 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +mov edx, ebx + +loc_0001e5b3: +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001e5bd: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ebx, dword [ebp + 8] +call fcn_00016380 ; call 0x16380 +test ebx, ebx +jne short loc_0001e5f9 ; jne 0x1e5f9 +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0001ec65 ; je 0x1ec65 +push edx +push ref_000221f1 ; push 0x221f1 +push 0x35 +push ref_0002693d ; push 0x2693d +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp near loc_0001ec65 ; jmp 0x1ec65 + +loc_0001e5f9: +mov esi, eax +call fcn_0001bef7 ; call 0x1bef7 +mov edi, eax +push eax +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +add eax, 2 +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +xor edx, edx +mov byte [ebx], 0 +mov byte [ebx + 8], 0 +mov byte [ebx + 0x11], 1 +mov byte [ebx + 0x10], 1 +mov byte [ebx + 0x13], 0 +mov ecx, eax +mov byte [ebx + 0x12], 1 + +loc_0001e637: +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], edx +call fcn_0001c19d ; call 0x1c19d +mov edx, dword [ebp - 0x1c] +mov ecx, dword [ebp - 0x20] +movzx eax, al +cmp edx, eax +jae short loc_0001e657 ; jae 0x1e657 +mov byte [ebx + edx + 0x14], 0 +inc edx +jmp short loc_0001e637 ; jmp 0x1e637 + +loc_0001e657: +xor edx, edx + +loc_0001e659: +mov dword [ebp - 0x20], ecx +mov dword [ebp - 0x1c], edx +call fcn_0001c234 ; call 0x1c234 +mov edx, dword [ebp - 0x1c] +mov ecx, dword [ebp - 0x20] +movzx eax, al +cmp edx, eax +jae short loc_0001e679 ; jae 0x1e679 +mov byte [ebx + edx + 0x22], 0 +inc edx +jmp short loc_0001e659 ; jmp 0x1e659 + +loc_0001e679: +mov byte [ebx + 0x28], 0 +mov byte [ebx + 1], 0 +mov byte [ebx + 9], 0 +mov byte [ebx + 0xb5], 0 +mov byte [ebx + 0xb4], 1 +mov al, byte [esi + 0x5c] +mov byte [ebx + 0x2c], al +mov al, byte [esi + 0x61] +mov byte [ebx + 0x34], al +mov al, byte [esi + 0x66] +mov byte [ebx + 0x3c], al +mov al, byte [esi + 0x6b] +mov byte [ebx + 0x44], al +mov al, byte [esi + 0x70] +mov byte [ebx + 0x4c], al +mov al, byte [esi + 0x75] +mov byte [ebx + 0x54], al +mov al, byte [esi + 0x7a] +mov byte [ebx + 0x5c], al +mov al, byte [esi + 0x7f] +mov byte [ebx + 0x64], al +mov al, byte [esi + 0x84] +mov byte [ebx + 0x6c], al +mov al, byte [esi + 0x89] +mov byte [ebx + 0x74], al +mov al, byte [esi + 0x8e] +mov byte [ebx + 0x7c], al +mov al, byte [esi + 0x93] +mov byte [ebx + 0x84], al +mov al, byte [esi + 0x98] +mov byte [ebx + 0x8c], al +mov al, byte [esi + 0x9d] +mov byte [ebx + 0x94], al +mov al, byte [esi + 0xa0] +mov byte [ebx + 0x9c], al +mov al, byte [esi + 0xa3] +mov byte [ebx + 0xa0], al +mov al, byte [esi + 0xa6] +mov byte [ebx + 0xa4], al +mov al, byte [esi + 0xa9] +mov byte [ebx + 0xa8], al +mov al, byte [esi + 0xac] +mov byte [ebx + 0xac], al +mov al, byte [esi + 0xaf] +mov byte [ebx + 0xb0], al +mov al, byte [esi + 0x5d] +mov byte [ebx + 0x2d], al +mov al, byte [esi + 0x62] +mov byte [ebx + 0x35], al +mov al, byte [esi + 0x67] +mov byte [ebx + 0x3d], al +mov al, byte [esi + 0x6c] +mov byte [ebx + 0x45], al +mov al, byte [esi + 0x71] +mov byte [ebx + 0x4d], al +mov al, byte [esi + 0x76] +mov byte [ebx + 0x55], al +mov al, byte [esi + 0x7b] +mov byte [ebx + 0x5d], al +mov al, byte [esi + 0x80] +mov byte [ebx + 0x65], al +mov al, byte [esi + 0x85] +mov byte [ebx + 0x6d], al +mov al, byte [esi + 0x8a] +mov byte [ebx + 0x75], al +mov al, byte [esi + 0x8f] +mov byte [ebx + 0x7d], al +mov al, byte [esi + 0x94] +mov byte [ebx + 0x85], al +mov al, byte [esi + 0x99] +mov byte [ebx + 0x8d], al +mov al, byte [esi + 0x9e] +mov byte [ebx + 0x95], al +mov al, byte [esi + 0xa1] +mov byte [ebx + 0x9d], al +mov al, byte [esi + 0xa4] +mov byte [ebx + 0xa1], al +mov al, byte [esi + 0xa7] +mov byte [ebx + 0xa5], al +mov al, byte [esi + 0xaa] +mov byte [ebx + 0xa9], al +mov al, byte [esi + 0xad] +mov byte [ebx + 0xad], al +mov al, byte [esi + 0xb0] +mov byte [ebx + 0xb1], al +mov ax, word [esi + 0x5a] +mov word [ebx + 0x30], ax +mov ax, word [esi + 0x5f] +mov word [ebx + 0x38], ax +mov ax, word [esi + 0x64] +mov word [ebx + 0x40], ax +mov ax, word [esi + 0x69] +mov word [ebx + 0x48], ax +mov ax, word [esi + 0x6e] +mov word [ebx + 0x50], ax +mov ax, word [esi + 0x73] +mov word [ebx + 0x58], ax +mov ax, word [esi + 0x78] +mov word [ebx + 0x60], ax +mov ax, word [esi + 0x7d] +mov word [ebx + 0x68], ax +mov ax, word [esi + 0x82] +mov word [ebx + 0x70], ax +mov ax, word [esi + 0x87] +mov word [ebx + 0x78], ax +mov ax, word [esi + 0x8c] +mov word [ebx + 0x80], ax +mov ax, word [esi + 0x91] +mov word [ebx + 0x88], ax +mov ax, word [esi + 0x96] +mov word [ebx + 0x90], ax +mov ax, word [esi + 0x9b] +mov word [ebx + 0x98], ax +mov al, byte [esi + 0xa2] +mov byte [ebx + 0x9e], al +mov al, byte [esi + 0xa5] +mov byte [ebx + 0xa2], al +mov al, byte [esi + 0xa8] +mov byte [ebx + 0xa6], al +mov al, byte [esi + 0xab] +mov byte [ebx + 0xaa], al +mov al, byte [esi + 0xae] +mov byte [ebx + 0xae], al +mov al, byte [esi + 0xb1] +mov byte [ebx + 0xb2], al +mov al, byte [esi + 0x5e] +mov byte [ebx + 0x32], al +mov al, byte [esi + 0x63] +mov byte [ebx + 0x3a], al +mov al, byte [esi + 0x68] +mov byte [ebx + 0x42], al +mov al, byte [esi + 0x6d] +mov byte [ebx + 0x4a], al +mov al, byte [esi + 0x72] +mov byte [ebx + 0x52], al +mov al, byte [esi + 0x77] +mov byte [ebx + 0x5a], al +mov al, byte [esi + 0x7c] +mov byte [ebx + 0x62], al +mov al, byte [esi + 0x81] +mov byte [ebx + 0x6a], al +mov al, byte [esi + 0x86] +mov byte [ebx + 0x72], al +mov al, byte [esi + 0x8b] +mov byte [ebx + 0x7a], al +mov al, byte [esi + 0x90] +mov byte [ebx + 0x82], al +mov al, byte [esi + 0x95] +mov byte [ebx + 0x8a], al +mov al, byte [esi + 0x9a] +mov byte [ebx + 0x92], al +mov al, byte [esi + 0x9f] +mov byte [ebx + 0x9a], al +cmp edi, 1 +jne loc_0001ea89 ; jne 0x1ea89 +mov eax, ecx +and eax, 0xfffffff7 +cmp ax, 0x8c44 +je short loc_0001e96f ; je 0x1e96f +mov edx, ecx +and edx, 0xfffffffb +cmp cx, 0x8c50 +jne short loc_0001e976 ; jne 0x1e976 + +loc_0001e96f: +lea edi, [ebx + 0x2f] +xor edx, edx +jmp short loc_0001e9c6 ; jmp 0x1e9c6 + +loc_0001e976: +cmp cx, 0x8c5c +je short loc_0001e96f ; je 0x1e96f +mov edi, ecx +and edi, 0xfffffff3 +cmp di, 0x8c42 +je short loc_0001e96f ; je 0x1e96f +cmp cx, 0x8cc4 +je short loc_0001e96f ; je 0x1e96f +cmp dx, 0x8cc2 +jne short loc_0001e9df ; jne 0x1e9df +jmp short loc_0001e96f ; jmp 0x1e96f + +loc_0001e999: +cmp byte [edi + 3], 1 +sbb eax, eax +not eax +add eax, 4 +cmp byte [edi + 3], 0 +mov byte [edi - 1], al +jne short loc_0001e9da ; jne 0x1e9da +mov ax, word [edi + 1] +cmp ax, 0x7f +jbe short loc_0001e9da ; jbe 0x1e9da +cmp ax, 0x130 +sbb eax, eax +add eax, 4 +mov byte [edi], al + +loc_0001e9c2: +inc edx +add edi, 8 + +loc_0001e9c6: +mov dword [ebp - 0x1c], edx +call fcn_0001c19d ; call 0x1c19d +mov edx, dword [ebp - 0x1c] +movzx eax, al +cmp edx, eax +jb short loc_0001e999 ; jb 0x1e999 +jmp short loc_0001ea0a ; jmp 0x1ea0a + +loc_0001e9da: +mov byte [edi], 2 +jmp short loc_0001e9c2 ; jmp 0x1e9c2 + +loc_0001e9df: +cmp dx, 0x8c4b +je short loc_0001ea22 ; je 0x1ea22 +cmp ax, 0x8c41 +je short loc_0001ea22 ; je 0x1ea22 +lea eax, [ecx + 0x63bf] +cmp ax, 6 +jbe short loc_0001ea22 ; jbe 0x1ea22 +cmp cx, 0x8cc5 +je short loc_0001ea22 ; je 0x1ea22 +mov eax, ecx +and eax, 0xfffffffd +cmp ax, 0x8cc1 +je short loc_0001ea22 ; je 0x1ea22 + +loc_0001ea0a: +cmp dword [esi + 0x10], 0 +je loc_0001eb9c ; je 0x1eb9c +mov byte [ebx], 1 +xor edi, edi +mov byte [ebx + 0x13], 1 +jmp near loc_0001eb6a ; jmp 0x1eb6a + +loc_0001ea22: +lea edi, [ebx + 0x2f] +xor edx, edx + +loc_0001ea27: +mov dword [ebp - 0x1c], edx +call fcn_0001c19d ; call 0x1c19d +mov edx, dword [ebp - 0x1c] +movzx eax, al +cmp edx, eax +jae short loc_0001ea0a ; jae 0x1ea0a +mov al, byte [edi + 3] +cmp al, 5 +jne short loc_0001ea46 ; jne 0x1ea46 +mov byte [edi - 1], 5 +jmp short loc_0001ea61 ; jmp 0x1ea61 + +loc_0001ea46: +cmp al, 2 +jne short loc_0001ea50 ; jne 0x1ea50 +mov byte [edi - 1], 4 +jmp short loc_0001ea6a ; jmp 0x1ea6a + +loc_0001ea50: +cmp word [edi + 1], 0x70 +sbb ecx, ecx +add ecx, 6 +mov byte [edi - 1], cl +cmp al, 5 +jne short loc_0001ea66 ; jne 0x1ea66 + +loc_0001ea61: +mov byte [edi], 2 +jmp short loc_0001ea83 ; jmp 0x1ea83 + +loc_0001ea66: +cmp al, 2 +jne short loc_0001ea76 ; jne 0x1ea76 + +loc_0001ea6a: +cmp word [edi + 1], 0x50 +sbb eax, eax +add eax, 2 +jmp short loc_0001ea81 ; jmp 0x1ea81 + +loc_0001ea76: +cmp word [edi + 1], 0x100 +sbb eax, eax +add eax, 3 + +loc_0001ea81: +mov byte [edi], al + +loc_0001ea83: +inc edx +add edi, 8 +jmp short loc_0001ea27 ; jmp 0x1ea27 + +loc_0001ea89: +cmp edi, 2 +jne loc_0001ea0a ; jne 0x1ea0a +lea eax, [ecx + 0x63bf] +mov word [ebp - 0x20], ax +lea eax, [ecx + 0x633f] +lea edi, [ebx + 0x2e] +mov dword [ebp - 0x1c], 0 +mov word [ebp - 0x22], ax + +loc_0001eab0: +mov dword [ebp - 0x28], ecx +call fcn_0001c19d ; call 0x1c19d +mov ecx, dword [ebp - 0x28] +movzx eax, al +cmp dword [ebp - 0x1c], eax +jae loc_0001ea0a ; jae 0x1ea0a +cmp word [ebp - 0x20], 6 +ja short loc_0001eaef ; ja 0x1eaef +mov al, byte [edi + 4] +cmp al, 3 +je short loc_0001ead9 ; je 0x1ead9 +test al, al +jne short loc_0001eae5 ; jne 0x1eae5 + +loc_0001ead9: +cmp word [edi + 2], 0x70 +sbb eax, eax +add eax, 6 +jmp short loc_0001eaed ; jmp 0x1eaed + +loc_0001eae5: +cmp al, 2 +setne al +add eax, 4 + +loc_0001eaed: +mov byte [edi], al + +loc_0001eaef: +cmp word [ebp - 0x22], 2 +jbe short loc_0001eafd ; jbe 0x1eafd +cmp cx, 0x9cc5 +jne short loc_0001eb00 ; jne 0x1eb00 + +loc_0001eafd: +mov byte [edi], 6 + +loc_0001eb00: +lea eax, [ecx + 0x633a] +cmp ax, 1 +jbe short loc_0001eb13 ; jbe 0x1eb13 +cmp cx, 0x9cc9 +jne short loc_0001eb2a ; jne 0x1eb2a + +loc_0001eb13: +cmp byte [edi + 4], 0 +jne short loc_0001eb27 ; jne 0x1eb27 +cmp word [edi + 2], 0x70 +sbb eax, eax +add eax, 7 +mov byte [edi], al +jmp short loc_0001eb2a ; jmp 0x1eb2a + +loc_0001eb27: +mov byte [edi], 6 + +loc_0001eb2a: +mov al, byte [edi + 4] +mov dl, al +and edx, 0xfffffffb +cmp dl, 3 +je short loc_0001eb3b ; je 0x1eb3b +test al, al +jne short loc_0001eb48 ; jne 0x1eb48 + +loc_0001eb3b: +cmp word [edi + 2], 0x100 +sbb eax, eax +add eax, 3 +jmp short loc_0001eb56 ; jmp 0x1eb56 + +loc_0001eb48: +cmp al, 2 +jne short loc_0001eb5b ; jne 0x1eb5b +cmp word [edi + 2], 0x50 +sbb eax, eax +add eax, 2 + +loc_0001eb56: +mov byte [edi + 1], al +jmp short loc_0001eb5f ; jmp 0x1eb5f + +loc_0001eb5b: +mov byte [edi + 1], 2 + +loc_0001eb5f: +inc dword [ebp - 0x1c] +add edi, 8 +jmp near loc_0001eab0 ; jmp 0x1eab0 + +loc_0001eb6a: +call fcn_0001c19d ; call 0x1c19d +movzx eax, al +cmp edi, eax +jae short loc_0001eb7e ; jae 0x1eb7e +mov byte [ebx + edi + 0x14], 1 +inc edi +jmp short loc_0001eb6a ; jmp 0x1eb6a + +loc_0001eb7e: +mov byte [ebx + 0x15], 0 +xor edi, edi + +loc_0001eb84: +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp edi, eax +jae short loc_0001eb98 ; jae 0x1eb98 +mov byte [ebx + edi + 0x22], 1 +inc edi +jmp short loc_0001eb84 ; jmp 0x1eb84 + +loc_0001eb98: +mov byte [ebx + 0x23], 0 + +loc_0001eb9c: +xor ebx, ebx + +loc_0001eb9e: +call fcn_0001c234 ; call 0x1c234 +movzx eax, al +cmp ebx, eax +jae loc_0001ec65 ; jae 0x1ec65 +mov dl, byte [esi + ebx + 0xb2] +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp + 0xc] +test dl, dl +mov al, byte [eax + ebx*8 + 4] +je short loc_0001ebcb ; je 0x1ebcb +mov byte [ecx + ebx*8], dl +or eax, 1 +jmp short loc_0001ebd2 ; jmp 0x1ebd2 + +loc_0001ebcb: +mov byte [ecx + ebx*8], 0 +and eax, 0xfffffffe + +loc_0001ebd2: +mov byte [ecx + ebx*8 + 4], al +mov dl, byte [esi + ebx + 0xb8] +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp + 0xc] +test dl, dl +mov al, byte [eax + ebx*8 + 4] +je short loc_0001ebf4 ; je 0x1ebf4 +mov byte [ecx + ebx*8 + 1], dl +or eax, 2 +jmp short loc_0001ebfc ; jmp 0x1ebfc + +loc_0001ebf4: +mov byte [ecx + ebx*8 + 1], 0 +and eax, 0xfffffffd + +loc_0001ebfc: +mov byte [ecx + ebx*8 + 4], al +mov dl, byte [esi + ebx + 0xbe] +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp + 0xc] +test dl, dl +mov al, byte [eax + ebx*8 + 4] +je short loc_0001ec1e ; je 0x1ec1e +mov byte [ecx + ebx*8 + 2], dl +or eax, 4 +jmp short loc_0001ec26 ; jmp 0x1ec26 + +loc_0001ec1e: +mov byte [ecx + ebx*8 + 2], 0 +and eax, 0xfffffffb + +loc_0001ec26: +mov byte [ecx + ebx*8 + 4], al +mov dl, byte [esi + ebx + 0xc4] +mov eax, dword [ebp + 0xc] +test dl, dl +mov al, byte [eax + ebx*8 + 4] +je short loc_0001ec50 ; je 0x1ec50 +mov ecx, dword [ebp + 0xc] +lea edx, [edx + edx + 1] +or eax, 8 +mov byte [ecx + ebx*8 + 3], dl +mov byte [ecx + ebx*8 + 4], al +jmp short loc_0001ec5f ; jmp 0x1ec5f + +loc_0001ec50: +mov edx, dword [ebp + 0xc] +and eax, 0xfffffff7 +mov byte [edx + ebx*8 + 3], 0 +mov byte [edx + ebx*8 + 4], al + +loc_0001ec5f: +inc ebx +jmp near loc_0001eb9e ; jmp 0x1eb9e + +loc_0001ec65: +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001ec6d: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x28 +push 0x15 +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov edi, eax +test eax, eax +jne short loc_0001ec9d ; jne 0x1ec9d +call fcn_000153f0 ; call 0x153f0 +test al, al +je loc_0001ed1d ; je 0x1ed1d +push eax +push ref_0002695a ; push 0x2695a +push 0x34 +jmp short loc_0001ed10 ; jmp 0x1ed10 + +loc_0001ec9d: +sub esp, 0xc +push 0xc +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov dword [ebp - 0x1c], eax +test eax, eax +jne short loc_0001ecc4 ; jne 0x1ecc4 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001ed1d ; je 0x1ed1d +push eax +push ref_0002699c ; push 0x2699c +push 0x3a +jmp short loc_0001ed10 ; jmp 0x1ed10 + +loc_0001ecc4: +sub esp, 0xc +push 5 +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +test eax, eax +jne short loc_0001ece8 ; jne 0x1ece8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001ed1d ; je 0x1ed1d +push edi +push ref_000269c5 ; push 0x269c5 +push 0x40 +jmp short loc_0001ed10 ; jmp 0x1ed10 + +loc_0001ece8: +sub esp, 0xc +push 0xc +mov dword [ebp - 0x20], eax +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov edx, dword [ebp - 0x20] +test eax, eax +jne short loc_0001ed27 ; jne 0x1ed27 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001ed1d ; je 0x1ed1d +push esi +push ref_000269df ; push 0x269df +push 0x46 + +loc_0001ed10: +push ref_0002697f ; push 0x2697f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001ed1d: +mov edx, 0x80000009 +jmp near loc_0001eef3 ; jmp 0x1eef3 + +loc_0001ed27: +sub esp, 0xc +push 0x1d +mov dword [ebp - 0x20], edx +mov dword [ebp - 0x24], eax +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov edx, dword [ebp - 0x20] +mov ecx, dword [ebp - 0x24] +test eax, eax +mov ebx, eax +jne short loc_0001ed59 ; jne 0x1ed59 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001ed1d ; je 0x1ed1d +push ebx +push ref_000269fe ; push 0x269fe +push 0x4c +jmp short loc_0001ed10 ; jmp 0x1ed10 + +loc_0001ed59: +sub esp, 0xc +push 0x13 +mov dword [ebp - 0x24], ecx +mov dword [ebp - 0x20], edx +call fcn_00019cf2 ; call 0x19cf2 +add esp, 0x10 +mov edx, dword [ebp - 0x20] +mov ecx, dword [ebp - 0x24] +test eax, eax +mov esi, eax +jne short loc_0001ed8b ; jne 0x1ed8b +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001ed1d ; je 0x1ed1d +push ecx +push ref_00026907 ; push 0x26907 +push 0x52 +jmp short loc_0001ed10 ; jmp 0x1ed10 + +loc_0001ed8b: +mov dword [edi + 9], ecx +mov byte [edi], 0xa +mov dword [edi + 1], edx +mov dword [ecx], 0 +mov eax, dword [edi + 9] +mov dword [eax + 4], 0 +mov dword [edi + 5], ebx +mov dword [edi + 0xd], esi +mov dword [edi + 0x11], edi +mov byte [edx + 3], 0x3f +mov byte [edx + 4], 0x3f +mov byte [edx + 2], 0 +mov byte [edx], 0x62 +mov byte [ebx + 6], 0 +mov byte [ebx + 7], 0 +mov byte [ebx + 8], 0 +mov byte [ebx + 9], 0 +mov byte [ebx + 1], 0 +mov word [ebx + 2], 0 +mov byte [ebx + 4], 0 +mov byte [ebx + 5], 0 +mov byte [ebx], 0 +mov word [ebx + 0x11], 0x200 +mov byte [ebx + 0x13], 0 +mov word [ebx + 0x14], 0 +mov byte [ebx + 0xa], 0 +mov byte [ebx + 0xb], 1 +mov byte [ebx + 0xc], 0 +mov byte [ebx + 0xd], 1 +call fcn_0001c58d ; call 0x1c58d +cmp eax, 0x40650 +jne short loc_0001ee2f ; jne 0x1ee2f + +loc_0001ee0d: +mov byte [ebx + 0xe], 1 +call fcn_0001c58d ; call 0x1c58d +mov byte [ebx + 0x10], 0 +mov byte [ebx + 0x16], 1 +cmp eax, 0x306d0 +setne al +lea eax, [eax + eax*4 + 0x6a] +mov byte [ebx + 0xf], al +jmp short loc_0001ee3b ; jmp 0x1ee3b + +loc_0001ee2f: +call fcn_0001c58d ; call 0x1c58d +cmp eax, 0x306d0 +je short loc_0001ee0d ; je 0x1ee0d + +loc_0001ee3b: +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +mov byte [ebx + 0x17], 0x14 +mov byte [ebx + 0x18], 5 +mov byte [ebx + 0x19], 1 +mov byte [ebx + 0x1a], 0 +mov byte [ebx + 0x1b], 0 +mov byte [ebx + 0x1c], 0 +mov word [esi], 0 +mov word [esi + 2], 0 +mov word [esi + 4], 0 +mov word [esi + 6], 0 +mov word [esi + 8], 0 +mov word [esi + 0xa], 0 +mov word [esi + 0xc], 0 +mov word [esi + 0xe], 0 +mov word [esi + 0x10], 0 +mov byte [esi + 0x12], 0 +mov dword [eax], 0x80000010 +mov dword [eax + 4], ref_000291dc ; mov dword [eax + 4], 0x291dc +mov dword [eax + 8], edi +push eax +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +mov edx, ebx +test al, al +je short loc_0001eef3 ; je 0x1eef3 +test ebx, ebx +jns short loc_0001eef3 ; jns 0x1eef3 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001eed9 ; je 0x1eed9 +push edx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001eed9: +push eax +push ref_00020664 ; push 0x20664 +push 0xb3 +push ref_0002697f ; push 0x2697f +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +mov edx, ebx + +loc_0001eef3: +lea esp, [ebp - 0xc] +mov eax, edx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001eefd: +push ebp +mov ebp, esp +push esi +push ebx +sub esp, 0xc +push 2 +call fcn_00019cf2 ; call 0x19cf2 +mov esi, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001ef28 ; je 0x1ef28 +test esi, esi +jne short loc_0001ef2c ; jne 0x1ef2c +push esi +push ref_00026a1e ; push 0x26a1e +push 0x2d +jmp short loc_0001ef50 ; jmp 0x1ef50 + +loc_0001ef28: +test esi, esi +je short loc_0001ef5d ; je 0x1ef5d + +loc_0001ef2c: +sub esp, 0xc +push 0xc +call fcn_00019cf2 ; call 0x19cf2 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001ef64 ; je 0x1ef64 +test ebx, ebx +jne short loc_0001ef68 ; jne 0x1ef68 +push ebx +push ref_00026a5e ; push 0x26a5e +push 0x33 + +loc_0001ef50: +push ref_00026a42 ; push 0x26a42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001ef5d: +mov ebx, 0x80000009 +jmp short loc_0001efe2 ; jmp 0x1efe2 + +loc_0001ef64: +test ebx, ebx +je short loc_0001ef5d ; je 0x1ef5d + +loc_0001ef68: +sub esp, 0xc +mov dword [ebx], 0x80000010 +mov dword [ebx + 4], ref_0002915c ; mov dword [ebx + 4], 0x2915c +mov byte [esi], 1 +mov dword [ebx + 8], esi +push ebx +call fcn_00019667 ; call 0x19667 +mov ebx, eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001efc8 ; je 0x1efc8 +test ebx, ebx +jns short loc_0001efc8 ; jns 0x1efc8 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001efb3 ; je 0x1efb3 +push ecx +push ebx +push ref_00020643 ; push 0x20643 +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001efb3: +push edx +push ref_00020664 ; push 0x20664 +push 0x4e +push ref_00026a42 ; push 0x26a42 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001efc8: +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_0001efe2 ; je 0x1efe2 +push eax +push eax +push ref_00026a86 ; push 0x26a86 +push 0x40 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_0001efe2: +lea esp, [ebp - 8] +mov eax, ebx +pop ebx +pop esi +pop ebp +ret + +fcn_0001efeb: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0x10] +test esi, esi +je short loc_0001f044 ; je 0x1f044 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f02a ; je 0x1f02a +mov eax, ebx +lea edx, [esi - 1] +not eax +cmp edx, eax +jbe short loc_0001f02a ; jbe 0x1f02a +push eax +push ref_00026aac ; push 0x26aac +push 0x36 +push ref_00026ad9 ; push 0x26ad9 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f02a: +mov eax, edi +movzx edi, al +mov dword [ebp + 0x10], edi +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_0001f127 ; jmp 0x1f127 + +loc_0001f044: +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f04e: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +jmp near fcn_0001f057 ; jmp 0x1f057 + +fcn_0001f057: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 8] +mov edi, dword [ebp + 0x10] +test esi, esi +je loc_0001f11d ; je 0x1f11d +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f093 ; je 0x1f093 +test ebx, ebx +jne short loc_0001f093 ; jne 0x1f093 +push eax +push ref_000260eb ; push 0x260eb +push 0x3a +push ref_00026b1e ; push 0x26b1e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f093: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f0bc ; je 0x1f0bc +mov eax, ebx +lea edx, [esi - 1] +not eax +cmp edx, eax +jbe short loc_0001f0bc ; jbe 0x1f0bc +push ecx +push ref_00026aac ; push 0x26aac +push 0x3b +push ref_00026b1e ; push 0x26b1e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f0bc: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f0df ; je 0x1f0df +test bl, 3 +je short loc_0001f0df ; je 0x1f0df +push edx +push ref_00026b65 ; push 0x26b65 +push 0x3c +push ref_00026b1e ; push 0x26b1e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f0df: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f105 ; je 0x1f105 +test esi, 3 +je short loc_0001f105 ; je 0x1f105 +push eax +push ref_00026b93 ; push 0x26b93 +push 0x3d +push ref_00026b1e ; push 0x26b1e +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f105: ; not directly referenced +shr esi, 2 +mov dword [ebp + 0x10], edi +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], ebx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_0001f152 ; jmp 0x1f152 + +loc_0001f11d: ; not directly referenced +lea esp, [ebp - 0xc] +mov eax, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +loc_0001f127: +push edi +mov ecx, dword [esp + 0xc] +mov al, byte [esp + 0x10] +mov ah, al +shrd edx, eax, 0x10 +shld eax, edx, 0x10 +mov edx, ecx +mov edi, dword [esp + 8] +shr ecx, 2 +rep stosd ; rep stosd dword es:[edi], eax +mov ecx, edx +and ecx, 3 +rep stosb ; rep stosb byte es:[edi], al +mov eax, dword [esp + 8] +pop edi +ret + +loc_0001f152: ; not directly referenced +push edi +mov eax, dword [esp + 0x10] +mov edi, dword [esp + 8] +mov ecx, dword [esp + 0xc] +rep stosd ; rep stosd dword es:[edi], eax +mov eax, dword [esp + 8] +pop edi +ret + +fcn_0001f167: ; not directly referenced +push ebp +mov eax, 0xfffffffe +mov ebp, esp +mov ecx, dword [ebp + 0x10] +shl eax, cl +mov ecx, dword [ebp + 0xc] +not eax +and eax, dword [ebp + 8] +pop ebp +shr eax, cl +ret + +fcn_0001f180: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f1b8 ; je 0x1f1b8 +mov ecx, dword [ebp + 0x10] +mov eax, dword [ebp + 0x14] +sub ecx, dword [ebp + 0xc] +shr eax, cl +mov edx, eax +and edx, 1 +cmp eax, edx +je short loc_0001f1b8 ; je 0x1f1b8 +push eax +push ref_00026bb8 ; push 0x26bb8 +push 0x4d +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f1b8: +mov cl, byte [ebp + 0x10] +mov eax, 0xfffffffe +mov edx, dword [ebp + 0x14] +shl eax, cl +mov cl, byte [ebp + 0xc] +not eax +shl edx, cl +and eax, edx +or eax, dword [ebp + 8] +leave +ret + +fcn_0001f1d3: +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f20b ; je 0x1f20b +mov ecx, dword [ebp + 0x10] +mov eax, dword [ebp + 0x14] +sub ecx, dword [ebp + 0xc] +shr eax, cl +mov edx, eax +and edx, 1 +cmp eax, edx +je short loc_0001f20b ; je 0x1f20b +push eax +push ref_00026c35 ; push 0x26c35 +push 0x77 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f20b: +mov cl, byte [ebp + 0x10] +mov edx, 0xfffffffe +mov eax, dword [ebp + 0x14] +shl edx, cl +mov cl, byte [ebp + 0xc] +not eax +shl eax, cl +not eax +or eax, edx +and eax, dword [ebp + 8] +leave +ret + +fcn_0001f228: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push ecx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f257 ; je 0x1f257 +cmp dword [ebp + 0x10], 7 +jbe short loc_0001f257 ; jbe 0x1f257 +push edx +push ref_00026c80 ; push 0x26c80 +push 0x9b +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f257: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f280 ; je 0x1f280 +mov eax, dword [ebp + 0x10] +cmp dword [ebp + 0xc], eax +jbe short loc_0001f280 ; jbe 0x1f280 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x9c +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f280: ; not directly referenced +mov cl, byte [ebp + 0x10] +mov eax, 0xfffffffe +movzx ebx, bl +shl eax, cl +mov cl, byte [ebp + 0xc] +not eax +and eax, ebx +mov ebx, dword [ebp - 4] +leave +shr eax, cl +ret + +fcn_0001f29b: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f2d3 ; je 0x1f2d3 +cmp ebx, 7 +jbe short loc_0001f2d3 ; jbe 0x1f2d3 +push edx +push ref_00026c80 ; push 0x26c80 +push 0xe6 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f2d3: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f2f9 ; je 0x1f2f9 +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f2f9 ; jbe 0x1f2f9 +push eax +push ref_00025a81 ; push 0x25a81 +push 0xe7 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f2f9: ; not directly referenced +mov eax, edi +movzx edi, al +mov eax, esi +push edi +movzx esi, al +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f180 ; call 0x1f180 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f316: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f34e ; je 0x1f34e +cmp ebx, 7 +jbe short loc_0001f34e ; jbe 0x1f34e +push edx +push ref_00026c80 ; push 0x26c80 +push 0x10c +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f34e: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f374 ; je 0x1f374 +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f374 ; jbe 0x1f374 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x10d +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f374: ; not directly referenced +mov eax, edi +movzx edi, al +mov eax, esi +push edi +movzx esi, al +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f1d3 ; call 0x1f1d3 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f391: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f3d5 ; je 0x1f3d5 +cmp ebx, 7 +jbe short loc_0001f3d5 ; jbe 0x1f3d5 +push edx +push ref_00026c80 ; push 0x26c80 +push 0x136 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f3d5: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f3fa ; je 0x1f3fa +cmp esi, ebx +jbe short loc_0001f3fa ; jbe 0x1f3fa +push eax +push ref_00025a81 ; push 0x25a81 +push 0x137 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f3fa: ; not directly referenced +mov eax, edi +movzx edi, al +movzx eax, byte [ebp - 0x1c] +push edi +push ebx +push esi +push eax +call fcn_0001f316 ; call 0x1f316 +movzx edx, byte [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 0x14], edx +movzx eax, al +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001f29b ; jmp 0x1f29b + +fcn_0001f42e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f466 ; je 0x1f466 +cmp ebx, 7 +jbe short loc_0001f466 ; jbe 0x1f466 +push edx +push ref_00026c80 ; push 0x26c80 +push 0xc0 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f466: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f48c ; je 0x1f48c +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f48c ; jbe 0x1f48c +push eax +push ref_00025a81 ; push 0x25a81 +push 0xc1 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f48c: ; not directly referenced +mov eax, edi +sub esp, 0xc +movzx edi, al +mov eax, esi +push edi +movzx esi, al +push 0 +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f391 ; call 0x1f391 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f4ae: ; not directly referenced +push ebp +mov ebp, esp +push ebx +push ecx +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f4dd ; je 0x1f4dd +cmp dword [ebp + 0x10], 0xf +jbe short loc_0001f4dd ; jbe 0x1f4dd +push edx +push ref_00026c8b ; push 0x26c8b +push 0x15b +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f4dd: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f506 ; je 0x1f506 +mov eax, dword [ebp + 0x10] +cmp dword [ebp + 0xc], eax +jbe short loc_0001f506 ; jbe 0x1f506 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x15c +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f506: ; not directly referenced +mov cl, byte [ebp + 0x10] +mov eax, 0xfffffffe +movzx ebx, bx +shl eax, cl +mov cl, byte [ebp + 0xc] +not eax +and eax, ebx +mov ebx, dword [ebp - 4] +leave +shr eax, cl +ret + +fcn_0001f521: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f559 ; je 0x1f559 +cmp ebx, 0xf +jbe short loc_0001f559 ; jbe 0x1f559 +push edx +push ref_00026c8b ; push 0x26c8b +push 0x1a6 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f559: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f57f ; je 0x1f57f +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f57f ; jbe 0x1f57f +push eax +push ref_00025a81 ; push 0x25a81 +push 0x1a7 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f57f: ; not directly referenced +movzx edi, di +movzx esi, si +push edi +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f180 ; call 0x1f180 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f598: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f5d0 ; je 0x1f5d0 +cmp ebx, 0xf +jbe short loc_0001f5d0 ; jbe 0x1f5d0 +push edx +push ref_00026c8b ; push 0x26c8b +push 0x1cc +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f5d0: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f5f6 ; je 0x1f5f6 +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f5f6 ; jbe 0x1f5f6 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x1cd +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f5f6: ; not directly referenced +movzx edi, di +movzx esi, si +push edi +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f1d3 ; call 0x1f1d3 +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f60f: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f653 ; je 0x1f653 +cmp ebx, 0xf +jbe short loc_0001f653 ; jbe 0x1f653 +push edx +push ref_00026c8b ; push 0x26c8b +push 0x1f6 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f653: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f678 ; je 0x1f678 +cmp esi, ebx +jbe short loc_0001f678 ; jbe 0x1f678 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x1f7 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f678: ; not directly referenced +movzx eax, word [ebp - 0x1c] +movzx edi, di +push edi +push ebx +push esi +push eax +call fcn_0001f598 ; call 0x1f598 +movzx edx, word [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 0x14], edx +movzx eax, ax +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001f521 ; jmp 0x1f521 + +fcn_0001f6aa: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f6e2 ; je 0x1f6e2 +cmp ebx, 0xf +jbe short loc_0001f6e2 ; jbe 0x1f6e2 +push edx +push ref_00026c8b ; push 0x26c8b +push 0x180 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f6e2: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f708 ; je 0x1f708 +cmp dword [ebp + 0xc], ebx +jbe short loc_0001f708 ; jbe 0x1f708 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x181 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f708: ; not directly referenced +sub esp, 0xc +movzx edi, di +push edi +movzx esi, si +push 0 +push ebx +push dword [ebp + 0xc] +push esi +call fcn_0001f60f ; call 0x1f60f +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001f726: ; not directly referenced +push ebp +mov ebp, esp +sub esp, 8 +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f753 ; je 0x1f753 +cmp dword [ebp + 0x10], 0x1f +jbe short loc_0001f753 ; jbe 0x1f753 +push edx +push ref_00026c97 ; push 0x26c97 +push 0x21b +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f753: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f77c ; je 0x1f77c +mov eax, dword [ebp + 0x10] +cmp dword [ebp + 0xc], eax +jbe short loc_0001f77c ; jbe 0x1f77c +push eax +push ref_00025a81 ; push 0x25a81 +push 0x21c +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f77c: ; not directly referenced +mov cl, byte [ebp + 0x10] +mov eax, 0xfffffffe +shl eax, cl +mov cl, byte [ebp + 0xc] +not eax +and eax, dword [ebp + 8] +leave +shr eax, cl +ret + +fcn_0001f792: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f7d0 ; je 0x1f7d0 +cmp ebx, 0x1f +jbe short loc_0001f7d0 ; jbe 0x1f7d0 +push edx +push ref_00026c97 ; push 0x26c97 +push 0x266 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f7d0: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f7f5 ; je 0x1f7f5 +cmp esi, ebx +jbe short loc_0001f7f5 ; jbe 0x1f7f5 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x267 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f7f5: +mov eax, dword [ebp - 0x1c] +mov dword [ebp + 0x14], edi +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001f180 ; jmp 0x1f180 + +fcn_0001f810: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f84e ; je 0x1f84e +cmp ebx, 0x1f +jbe short loc_0001f84e ; jbe 0x1f84e +push edx +push ref_00026c97 ; push 0x26c97 +push 0x28c +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f84e: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f873 ; je 0x1f873 +cmp esi, ebx +jbe short loc_0001f873 ; jbe 0x1f873 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x28d +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f873: +mov eax, dword [ebp - 0x1c] +mov dword [ebp + 0x14], edi +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001f1d3 ; jmp 0x1f1d3 + +fcn_0001f88e: +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +mov edi, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x20], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f8d2 ; je 0x1f8d2 +cmp ebx, 0x1f +jbe short loc_0001f8d2 ; jbe 0x1f8d2 +push edx +push ref_00026c97 ; push 0x26c97 +push 0x2b6 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f8d2: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f8f7 ; je 0x1f8f7 +cmp esi, ebx +jbe short loc_0001f8f7 ; jbe 0x1f8f7 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x2b7 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f8f7: +push edi +push ebx +push esi +push dword [ebp - 0x1c] +call fcn_0001f810 ; call 0x1f810 +mov edx, dword [ebp - 0x20] +add esp, 0x10 +mov dword [ebp + 0x10], ebx +mov dword [ebp + 0xc], esi +mov dword [ebp + 0x14], edx +mov dword [ebp + 8], eax +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001f792 ; jmp 0x1f792 + +fcn_0001f920: +push ebp +mov ebp, esp +push esi +mov esi, dword [ebp + 0xc] +push ebx +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f951 ; je 0x1f951 +cmp ebx, 0x1f +jbe short loc_0001f951 ; jbe 0x1f951 +push edx +push ref_00026c97 ; push 0x26c97 +push 0x240 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f951: +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f976 ; je 0x1f976 +cmp esi, ebx +jbe short loc_0001f976 ; jbe 0x1f976 +push eax +push ref_00025a81 ; push 0x25a81 +push 0x241 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f976: +sub esp, 0xc +push dword [ebp + 0x14] +push 0 +push ebx +push esi +push dword [ebp + 8] +call fcn_0001f88e ; call 0x1f88e +lea esp, [ebp - 8] +pop ebx +pop esi +pop ebp +ret + +fcn_0001f98f: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 0xc] +mov edi, dword [ebp + 8] +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +mov dword [ebp - 0x1c], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f9cd ; je 0x1f9cd +cmp ebx, 0x3f +jbe short loc_0001f9cd ; jbe 0x1f9cd +push ecx +push ref_00026ca3 ; push 0x26ca3 +push 0x2db +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f9cd: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001f9f2 ; je 0x1f9f2 +cmp esi, ebx +jbe short loc_0001f9f2 ; jbe 0x1f9f2 +push edx +push ref_00025a81 ; push 0x25a81 +push 0x2dc +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001f9f2: ; not directly referenced +push eax +push ebx +push 0xffffffffffffffff +push 0xfffffffffffffffe +call fcn_0001fd4c ; call 0x1fd4c +add esp, 0x10 +mov dword [ebp + 0x10], esi +not edx +not eax +and edx, dword [ebp - 0x1c] +and eax, edi +mov dword [ebp + 8], eax +mov dword [ebp + 0xc], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001718b ; jmp 0x1718b + +fcn_0001fa1e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0x18] +mov edi, dword [ebp + 0x1c] +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x24], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fa60 ; je 0x1fa60 +cmp dword [ebp + 0x14], 0x3f +jbe short loc_0001fa60 ; jbe 0x1fa60 +push eax +push ref_00026ca3 ; push 0x26ca3 +push 0x329 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fa60: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fa89 ; je 0x1fa89 +mov eax, dword [ebp + 0x14] +cmp dword [ebp + 0x10], eax +jbe short loc_0001fa89 ; jbe 0x1fa89 +push ebx +push ref_00025a81 ; push 0x25a81 +push 0x32a +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fa89: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fadc ; je 0x1fadc +mov ebx, dword [ebp + 0x14] +sub ebx, dword [ebp + 0x10] +push ecx +push ebx +push edi +push esi +call fcn_0001718b ; call 0x1718b +add esp, 0xc +push ebx +push edi +push esi +mov dword [ebp - 0x1c], eax +mov dword [ebp - 0x28], edx +call fcn_0001718b ; call 0x1718b +mov ecx, dword [ebp - 0x28] +add esp, 0x10 +and eax, 1 +test ecx, ecx +jne short loc_0001fac4 ; jne 0x1fac4 +cmp dword [ebp - 0x1c], eax +je short loc_0001fadc ; je 0x1fadc + +loc_0001fac4: ; not directly referenced +push edx +push ref_00026caf ; push 0x26caf +push 0x331 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fadc: ; not directly referenced +push eax +push dword [ebp + 0x10] +push edi +push esi +call fcn_0001fd4c ; call 0x1fd4c +add esp, 0xc +push dword [ebp + 0x14] +push 0xffffffffffffffff +push 0xfffffffffffffffe +mov esi, eax +mov ebx, edx +call fcn_0001fd4c ; call 0x1fd4c +not eax +not edx +and eax, esi +and edx, ebx +or eax, dword [ebp - 0x20] +or edx, dword [ebp - 0x24] +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001fb10: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov esi, dword [ebp + 0x18] +mov edi, dword [ebp + 0x1c] +mov dword [ebp - 0x20], eax +mov eax, dword [ebp + 0xc] +mov dword [ebp - 0x24], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fb52 ; je 0x1fb52 +cmp dword [ebp + 0x14], 0x3f +jbe short loc_0001fb52 ; jbe 0x1fb52 +push eax +push ref_00026ca3 ; push 0x26ca3 +push 0x35d +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fb52: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fb7b ; je 0x1fb7b +mov eax, dword [ebp + 0x14] +cmp dword [ebp + 0x10], eax +jbe short loc_0001fb7b ; jbe 0x1fb7b +push ebx +push ref_00025a81 ; push 0x25a81 +push 0x35e +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fb7b: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fbce ; je 0x1fbce +mov ebx, dword [ebp + 0x14] +sub ebx, dword [ebp + 0x10] +push ecx +push ebx +push edi +push esi +call fcn_0001718b ; call 0x1718b +add esp, 0xc +push ebx +push edi +push esi +mov dword [ebp - 0x1c], eax +mov dword [ebp - 0x28], edx +call fcn_0001718b ; call 0x1718b +mov ecx, dword [ebp - 0x28] +add esp, 0x10 +and eax, 1 +test ecx, ecx +jne short loc_0001fbb6 ; jne 0x1fbb6 +cmp dword [ebp - 0x1c], eax +je short loc_0001fbce ; je 0x1fbce + +loc_0001fbb6: ; not directly referenced +push edx +push ref_00026d04 ; push 0x26d04 +push 0x365 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fbce: ; not directly referenced +push eax +mov ecx, esi +push dword [ebp + 0x10] +not edi +not ecx +push edi +push ecx +call fcn_0001fd4c ; call 0x1fd4c +add esp, 0xc +push dword [ebp + 0x14] +push 0xffffffffffffffff +push 0xfffffffffffffffe +mov esi, eax +mov ebx, edx +call fcn_0001fd4c ; call 0x1fd4c +not ebx +mov ecx, eax +or ebx, edx +mov eax, esi +and ebx, dword [ebp - 0x24] +not eax +or eax, ecx +and eax, dword [ebp - 0x20] +lea esp, [ebp - 0xc] +mov edx, ebx +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001fc0e: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x2c +mov eax, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x14] +mov esi, dword [ebp + 0x20] +mov dword [ebp - 0x28], eax +mov eax, dword [ebp + 0x10] +mov dword [ebp - 0x24], edx +mov edx, dword [ebp + 0x1c] +mov edi, dword [ebp + 0x24] +mov dword [ebp - 0x1c], eax +mov eax, dword [ebp + 0x18] +mov dword [ebp - 0x2c], edx +mov dword [ebp - 0x30], eax +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fc64 ; je 0x1fc64 +cmp ebx, 0x3f +jbe short loc_0001fc64 ; jbe 0x1fc64 +push ecx +push ref_00026ca3 ; push 0x26ca3 +push 0x392 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fc64: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fc8a ; je 0x1fc8a +cmp dword [ebp - 0x1c], ebx +jbe short loc_0001fc8a ; jbe 0x1fc8a +push edx +push ref_00025a81 ; push 0x25a81 +push 0x393 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fc8a: ; not directly referenced +push eax +push eax +push dword [ebp - 0x2c] +push dword [ebp - 0x30] +push ebx +push dword [ebp - 0x1c] +push dword [ebp - 0x24] +push dword [ebp - 0x28] +call fcn_0001fb10 ; call 0x1fb10 +mov ecx, dword [ebp - 0x1c] +add esp, 0x20 +mov dword [ebp + 0x18], esi +mov dword [ebp + 0x1c], edi +mov dword [ebp + 0x14], ebx +mov dword [ebp + 0x10], ecx +mov dword [ebp + 8], eax +mov dword [ebp + 0xc], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near fcn_0001fa1e ; jmp 0x1fa1e + +fcn_0001fcc5: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x14] +mov esi, dword [ebp + 0x18] +mov dword [ebp - 0x20], eax +mov edi, dword [ebp + 0x1c] +mov dword [ebp - 0x1c], edx +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fd09 ; je 0x1fd09 +cmp ebx, 0x3f +jbe short loc_0001fd09 ; jbe 0x1fd09 +push edx +push ref_00026ca3 ; push 0x26ca3 +push 0x300 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fd09: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fd2f ; je 0x1fd2f +cmp dword [ebp + 0x10], ebx +jbe short loc_0001fd2f ; jbe 0x1fd2f +push eax +push ref_00025a81 ; push 0x25a81 +push 0x301 +push ref_00026c01 ; push 0x26c01 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fd2f: ; not directly referenced +push edi +push esi +push 0 +push 0 +push ebx +push dword [ebp + 0x10] +push dword [ebp - 0x1c] +push dword [ebp - 0x20] +call fcn_0001fc0e ; call 0x1fc0e +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +fcn_0001fd4c: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0xc +mov esi, dword [ebp + 8] +mov edi, dword [ebp + 0xc] +mov ebx, dword [ebp + 0x10] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fd81 ; je 0x1fd81 +cmp ebx, 0x3f +jbe short loc_0001fd81 ; jbe 0x1fd81 +push eax +push ref_00025909 ; push 0x25909 +push 0x27 +push ref_00026d5b ; push 0x26d5b +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fd81: ; not directly referenced +mov dword [ebp + 0x10], ebx +mov dword [ebp + 8], esi +mov dword [ebp + 0xc], edi +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_0001fee8 ; jmp 0x1fee8 + +fcn_0001fd96: ; not directly referenced +push ebp +mov ebp, esp +pop ebp +jmp near loc_0001fe02 ; jmp 0x1fe02 + +fcn_0001fd9f: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov eax, dword [ebp + 8] +mov edx, dword [ebp + 0xc] +mov esi, dword [ebp + 0x10] +mov ebx, dword [ebp + 0x14] +mov dword [ebp - 0x20], eax +mov edi, dword [ebp + 0x18] +mov dword [ebp - 0x1c], edx +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0001fde1 ; je 0x1fde1 +mov eax, ebx +or eax, esi +jne short loc_0001fde1 ; jne 0x1fde1 +push eax +push ref_0002597e ; push 0x2597e +push 0x2f +push ref_00026d90 ; push 0x26d90 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001fde1: ; not directly referenced +mov eax, dword [ebp - 0x20] +mov edx, dword [ebp - 0x1c] +mov dword [ebp + 0x18], edi +mov dword [ebp + 0x10], esi +mov dword [ebp + 0x14], ebx +mov dword [ebp + 8], eax +mov dword [ebp + 0xc], edx +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +jmp near loc_0001fe14 ; jmp 0x1fe14 + +loc_0001fe02: ; not directly referenced +mov ecx, dword [esp + 0xc] +mov eax, ecx +imul ecx, dword [esp + 8] +mul dword [esp + 4] +add edx, ecx +ret + +loc_0001fe14: ; not directly referenced +mov ecx, dword [esp + 0x10] +test ecx, ecx +jne short loc_0001fe2f ; jne 0x1fe2f +mov ecx, dword [esp + 0x14] +jecxz loc_0001fe2a ; jecxz 0x1fe2a +and dword [ecx + 4], 0 +mov dword [esp + 0x10], ecx + +loc_0001fe2a: ; not directly referenced +jmp near loc_000174bd ; jmp 0x174bd + +loc_0001fe2f: ; not directly referenced +push ebx +push esi +push edi +mov edx, dword [esp + 0x14] +mov eax, dword [esp + 0x10] +mov edi, edx +mov esi, eax +mov ebx, dword [esp + 0x18] + +loc_0001fe42: ; not directly referenced +shr edx, 1 +rcr eax, 1 +shrd ebx, ecx, 1 +shr ecx, 1 +jne short loc_0001fe42 ; jne 0x1fe42 +div ebx +mov ebx, eax +mov ecx, dword [esp + 0x1c] +mul dword [esp + 0x18] +imul ecx, ebx +add edx, ecx +mov ecx, dword [esp + 0x20] +jb short loc_0001fe6f ; jb 0x1fe6f +cmp edi, edx +ja short loc_0001fe7a ; ja 0x1fe7a +jb short loc_0001fe6f ; jb 0x1fe6f +cmp esi, eax +jae short loc_0001fe7a ; jae 0x1fe7a + +loc_0001fe6f: ; not directly referenced +dec ebx +jecxz loc_0001fe85 ; jecxz 0x1fe85 +sub eax, dword [esp + 0x18] +sbb edx, dword [esp + 0x1c] + +loc_0001fe7a: ; not directly referenced +jecxz loc_0001fe85 ; jecxz 0x1fe85 +sub esi, eax +sbb edi, edx +mov dword [ecx], esi +mov dword [ecx + 4], edi + +loc_0001fe85: ; not directly referenced +mov eax, ebx +xor edx, edx +pop edi +pop esi +pop ebx +ret + +fcn_0001fe8d: +push ebx + +fcn_0001fe8e: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +cpuid +push ecx +mov ecx, dword [ebp + 0x10] +jecxz loc_0001fe9e ; jecxz 0x1fe9e +mov dword [ecx], eax + +loc_0001fe9e: +mov ecx, dword [ebp + 0x14] +jecxz loc_0001fea5 ; jecxz 0x1fea5 +mov dword [ecx], ebx + +loc_0001fea5: +mov ecx, dword [ebp + 0x18] +jecxz loc_0001feac ; jecxz 0x1feac +pop dword [ecx] + +loc_0001feac: +mov ecx, dword [ebp + 0x1c] +jecxz loc_0001feb3 ; jecxz 0x1feb3 +mov dword [ecx], edx + +loc_0001feb3: +mov eax, dword [ebp + 0xc] +leave +pop ebx +ret + +fcn_0001feb9: ; not directly referenced +push ebx + +fcn_0001feba: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 0xc] +mov ecx, dword [ebp + 0x10] +cpuid +push ecx +mov ecx, dword [ebp + 0x14] +jecxz loc_0001fecd ; jecxz 0x1fecd +mov dword [ecx], eax + +loc_0001fecd: ; not directly referenced +mov ecx, dword [ebp + 0x18] +jecxz loc_0001fed4 ; jecxz 0x1fed4 +mov dword [ecx], ebx + +loc_0001fed4: ; not directly referenced +mov ecx, dword [ebp + 0x20] +jecxz loc_0001fedb ; jecxz 0x1fedb +mov dword [ecx], edx + +loc_0001fedb: ; not directly referenced +mov ecx, dword [ebp + 0x1c] +jecxz loc_0001fee2 ; jecxz 0x1fee2 +pop dword [ecx] + +loc_0001fee2: ; not directly referenced +mov eax, dword [ebp + 0xc] +leave +pop ebx +ret + +loc_0001fee8: ; not directly referenced +mov cl, byte [esp + 0xc] +xor eax, eax +mov edx, dword [esp + 4] +test cl, 0x20 +cmove eax, edx +cmove edx, dword [esp + 8] +shld edx, eax, cl +shl eax, cl +ret + +fcn_0001ff03: +push ebp +mov ebp, esp +push ebx +sub esp, 8 +mov ebx, dword [ebp + 8] +mov dword [ebx], 0x53524549 +mov dword [ebx + 4], 0 +mov dword [ebx + 8], fcn_00020069 ; mov dword [ebx + 8], 0x20069 +push 0 +push 0x1f +push 0 +call fcn_00016bd6 ; call 0x16bd6 +mov dword [ebx + 0x10], eax +add eax, 0xf0 +mov dword [esp], eax +call fcn_00017d8a ; call 0x17d8a +and eax, 0xffffc000 +mov dword [ebx + 0xc], eax +call fcn_000153f0 ; call 0x153f0 +add esp, 0x10 +test al, al +je short loc_0001ff6b ; je 0x1ff6b +cmp dword [ebx + 0xc], 0 +jne short loc_0001ff6b ; jne 0x1ff6b +push eax +push ref_00026dce ; push 0x26dce +push 0x39 +push ref_00026df7 ; push 0x26df7 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 + +loc_0001ff6b: +xor eax, eax +mov ebx, dword [ebp - 4] +leave +ret + +fcn_0001ff72: ; not directly referenced +push ebp +mov ebp, esp +mov eax, dword [ebp + 8] +push esi +mov esi, 1 +push ebx +sub esp, 0xc +add eax, 2 +push eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +movzx ebx, ax +mov eax, ebx +and eax, 0xfffffffd +cmp ax, 0x8c44 +je loc_00020060 ; je 0x20060 +lea eax, [ebx + 0x73b2] +cmp ax, 2 +jbe loc_00020060 ; jbe 0x20060 +lea eax, [ebx + 0x73b7] +cmp ax, 3 +jbe loc_00020060 ; jbe 0x20060 +lea eax, [ebx + 0x73bf] +cmp ax, 1 +jbe loc_00020060 ; jbe 0x20060 +cmp bx, 0x8c58 +je loc_00020060 ; je 0x20060 +mov eax, ebx +and eax, 0xfffffffb +cmp ax, 0x8c52 +je short loc_0002005b ; je 0x2005b +mov eax, ebx +and eax, 0xfffffff7 +cmp ax, 0x8c54 +je short loc_0002005b ; je 0x2005b +lea eax, [ebx + 0x733f] +cmp ax, 5 +jbe short loc_00020060 ; jbe 0x20060 +lea eax, [ebx + 0x63bf] +mov si, 2 +cmp ax, 6 +jbe short loc_00020060 ; jbe 0x20060 +lea eax, [ebx + 0x633f] +cmp ax, 0xa +jbe short loc_00020060 ; jbe 0x20060 +call fcn_000153e9 ; call 0x153e9 +test al, al +je short loc_00020036 ; je 0x20036 +push edx +push ebx +push ref_0002644f ; push 0x2644f +push 0x80000000 +call fcn_000153f7 ; call 0x153f7 +add esp, 0x10 + +loc_00020036: ; not directly referenced +call fcn_000153f0 ; call 0x153f0 +mov esi, 3 +test al, al +je short loc_00020060 ; je 0x20060 +push eax +push ref_000221f1 ; push 0x221f1 +push 0x57 +push ref_00026df7 ; push 0x26df7 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_00020060 ; jmp 0x20060 + +loc_0002005b: ; not directly referenced +mov esi, 1 + +loc_00020060: ; not directly referenced +lea esp, [ebp - 8] +mov eax, esi +pop ebx +pop esi +pop ebp +ret + +fcn_00020069: ; not directly referenced +push ebp +mov ebp, esp +push edi +push esi +push ebx +sub esp, 0x1c +mov ebx, dword [ebp + 8] +call fcn_000153f0 ; call 0x153f0 +test al, al +je short loc_0002009e ; je 0x2009e +cmp dword [ebx - 8], 0x53524549 +je short loc_0002009e ; je 0x2009e +push eax +push ref_00026219 ; push 0x26219 +push 0x79 +push ref_00026df7 ; push 0x26df7 +call fcn_000153fc ; call 0x153fc +add esp, 0x10 +jmp short loc_000200a1 ; jmp 0x200a1 + +loc_0002009e: ; not directly referenced +sub ebx, 8 + +loc_000200a1: ; not directly referenced +mov esi, dword [ebx + 0x10] +sub esp, 0xc +push esi +call fcn_0001ff72 ; call 0x1ff72 +mov edi, eax +mov eax, dword [ebx + 0xc] +mov dword [ebp - 0x1c], eax +lea eax, [esi + 0x40] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +mov ebx, eax +lea eax, [esi + 0x48] +mov dword [esp], eax +call fcn_00017cfe ; call 0x17cfe +add esp, 0x10 +cmp dword [ebp + 0xc], 5 +ja loc_000202fa ; ja 0x202fa +mov edx, dword [ebp + 0xc] +jmp dword [edx*4 + ref_000205e0] ; ujmp: jmp dword [edx*4 + 0x205e0] + +loc_000200e4: ; not directly referenced +push eax +mov esi, 4 +push eax +push 0 +push 0xcf9 +call fcn_00018e26 ; call 0x18e26 +add esp, 0x10 +jmp near loc_000202c1 ; jmp 0x202c1 + +loc_000200ff: ; not directly referenced +push eax +mov esi, 6 +push eax +push 2 +push 0xcf9 +call fcn_00018e26 ; call 0x18e26 +add esp, 0x10 +jmp near loc_000202c1 ; jmp 0x202c1 + +loc_0002011a: ; not directly referenced +push eax +add esi, 0x44 +push eax +and ebx, 0xfffffffc +push 0x80 +movzx ebx, bx +push esi +call fcn_0001866c ; call 0x1866c +add esp, 0x10 +cmp edi, 2 +jne short loc_0002014a ; jne 0x2014a +push eax +push eax +push 0 +lea eax, [ebx + 0x9c] +push eax +call fcn_00018ed3 ; call 0x18ed3 +jmp short loc_00020167 ; jmp 0x20167 + +loc_0002014a: ; not directly referenced +dec edi +jne short loc_0002016a ; jne 0x2016a +push ecx +push ecx +push 0 +lea eax, [ebx + 0x28] +push eax +call fcn_00018e63 ; call 0x18e63 +lea eax, [ebx + 0x2c] +pop esi +pop edi +push 0 +push eax +call fcn_00018e63 ; call 0x18e63 + +loc_00020167: ; not directly referenced +add esp, 0x10 + +loc_0002016a: ; not directly referenced +push ecx +push ecx +push 0x100 +lea eax, [ebx + 0x34] +add ebx, 4 +push eax +call fcn_00018e63 ; call 0x18e63 +mov dword [esp], ebx +call fcn_00018ea0 ; call 0x18ea0 +pop edi +mov esi, eax +and esi, 0xffffc3ff +pop eax +mov eax, esi +or ah, 0x1c +or esi, 0x3c00 +push eax +push ebx +call fcn_00018ed3 ; call 0x18ed3 +pop eax +pop edx +push esi +push ebx +call fcn_00018ed3 ; call 0x18ed3 +add esp, 0x10 +xor eax, eax +jmp near loc_000202ff ; jmp 0x202ff + +loc_000201b4: ; not directly referenced +mov ebx, eax +push edx +and ebx, 0xfffc +push edx +push 0 +lea eax, [ebx + 0x60] +push eax +mov dword [ebp - 0x20], eax +call fcn_00018ed3 ; call 0x18ed3 +pop ecx +pop eax +lea eax, [ebx + 0x64] +push 0 +push eax +call fcn_00018ed3 ; call 0x18ed3 +pop eax +pop edx +lea eax, [ebx + 0x68] +push 0 +push eax +call fcn_00018ed3 ; call 0x18ed3 +mov eax, dword [ebp + 0xc] +add esp, 0x10 +sub eax, 4 +cmp eax, 1 +ja loc_000202bc ; ja 0x202bc +push ecx +add esi, 0xac +push ecx +push 0x100000 +push esi +call fcn_00018a50 ; call 0x18a50 +add esp, 0x10 +cmp dword [ebp + 0xc], 5 +jne loc_000202bc ; jne 0x202bc +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +add eax, 0x332c +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test al, 3 +jne loc_000202bc ; jne 0x202bc +mov eax, dword [ebp - 0x1c] +sub esp, 0xc +add eax, 0x3330 +push eax +call fcn_00017d8a ; call 0x17d8a +add esp, 0x10 +test ah, 0xc0 +jne short loc_000202bc ; jne 0x202bc +cmp edi, 1 +jne short loc_0002027b ; jne 0x2027b +push ecx +push ecx +push 0x40000000 +push ebx +call fcn_0001829f ; call 0x1829f +lea eax, [ebx + 4] +add ebx, 0xc +pop esi +pop edi +push 0xbfffffff +push eax +call fcn_000182c9 ; call 0x182c9 +pop eax +pop edx +push 0xbfffffff +jmp short loc_000202a1 ; jmp 0x202a1 + +loc_0002027b: ; not directly referenced +cmp edi, 2 +jne short loc_000202aa ; jne 0x202aa +push ecx +add ebx, 0x1f0 +push ecx +push 1 +push ebx +call fcn_0001829f ; call 0x1829f +pop esi +pop edi +push 0xfffffffffffffffb +push ebx +call fcn_000182c9 ; call 0x182c9 +pop eax +pop edx +push 0x7fffffff + +loc_000202a1: ; not directly referenced +push ebx +call fcn_000182c9 ; call 0x182c9 +add esp, 0x10 + +loc_000202aa: ; not directly referenced +push edx +push edx +push 0x40000000 +push dword [ebp - 0x20] +call fcn_0001829f ; call 0x1829f +add esp, 0x10 + +loc_000202bc: ; not directly referenced +mov esi, 0xe + +loc_000202c1: ; not directly referenced +sub esp, 0xc +push dword [ebp + 0xc] +call fcn_0001b972 ; call 0x1b972 +add esp, 0x10 +mov ebx, eax +cmp eax, 0x8000000e +je short loc_000202dc ; je 0x202dc +test ebx, ebx +jne short loc_000202ff ; jne 0x202ff + +loc_000202dc: ; not directly referenced +push eax +push eax +mov eax, esi +movzx esi, al +push esi +push 0xcf9 +call fcn_00018e26 ; call 0x18e26 +call fcn_00017175 ; call 0x17175 +add esp, 0x10 +mov eax, ebx +jmp short loc_000202ff ; jmp 0x202ff + +loc_000202fa: ; not directly referenced +mov eax, 0x80000002 + +loc_000202ff: ; not directly referenced +lea esp, [ebp - 0xc] +pop ebx +pop esi +pop edi +pop ebp +ret + +loc_00020307: +db 0x66 +dd 0x66906690 +dd 0x90906690 + +ref_00020310: +dd 0x08000100 +dd 0x01010000 +dd 0x01000004 +dd 0x00000202 + +ref_00020320: +dd 0x00000100 +dd 0x00001000 +dd 0x00010101 +dd 0x01000008 +dd 0x04000202 +dd 0x00000000 + +ref_00020338: +dd 0x07000301 +dd 0x0f000000 + +ref_00020340: +dd loc_00009440 +dd loc_00009447 +dd loc_0000938c +dd loc_00009396 +dd loc_000093a0 +dd loc_000093d6 +dd loc_000093da +dd loc_000093e3 +dd loc_000093a7 +dd loc_000093ae + +ref_00020368: +dd 0x00000002 +dd 0x0000000a +dd 0x00000064 +dd 0x00000000 + +ref_00020378: +dd 0xea002600 +dd 0xea002400 +dd 0xea002200 +dd 0xea002000 +dd 0x00000000 +dd 0x00000000 + +ref_00020390: +dd 0xea002400 +dd 0xea002600 +dd 0xea000800 +dd 0xea000a00 +dd 0xea002000 +dd 0xea002200 + +ref_000203a8: +dd 0xe9002000 +dd 0xe9002200 +dd 0xe9002400 +dd 0xe9002600 +dd 0x00000000 +dd 0x00000000 + +ref_000203c0: +dd 0xe9001600 +dd 0xe9001400 +dd 0xe9002e00 +dd 0xe9002c00 +dd 0xe9003200 +dd 0xe9003000 + +ref_000203d8: +dd 0x0a090605 + +ref_000203dc: +dd 0x13000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x11000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x15000000 +dd 0x0f000000 + +ref_00020420: +dd 0x00000000 +dd 0x00000001 +dd 0x00000002 +dd 0x00000003 +dd 0x00000008 +dd 0x00000009 +dd 0x0000000c +dd 0x0000000d +dd 0x00000004 +dd 0x00000005 +dd 0x00000006 +dd 0x00000007 +dd 0x0000000a +dd 0x0000000b +dd 0x0000000c +dd 0x0000000d + +ref_00020460: +db 0x1d + +ref_00020461: +db 0x00 +db 0x1a +db 0x00 + +ref_00020464: +db '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',0x00,0x00,0x00,0x00 + +ref_0002048c: +dd 0x00000001 +dd 0x00000002 +dd 0x00000004 +dd 0x00000008 +dd 0x00000010 +dd 0x00000020 +dd 0x00000040 +dd 0x00000000 + +ref_000204ac: +db ' +-#0!^',0x00 + +ref_000204b4: +db '0000000000000000',0x00,0x00,0x00,0x00 + +ref_000204c8: +dd 0x20202020 +dd 0x20202020 +dd 0x20202020 +dd 0x20202020 +dd 0x90906600 + +ref_000204dc: +db 'CbLocatePpi',0x00 + +ref_000204e8: +db 'CbNotifyPpi',0x00 + +ref_000204f4: +dd 0x6e496243 +dd 0x6c617473 +dd 0x6970506c +dd 0x90906600 + +ref_00020504: +dd 0x80000010 +dd ref_00028fcc +dd 0x00000000 + +ref_00020510: +dd loc_0001b397 +dd loc_0001b390 +dd loc_0001b3b7 +dd loc_0001b3a8 +dd loc_0001b3f2 +dd loc_0001b3d2 +dd loc_0001b44f +dd loc_0001b424 +dd loc_0001b483 +dd loc_0001b467 +dd loc_0001b499 +dd loc_0001b4de + +ref_00020540: +dd loc_0001b722 +dd loc_0001b7e8 +dd loc_0001b66c +dd loc_0001b7e8 +dd loc_0001b650 +dd loc_0001b7e8 +dd loc_0001b749 +dd loc_0001b733 +dd loc_0001b650 +dd loc_0001b794 + +ref_00020568: +dd loc_0001c2a3 +dd loc_0001c2be +dd loc_0001c2a9 +dd loc_0001c2b0 +dd loc_0001c2b7 + +ref_0002057c: +dd loc_0001cfe4 +dd loc_0001cff3 +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d10c +dd loc_0001d00c +dd loc_0001d021 +dd loc_0001d0b0 +dd loc_0001d0bc +dd loc_0001d0e5 +dd loc_0001d0f1 + +ref_000205d0: +dd 0x6c416243 +dd 0x61636f6c +dd 0x6f506574 +dd 0x90006c6f + +ref_000205e0: +dd loc_000200ff +dd loc_000200e4 +dd loc_0002011a +dd loc_000201b4 +dd loc_000201b4 +dd loc_000201b4 + +ref_000205f8: +db 'PEI: Starting...',0x0a,0x00 + +ref_0002060a: +db 'Initializing System Agent',0x0a,0x00 + +ref_00020625: +db 'Initializing PCH',0x0a,0x00 + +ref_00020637: +db 'PEI: Done.',0x0a,0x00 + +ref_00020643: +db 0x0a,'ASSERT_EFI_ERROR (Status = %r)',0x0a,0x00 + +ref_00020664: +db '!EFI_ERROR (Status)',0x00 + +ref_00020678: +db '../../intel/SystemAgent/SaInit/Pei/SaInitPeim.c',0x00 + +ref_000206a8: +db 'Set BIOS_RESET_CPL to indicate all configurations complete',0x0a,0x00 + +ref_000206e4: +db '[SA] Programming MSR 2E7',0x0a,0x00 + +ref_000206fe: +db 'SA Data HOB installed',0x0a,0x00 + +ref_00020715: +db '***************** System Agent PCIe code version *****************',0x0a,0x00 + +ref_00020759: +db '** Major version number is: %3d **',0x0a,0x00 + +ref_0002079d: +db '** Minor version number is: %3d **',0x0a,0x00 + +ref_000207e1: +db '** Rev version number is: %3d **',0x0a,0x00 + +ref_00020825: +db '** Build number is: %3d **',0x0a,0x00 + +ref_00020869: +db '******************************************************************',0x0a,0x00 + +ref_000208ad: +db 'Programming SA Bars',0x0a,0x00 + +ref_000208c2: +db 'Reporting SA PCIe code version',0x0a,0x00 + +ref_000208e2: +db 'Initializing DMI',0x0a,0x00 + +ref_000208f4: +db 'Initializing SA PCIe',0x0a,0x00 + +ref_0002090a: +db 'Initializing Graphics',0x0a,0x00 + +ref_00020921: +db 'Initializing System Agent Overclocking',0x0a,0x00 + +ref_00020949: +db 'Initializing DMI Tc/Vc mapping',0x0a,0x00 + +ref_00020969: +db 'Early BIOS POST Programming',0x0a,0x00 + +ref_00020986: +db '[SA] BootMode = %X',0x0a,0x00 + +ref_0002099a: +db '[SA] Install SA S3 Notify callback',0x0a,0x00 + +ref_000209be: +db '[SA] Install Notify callback for Rapid Start Resume',0x0a,0x00 + +ref_000209f3: +db '(OC) Overclocking is disabled. Bypassing SA overclocking flow.',0x0a,0x00 + +ref_00020a33: +db '../../intel/SystemAgent/SaInit/Pei/SaOcInit.c',0x00 + +ref_00020a61: +db '(OC) Updating EDRAM ratio value = %X',0x0a,0x00 + +ref_00020a87: +db '(OC) Set Voltage Frequency failed. EFI Status = %X, Library Status = %X',0x0a,0x00 + +ref_00020ad0: +db '(OC) No OC support for this Domain = %X',0x0a,0x00 + +ref_00020af9: +db '(OC) GetOcCapabilities message failed. Library Status = %X, Domain = %X',0x0a,0x00 + +ref_00020b42: +db '../../intel/SystemAgent/SaInit/Pei/GraphicsInit.c',0x00 + +ref_00020b74: +db 'PCH PCIe Graphics Card enabled.',0x0a,0x00 + +ref_00020b95: +db 'PCIe card on PEG%x%x (%x:%x:%x) enabled as VGA.',0x0a,0x00 + +ref_00020bc6: +db 'PEG%x%x (%x:%x:%x) ISAEN has been set.',0x0a,0x00 + +ref_00020bee: +db '(StallCount != 3000)',0x00 + +ref_00020c03: +db 'Temporary GttMmAdr Bar is not initialized. Returning from GraphicsInit().',0x0a,0x00 + +ref_00020c4e: +db 'GttMmAdr != 0',0x00 + +ref_00020c5c: +db 'IGD enabled.',0x0a,0x00 + +ref_00020c6a: +db 'SaPlatformPolicyPpi->GtConfig->GttSize <= 3',0x00 + +ref_00020c96: +db 'IGD VGA Decode is disabled because it',0x27,'s not a primary display.',0x0a,0x00 + +ref_00020cd6: +db 'Disable IGD Device.',0x0a,0x00 + +ref_00020ceb: +db '../../intel/SystemAgent/SaInit/Pei/SaDmiPeim.c',0x00 + +ref_00020d1a: +db 'Can',0x27,'t locate PchPlatformPolicy PPI - exiting.',0x0a,0x00 + +ref_00020d49: +db 'DMI Recipe...',0x0a,0x00 + +ref_00020d58: +db 'Run AdditionalDmiProgramSteps!',0x0a,0x00 + +ref_00020d78: +db 'DMI Gen2 is Disabled or not capable, staying at Gen1 !',0x0a,0x00 + +ref_00020db0: +db 'DMI Link re-train to set GEN2',0x0a,0x00 + +ref_00020dcf: +db 'DMI trained to x%d at Gen%d',0x0a,0x00 + +ref_00020dec: +db 'PEG%x%x (%x:%x:%x) - ',0x00 + +ref_00020e02: +db 'Trained to x%d at Gen%d.',0x00 + +ref_00020e1b: +db ' VC0 Negotiation Pending = %d.',0x00 + +ref_00020e3a: +db 'PEG%x%x (%x:%x:%x) - VC0 Negotiation Pending = %x after %d msec.',0x0a,0x00 + +ref_00020e7c: +db '../../intel/SystemAgent/SaInit/Pei/PciExpressInit.c',0x00 + +ref_00020eb0: +db 'Previous Link Training Fail Mask 0x%2.2X',0x0a,0x00 + +ref_00020eda: +db 'New Link Training Fail Mask 0x%2.2X',0x0a,0x00 + +ref_00020eff: +db ' PEG%x%x (%x:%x:%x) - skipping due to furcation',0x0a,0x00 + +ref_00020f30: +db ' PEG%x%x (%x:%x:%x) - checking',0x0a,0x00 + +ref_00020f50: +db ' VC negotiation is complete',0x0a,0x00 + +ref_00020f6e: +db 'Total Stall: %d msec',0x0a,0x00 + +ref_00020f84: +db 'Returned PegLinkFailMask 0x%2.2X',0x0a,0x00 + +ref_00020fa6: +db 'Invalid input to ProgramPreset() function! PegFunc=%d, Lane=%d',0x0a,0x00 + +ref_00020fe7: +db '--- Sampler values before calibration ---',0x0a,0x00 + +ref_00021012: +db 'ERROR: PEG dev=%d, lane=%d, sampler=%d, iteration=%d, found more than %d distinct codes!!!',0x0a,0x00 + +ref_0002106e: +db '--- Sampler values after calibration ---',0x0a,0x00 + +ref_00021098: +db 'PEG Link Status after auto speed disable:',0x0a,0x00 + +ref_000210c3: +db 'Auto',0x0a,0x00 + +ref_000210c9: +db 'Speed From Setup %x',0x0a,0x00 + +ref_000210de: +db 'PEG%x%x (%x:%x:%x) - Max Link Speed = Gen%d',0x0a,0x00 + +ref_0002110b: +db 'ERROR: Attempted to reserve > %d IOTRK (Attempt = %d)! Skipping programming.',0x0a,0x00 + +ref_00021159: +db 'IOTRK: Reserved = %d. Shared = %d. Total = %d.',0x0a,0x00 + +ref_00021189: +db 'ERROR: Attempted to reserve > %d RRTRK (Attempt = %d)! Skipping programming.',0x0a,0x00 + +ref_000211d7: +db 'RRTRK: Reserved = %d. Shared = %d. Total = %d.',0x0a,0x00 + +ref_00021207: +db 'Crdtctl4 Crdtctl6 Crdtctl8 Before = %x %x %x',0x0a,0x00 + +ref_00021235: +db 'PEG10: LinkDisabled = %x. Width = %x',0x0a,0x00 + +ref_0002125b: +db 'PEG11: LinkDisabled = %x. Width = %x',0x0a,0x00 + +ref_00021281: +db 'PEG12: LinkDisabled = %x. Width = %x',0x0a,0x00 + +ref_000212a7: +db 'Crdtctl4 Crdtctl6 Crdtctl8 After = %x %x %x',0x0a,0x00 + +ref_000212d4: +db 'VCU Busy Timeout after %d tries: MCHBAR=%8.8X. Interface=%8.8X. Data=%4.4X.',0x0a,0x00 + +ref_00021321: +db 'ERROR: VCU Response Error after %d tries: MCHBAR=%8.8X. Interface=%4.4X. Data=%8.8X. ResponseCode=%4.4X',0x0a,0x00 + +ref_0002138a: +db 'In GetMaxBundles procedure',0x0a,0x00 + +ref_000213a6: +db 'MaxBndlPwrdnCount = %d',0x0a,0x00 + +ref_000213be: +db 'In PowerDownUnusedBundles sequence',0x0a,0x00 + +ref_000213e2: +db 'All lanes are used. Do nothing.',0x0a,0x00 + +ref_00021403: +db 'PegLaneReversal is true',0x0a,0x00 + +ref_0002141c: +db 'BNDL_PWRDN PEG%d%d[%d:%d]',0x0a,0x00 + +ref_00021437: +db 'PEG controller not detected',0x0a,0x00 + +ref_00021454: +db 'PEG HW Strap value %x',0x0a,0x00 + +ref_0002146b: +db 'PEG Gen3 Fused off',0x0a,0x00 + +ref_0002147f: +db 0x0a,'Restore SA PEG DATA from previous boot: Size=%X',0x0a,0x00 + +ref_000214b1: +db 0x0a,'PegGen3PresetSearch is disabled, Clear old Preset data',0x0a,0x00 + +ref_000214ea: +db 'PEG Recipe...',0x0a,0x00 + +ref_000214f9: +db 'PEG Gen3 Equalization...',0x0a,0x00 + +ref_00021513: +db 'Presence detect table...',0x0a,0x00 + +ref_0002152d: +db ' PEG%d%d PresenceDetect: %x. EndpointMaxLinkSpeed: %x.',0x0a,0x00 + +ref_00021565: +db 'PEG SamplerCalibration...',0x0a,0x00 + +ref_00021580: +db 'PEG Ports Scanning starts.',0x0a,0x00 + +ref_0002159c: +db 'PEG%d%d - Endpoint not responding to PCI config space access, assuming negotiated width (X%d) is max width',0x0a,0x00 + +ref_00021608: +db 'CtrlMLW[%d]. EpMLW[%d]. UnusedLanes[%d]. BndlPwrdnCount[%d].',0x0a,0x00 + +ref_00021646: +db 'BndlPwrdnCount violation! Overriding BndlPwrdnCount! ' + +ref_0002167b: +db 'BndlPwrdnCount[%d].',0x0a,0x00 + +ref_00021690: +db 'Run AdditionalPegProgramSteps on PEG%x%x!',0x0a,0x00 + +ref_000216bb: +db 'PEG10 ' + +ref_000216c1: +db 'Disabled.',0x0a,0x00 + +ref_000216cc: +db 'PEG11 Disabled.',0x0a,0x00 + +ref_000216dd: +db 'PEG12 Disabled.',0x0a,0x00 + +ref_000216ee: +db 'Original PegLinkFailMask=%X, Final PegLinkFailMask=%X',0x0a,0x00 + +ref_00021725: +db 'Setting GPIO%d to %x',0x0a,0x00 + +ref_0002173b: +db 'Asserting PEG slot reset.',0x0a,0x00 + +ref_00021756: +db 'Deasserting PEG slot reset.',0x0a,0x00 + +ref_00021773: +db 'Toggling PEG slot reset.',0x0a,0x00 + +ref_0002178d: +db 'SECONDARY BUS RESET!',0x0a,0x00 + +ref_000217a3: +db 'Reset Complete',0x0a,0x00 + +ref_000217b3: +db 'PHY LAYER RESET!',0x0a,0x00 + +ref_000217c5: +db 'Link retrain FAILED!!!',0x0a,0x00 + +ref_000217dd: +db 'DOWNGRADE from x%d to x%d detected',0x0a,0x00 + +ref_00021801: +db 'Width Recovery Successful',0x0a,0x00 + +ref_0002181c: +db 'Width Recovery FAILED!',0x0a,0x00 + +ref_00021834: +db 'Error 0x%x.',0x0a,0x00 + +ref_00021841: +db 'Success.',0x0a,0x00 + +ref_0002184b: +db 'Link Width DOWNGRADED!',0x0a,0x00 + +ref_00021863: +db 'Link Speed DOWNGRADED!',0x0a,0x00 + +ref_0002187b: +db 'Link speed downgrade detected',0x0a,0x00 + +ref_0002189a: +db 'Link width downgrade detected',0x0a,0x00 + +ref_000218b9: +db 'DOWNGRADE from Gen %d to Gen %d detected',0x0a,0x00 + +ref_000218e3: +db 'Link Speed Recovery FAILED!',0x0a,0x00 + +ref_00021900: +db 'Link Speed Recovery Successful',0x0a,0x00 + +ref_00021920: +db 'DOWNGRADE, Link is not in L0',0x0a,0x00 + +ref_0002193e: +db '../../intel/SystemAgent/SaInit/Pei/PcieTrainingLinkRecovery.c',0x00 + +ref_0002197c: +db ' PcieControllerList Array Index Out of Bounds PortInfoListLength: %x',0x0a,0x00 + +ref_000219c3: +db ' LaneList Array Index Out of Bounds LaneListLength%x',0x0a,0x00 + +ref_000219f9: +db ' PEG%x%x (%x:%x:%x) - Root Port is not Gen3-capable. Max Link Speed = %d.',0x0a,0x00 + +ref_00021a44: +db ' PEG%x%x (%x:%x:%x) - Root Port is Gen3-capable.',0x0a,0x00 + +ref_00021a76: +db ' PEG%x%x (%x:%x:%x) - VC0 negotiation is pending! Skipping endpoint.',0x0a,0x00 + +ref_00021abc: +db ' PEG%x%x (%x:%x:%x) - Endpoint is not Gen3-capable. No PCIe Capability found.',0x0a,0x00 + +ref_00021b0b: +db ' PEG%x%x (%x:%x:%x) - Endpoint is not Gen3-capable. Max Link Speed = %d.',0x0a,0x00 + +ref_00021b55: +db ' PEG%x%x (%x:%x:%x) - Endpoint is Gen3-capable',0x0a,0x00 + +ref_00021b85: +db '../../intel/SystemAgent/SaInit/Pei/PcieTraining.c',0x00 + +ref_00021bb7: +db 'Invalid Margin Test Requested.',0x0a,0x00 + +ref_00021bd7: +db 'Preset for Lane %2d: ',0x00 + +ref_00021bed: +db 'Search Result: P%d',0x00 + +ref_00021c00: +db 'Applying Policy value: P%d' + +ref_00021c1a: +db '. Saving value for next boot.',0x00 + +ref_00021c38: +db 'Applying Policy value: P%d',0x00 + +ref_00021c53: +db 'Restoring previous value: P%d',0x00 + +ref_00021c71: +db 'Illegal Lane: %d',0x00 + +ref_00021c82: +db 'PEG Gen3 Preset Search',0x0a,0x00 + +ref_00021c9a: +db ' Gen3 is disabled by policy',0x0a,0x00 + +ref_00021cb7: +db 'Lane Reversal is Disabled',0x0a,0x00 + +ref_00021cd2: +db 'Lane Reversal is Enabled',0x0a,0x00 + +ref_00021cec: +db '../../intel/SystemAgent/SaInit/Pei/PcieTrainingPhase3.c',0x00 + +ref_00021d24: +db 'Calling CpuReplacementCheck',0x0a,0x00 + +ref_00021d41: +db ' ME reported CPU Replacement value: %x',0x0a,0x00 + +ref_00021d69: +db ' PEG%x%x (%x:%x:%x) - LoadedSavedPreset = %d. EndpointDeviceChanged = %d.',0x0a,0x00 + +ref_00021db4: +db 'Skipping Preset Search - No Gen3 capable links',0x0a,0x00 + +ref_00021de4: +db 'Skipping PEG%d%d - Not Gen3 capable',0x0a,0x00 + +ref_00021e09: +db 'Using Lane %2d',0x27,'s Best Preset for Lanes %2d-%2d.',0x0a,0x00 + +ref_00021e3a: +db 'PEG%d%d - Not Gen3 capable, skip coefficient programming.',0x0a,0x00 + +ref_00021e75: +db 'PEG Gen3 Preset Search done',0x0a + +ref_00021e91: +db 0x0a +db 0x00 + +ref_00021e93: +db 'GetCoefficientsFromPreset(): Unsupported Preset Requested: P%d. Using P7.',0x0a,0x00 + +ref_00021ede: +db 'ConfigureTxJitterMux: System unsupported, no PEG.',0x0a,0x00 + +ref_00021f11: +db 'Unsupported CPU stepping!',0x0a,0x00 + +ref_00021f2c: +db 'TempValue >= 47',0x00 + +ref_00021f3c: +db '../../intel/SystemAgent/SaInit/Pei/PcieTrainingMargining.c',0x00 + +ref_00021f77: +db 'TempValue <= 17',0x00 + +ref_00021f87: +db 'ProgramIobp Read Error, Address:%x AndMask:%x OrMask:%x',0x0a,0x00 + +ref_00021fc0: +db '../../intel/Pch/Library/PchPlatformLib/IobpAccess.c',0x00 + +ref_00021ff4: +db 'ProgramIobp Write Error, Address:%x AndMask:%x OrMask:%x',0x0a,0x00 + +ref_0002202e: +db '(((*LatencyValue1) & (0x00000400 + 0x00000800 + 0x00001000)) >> 10) < 6',0x00 + +ref_00022076: +db '../../intel/Pch/Library/PchPciExpressHelpersLib/PchPciExpressHelpersLibrary.c',0x00 + +ref_000220c4: +db '(((LatencyValue2) & (0x00000400 + 0x00000800 + 0x00001000)) >> 10) < 6',0x00 + +ref_0002210b: +db 'Endpoint Device %0x Capability ASPM: %0x',0x0a,0x00 + +ref_00022135: +db 'Override root port ASPM to L1 for pre-1.1 devices',0x0a,0x00 + +ref_00022168: +db 'Calculate Endpoint Device %0x Aspm Value: %0x',0x0a,0x00 + +ref_00022197: +db 'Program Endpoint Device %0x Aspm Value: %0x',0x0a,0x00 + +ref_000221c4: +db 'Check DownStreamBus:%d and no device found!',0x0a,0x00 + +ref_000221f1: +db '((BOOLEAN)(0==1))',0x00 + +ref_00022203: +db 'PchCpuStrapSet() - Start',0x0a,0x00 + +ref_0002221d: +db 'PchCpuStrapSet() - End',0x0a,0x00 + +ref_00022235: +db 'PchOnMemoryInstalled() Start',0x0a,0x00 + +ref_00022253: +db 'PCH Installing PcieDeviceTable HOB (%d entries)',0x0a,0x00 + +ref_00022284: +db 'HobPtr != 0',0x00 + +ref_00022290: +db '../../intel/Pch/PchInit/Pei/PchInitPeim.c',0x00 + +ref_000222ba: +db 'Index != 0',0x00 + +ref_000222c5: +db 'PCH Installing PchPlatformPolicy HOB (PCH bus = %d)',0x0a,0x00 + +ref_000222fa: +db 'Disable Azalia: initialization error in Auto mode!',0x0a,0x00 + +ref_0002232e: +db 'PchOnMemoryInstalled() End',0x0a,0x00 + +ref_0002234a: +db 'Gen3TxOutVoltDnAmpAdj is out of valid range ',0x0a,0x00 + +ref_00022378: +db 'Gen12TxOutVoltDnAmpAdj is out of valid range ',0x0a,0x00 + +ref_000223a7: +db 'Gen3TxOutDeEmAdj is out of valid range ',0x0a,0x00 + +ref_000223d0: +db 'Gen12TxOutDeEmAdj is out of valid range ',0x0a,0x00 + +ref_000223fa: +db 'PchSataInit() - Start',0x0a,0x00 + +ref_00022411: +db 'Please do not enable any SATA port before SATA Hsio initialization is done.',0x0a,0x00 + +ref_0002245f: +db 'PchSataInit() - End',0x0a,0x00 + +ref_00022474: +db 'PchGbeMandatedReset: resetting the board via CF9 to unlock LAN Disable register...',0x0a,0x00 + +ref_000224c8: +db 'PchGbeMandatedReset: resetting the board via CF9...',0x0a,0x00 + +ref_000224fd: +db 'isCLK 0xED00015C Read warning: %r',0x0a,0x00 + +ref_00022520: +db 'isCLK 0xED000118 Read warning: %r',0x0a,0x00 + +ref_00022543: +db 'isCLK 0xED000120 Read warning: %r',0x0a,0x00 + +ref_00022566: +db 'PchInitialize() - Start',0x0a,0x00 + +ref_0002257f: +db '(PchPlatformPolicyPpi->Rcba & (UINT32) (~0xFFFFC000)) == 0',0x00 + +ref_000225ba: +db '(MmioRead32 (AcpiBarAddress) & 0xFFFC) == PchPlatformPolicyPpi->PmBase',0x00 + +ref_00022601: +db '(MmioRead32 (GpioBarAddress) & 0xFFFC) == PchPlatformPolicyPpi->GpioBase',0x00 + +ref_0002264a: +db 'PchInitialize() - End',0x0a,0x00 + +ref_00022661: +db 'PchConfigureInterruptRegister() Start',0x0a,0x00 + +ref_00022688: +db 'PchConfigureInterruptRegister() End',0x0a,0x00 + +ref_000226ad: +db 'PchEarlyInit() - Start',0x0a,0x00 + +ref_000226c5: +db 'PchEarlyInit() - End',0x0a,0x00 + +ref_000226db: +db 'InstallPchInitPpi() - Start',0x0a,0x00 + +ref_000226f8: +db 'PCH SKU is not supported due to no proper PCH LPC found!',0x0a,0x00 + +ref_00022732: +db 'Rcba needs to be programmed before here',0x0a,0x00 + +ref_0002275b: +db 'Failed to allocate memory for PchDmiTcVcMapPpiDesc! ',0x0a,0x00 + +ref_00022791: +db 'Failed to allocate memory for PchDmiTcVcMapPpi! ',0x0a,0x00 + +ref_000227c3: +db 'InstallPchInitPpi() - End',0x0a,0x00 + +ref_000227de: +db '------------------ PCH USB Config ------------------',0x0a,0x00 + +ref_00022814: +db ' UsbPerPortCtl= %x',0x0a,0x00 + +ref_00022828: +db ' Ehci1Usbr= %x',0x0a,0x00 + +ref_00022838: +db ' Ehci2Usbr= %x',0x0a,0x00 + +ref_00022848: +db ' PortSettings[%d] Enabled= %x',0x0a,0x00 + +ref_00022867: +db ' PortSettings[%d] Location = %x',0x0a,0x00 + +ref_00022888: +db ' Port30Settings[%d] Enabled= %x',0x0a,0x00 + +ref_000228a9: +db ' Usb20Settings[%d] Enabled= %x',0x0a,0x00 + +ref_000228c9: +db ' Usb30Settings.Mode= %x',0x0a,0x00 + +ref_000228e2: +db ' Usb30Settings.PreBootSupport= %x',0x0a,0x00 + +ref_00022905: +db ' Usb30Settings.Btcg= %x',0x0a,0x00 + +ref_0002291e: +db ' Usb30Settings.ManualMode= %x',0x0a,0x00 + +ref_0002293d: +db ' Usb30Settings.ManualModeUsb20PerPinRoute[%d]= EHCI',0x0a,0x00 + +ref_00022972: +db ' Usb30Settings.ManualModeUsb20PerPinRoute[%d]= XHCI',0x0a,0x00 + +ref_000229a7: +db ' Usb30Settings.ManualModeUsb30PerPinEnable[%d]= %x',0x0a,0x00 + +ref_000229db: +db ' PortUsb20[%d].OverCurrentPin= OC%x',0x0a,0x00 + +ref_00022a00: +db ' PortUsb20[%d].Usb20EyeDiagramTuningParam1= %x',0x0a,0x00 + +ref_00022a30: +db ' PortUsb20[%d].Usb20EyeDiagramTuningParam2= %x',0x0a,0x00 + +ref_00022a60: +db ' PortUsb30[%d].OverCurrentPin= OC%x',0x0a,0x00 + +ref_00022a85: +db ' PortUsb30[%d].FixedEqualization = %x',0x0a,0x00 + +ref_00022aac: +db ' Usb20PortLength[%d]= %x.%0x',0x0a,0x00 + +ref_00022aca: +db '------------------ PCH USB 3.0 Iobp Config ------------------',0x0a,0x00 + +ref_00022b09: +db ' Usb30IobpConfig[%d].Usb30TxOutVoltDnAmpAdj= %x',0x0a,0x00 + +ref_00022b3a: +db ' Usb30IobpConfig[%d].Usb30TxOutImpScVoltAmpAdj= %x',0x0a,0x00 + +ref_00022b6e: +db ' Usb30IobpConfig[%d].Usb30TxOutDeEmpAdj= %x',0x0a,0x00 + +ref_00022b9b: +db ' Usb30IobpConfig[%d].Usb30TxOutAdjEn= %x',0x0a,0x00 + +ref_00022bc5: +db ' Usb30IobpConfig[%d].Usb30TxOutImpAdjVoltAmp= %x',0x0a,0x00 + +ref_00022bf7: +db ' Usb30IobpConfig[%d].Usb30TxOutVoltDnAmpAdjEnable= %x',0x0a,0x00 + +ref_00022c2e: +db ' Usb30IobpConfig[%d].Usb30TxOutImpScVoltAmpAdjEnable= %x',0x0a,0x00 + +ref_00022c68: +db ' Usb30IobpConfig[%d].Usb30TxOutDeEmpAdjEnable= %x',0x0a,0x00 + +ref_00022c9b: +db ' Usb30IobpConfig[%d].Usb30Ecrt98Enable= %x',0x0a,0x00 + +ref_00022cc7: +db '------------------ PCH PCIE Config ------------------',0x0a,0x00 + +ref_00022cfe: +db ' RootPort[%d] Enabled= %x',0x0a,0x00 + +ref_00022d19: +db ' RootPort[%d] Hide= %x',0x0a,0x00 + +ref_00022d31: +db ' RootPort[%d] SlotImplemented= %x',0x0a,0x00 + +ref_00022d54: +db ' RootPort[%d] HotPlug= %x',0x0a,0x00 + +ref_00022d6f: +db ' RootPort[%d] PmSci= %x',0x0a,0x00 + +ref_00022d88: +db ' RootPort[%d] ExtSync= %x',0x0a,0x00 + +ref_00022da3: +db ' RootPort[%d] UnsupportedRequestReport= %x',0x0a,0x00 + +ref_00022dcf: +db ' RootPort[%d] FatalErrorReport= %x',0x0a,0x00 + +ref_00022df3: +db ' RootPort[%d] NoFatalErrorReport= %x',0x0a,0x00 + +ref_00022e19: +db ' RootPort[%d] CorrectableErrorReport= %x',0x0a,0x00 + +ref_00022e43: +db ' RootPort[%d] PmeInterrupt= %x',0x0a,0x00 + +ref_00022e63: +db ' RootPort[%d] SystemErrorOnFatalError= %x',0x0a,0x00 + +ref_00022e8e: +db ' RootPort[%d] SystemErrorOnNonFatalError= %x',0x0a,0x00 + +ref_00022ebc: +db ' RootPort[%d] SystemErrorOnCorrectableError= %x',0x0a,0x00 + +ref_00022eed: +db ' RootPort[%d] AdvancedErrorReporting= %x',0x0a,0x00 + +ref_00022f17: +db ' RootPort[%d] TransmitterHalfSwing= %x',0x0a,0x00 + +ref_00022f3f: +db ' RootPort[%d] PcieSpeed= %x',0x0a,0x00 + +ref_00022f5c: +db ' RootPort[%d]' + +ref_00022f69: +db ' FunctionNumber= %x',0x0a,0x00 + +ref_00022f7e: +db ' RootPort[%d] PhysicalSlotNumber= %x',0x0a,0x00 + +ref_00022fa4: +db ' RootPort[%d] CompletionTimeout= %x',0x0a,0x00 + +ref_00022fc9: +db ' RootPort[%d] Aspm= %x',0x0a,0x00 + +ref_00022fe1: +db ' RootPort[%d] L1Substates= %x',0x0a,0x00 + +ref_00023000: +db ' RootPort[%d]' + +ref_0002300d: +db ' LtrEnable= %x',0x0a,0x00 + +ref_0002301d: +db ' RootPort[%d] LtrConfigLock= %x',0x0a,0x00 + +ref_0002303e: +db ' RootPort[%d] LtrMaxSnoopLatency= %x',0x0a,0x00 + +ref_00023064: +db ' RootPort[%d] LtrMaxNoSnoopLatency= %x',0x0a,0x00 + +ref_0002308c: +db ' RootPort[%d] SnoopLatencyOverrideMode= %x',0x0a,0x00 + +ref_000230b8: +db ' RootPort[%d] SnoopLatencyOverrideMultiplier= %x',0x0a,0x00 + +ref_000230ea: +db ' RootPort[%d] SnoopLatencyOverrideValue= %x',0x0a,0x00 + +ref_00023117: +db ' RootPort[%d] NonSnoopLatencyOverrideMode= %x',0x0a,0x00 + +ref_00023146: +db ' RootPort[%d] NonSnoopLatencyOverrideMultiplier= %x',0x0a,0x00 + +ref_0002317b: +db ' RootPort[%d] NonSnoopLatencyOverrideValue= %x',0x0a,0x00 + +ref_000231ab: +db ' EnableSubDecode= %x',0x0a,0x00 + +ref_000231c1: +db ' PchPcieSbdePort= %x',0x0a,0x00 + +ref_000231d7: +db ' RootPortClockGating= %x',0x0a,0x00 + +ref_000231f1: +db ' RootPortFunctionSwapping= %x',0x0a,0x00 + +ref_00023210: +db ' AllowNoLtrIccPllShutdown= %x',0x0a,0x00 + +ref_0002322f: +db '------------------ PCH SATA Config ------------------',0x0a,0x00 + +ref_00023266: +db ' SataMode= %x',0x0a,0x00 + +ref_00023275: +db ' PortSettings[%d] HotPlug= %x',0x0a,0x00 + +ref_00023294: +db ' PortSettings[%d] InterlockSw= %x',0x0a,0x00 + +ref_000232b7: +db ' PortSettings[%d] External= %x',0x0a,0x00 + +ref_000232d7: +db ' PortSettings[%d] SpinUp= %x',0x0a,0x00 + +ref_000232f5: +db ' PortSettings[%d] SolidStateDrive= %x',0x0a,0x00 + +ref_0002331c: +db ' PortSettings[%d] DevSlp= %x',0x0a,0x00 + +ref_0002333a: +db ' PortSettings[%d] EnableDitoConfig= %x',0x0a,0x00 + +ref_00023362: +db ' PortSettings[%d] DmVal= %x',0x0a,0x00 + +ref_0002337f: +db ' PortSettings[%d] DitoVal= %x',0x0a,0x00 + +ref_0002339e: +db ' PortSettings[%d] PortRxEq GenSpeed[0]' + +ref_000233c4: +db ' Enable= %x',0x0a,0x00 + +ref_000233d1: +db ' PortSettings[%d] PortRxEq GenSpeed[0] RxEq= %x',0x0a,0x00 + +ref_00023402: +db ' PortSettings[%d] PortRxEq GenSpeed[1] Enable= %x',0x0a,0x00 + +ref_00023435: +db ' PortSettings[%d] PortRxEq GenSpeed[1] RxEq= %x',0x0a,0x00 + +ref_00023466: +db ' PortSettings[%d] PortRxEq GenSpeed[2] Enable= %x',0x0a,0x00 + +ref_00023499: +db ' PortSettings[%d] PortRxEq GenSpeed[2] RxEq= %x',0x0a,0x00 + +ref_000234ca: +db ' PortSettings[%d] PortIobp Gen3TxOutVoltDnAmpAdj= %x',0x0a,0x00 + +ref_00023500: +db ' PortSettings[%d] PortIobp Gen12TxOutVoltDnAmpAdj= %x',0x0a,0x00 + +ref_00023537: +db ' PortSettings[%d] PortIobp Gen3TxOutDeEmAdj= %x',0x0a,0x00 + +ref_00023568: +db ' PortSettings[%d] PortIobp Gen12TxOutDeEmAdj= %x',0x0a,0x00 + +ref_0002359a: +db ' PortSettings[%d] PortIobp Gen3TxOutVoltDnAmpAdjEnable= %x',0x0a,0x00 + +ref_000235d6: +db ' PortSettings[%d] PortIobp Gen12TxOutVoltDnAmpAdjEnable= %x',0x0a,0x00 + +ref_00023613: +db ' PortSettings[%d] PortIobp Gen3TxOutDeEmAdjEnable= %x',0x0a,0x00 + +ref_0002364a: +db ' PortSettings[%d] PortIobp Gen12TxOutDeEmAdjEnable= %x',0x0a,0x00 + +ref_00023682: +db ' PortSettings[%d] Sata Thermal Throttling Enabled= %x',0x0a,0x00 + +ref_000236b9: +db ' RaidAlternateId= %x',0x0a,0x00 + +ref_000236cf: +db ' Raid0= %x',0x0a,0x00 + +ref_000236db: +db ' Raid1= %x',0x0a,0x00 + +ref_000236e7: +db ' Raid10= %x',0x0a,0x00 + +ref_000236f4: +db ' Raid5= %x',0x0a,0x00 + +ref_00023700: +db ' Irrt= %x',0x0a,0x00 + +ref_0002370b: +db ' OromUiBanner= %x',0x0a,0x00 + +ref_0002371e: +db ' OromUiDelay= %x',0x0a,0x00 + +ref_00023730: +db ' HddUnlock= %x',0x0a,0x00 + +ref_00023740: +db ' LedLocate= %x',0x0a,0x00 + +ref_00023750: +db ' IrrtOnly= %x',0x0a,0x00 + +ref_0002375f: +db ' SmartStorage= %x',0x0a,0x00 + +ref_00023772: +db ' SpeedSupport= %x',0x0a,0x00 + +ref_00023785: +db ' eSATASpeedLimit= %x',0x0a,0x00 + +ref_0002379b: +db ' TestMode= %x',0x0a,0x00 + +ref_000237aa: +db ' LegacyMode= %x',0x0a,0x00 + +ref_000237bb: +db ' SalpSupport= %x',0x0a,0x00 + +ref_000237cd: +db ' PwrOptEnable= %x',0x0a,0x00 + +ref_000237e0: +db ' PcieNandRemap Enable= %x',0x0a,0x00 + +ref_000237fb: +db ' PcieNandRemap PcieNandPort= %x',0x0a,0x00 + +ref_0002381c: +db ' PcieNandRemap ConfigAccessLockDown= %x',0x0a,0x00 + +ref_00023845: +db ' PcieNandRemap DeviceResetDelay= %x',0x0a,0x00 + +ref_0002386a: +db '------------------ PCH IOAPIC Config ------------------',0x0a,0x00 + +ref_000238a3: +db ' BdfValid= %x',0x0a,0x00 + +ref_000238b2: +db ' BusNumber= %x',0x0a,0x00 + +ref_000238c2: +db ' DeviceNumber= %x',0x0a,0x00 + +ref_000238d5: +db ' IoApicId= %x',0x0a,0x00 + +ref_000238e4: +db ' ApicRangeSelect= %x',0x0a,0x00 + +ref_000238fa: +db ' IoApicEntry24_39= %x',0x0a,0x00 + +ref_00023911: +db '------------------ PCH HPET Config ------------------',0x0a,0x00 + +ref_00023948: +db ' Enable %x',0x0a,0x00 + +ref_00023954: +db ' BdfValid %x',0x0a,0x00 + +ref_00023962: +db ' BusNumber %x',0x0a,0x00 + +ref_00023971: +db ' DeviceNumber %x',0x0a,0x00 + +ref_00023983: +db ' FunctionNumber %x',0x0a,0x00 + +ref_00023997: +db ' Base %x',0x0a,0x00 + +ref_000239a1: +db '------------------ PCH Lock Down Config ------------------',0x0a,0x00 + +ref_000239dd: +db ' GlobalSmi= %x',0x0a,0x00 + +ref_000239ed: +db ' BiosInterface= %x',0x0a,0x00 + +ref_00023a01: +db ' GpioLockDown= %x',0x0a,0x00 + +ref_00023a14: +db ' RtcLock= %x',0x0a,0x00 + +ref_00023a22: +db ' BiosLock= %x',0x0a,0x00 + +ref_00023a31: +db ' SmmBwp= %x',0x0a,0x00 + +ref_00023a3e: +db '------------------ PCH Flash Protection Config ------------------',0x0a,0x00 + +ref_00023a81: +db ' WriteProtectionEnable[%d]= %x',0x0a,0x00 + +ref_00023aa1: +db ' ReadProtectionEnable[%d]= %x',0x0a,0x00 + +ref_00023ac0: +db ' ProtectedRangeLimit[%d]= %x',0x0a,0x00 + +ref_00023ade: +db ' ProtectedRangeBase[%d]= %x',0x0a,0x00 + +ref_00023afb: +db '------------------ PCH SMBUS Config ------------------',0x0a,0x00 + +ref_00023b33: +db ' SmbusIoBase= %x',0x0a,0x00 + +ref_00023b45: +db ' NumRsvdSmbusAddresses= %x',0x0a,0x00 + +ref_00023b61: +db ' RsvdSmbusAddressTable= {',0x00 + +ref_00023b7b: +db ' %02xh',0x00 + +ref_00023b82: +db ' }',0x0a,0x00 + +ref_00023b86: +db '------------------ PCH Azalia Config ------------------',0x0a,0x00 + +ref_00023bbf: +db ' Pme= %x',0x0a,0x00 + +ref_00023bc9: +db ' DockSupport= %x',0x0a,0x00 + +ref_00023bdb: +db ' ResetWaitTimer= %x',0x0a,0x00 + +ref_00023bf0: +db '------------------ PCH PM Config ------------------',0x0a,0x00 + +ref_00023c25: +db ' PowerResetStatusClear MeWakeSts= %x',0x0a,0x00 + +ref_00023c4b: +db ' PowerResetStatusClear MeHrstColdSts= %x',0x0a,0x00 + +ref_00023c75: +db ' PowerResetStatusClear MeHrstWarmSts= %x',0x0a,0x00 + +ref_00023c9f: +db ' PowerResetStatusClear MeHostPowerDn= %x',0x0a,0x00 + +ref_00023cc9: +db ' PowerResetStatusClear WolOvrWkSts= %x',0x0a,0x00 + +ref_00023cf1: +db ' WakeConfig PmeB0S5Dis= %x',0x0a,0x00 + +ref_00023d0d: +db ' WakeConfig WolEnableOverride= %x',0x0a,0x00 + +ref_00023d30: +db ' WakeConfig Gp27WakeFromDeepSx= %x',0x0a,0x00 + +ref_00023d54: +db ' WakeConfig PcieWakeFromDeepSx= %x',0x0a,0x00 + +ref_00023d78: +db ' WakeConfig WoWlanEnable= %x',0x0a,0x00 + +ref_00023d96: +db ' WakeConfig WoWlanDeepSxEnable= %x',0x0a,0x00 + +ref_00023dba: +db ' PchDeepSxPol= %x',0x0a,0x00 + +ref_00023dcd: +db ' PchSlpS3MinAssert= %x',0x0a,0x00 + +ref_00023de5: +db ' PchSlpS4MinAssert= %x',0x0a,0x00 + +ref_00023dfd: +db ' PchSlpSusMinAssert= %x',0x0a,0x00 + +ref_00023e16: +db ' PchSlpAMinAssert= %x',0x0a,0x00 + +ref_00023e2d: +db ' PciClockRun= %x',0x0a,0x00 + +ref_00023e3f: +db ' SlpStrchSusUp= %x',0x0a,0x00 + +ref_00023e53: +db ' SlpLanLowDc= %x',0x0a,0x00 + +ref_00023e65: +db ' LegacyDmaDisable= %x',0x0a,0x00 + +ref_00023e7c: +db ' PchPwrCycDur= %x',0x0a,0x00 + +ref_00023e8f: +db '------------------ PCH DMI Config ------------------',0x0a,0x00 + +ref_00023ec5: +db ' DmiAspm= %x',0x0a,0x00 + +ref_00023ed3: +db ' DmiExtSync= %x',0x0a,0x00 + +ref_00023ee4: +db ' DmiIot= %x',0x0a,0x00 + +ref_00023ef1: +db ' MemCloseStateEn= %x',0x0a,0x00 + +ref_00023f07: +db ' InternalObffEn= %x',0x0a,0x00 + +ref_00023f1c: +db '------------------ PCH LPC SIRQ Config ------------------',0x0a,0x00 + +ref_00023f57: +db ' SirqEnable= %x',0x0a,0x00 + +ref_00023f68: +db ' SirqMode= %x',0x0a,0x00 + +ref_00023f77: +db ' StartFramePulse= %x',0x0a,0x00 + +ref_00023f8d: +db '------------------ PCH Thermal Config ------------------',0x0a,0x00 + +ref_00023fc7: +db ' ThermalAlertEnable TselLock %x',0x0a,0x00 + +ref_00023fe8: +db ' ThermalAlertEnable TscLock %x',0x0a,0x00 + +ref_00024008: +db ' ThermalAlertEnable TsmicLock= %x',0x0a,0x00 + +ref_0002402b: +db ' ThermalAlertEnable PhlcLock= %x',0x0a,0x00 + +ref_0002404d: +db ' ThermalThrottling TTLevels T0Level %x centigrade degree',0x0a,0x00 + +ref_00024087: +db ' ThermalThrottling TTLevels T1Level %x centigrade degree',0x0a,0x00 + +ref_000240c1: +db ' ThermalThrottling TTLevels T2Level %x centigrade degree',0x0a,0x00 + +ref_000240fb: +db ' ThermalThrottling TTLevels TTEnable %x',0x0a,0x00 + +ref_00024124: +db ' ThermalThrottling TTLevels TTState13Enable %x',0x0a,0x00 + +ref_00024154: +db ' ThermalThrottling TTLevels TTLock %x',0x0a,0x00 + +ref_0002417b: +db ' ThermalThrottling TTLevels SuggestedSetting %x',0x0a,0x00 + +ref_000241ac: +db ' ThermalThrottling TTLevels PchCrossThrottling %x',0x0a,0x00 + +ref_000241df: +db ' ThermalThrottling DmiHaAWC DmiTsawEn %x',0x0a,0x00 + +ref_00024209: +db ' ThermalThrottling DmiHaAWC TS0TW %x',0x0a,0x00 + +ref_0002422f: +db ' ThermalThrottling DmiHaAWC TS1TW %x',0x0a,0x00 + +ref_00024255: +db ' ThermalThrottling DmiHaAWC TS2TW %x',0x0a,0x00 + +ref_0002427b: +db ' ThermalThrottling DmiHaAWC TS3TW %x',0x0a,0x00 + +ref_000242a1: +db ' ThermalThrottling DmiHaAWC SuggestedSetting %x',0x0a,0x00 + +ref_000242d2: +db ' ThermalThrottling SataTT P0T1M %x',0x0a,0x00 + +ref_000242f6: +db ' ThermalThrottling SataTT P0T2M %x',0x0a,0x00 + +ref_0002431a: +db ' ThermalThrottling SataTT P0T3M %x',0x0a,0x00 + +ref_0002433e: +db ' ThermalThrottling SataTT P0TDisp %x',0x0a,0x00 + +ref_00024364: +db ' ThermalThrottling SataTT P0Tinact %x',0x0a,0x00 + +ref_0002438b: +db ' ThermalThrottling SataTT P0TDispFinit %x',0x0a,0x00 + +ref_000243b6: +db ' ThermalThrottling SataTT P1T1M %x',0x0a,0x00 + +ref_000243da: +db ' ThermalThrottling SataTT P1T2M %x',0x0a,0x00 + +ref_000243fe: +db ' ThermalThrottling SataTT P1T3M %x',0x0a,0x00 + +ref_00024422: +db ' ThermalThrottling SataTT P1TDisp %x',0x0a,0x00 + +ref_00024448: +db ' ThermalThrottling SataTT P1Tinact %x',0x0a,0x00 + +ref_0002446f: +db ' ThermalThrottling SataTT P1TDispFinit %x',0x0a,0x00 + +ref_0002449a: +db ' ThermalThrottling SataTT SuggestedSetting %x',0x0a,0x00 + +ref_000244c9: +db ' MemoryThrottling Enable= %x',0x0a,0x00 + +ref_000244e7: +db ' MemoryThrottling TsGpioPinSetting PmsyncEnable= %x',0x0a,0x00 + +ref_0002451c: +db ' MemoryThrottling TsGpioPinSetting C0TransmitEnable= %x',0x0a,0x00 + +ref_00024555: +db ' MemoryThrottling TsGpioPinSetting PinSelection= %x',0x0a,0x00 + +ref_0002458a: +db ' PchHotLevel = %x',0x0a,0x00 + +ref_0002459d: +db ' ThermalDeviceEnable (D31:F6) %x',0x0a,0x00 + +ref_000245bf: +db '------------------ PCH General Config ------------------',0x0a,0x00 + +ref_000245f9: +db ' SubSystemVendorId= %x',0x0a,0x00 + +ref_00024611: +db ' SubSystemId= %x',0x0a,0x00 + +ref_00024623: +db ' Crid= %x',0x0a,0x00 + +ref_0002462e: +db ' DciEn= %x',0x0a,0x00 + +ref_0002463a: +db '------------------ PCH LAN Config ------------------',0x0a,0x00 + +ref_00024670: +db '------------------ PCH Serial IO Config ------------------',0x0a,0x00 + +ref_000246ac: +db ' SerialIoGpio= %x',0x0a,0x00 + +ref_000246bf: +db ' SerialIoDma= %x',0x0a,0x00 + +ref_000246d1: +db ' SerialIoI2c0= %x',0x0a,0x00 + +ref_000246e4: +db ' SerialIoI2c1= %x',0x0a,0x00 + +ref_000246f7: +db ' SerialIoSpi0= %x',0x0a,0x00 + +ref_0002470a: +db ' SerialIoSpi1= %x',0x0a,0x00 + +ref_0002471d: +db ' SerialIoUart0= %x',0x0a,0x00 + +ref_00024731: +db ' SerialIoUart1= %x',0x0a,0x00 + +ref_00024745: +db ' SerialIoSdio= %x',0x0a,0x00 + +ref_00024758: +db ' I2c0VoltageSelect= %x',0x0a,0x00 + +ref_00024770: +db ' I2c1VoltageSelect= %x',0x0a,0x00 + +ref_00024788: +db ' GpioIrqRoute= %x',0x0a,0x00 + +ref_0002479b: +db ' DriverModeTouchPanel= %x',0x0a,0x00 + +ref_000247b6: +db ' DriverModeTouchPad= %x',0x0a,0x00 + +ref_000247cf: +db ' DriverModeSensorHub= %x',0x0a,0x00 + +ref_000247e9: +db ' Ddr50Support= %x',0x0a,0x00 + +ref_000247fc: +db '------------------ PCH Audio DSP Config ------------------',0x0a,0x00 + +ref_00024838: +db ' AudioDspAcpiMode= %x',0x0a,0x00 + +ref_0002484f: +db ' AudioDspD3PowerGating= %x',0x0a,0x00 + +ref_0002486b: +db ' AudioDspSramPowerGating= %x',0x0a,0x00 + +ref_00024889: +db ' AudioDspBluetoothSupport= %x',0x0a,0x00 + +ref_000248a8: +db ' AudioDspAcpiInterruptMode= %x',0x0a,0x00 + +ref_000248c8: +db ' AudioDspFeatureMask= %x',0x0a,0x00 + +ref_000248e2: +db '------------------ PCH Platform Data ------------------',0x0a,0x00 + +ref_0002491b: +db ' FviSmbiosType= %x',0x0a,0x00 + +ref_0002492f: +db ' EcPresent= %x',0x0a,0x00 + +ref_0002493f: +db ' TempPciBusMin= %x',0x0a,0x00 + +ref_00024953: +db ' TempPciBusMax= %x',0x0a,0x00 + +ref_00024967: +db ' TempMemBaseAddr= %x',0x0a,0x00 + +ref_0002497d: +db ' TempMemSize= %x',0x0a,0x00 + +ref_0002498f: +db '------------------ PCH Interrupt Config ------------------',0x0a,0x00 + +ref_000249cb: +db ' DXXIP[%d] Offset = %x',0x0a,0x00 + +ref_000249e3: +db ' DXXIP[%d] Settings = %x',0x0a,0x00 + +ref_000249fd: +db ' DXXIR[%d] Offset = %x',0x0a,0x00 + +ref_00024a15: +db ' DXXIR[%d] Settings = %x',0x0a,0x00 + +ref_00024a2f: +db '------------------------ PCH Dump Platform Policy Start ------------------------',0x0a,0x00 + +ref_00024a81: +db ' Revision= %x',0x0a,0x00 + +ref_00024a90: +db ' Rcba= %x',0x0a,0x00 + +ref_00024a9b: +db ' PmBase= %x',0x0a,0x00 + +ref_00024aa8: +db ' GpioBase= %x',0x0a,0x00 + +ref_00024ab7: +db ' Port80Route= %x',0x0a,0x00 + +ref_00024ac9: +db '------------------------ PCH Dump Platform Policy End --------------------------',0x0a,0x00 + +ref_00024b1b: +db 'PchPlatformPolicy->Rcba != ' + +ref_00024b36: +db 0x30 +db 0x00 + +ref_00024b38: +db '../../intel/Pch/PchInit/Pei/PchDebugDump.c',0x00 + +ref_00024b63: +db 'PchPlatformPolicy->PmBase != 0',0x00 + +ref_00024b82: +db 'PchPlatformPolicy->GpioBase != 0',0x00 + +ref_00024ba3: +db 'PchPlatformPolicy->PlatformData.TempMemBaseAddr != 0',0x00 + +ref_00024bd8: +db 'PchPlatformPolicy->PlatformData.TempMemSize >= 0x10000',0x00 + +ref_00024c0f: +db 'PchPlatformPolicy->PlatformData.TempIoBaseAddr != 0',0x00 + +ref_00024c43: +db 'PchPlatformPolicy->PlatformData.TempIoSize >= 0x10',0x00 + +ref_00024c76: +db '../../intel/Pch/PchInit/Pei/PchDmiPeim.c',0x00 + +ref_00024c9f: +db 'TC:%0x VC:%0x!',0x0a,0x00 + +ref_00024caf: +db 'VC:%0x VCID:%0x Enable:%0x!',0x0a,0x00 + +ref_00024ccc: +db 'PchDmiGen2Prog() Start',0x0a,0x00 + +ref_00024ce4: +db 'PchDmiGen2Prog() End',0x0a,0x00 + +ref_00024cfa: +db 'Usb30TxOutVoltDnAmpAdj is out of valid range ',0x0a,0x00 + +ref_00024d29: +db 'Usb30TxOutImpScVoltAmpAdj is out of valid range ',0x0a,0x00 + +ref_00024d5b: +db 'Usb30TxOutDeEmpAdj is out of valid range ',0x0a,0x00 + +ref_00024d86: +db 'Usb30TxOutImpAdjVoltAmp is out of valid range ',0x0a,0x00 + +ref_00024db6: +db 'PchStartUsbInit() - Start',0x0a,0x00 + +ref_00024dd1: +db 'Revision : 0x%x',0x0a,0x00 + +ref_00024de2: +db 'EhciMemBaseAddr : 0x%x',0x0a,0x00 + +ref_00024dfa: +db 'XhciMemBaseAddr : 0x%x',0x0a,0x00 + +ref_00024e12: +db '../../intel/Pch/PchInit/Pei/PchUsbInit.c',0x00 + +ref_00024e3b: +db 'PchStartUsbInit() - End',0x0a,0x00 + +ref_00024e54: +db 'PchUsbInit() - Start',0x0a,0x00 + +ref_00024e6a: +db 'PchUsbInit() - End',0x0a,0x00 + +ref_00024e7e: +db 'Invalid Vendor ID! ',0x0a,0x00 + +ref_00024e93: +db 'PchInitRootPorts() Start',0x0a,0x00 + +ref_00024ead: +db 'Func0PortNum <= MaxPciePortNum',0x00 + +ref_00024ecc: +db '../../intel/Pch/PchInit/Pei/PchRootPortsPei.c',0x00 + +ref_00024efa: +db ' Root Port %x device enabled. RpEnableMask: 0x%x',0x0a,0x00 + +ref_00024f2c: +db 'PchInitRootPorts() End',0x0a,0x00 + +ref_00024f44: +db 'ICB bit is not zero before SendCodecCommand! ',0x0a,0x00 + +ref_00024f73: +db 'SendCodecCommand: ReadBack fail! ',0x0a,0x00 + +ref_00024f96: +db 'VendorDeviceId != 0',0x00 + +ref_00024faa: +db '../../intel/Pch/PchInit/Pei/PchHdaPei.c',0x00 + +ref_00024fd2: +db 'Set the ownership of I/O buffers to HD-Audio or Audio DSP subsystem',0x0a,0x00 + +ref_00025017: +db 'PchAzaliaInit() Start',0x0a,0x00 + +ref_0002502e: +db 'Reset High Definition Audio (Azalia) Codec Time Out - 1! ',0x0a,0x00 + +ref_00025069: +db 'Reset High Definition Audio (Azalia) Codec Time Out - 2! ',0x0a,0x00 + +ref_000250a4: +db 'No Azalia device is detected.',0x0a,0x00 + +ref_000250c3: +db 'SDI%d has no Azalia device.',0x0a,0x00 + +ref_000250e0: +db 'Error: Reading the Codec Vendor ID/Device ID fail!',0x0a,0x00 + +ref_00025114: +db 'Error: Reading the Codec Revision ID fail!',0x0a,0x00 + +ref_00025140: +db 'SDI:%d Detected Azalia Codec 0x%08X rev 0x%02X',0x0a,0x00 + +ref_00025170: +db 'Error: No matching Azalia codec verb table found for codec (0x%08X).',0x0a,0x00 + +ref_000251b6: +db 'Found verb table for vendor 0x%04X devId 0x%04X rev 0x%02X (SDI:%X, size: %d dwords)',0x0a,0x00 + +ref_0002520c: +db '(CodecCmdData >> 28) == 0',0x00 + +ref_00025226: +db 'Error loading verb table for Azalia Codec of 0x%08X',0x00 + +ref_0002525a: +db 'PchAzaliaInit() End',0x0a,0x00 + +ref_0002526f: +db '../../intel/Pch/PchInit/Common/PchUsbCommon.c',0x00 + +ref_0002529d: +db 'PchUsbCommon XHCI Capability Pointer = 0x%x',0x0a,0x00 + +ref_000252ca: +db 'PchUsbCommon DebugPortSsIndex = %d',0x0a,0x00 + +ref_000252ee: +db 'OCPin < 4',0x00 + +ref_000252f8: +db 'UsbConfig->PortUsb20[Index].Usb20EyeDiagramTuningParam2 < 8',0x00 + +ref_00025334: +db 'UsbConfig->PortUsb20[Index].Usb20EyeDiagramTuningParam1 < 8',0x00 + +ref_00025370: +db 'CommonUsbInit() - Start',0x0a,0x00 + +ref_00025389: +db 'CommonUsbInit() - End',0x0a,0x00 + +ref_000253a0: +db 'hljztL',0x00 + +ref_000253a7: +db '(null)',0x00 + +ref_000253ae: +db '{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}',0x0a,0x00 + +ref_000253e2: +db '%s: overwrite GUID ',0x00 + +ref_000253f6: +db '%s: no room for a new PPI',0x0a,0x00 + +ref_00025411: +db '%s: NOT_FOUND in %d entries ',0x00 + +ref_0002542e: +db '%s: no room for a new notifier',0x0a,0x00 + +ref_0002544e: +db '%s installed %d',0x0a,0x00 + +ref_0002545f: +db 'Invalid PEI data version, %d != %d',0x0a,0x00 + +ref_00025483: +db 'MRC: S3 Resume',0x0a,0x00 + +ref_00025493: +db 'Initializing Policy',0x0a,0x00 + +ref_000254a8: +db 'Installing common PPI',0x0a,0x00 + +ref_000254bf: +db 'stall.c',0x00 + +ref_000254c7: +db 'Generating Random number...',0x0a,0x00 + +ref_000254e4: +db 'Exiting Random number: %08Xh',0x0a,0x00 + +ref_00025502: +db 'Post Code: %04Xh',0x0a,0x00 + +ref_00025514: +db 'Returned From MrcStartMemoryConfiguration(). MrcStatus = %08Xh',0x0a,0x00 + +ref_00025554: +db '(Bus <= 0xFF) && (Device <= 0x1F) && (Function <= 0x7)',0x00 + +ref_0002558b: +db '../policy/MrcOemPlatform.c',0x00 + +ref_000255a6: +db 'Pch PEI Platform Policy Initialization Done ',0x0a,0x00 + +ref_000255d4: +db '../../intel/SampleCode/PolicyInit/Pei/PolicyInitPei.c',0x00 + +ref_0002560a: +db 'CPU PEI Platform Policy Initialization Done ',0x0a,0x00 + +ref_00025638: +db 'Me PEI Platform Policy Initialization Done ',0x0a,0x00 + +ref_00025665: +db 'SystemAgent PEI Platform Policy Initialization Done ',0x0a,0x00 + +ref_0002569b: +db '((UINTN)Buffer & (sizeof (Guid->Data1) - 1)) == 0',0x00 + +ref_000256cd: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/MemLibGuid.c',0x00 + +ref_0002570f: +db 'Length <= (0xFFFFFFFF - (UINTN)Buffer + 1)',0x00 + +ref_0002573a: +db '(Length & (sizeof (*GuidPtr) - 1)) == 0',0x00 + +ref_00025762: +db '!(Buffer == ((void *) 0) && Length > 0)',0x00 + +ref_0002578a: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/ZeroMemWrapper.c',0x00 + +ref_000257d0: +db 'DestinationBuffer != ((void *) 0)',0x00 + +ref_000257f2: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/CompareMemWrapper.c',0x00 + +ref_0002583b: +db 'SourceBuffer != ((void *) 0)',0x00 + +ref_00025858: +db '(Length - 1) <= (0xFFFFFFFF - (UINTN)DestinationBuffer)',0x00 + +ref_00025890: +db '(Length - 1) <= (0xFFFFFFFF - (UINTN)SourceBuffer)',0x00 + +ref_000258c3: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/CopyMemWrapper.c',0x00 + +ref_00025909: +db 'Count < 64',0x00 + +ref_00025914: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/RShiftU64.c',0x00 + +ref_00025949: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/Unaligned.c',0x00 + +ref_0002597e: +db 'Divisor != 0',0x00 + +ref_0002598b: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/ModU64x32.c',0x00 + +ref_000259c0: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/DivU64x32.c',0x00 + +ref_000259f5: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/DivU64x32Remainder.c',0x00 + +ref_00025a33: +db 'EndBit < sizeof (Value) * 8',0x00 + +ref_00025a4f: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/X86Msr.c',0x00 + +ref_00025a81: +db 'StartBit <= EndBit',0x00 + +ref_00025a94: +db 'EndBit < sizeof (OrData) * 8',0x00 + +ref_00025ab1: +db 'EndBit < sizeof (AndData) * 8',0x00 + +ref_00025acf: +db '../../UDK2010.SR1/MdePkg/Library/BaseIoLibIntrinsic/IoLib.c',0x00 + +ref_00025b0b: +db '(Address & 1) == 0',0x00 + +ref_00025b1e: +db '(Address & 3) == 0',0x00 + +ref_00025b31: +db '(Address & 7) == 0',0x00 + +ref_00025b44: +db '(Port & 1) == 0',0x00 + +ref_00025b54: +db '../../UDK2010.SR1/MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c',0x00 + +ref_00025b93: +db '(Port & 3) == 0',0x00 + +ref_00025ba3: +db '../../UDK2010.SR1/MdePkg/Library/PeiHobLib/HobLib.c',0x00 + +ref_00025bd7: +db 'HobList != ((void *) 0)',0x00 + +ref_00025bef: +db 'HobStart != ((void *) 0)',0x00 + +ref_00025c08: +db 'Hob != ((void *) 0)',0x00 + +ref_00025c1c: +db '((MemoryAllocationModule & (0x00001000 - 1)) == 0) && ((ModuleLength & (0x00001000 - 1)) == 0)',0x00 + +ref_00025c7b: +db 'Guid != ((void *) 0)',0x00 + +ref_00025c90: +db 'DataLength <= (0xFFF8 - sizeof (EFI_HOB_GUID_TYPE))',0x00 + +ref_00025cc4: +db 'Data != ((void *) 0) || DataLength == 0',0x00 + +ref_00025cec: +db '((BaseAddress & (0x00001000 - 1)) == 0) && ((Length & (0x00001000 - 1)) == 0)',0x00 + +ref_00025d3a: +db 'FvInfoPpi != ((void *) 0)',0x00 + +ref_00025d54: +db '../../UDK2010.SR1/MdePkg/Library/PeiServicesLib/PeiServicesLib.c',0x00 + +ref_00025d95: +db 'ParentFvNameValue != ((void *) 0)',0x00 + +ref_00025db7: +db 'ParentFileNameValue != ((void *) 0)',0x00 + +ref_00025ddb: +db 'FvInfoPpiDescriptor != ((void *) 0)',0x00 + +ref_00025dff: +db 'PeiServicesTablePointer != ((void *) 0)',0x00 + +ref_00025e27: +db '../../UDK2010.SR1/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c',0x00 + +ref_00025e7d: +db 'gPeiServices != ((void *) 0)',0x00 + +ref_00025e9a: +db 'Pages != 0',0x00 + +ref_00025ea5: +db '../../UDK2010.SR1/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c',0x00 + +ref_00025ef3: +db '(Alignment & (Alignment - 1)) == 0',0x00 + +ref_00025f16: +db 'Pages <= (0xFFFFFFFF - (((Alignment) >> 12) + (((Alignment) & 0xFFF) ? 1 : 0)))',0x00 + +ref_00025f66: +db 'AllocationSize <= (0xFFFFFFFF - (UINTN) Buffer + 1)',0x00 + +ref_00025f9a: +db '!((BOOLEAN) (((SmBusAddress) & 0x00400000) != 0))',0x00 + +ref_00025fcc: +db '../../UDK2010.SR1/MdePkg/Library/PeiSmbusLibSmbus2Ppi/SmbusLib.c',0x00 + +ref_0002600d: +db '(((SmBusAddress) >> 8) & 0xff) == 0',0x00 + +ref_00026031: +db '(((SmBusAddress) >> 16) & 0x3f) == 0',0x00 + +ref_00026056: +db '((SmBusAddress) & ~(0x00800000 - 2)) == 0',0x00 + +ref_00026080: +db '(((SmBusAddress) >> 16) & 0x3f) >= 1',0x00 + +ref_000260a5: +db '(((SmBusAddress) >> 16) & 0x3f) <= 32',0x00 + +ref_000260cb: +db 'WriteBuffer != ((void *) 0)',0x00 + +ref_000260e7: +db 'Read' + +ref_000260eb: +db 'Buffer != ((void *) 0)',0x00 + +ref_00026102: +db '../../UDK2010.SR1/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.c',0x00 + +ref_00026146: +db 'SmbusPpi != ((void *) 0)',0x00 + +ref_0002615f: +db 'CpuIO PPI has been loaded into memory. Reinstalled PPI=0x%x',0x0a,0x00 + +ref_0002619d: +db '../../UDK2010.SR1/UefiCpuPkg/CpuIoPei/CpuIoPei.c',0x00 + +ref_000261ce: +db 'PEI SmbusExecute() Start, SmbusDeviceAddress=%x, Command=%x, Operation=%x',0x0a,0x00 + +ref_00026219: +db 'CR has Bad Signature',0x00 + +ref_0002622e: +db '../../intel/Pch/Smbus/Pei/PchSmbusEntry.c',0x00 + +ref_00026258: +db 'PEI SmbusExecute() End',0x0a,0x00 + +ref_00026270: +db 'InitializePchSmbusPeim() Start',0x0a,0x00 + +ref_00026290: +db 'Failed to allocate memory for Private! ',0x0a,0x00 + +ref_000262b9: +db 'InitializePchSmbusPeim() End',0x0a,0x00 + +ref_000262d7: +db 'SmbusIoBase != 0x0000FFE0 && SmbusIoBase != 0',0x00 + +ref_00026305: +db '../../intel/Pch/Smbus/Common/PchSmbusExec.c',0x00 + +ref_00026331: +db 'InstallPchReset() Start',0x0a,0x00 + +ref_0002634a: +db '../../intel/Pch/Reset/Pei/PchReset.c',0x00 + +ref_0002636f: +db 'InstallPchReset() End',0x0a,0x00 + +ref_00026386: +db 'Please do the global reset through HECI ',0x0a,0x00 + +ref_000263b0: +db 'None of Pch Reset Callback Ppi is found .',0x0a,0x00 + +ref_000263db: +db 'Failed to locate Pch Reset Callback Ppi.',0x0a,0x00 + +ref_00026405: +db 'LptHC0',0x00 + +ref_0002640c: +db 'LptLpB0',0x00 + +ref_00026414: +db 'WptLpB0',0x00 + +ref_0002641c: +db 'PCH code doesn',0x27,'t support the LpcDeviceId: 0x%04x!',0x0a,0x00 + +ref_0002644f: +db 'Unsupported PCH SKU, LpcDeviceId: 0x%04x!',0x0a,0x00 + +ref_0002647a: +db '../../intel/Pch/Library/PchPlatformLib/PchPlatformLibrary.c',0x00 + +ref_000264b6: +db 'GbePortSel=%d',0x0a,0x00 + +ref_000264c5: +db 'ConfigureDisplay() Start',0x0a,0x00 + +ref_000264df: +db 'ConfigureDisplay() End',0x0a,0x00 + +ref_000264f7: +db 'CPU stepping = %x and CpuFamily = %x is not supported !',0x0a,0x00 + +ref_00026531: +db 'Unsupported CPU SKU, CpuFamilyId: 0x%08X!',0x0a,0x00 + +ref_0002655c: +db '../../intel/Cpu/Library/CpuPlatformLib/CpuPlatformLibrary.c',0x00 + +ref_00026598: +db 'NumberOfEnabledCoresPerDie != ((void *) 0)',0x00 + +ref_000265c3: +db 'NumberOfEnabledThreadsPerCore != ((void *) 0)',0x00 + +ref_000265f1: +db 'NumberOfDiesPerPackage != ((void *) 0)',0x00 + +ref_00026618: +db 'NumberOfPackages != ((void *) 0)',0x00 + +ref_00026639: +db '(MAILBOX) Mailbox interface timed out.',0x0a,0x00 + +ref_00026661: +db '(MAILBOX) Mailbox Write Command = %2Xh',0x0a,0x00 + +ref_00026689: +db '(MAILBOX) Mailbox read data is corrupted.',0x0a,0x00 + +ref_000266b4: +db '(MAILBOX) Unrecognized Mailbox Type.',0x0a,0x00 + +ref_000266da: +db '(MAILBOX) Mailbox Status = %2Xh',0x0a,0x00 + +ref_000266fb: +db '(MAILBOX) Mailbox Read Command = %2Xh',0x0a,0x00 + +ref_00026722: +db 'Read PCH Power Limit from PCODE Mail Box : %x ',0x0a,0x00 + +ref_00026752: +db '(OC MAILBOX) Unknown Command ID',0x0a,0x00 + +ref_00026773: +db '%s:%d pool cookie corrupted...',0x0a,0x00 + +ref_00026793: +db '%s:%d failed to allocate %d bytes...',0x0a,0x00 + +ref_000267b9: +db 'No memory to create HOB of %d bytes!',0x0a,0x00 + +ref_000267df: +db 'Created hob: %x %u at %p',0x0a,0x00 + +ref_000267f9: +db 'SaPlatformPolicyPpi != ((void *) 0)',0x00 + +ref_0002681d: +db '../policy/SaPolicyInitPei.c',0x00 + +ref_00026839: +db 'SaPlatformPolicyPpiDesc != ((void *) 0)',0x00 + +ref_00026861: +db 'PlatformData != ((void *) 0)',0x00 + +ref_0002687e: +db 'GtConfig != ((void *) 0)',0x00 + +ref_00026897: +db 'MemConfig != ((void *) 0)',0x00 + +ref_000268b1: +db 'MemConfigNoCrc != ((void *) 0)',0x00 + +ref_000268d0: +db 'PcieConfig != ((void *) 0)',0x00 + +ref_000268eb: +db 'PegGpioData != ((void *) 0)',0x00 + +ref_00026907: +db 'OcConfig != ((void *) 0)',0x00 + +ref_00026920: +db '../policy/PchPolicyInitPei.c',0x00 + +ref_0002693d: +db '../policy/PchPolicyInitUsb.c',0x00 + +ref_0002695a: +db 'CpuPlatformPolicyPpi != ((void *) 0)',0x00 + +ref_0002697f: +db '../policy/CpuPolicyInitPei.c',0x00 + +ref_0002699c: +db 'CpuPlatformPolicyPpiDesc != ((void *) 0)',0x00 + +ref_000269c5: +db 'CpuConfig != ((void *) 0)',0x00 + +ref_000269df: +db 'SecurityConfig != ((void *) 0)',0x00 + +ref_000269fe: +db 'PowerMgmtConfig != ((void *) 0)',0x00 + +ref_00026a1e: +db 'MePlatformPolicyPpi != ((void *) 0)',0x00 + +ref_00026a42: +db '../policy/MePolicyInitPei.c',0x00 + +ref_00026a5e: +db 'MePlatformPolicyPpiDesc != ((void *) 0)',0x00 + +ref_00026a86: +db 'ME PEI Platform Policy PPI Installed',0x0a,0x00 + +ref_00026aac: +db '(Length - 1) <= (0xFFFFFFFF - (UINTN)Buffer)',0x00 + +ref_00026ad9: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/SetMemWrapper.c',0x00 + +ref_00026b1e: +db '../../UDK2010.SR1/MdePkg/Library/BaseMemoryLibOptPei/SetMem32Wrapper.c',0x00 + +ref_00026b65: +db '(((UINTN)Buffer) & (sizeof (Value) - 1)) == 0',0x00 + +ref_00026b93: +db '(Length & (sizeof (Value) - 1)) == 0',0x00 + +ref_00026bb8: +db '(OrData >> (EndBit - StartBit)) == ((OrData >> (EndBit - StartBit)) & 1)',0x00 + +ref_00026c01: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/BitField.c',0x00 + +ref_00026c35: +db '(AndData >> (EndBit - StartBit)) == ((AndData >> (EndBit - StartBit)) & 1)',0x00 + +ref_00026c80: +db 'EndBit < 8',0x00 + +ref_00026c8b: +db 'EndBit < 16',0x00 + +ref_00026c97: +db 'EndBit < 32',0x00 + +ref_00026ca3: +db 'EndBit < 64',0x00 + +ref_00026caf: +db 'RShiftU64 (OrData, EndBit - StartBit) == (RShiftU64 (OrData, EndBit - StartBit) & 1)',0x00 + +ref_00026d04: +db 'RShiftU64 (AndData, EndBit - StartBit) == (RShiftU64 (AndData, EndBit - StartBit) & 1)',0x00 + +ref_00026d5b: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/LShiftU64.c',0x00 + +ref_00026d90: +db '../../UDK2010.SR1/MdePkg/Library/BaseLib/DivU64x64Remainder.c',0x00 + +ref_00026dce: +db 'PchResetInstance->PchRootComplexBar != 0',0x00 + +ref_00026df7: +db 0x2e +dd 0x2e2e2f2e +dd 0x746e692f +dd 0x502f6c65 +dd 0x522f6863 +dd 0x74657365 +dd 0x6d6f432f +dd 0x2f6e6f6d +dd 0x52686350 +dd 0x74657365 +dd 0x6d6d6f43 +dd 0x632e6e6f +dd 0x90906600 + +ref_00026e28: +dd 0x80000020 +dd ref_00028fdc +dd fcn_00000197 + +ref_00026e34: +dd 0x80000020 +dd ref_00028fec +dd fcn_000000ce + +ref_00026e40: +dd 0x80000010 +dd ref_0002926c +dd 0x00000000 + +ref_00026e4c: +dd 0x00014001 +dd 0x00022101 +dd 0x00034003 +dd 0x00045004 +dd 0x00056105 +dd 0x00068006 +dd 0x00078107 +dd 0x0008a108 +dd 0x0009c009 +dd 0x000ac10a +dd 0x000be10b +dd 0x010c800c +dd 0x010d810d +dd 0x010e910e +dd 0x010fa00f +dd 0x0110a110 +dd 0x0111b111 +dd 0x0112c012 +dd 0x0113c113 +dd 0x0114d114 +dd 0x0115e015 +dd 0x0116e116 +dd 0x0117f117 +dd 0x0118f618 + +ref_00026eac: +dd 0x00000020 +dd ref_0002912c +dd fcn_0000d811 +dd 0x80000040 +dd ref_00028fec +dd fcn_0000bdd3 + +ref_00026ec4: +dd 0x80000010 +dd ref_0002909c +dd 0x00000000 + +ref_00026ed0: +dd 0x80000010 +dd ref_000290fc +dd ref_00026edc + +ref_00026edc: +dd fcn_00011833 +dd fcn_00010b32 +dd fcn_00010cce +dd fcn_0000bcca + +ref_00026eec: +dd 0x02353140 +dd 0x20373144 +dd 0x32103146 +dd 0x32163148 +dd 0x3250314c +dd 0x76543150 +dd 0x00063158 +dd 0x55443164 +dd 0x00073168 + +ref_00026f10: +dd 0x02353140 +dd 0x20373144 +dd 0x32103146 +dd 0x32163148 +dd 0x3250314c +dd 0x76543150 + +ref_00026f28: +dd 0x00003100 +dd 0x03203200 +dd 0x00003108 +dd 0x00000001 +dd 0x0000310c +dd 0x43214321 +dd 0x00003110 +dd 0x00000001 +dd 0x00003118 +dd 0x00000001 + +ref_00026f50: +dd 0x00003100 +dd 0x03203200 +dd 0x00003108 +dd 0x00000001 +dd 0x0000310c +dd 0x43214321 +dd 0x00003110 +dd 0x00000001 +dd 0x00003114 +dd 0x00000001 +dd 0x00003118 +dd 0x00000001 + +ref_00026f80: +dd 0x00000000 +dd 0x00000001 +dd 0x00000002 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000003 +dd 0x01010001 +dd 0x07010201 +dd 0xe9002440 +dd 0xe9002640 +dd 0xe9000840 +dd 0xe9000a40 +dd 0xe9000c40 +dd 0xe9000e40 +dd 0xe9001040 +dd 0xe9001240 +dd 0xea002040 +dd 0xea002240 +dd 0xea002440 +dd 0xea002640 +dd 0xe9002e40 +dd 0xe9002c40 +dd 0xe9002a40 +dd 0xe9002840 +dd 0xe9002640 +dd 0xe9002440 +dd 0xe9002240 +dd 0xe9002040 +dd 0xea002040 +dd 0xea002240 + +ref_00027000: +dd 0xe9002168 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002160 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002160 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900215c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90021cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002170 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9002368 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002360 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002360 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900235c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90023cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002370 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9002568 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002560 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002560 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900255c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90025cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002570 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9002768 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002760 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002760 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900275c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90027cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002770 +dd 0xffffff9f +dd 0x00000000 + +ref_00027120: +dd 0xe9001768 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9001760 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9001760 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900175c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90017cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9001770 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9001568 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9001560 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9001560 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900155c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90015cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9001570 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9002f68 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002f60 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002f60 +dd 0xfffffffe +dd 0x00000001 +dd 0xe9002f5c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe9002fcc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002f70 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9002d68 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002d60 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9002d60 +dd 0xfffffffe +dd 0x00000001 +dd 0xe9002d5c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe9002dcc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9002d70 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9003368 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9003360 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9003360 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900335c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90033cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9003370 +dd 0xffffff9f +dd 0x00000000 +dd 0xe9003168 +dd 0xfeffffff +dd 0x01000000 +dd 0xe9003160 +dd 0xfffffffd +dd 0x00000002 +dd 0xe9003160 +dd 0xfffffffe +dd 0x00000001 +dd 0xe900315c +dd 0xc0ffffff +dd 0x05000000 +dd 0xe90031cc +dd 0xfeffffff +dd 0x01000000 +dd 0xe9003170 +dd 0xffffff9f +dd 0x00000000 + +ref_000272d0: +dd 0x00000530 +dd 0x00000540 +dd 0x00000550 +dd 0x00000560 + +ref_000272e0: +dd 0x00000480 +dd 0x00000490 +dd 0x000004a0 +dd 0x000004b0 +dd 0x000004c0 +dd 0x000004d0 +dd 0x000004e0 +dd 0x000004f0 +dd 0x00000500 +dd 0x00000510 +dd 0x00000520 + +ref_0002730c: +dd 0x00000510 +dd 0x00000520 +dd 0x00000530 +dd 0x00000540 + +ref_0002731c: +dd 0x00000570 +dd 0x00000580 +dd 0x00000590 +dd 0x000005a0 +dd 0x000005b0 +dd 0x000005c0 + +ref_00027334: +dd 0x00000480 +dd 0x00000490 +dd 0x000004a0 +dd 0x000004b0 +dd 0x000004c0 +dd 0x000004d0 +dd 0x000004e0 +dd 0x000004f0 +dd 0x00000500 + +ref_00027358: +dd 0x00000480 +dd 0x00000490 +dd 0x000004a0 +dd 0x000004b0 +dd 0x000004c0 +dd 0x000004d0 +dd 0x000004e0 +dd 0x000004f0 +dd 0x00000500 +dd 0x00000510 +dd 0x00000520 +dd 0x00000530 +dd 0x00000540 +dd 0x00000550 +dd 0x00000560 + +ref_00027394: +dd 0x00000000 +dd 0xea002554 +dd 0xffffc0ff +dd 0x00000000 +dd 0xea002558 +dd 0xffffffc0 +dd 0x00000001 +dd 0xea002754 +dd 0xffffc0ff +dd 0x00000001 +dd 0xea002758 +dd 0xffffffc0 +dd 0x00000002 +dd 0xea000954 +dd 0xffffc0ff +dd 0x00000002 +dd 0xea000958 +dd 0xffffffc0 +dd 0x00000003 +dd 0xea000b54 +dd 0xffffc0ff +dd 0x00000003 +dd 0xea000b58 +dd 0xffffffc0 +dd 0x00010000 +dd 0xea002554 +dd 0xc0ffffc0 +dd 0x00010001 +dd 0xea002754 +dd 0xc0ffffc0 +dd 0x00010002 +dd 0xea000954 +dd 0xc0ffffc0 +dd 0x00010003 +dd 0xea000b54 +dd 0xc0ffffc0 +dd 0x00020000 +dd 0xea002550 +dd 0xc0ffffff +dd 0x00020000 +dd 0xea002554 +dd 0xffc0ffff +dd 0x00020001 +dd 0xea002750 +dd 0xc0ffffff +dd 0x00020001 +dd 0xea002754 +dd 0xffc0ffff +dd 0x00020002 +dd 0xea000950 +dd 0xc0ffffff +dd 0x00020002 +dd 0xea000954 +dd 0xffc0ffff +dd 0x00020003 +dd 0xea000b50 +dd 0xc0ffffff +dd 0x00020003 +dd 0xea000b54 +dd 0xffc0ffff + +ref_00027484: +dd 0x00000004 +dd 0xea002154 +dd 0xffffc0ff +dd 0x00000004 +dd 0xea002158 +dd 0xffffffc0 +dd 0x00000005 +dd 0xea002354 +dd 0xffffc0ff +dd 0x00000005 +dd 0xea002358 +dd 0xffffffc0 +dd 0x00010004 +dd 0xea002154 +dd 0xc0ffffc0 +dd 0x00010005 +dd 0xea002354 +dd 0xc0ffffc0 +dd 0x00020004 +dd 0xea002150 +dd 0xc0ffffff +dd 0x00020004 +dd 0xea002154 +dd 0xffc0ffff +dd 0x00020005 +dd 0xea002350 +dd 0xc0ffffff +dd 0x00020005 +dd 0xea002354 +dd 0xffc0ffff + +ref_000274fc: +dd 0xea002490 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea002690 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea000890 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea000a90 +dd 0xffff0000 +dd 0x00003e67 + +ref_0002752c: +dd 0xea002090 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea002290 +dd 0xffff0000 +dd 0x00003e67 + +ref_00027544: +dd 0xea002490 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002690 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea000890 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea000a90 +dd 0xffff0000 +dd 0x00004c5a + +ref_00027574: +dd 0xea002090 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002290 +dd 0xffff0000 +dd 0x00004c5a + +ref_0002758c: +dd 0xe9002e08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002c08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002a08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002808 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002608 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002408 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002208 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9002008 +dd 0x0ffffeff +dd 0xe0000100 + +ref_000275ec: +dd 0xe90031cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90033cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90015cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90017cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9003168 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9003368 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9001568 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9001768 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe900316c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900336c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900156c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900176c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900314c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900334c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900154c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900174c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9003114 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9003314 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9001514 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9001714 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9003164 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9003364 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9001564 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9001764 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9003170 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9003370 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9001570 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9001770 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9003038 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9003238 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9001438 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9001638 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9003140 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9003340 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9001540 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9001740 +dd 0xff7fffff +dd 0x00000000 + +ref_0002779c: +dd 0xe9002c2c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe9002e2c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe9002dcc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002fcc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002d68 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002f68 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002d6c +dd 0xffffff00 +dd 0x0000003f +dd 0xe9002f6c +dd 0xffffff00 +dd 0x0000003f +dd 0xe9002d4c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002f4c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002d14 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002f14 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002d64 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002f64 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002d70 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002f70 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002c38 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9002e38 +dd 0xc0fffff0 +dd 0x0700000b +dd 0xe9002d40 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9002f40 +dd 0xff7fffff +dd 0x00000000 + +ref_0002788c: +dd 0xea008008 +dd 0x00ffffff +dd 0x1c000000 +dd 0xea002408 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002608 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea000808 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea000a08 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002438 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea002638 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea000838 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea000a38 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea002440 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002640 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea000840 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea000a40 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002410 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea002610 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea000810 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea000a10 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea00242c +dd 0xfffdf7ff +dd 0x00020000 +dd 0xea00262c +dd 0xfffdf7ff +dd 0x00020000 +dd 0xea00082c +dd 0xfffdf7ff +dd 0x00020000 +dd 0xea000a2c +dd 0xfffdf7ff +dd 0x00020000 +dd 0xea002418 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002618 +dd 0x0000fcff +dd 0x38250100 +dd 0xea000818 +dd 0x0000fcff +dd 0x38250100 +dd 0xea000a18 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002400 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002600 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea000800 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea000a00 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002428 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002628 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea000828 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea000a28 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea00241c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00261c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00081c +dd 0xffff83ff +dd 0x00002400 +dd 0xea000a1c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00248c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00268c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00088c +dd 0xff00ffff +dd 0x00800000 +dd 0xea000a8c +dd 0xff00ffff +dd 0x00800000 +dd 0xea0024a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0026a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0008a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea000aa4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0024ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0026ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0008ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea000aac +dd 0xffffffcf +dd 0x00000020 +dd 0xea002540 +dd 0xff000000 +dd 0x00140718 +dd 0xea002740 +dd 0xff000000 +dd 0x00140718 +dd 0xea000940 +dd 0xff000000 +dd 0x00140718 +dd 0xea000b40 +dd 0xff000000 +dd 0x00140718 +dd 0xea002544 +dd 0xff000000 +dd 0x00140998 +dd 0xea002744 +dd 0xff000000 +dd 0x00140998 +dd 0xea000944 +dd 0xff000000 +dd 0x00140998 +dd 0xea000b44 +dd 0xff000000 +dd 0x00140998 +dd 0xea002548 +dd 0xff000000 +dd 0x00140998 +dd 0xea002748 +dd 0xff000000 +dd 0x00140998 +dd 0xea000948 +dd 0xff000000 +dd 0x00140998 +dd 0xea000b48 +dd 0xff000000 +dd 0x00140998 +dd 0xea00257c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00277c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00097c +dd 0xfcffffff +dd 0x03000000 +dd 0xea000b7c +dd 0xfcffffff +dd 0x03000000 +dd 0xea002578 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002778 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea000978 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea000b78 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea00250c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00270c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00090c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea000b0c +dd 0xffc7fff0 +dd 0x00000005 + +ref_00027bf8: +dd 0xea002008 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002208 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002038 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea002238 +dd 0xc0fffff0 +dd 0x0700000d +dd 0xea00202c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea00222c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea002040 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002240 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002010 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea002210 +dd 0x0000ffff +dd 0x0d510000 +dd 0xea002018 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002218 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002000 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002200 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002028 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002228 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea00201c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00221c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00208c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00228c +dd 0xff00ffff +dd 0x00800000 +dd 0xea0020a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0022a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0020ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0022ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea002140 +dd 0xff000000 +dd 0x00140718 +dd 0xea002340 +dd 0xff000000 +dd 0x00140718 +dd 0xea002144 +dd 0xff000000 +dd 0x00140998 +dd 0xea002344 +dd 0xff000000 +dd 0x00140998 +dd 0xea002148 +dd 0xff000000 +dd 0x00140998 +dd 0xea002348 +dd 0xff000000 +dd 0x00140998 +dd 0xea00217c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00237c +dd 0xfcffffff +dd 0x03000000 +dd 0xea002178 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002378 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea00210c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00230c +dd 0xffc7fff0 +dd 0x00000005 +dd 0x032c599d +dd 0x00c02c29 +dd 0xeb0f000a +dd 0x0a00822c +dd 0x40e90f00 +dd 0x88059cc1 +dd 0xc098e900 +dd 0x1f203b41 +dd 0x41c098eb +dd 0xe91f203b +dd 0x3b41c098 +dd 0x2cea1f20 +dd 0x000a0082 +dd 0xc030ea0f +dd 0x00000f00 +dd 0x00c030eb +dd 0xe900000f +dd 0x6055c094 +dd 0x30eb4740 +dd 0x000f00c0 +dd 0x8340ea00 +dd 0x0088059c +dd 0x80c178ea +dd 0xeb000019 +dd 0x6055c094 +dd 0x94e94740 +dd 0x406055c0 +dd 0xc088ea47 +dd 0x5580983a +dd 0x80c178eb +dd 0xe9000019 +dd 0x983ac088 +dd 0x88e95580 +dd 0x80983a82 +dd 0xc08cea55 +dd 0x0c782046 +dd 0x46c08ceb +dd 0xe90c7820 +dd 0x2046828c +dd 0x78ea0c78 +dd 0x001980c1 +dd 0xc1ccea00 +dd 0x38254304 +dd 0x04c1cce9 +dd 0xeb382543 +dd 0x4304c1cc +dd 0x7cea3825 +dd 0xa02400c1 +dd 0xc17ce94e +dd 0x3ec02400 +dd 0x00c17ceb +dd 0xea3ec024 +dd 0x05acc140 +dd 0x90eb0088 +dd 0x3e5155c0 +dd 0xc090eb2b +dd 0x2b3e5155 +dd 0x558290e9 +dd 0xea2b3e51 +dd 0xa000c008 +dd 0x08e9b000 +dd 0x00a000c0 +dd 0xc144eab0 +dd 0x00840394 +dd 0x94c144eb +dd 0xe9008403 +dd 0x03948344 +dd 0x38ea0084 +dd 0xce0032c0 +dd 0xc038eb38 +dd 0x38ce0032 +dd 0x32c038e9 +dd 0xea38ce00 + +ref_00027ecc: +dd 0x00000003 +dd 0xea002154 +dd 0xffffc0ff +dd 0x00000003 +dd 0xea002158 +dd 0xffffffc0 +dd 0x00000002 +dd 0xea002354 +dd 0xffffc0ff +dd 0x00000002 +dd 0xea002358 +dd 0xffffffc0 +dd 0x00000001 +dd 0xea002554 +dd 0xffffc0ff +dd 0x00000001 +dd 0xea002558 +dd 0xffffffc0 +dd 0x00000000 +dd 0xea002754 +dd 0xffffc0ff +dd 0x00000000 +dd 0xea002758 +dd 0xffffffc0 +dd 0x00010003 +dd 0xea002154 +dd 0xc0ffffc0 +dd 0x00010002 +dd 0xea002354 +dd 0xc0ffffc0 +dd 0x00010001 +dd 0xea002554 +dd 0xc0ffffc0 +dd 0x00010000 +dd 0xea002754 +dd 0xc0ffffc0 +dd 0x00020003 +dd 0xea002150 +dd 0xc0ffffff +dd 0x00020003 +dd 0xea002154 +dd 0xffc0ffff +dd 0x00020002 +dd 0xea002350 +dd 0xc0ffffff +dd 0x00020002 +dd 0xea002354 +dd 0xffc0ffff +dd 0x00020001 +dd 0xea002550 +dd 0xc0ffffff +dd 0x00020001 +dd 0xea002554 +dd 0xffc0ffff +dd 0x00020000 +dd 0xea002750 +dd 0xc0ffffff +dd 0x00020000 +dd 0xea002754 +dd 0xffc0ffff + +ref_00027fbc: +dd 0xea002090 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea002290 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea002490 +dd 0xffff0000 +dd 0x00003e67 +dd 0xea002690 +dd 0xffff0000 +dd 0x00003e67 + +ref_00027fec: +dd 0xea002090 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002290 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002490 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002690 +dd 0xffff0000 +dd 0x00004c5a + +ref_0002801c: +dd 0xe9000808 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000a08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000c08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000e08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9001008 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9001208 +dd 0x0ffffeff +dd 0xe0000100 + +ref_00028064: +dd 0xea008008 +dd 0x00ffffff +dd 0x1c000000 +dd 0xea002008 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002208 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002408 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002608 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002038 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002238 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002438 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002638 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea00202c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea00222c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea00242c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea00262c +dd 0xfffdf0ff +dd 0x00020100 +dd 0xea002040 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002240 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002440 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002640 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002010 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002210 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002410 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002610 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002140 +dd 0xff000000 +dd 0x00140718 +dd 0xea002340 +dd 0xff000000 +dd 0x00140718 +dd 0xea002540 +dd 0xff000000 +dd 0x00140718 +dd 0xea002740 +dd 0xff000000 +dd 0x00140718 +dd 0xea002144 +dd 0xff000000 +dd 0x00140998 +dd 0xea002344 +dd 0xff000000 +dd 0x00140998 +dd 0xea002544 +dd 0xff000000 +dd 0x00140998 +dd 0xea002744 +dd 0xff000000 +dd 0x00140998 +dd 0xea002148 +dd 0xff000000 +dd 0x00140998 +dd 0xea002348 +dd 0xff000000 +dd 0x00140998 +dd 0xea002548 +dd 0xff000000 +dd 0x00140998 +dd 0xea002748 +dd 0xff000000 +dd 0x00140998 +dd 0xea00217c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00237c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00257c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00277c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00208c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00228c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00248c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00268c +dd 0xff00ffff +dd 0x00800000 +dd 0xea0020a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0022a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0024a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0026a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0020ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0022ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0024ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0026ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea002018 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002218 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002418 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002618 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002000 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002200 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002400 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002600 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002028 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002228 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002428 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002628 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea00201c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00221c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00241c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00261c +dd 0xffff83ff +dd 0x00002400 +dd 0xea002178 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002378 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002578 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002778 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea00210c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00230c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00250c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00270c +dd 0xffc7fff0 +dd 0x00000005 + +ref_000283d0: +dd 0xe90025cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90027cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002568 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002768 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe900242c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe900262c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe900256c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900276c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900254c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900274c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002564 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002764 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002570 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002770 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002514 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002714 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002438 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002638 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002414 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002614 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002540 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9002740 +dd 0xff7fffff +dd 0x00000000 + +ref_000284d8: +dd 0xe90021cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90023cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002168 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002368 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe900216c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900236c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900214c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900234c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002164 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002364 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002170 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002370 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002114 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002314 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002038 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002238 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002014 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002214 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002140 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9002340 +dd 0xff7fffff +dd 0x00000000 +dd 0x1119fbc2 +dd 0x09c00c20 +dd 0xe9072237 +dd 0x3709c00c +dd 0x2cea0722 +dd 0x000a0082 +dd 0xc140e90f +dd 0x0088059c +dd 0x00c02cea +dd 0xea0f000a +dd 0x3b41c098 +dd 0x30e91f20 +dd 0x000f00c0 +dd 0xc098e900 +dd 0x1f203b41 +dd 0x9cc140ea +dd 0xe9008805 +dd 0x6055c094 +dd 0x30e94740 +dd 0x000f00c0 +dd 0xc178ea00 +dd 0x00001980 +dd 0x55c094e9 +dd 0xea474060 +dd 0x1980c178 +dd 0x88ea0000 +dd 0x80983ac0 +dd 0xc088e955 +dd 0x5580983a +dd 0x46c08cea +dd 0xe90c7820 +dd 0x2046c08c +dd 0x90ea0c78 +dd 0x3e5155c0 +dd 0xc090e92b +dd 0x2b3e5155 +dd 0x04c1ccea +dd 0xe9380043 +dd 0x2400c17c +dd 0xcce94ea0 +dd 0x004304c1 +dd 0xc17cea38 +dd 0x3ec02400 +dd 0x00c1c4ea +dd 0xea000002 +dd 0x0200c1c4 +dd 0x08e90000 +dd 0x00a000c0 +dd 0xc008e9b0 +dd 0xb000a000 +dd 0x94c144ea +dd 0xe9008403 +dd 0x0394c144 +dd 0x0cea0084 +dd 0x221709c0 +dd 0xc00ce907 +dd 0x07221709 +dd 0x000000ea + +ref_000286b0: +dd 0x00000003 +dd 0xea002154 +dd 0xffffc0ff +dd 0x00000003 +dd 0xea002158 +dd 0xffffffc0 +dd 0x00000002 +dd 0xea002354 +dd 0xffffc0ff +dd 0x00000002 +dd 0xea002358 +dd 0xffffffc0 +dd 0x00000001 +dd 0xea002554 +dd 0xffffc0ff +dd 0x00000001 +dd 0xea002558 +dd 0xffffffc0 +dd 0x00000000 +dd 0xea002754 +dd 0xffffc0ff +dd 0x00000000 +dd 0xea002758 +dd 0xffffffc0 +dd 0x00010003 +dd 0xea002154 +dd 0xc0ffffc0 +dd 0x00010002 +dd 0xea002354 +dd 0xc0ffffc0 +dd 0x00010001 +dd 0xea002554 +dd 0xc0ffffc0 +dd 0x00010000 +dd 0xea002754 +dd 0xc0ffffc0 +dd 0x00020003 +dd 0xea002150 +dd 0xc0ffffff +dd 0x00020003 +dd 0xea002154 +dd 0xffc0ffff +dd 0x00020002 +dd 0xea002350 +dd 0xc0ffffff +dd 0x00020002 +dd 0xea002354 +dd 0xffc0ffff +dd 0x00020001 +dd 0xea002550 +dd 0xc0ffffff +dd 0x00020001 +dd 0xea002554 +dd 0xffc0ffff +dd 0x00020000 +dd 0xea002750 +dd 0xc0ffffff +dd 0x00020000 +dd 0xea002754 +dd 0xffc0ffff + +ref_000287a0: +dd 0xe9000808 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000a08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000c08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9000e08 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9001008 +dd 0x0ffffeff +dd 0xe0000100 +dd 0xe9001208 +dd 0x0ffffeff +dd 0xe0000100 + +ref_000287e8: +dd 0xea008008 +dd 0x00ffffff +dd 0x1c000000 +dd 0xea002008 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002208 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002408 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002608 +dd 0x00039ef7 +dd 0xea6c6108 +dd 0xea002038 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002238 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002438 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea002638 +dd 0xfffffff0 +dd 0x0000000d +dd 0xea00202c +dd 0xfffdf8ff +dd 0x00020100 +dd 0xea00222c +dd 0xfffdf8ff +dd 0x00020100 +dd 0xea00242c +dd 0xfffdf8ff +dd 0x00020100 +dd 0xea00262c +dd 0xfffdf8ff +dd 0x00020100 +dd 0xea002040 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002240 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002440 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002640 +dd 0xe0ffffff +dd 0x01000000 +dd 0xea002010 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002210 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002410 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002610 +dd 0x0000ffff +dd 0x55510000 +dd 0xea002140 +dd 0xff000000 +dd 0x00140718 +dd 0xea002340 +dd 0xff000000 +dd 0x00140718 +dd 0xea002540 +dd 0xff000000 +dd 0x00140718 +dd 0xea002740 +dd 0xff000000 +dd 0x00140718 +dd 0xea002144 +dd 0xff000000 +dd 0x00140998 +dd 0xea002344 +dd 0xff000000 +dd 0x00140998 +dd 0xea002544 +dd 0xff000000 +dd 0x00140998 +dd 0xea002744 +dd 0xff000000 +dd 0x00140998 +dd 0xea002148 +dd 0xff000000 +dd 0x00140998 +dd 0xea002348 +dd 0xff000000 +dd 0x00140998 +dd 0xea002548 +dd 0xff000000 +dd 0x00140998 +dd 0xea002748 +dd 0xff000000 +dd 0x00140998 +dd 0xea00217c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00237c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00257c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00277c +dd 0xfcffffff +dd 0x03000000 +dd 0xea00208c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00228c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00248c +dd 0xff00ffff +dd 0x00800000 +dd 0xea00268c +dd 0xff00ffff +dd 0x00800000 +dd 0xea0020a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0022a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0024a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0026a4 +dd 0xffcf00ff +dd 0x00308300 +dd 0xea0020ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0022ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0024ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea0026ac +dd 0xffffffcf +dd 0x00000020 +dd 0xea002090 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002290 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002490 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002690 +dd 0xffff0000 +dd 0x00004c5a +dd 0xea002018 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002218 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002418 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002618 +dd 0x0000fcff +dd 0x38250100 +dd 0xea002000 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002200 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002400 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002600 +dd 0x30fcffff +dd 0xcf030000 +dd 0xea002028 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002228 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002428 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea002628 +dd 0x00e0ffff +dd 0x580e0000 +dd 0xea00201c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00221c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00241c +dd 0xffff83ff +dd 0x00002400 +dd 0xea00261c +dd 0xffff83ff +dd 0x00002400 +dd 0xea002178 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002378 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002578 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea002778 +dd 0xffffe0ff +dd 0x00001800 +dd 0xea00210c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00230c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00250c +dd 0xffc7fff0 +dd 0x00000005 +dd 0xea00270c +dd 0xffc7fff0 +dd 0x00000005 + +ref_00028b84: +dd 0xe90025cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90027cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002568 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002768 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe900242c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe900262c +dd 0xfffff8ff +dd 0x00000100 +dd 0xe900256c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900276c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900254c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900274c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002564 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002764 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002570 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002770 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002514 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002714 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002438 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002638 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002414 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002614 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002490 +dd 0xffff00ff +dd 0x00004100 +dd 0xe9002690 +dd 0xffff00ff +dd 0x00004100 +dd 0xe9002540 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9002740 +dd 0xff7fffff +dd 0x00000000 + +ref_00028ca4: +dd 0xe90021cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe90023cc +dd 0xffffebf8 +dd 0x00001407 +dd 0xe9002168 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe9002368 +dd 0xfefff0c3 +dd 0x00000a28 +dd 0xe900216c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900236c +dd 0xffffff00 +dd 0x0000003f +dd 0xe900214c +dd 0xff0000ff +dd 0x00120500 +dd 0xe900234c +dd 0xff0000ff +dd 0x00120500 +dd 0xe9002164 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002364 +dd 0xffff0fff +dd 0x00005000 +dd 0xe9002170 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002370 +dd 0xffffffe7 +dd 0x00000000 +dd 0xe9002114 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002314 +dd 0xc7fff8ff +dd 0x00000100 +dd 0xe9002038 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002238 +dd 0xfffffff0 +dd 0x0000000b +dd 0xe9002014 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002214 +dd 0xffff01ff +dd 0x00006600 +dd 0xe9002090 +dd 0xffff00ff +dd 0x00004100 +dd 0xe9002290 +dd 0xffff00ff +dd 0x00004100 +dd 0xe9002140 +dd 0xff7fffff +dd 0x00000000 +dd 0xe9002340 +dd 0xff7fffff +dd 0x00000000 +dd 0x2201fbc2 +dd 0x09c00c20 +dd 0xe9072237 +dd 0x3709c00c +dd 0x2cea0722 +dd 0x000a0082 +dd 0xc140e90f +dd 0x0088059c +dd 0x00c02cea +dd 0xea0f000a +dd 0x3b41c098 +dd 0x30e91f20 +dd 0x000f00c0 +dd 0xc098e900 +dd 0x1f203b41 +dd 0x9cc140ea +dd 0xe9008805 +dd 0x6055c094 +dd 0x30e94740 +dd 0x000f00c0 +dd 0xc178ea00 +dd 0x00001980 +dd 0x55c094e9 +dd 0xea474060 +dd 0x1980c178 +dd 0x88ea0000 +dd 0x80983ac0 +dd 0xc088e955 +dd 0x5580983a +dd 0x46c08cea +dd 0xe90c7820 +dd 0x2046c08c +dd 0x90ea0c78 +dd 0x3e5155c0 +dd 0xc090e92b +dd 0x2b3e5155 +dd 0x04c1ccea +dd 0xe9380043 +dd 0x2400c17c +dd 0xcce94ea0 +dd 0x004304c1 +dd 0xc17cea38 +dd 0x3ec02400 +dd 0x00c1c4ea +dd 0xea000002 +dd 0x0200c1c4 +dd 0x08e90000 +dd 0x00a000c0 +dd 0xc008e9b0 +dd 0xb000a000 +dd 0x94c144ea +dd 0xe9008403 +dd 0x0394c144 +dd 0x0cea0084 +dd 0x221709c0 +dd 0xc00ce907 +dd 0x07221709 +dd 0x000000ea +dd 0xcb000240 +dd 0xffffffc3 +dd 0x00000008 +dd 0xcb000248 +dd 0xffffffc3 +dd 0x0000000c +dd 0xcb000250 +dd 0xffffffc3 +dd 0x0000000c +dd 0xcb000258 +dd 0xffffffc3 +dd 0x0000000c +dd 0xcb000260 +dd 0xffffffc3 +dd 0x0000000c +dd 0xcb000268 +dd 0xffffffc3 +dd 0x00000010 +dd 0xcb000270 +dd 0xffffffc3 +dd 0x00000010 +dd 0xcb000240 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000248 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000250 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000258 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000260 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000268 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000270 +dd 0xfff3ffff +dd 0x00040000 +dd 0xcb000014 +dd 0xffff9fff +dd 0x00002000 + +ref_00028f48: +dd 0xb3e123d0 +dd 0x4db47a1e +dd 0xd4be66af +dd 0x38669c1e + +ref_00028f58: +dd 0x524ed3ca +dd 0x49f5b250 +dd 0xbaa2d994 +dd 0x140ec7ff +dd 0xc1392859 +dd 0x446e1f65 +dd 0x3584f5b3 +dd 0xc4d1c7fc + +ref_00028f78: +dd 0x80000010 +dd ref_0002901c +dd ref_00028f84 + +ref_00028f84: +dd 0x00000000 +dd fcn_00016529 + +ref_00028f8c: +dd 0x564b33cd +dd 0x4593c92a +dd 0x7324bf90 +dd 0x22633ce4 + +ref_00028f9c: +dd 0x4ed4bf27 +dd 0x42e94092 +dd 0x7b527d80 +dd 0xbdc9001d + +ref_00028fac: +dd 0xf8e21975 +dd 0x4f580899 +dd 0x2555bea4 +dd 0x7ad7c6a9 + +ref_00028fbc: +dd 0x8c8ce578 +dd 0x4f1c8a3d +dd 0x61893599 +dd 0xd32dc385 + +ref_00028fcc: +dd 0x49edb1c1 +dd 0x4761bf21 +dd 0x00eb12bb +dd 0x39bbaa31 + +ref_00028fdc: +dd 0x605ea650 +dd 0x42e1c65c +dd 0xa59180ba +dd 0xc618b62a + +ref_00028fec: +dd 0xf894643d +dd 0x42d1c449 +dd 0xbd85a88e +dd 0xde5bc6d8 + +ref_00028ffc: +dd 0xe6af1f7b +dd 0x46dafc3f +dd 0xb4a328a8 +dd 0x8242a457 + +ref_0002900c: +dd 0x9ca93627 +dd 0x4324b65b +dd 0xb4c002a2 +dd 0x43457661 + +ref_0002901c: +dd 0x1f4c6f90 +dd 0x48d8b06b +dd 0xe5ba01a2 +dd 0x567dcdf1 +dd 0xde8f2878 +dd 0x498e36d5 +dd 0x8c1659ba +dd 0x35b34726 +dd 0xc4d6994a +dd 0x47c0aa3d +dd 0xbfb00aae +dd 0x13a6baad +dd 0xd0a2562e +dd 0x4a7ca1b1 +dd 0xc7c85297 +dd 0x466cfcbb +dd 0x3d0e663a +dd 0x4489dc72 +dd 0x9ee4c587 +dd 0x52a473e7 + +ref_0002906c: +dd 0xaf4a1998 +dd 0x45454949 +dd 0xe7c14c9c +dd 0x56e042c0 + +ref_0002907c: +dd 0x220307a4 +dd 0x42a53670 +dd 0x9d3201aa +dd 0x6b913ecd + +ref_0002908c: +dd 0x433e0f9f +dd 0x410a05ae +dd 0x29bfc3a0 +dd 0xac25cb8e + +ref_0002909c: +dd 0x1edcbdf9 +dd 0x4bd4ffc6 +dd 0x5d19f694 +dd 0x5670e11d + +ref_000290ac: +dd 0x17865dc0 +dd 0x4da80b8b +dd 0x467c428b +dd 0x4dca5cb8 +dd 0x63b6e435 +dd 0x49c632bc +dd 0xa1b7bd81 +dd 0x6c1afea0 + +ref_000290cc: +dd 0xed097352 +dd 0x445a9041 +dd 0x9db2b680 +dd 0x45889e50 +dd 0xfbf26154 +dd 0x4bdc4e55 +dd 0x18d97baf +dd 0x613f44ac + +ref_000290ec: +dd 0xf38d1338 +dd 0x4fb6af7a +dd 0x9c1adb91 +dd 0x0d578321 + +ref_000290fc: +dd 0x908c7f8b +dd 0x47fb5c48 +dd 0xfdf55783 +dd 0x7652234e + +ref_0002910c: +dd 0xc02b0573 +dd 0x4a312b4e +dd 0x56941aa3 +dd 0x2c44507b +dd 0x3bc1f6de +dd 0x4547693e +dd 0x822100a3 +dd 0xb220a43c + +ref_0002912c: +dd 0x50031131 +dd 0x43ef4f24 +dd 0x3773afb7 +dd 0xac0ef794 +dd 0xe806424f +dd 0x4b1ad425 +dd 0x695f26bc +dd 0x5aa18903 + +ref_0002914c: +dd 0x794a0deb +dd 0x4e7bc971 +dd 0xbfd0f28a +dd 0x9826ca3c + +ref_0002915c: +dd 0x98191174 +dd 0x41060b26 +dd 0x45d002af +dd 0x2b05e851 +dd 0x21d56275 +dd 0x405ff984 +dd 0x08ea0b9f +dd 0x7e0aef4d +dd 0x881807d2 +dd 0x4ec998d1 +dd 0x4677a0af +dd 0x49242fc4 +dd 0x2549016d +dd 0x4d002b17 +dd 0x441da4b5 +dd 0xf838013a +dd 0x7408d748 +dd 0x4ee6fc8c +dd 0xbec48892 +dd 0x10a492c0 +dd 0x38cdd10b +dd 0x4f6e767d +dd 0xee6744a7 +dd 0xa52ffe1d +dd 0xe9db0d58 +dd 0x47f6d48d +dd 0x406f6e9c +dd 0x417b6ce8 +dd 0x09be4bc2 +dd 0x4dea790e +dd 0x0538dc8b +dd 0x44399816 + +ref_000291dc: +dd 0xf8d5438e +dd 0x481d26e1 +dd 0xd6303cb6 +dd 0x20a4f4ef +dd 0x9a7ef41e +dd 0x4bd1c140 +dd 0x111e84b8 +dd 0xe64c0b24 +dd 0x30eb2979 +dd 0x4d60b0f7 +dd 0x2c1adcb2 +dd 0xf4b1ce96 +dd 0x3acf33ee +dd 0x40f4d892 +dd 0x5438fca2 +dd 0x3d32e1d2 +dd 0xb6ec423c +dd 0x490d21d2 +dd 0x58ddc685 +dd 0x74a6ea64 +dd 0x268f33a9 +dd 0x48becccd +dd 0x05861788 +dd 0xd62ec33a +dd 0x55750d10 +dd 0x4bf56d3d +dd 0x5ee3d889 +dd 0xf490b0f0 +dd 0x99b56126 +dd 0x4d9be16c +dd 0x35aa71bb +dd 0x2f701a46 + +ref_0002925c: +dd 0x573eaf99 +dd 0x46b5f445 +dd 0x4abcd5a5 +dd 0xf3983593 + +ref_0002926c: +dd 0x09ea8911 +dd 0x4230be0d +dd 0xc6ed03a0 +dd 0x118eb493 + +ref_0002927c: +dd 0x3e14d361 +dd 0x42e4c7d7 +dd 0xebb907ae +dd 0x2aed9648 +dd 0x61c68702 +dd 0x4f434d7e +dd 0x43a7ef8d +dd 0xc574ce05 +dd 0xd3bfe2de +dd 0x11df3daf +dd 0xa5e340ba +dd 0x9395d856 +dd 0x69a20012 +dd 0x4e35b167 +dd 0xee9899a9 +dd 0x2ef03508 +dd 0xfa2ddc38 +dd 0x42183f19 +dd 0xd7d93eb5 +dd 0x6767629d +dd 0xf9f0b131 +dd 0x4f16f346 +dd 0x41f9dd80 +dd 0x7d3a2b07 +dd 0x60ac3a8f +dd 0x4cd44d66 +dd 0xf0c35a89 +dd 0xee65666e +dd 0xfc5f2e00 +dd 0x11e1fc68 +dd 0x00081fa2 +dd 0x669a0c20 +dd 0x3ea94650 +dd 0x11e1fc5b +dd 0x00081fa2 +dd 0x669a0c20 +dd 0x707be83e +dd 0x40a50bf6 +dd 0xc03464be +dd 0xe2b8a03a +dd 0xbb929da9 +dd 0x403568f7 +dd 0xbba32cb2 +dd 0x55da233f +dd 0x7d279373 +dd 0x4d4feecc +dd 0xc4ce2fae +dd 0x6ab006b7 +dd 0x1e94f097 +dd 0x40895acd +dd 0xa5b9e3b2 +dd 0x0ca779c8 +dd 0x4efa0db6 +dd 0x4bb126dc +dd 0xbc146fa7 +dd 0x3c7b0c63 +dd 0xca0801d3 +dd 0x4decafb1 +dd 0x6593659b +dd 0x6b93c7ec +dd 0x9a8f82d5 +dd 0x48da39b1 +dd 0x2da2dc92 +dd 0xf64d83a8 +dd 0x7c66ffdc +dd 0xe5d4423c +dd 0xad551b25 +dd 0x982695ba +dd 0xb441df87 +dd 0x48118d94 +dd 0x9a0ff785 +dd 0x2a9df87b +dd 0x03fdf171 +dd 0x4ace1d67 +dd 0x363e04a9 +dd 0x74fa38d3 +dd 0x1bad711c +dd 0x4241d451 +dd 0x3785f3b1 +dd 0x700c2e81 +dd 0x368cda0d +dd 0x4b9bcf31 +dd 0xd1e7f68c +dd 0x7e15ffbf +dd 0xd7ac94af +dd 0x45eca498 +dd 0x6ea5a2bf +dd 0x8b613495 +dd 0xacc8e1e4 +dd 0x4e409f9f +dd 0x9ef97ea5 +dd 0xa54cf352 +dd 0x1bf06aea +dd 0x4a8d5bec +dd 0x9b747695 +dd 0x302d5609 +dd 0xbe644001 +dd 0x48b1e7d4 +dd 0xa08b96b0 +dd 0xe77abc47 +dd 0x3d989471 +dd 0x46b7cfac +dd 0x43081c9b +dd 0x2d400901 +dd 0x2986883f +dd 0x48d088e0 +dd 0xc220824b +dd 0xacdd4869 +dd 0xc38fb0e2 +dd 0x49c90c43 +dd 0x179b44b5 +dd 0xa3cb4daa +dd 0x5848fd2d +dd 0x474bd6af +dd 0xdd957582 +dd 0x23e80ae7 +dd 0x429501d9 +dd 0x40f4e447 +dd 0xc9757b86 +dd 0x4eb51d3a +dd 0x87f22dcb +dd 0x41057304 +dd 0x71317cbb +dd 0x3bc2cc43 +dd 0xc020489e +dd 0x4ef26db2 +dd 0x06caa59a +dd 0x6ad311fc +dd 0xcbcb3817 +dd 0x497e81e6 +dd 0xfac8ff87 +dd 0x28ec248f +dd 0xaaa99a23 +dd 0x4c3113b6 +dd 0x9e298bbb +dd 0xa44fc08e +dd 0xcacb3817 +dd 0x497e81e6 +dd 0xfac8ff87 +dd 0x28ec248f + +ref_000294ac: +dd 0x4c10d934 +dd 0x45a438e6 +dd 0x792a249a +dd 0x7fcb3db9 +dd 0x27e569d5 +dd 0x4d8f0afc +dd 0x3a78908c +dd 0xab18a3c4 +dd 0x711c703f +dd 0x4b10c285 +dd 0xec36b0a3 +dd 0xe28b3cbd +dd 0xe39e5bea +dd 0x45f65f1e +dd 0xbfd81caf +dd 0xcd49475f +dd 0x1ea81bec +dd 0x4d98f01a +dd 0x614a01a2 +dd 0x22c02fce +dd 0x76b6bdfa +dd 0x44622acd +dd 0x58cb3f9e +dd 0x37d969c9 +dd 0x9a4e9246 +dd 0x11d5d553 +dd 0x0600e287 +dd 0xb9c34529 +dd 0x4c19049f +dd 0x4dd34137 +dd 0x978b109c +dd 0xfafd3fa8 +dd 0x86cf2b1a +dd 0x4642b3da +dd 0x1cd0f595 +dd 0xb8601c6c + +ref_0002953c: +dd 0x08040201 +dd 0x08040201 +dd 0x00000000 + +ref_00029548: +dd 0x08040201 +dd 0x00000000 +dd 0x08040201 + +ref_00029554: +dd 0x80000010 +dd ref_00028ffc +dd 0x00000000 + +ref_00029560: +dd fcn_0001a994 +dd fcn_0001aac1 +dd fcn_0001abd6 +dd fcn_0001acd4 +dd fcn_0001a847 +dd fcn_0001a856 +dd fcn_0001a865 +dd fcn_0001a8b5 +dd fcn_0001a874 +dd fcn_0001a88a +dd fcn_0001a8a0 +dd fcn_0001a8c4 +dd fcn_0001a7af +dd fcn_0001a7be +dd fcn_0001a7cd +dd fcn_0001a7dc +dd fcn_0001a7eb +dd fcn_0001a801 +dd fcn_0001a817 +dd fcn_0001a82c + +ref_000295b0: +dd 0x75736e55 +dd 0x726f7070 +dd 0x20646574 +dd 0x20484350 +dd 0x70657453 +dd 0x676e6970 +dd 0x7553202e +dd 0x726f7070 +dd 0x676e6974 +dd 0x48435020 +dd 0x65747320 +dd 0x6e697070 +dd 0x74732067 +dd 0x69747261 +dd 0x6620676e +dd 0x206d6f72 +dd 0x61207325 +dd 0x6120646e +dd 0x65766f62 +dd 0x9066000a + +ref_00029600: +dd 0xa6a4a2a0 + +ref_00029604: +dd 0x02353140 +dd 0x20373144 +dd 0x32103146 +dd 0x32163148 +dd 0x3250314c +dd 0x76543150 +dd 0x00063158 +dd 0x55443164 +dd 0x00073168 + +ref_00029628: +dd 0x02353140 +dd 0x20373144 +dd 0x32103146 +dd 0x32163148 +dd 0x3250314c +dd 0x76543150 + +ref_00029640: +dd 0x00003100 +dd 0x03203200 +dd 0x00003108 +dd 0x00000001 +dd 0x0000310c +dd 0x43214321 +dd 0x00003110 +dd 0x00000001 +dd 0x00003118 +dd 0x00000001 + +ref_00029668: +dd 0x00003100 +dd 0x03203200 +dd 0x00003108 +dd 0x00000001 +dd 0x0000310c +dd 0x43214321 +dd 0x00003110 +dd 0x00000001 +dd 0x00003114 +dd 0x00000001 +dd 0x00003118 +dd 0x00000001 + +ref_00029698: +dd 0x422b8086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x422c8086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x42388086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x42398086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00828086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00858086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00838086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00848086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00868086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00878086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00888086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00898086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x008f8086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00908086 +dd 0x02ffffff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08ae8086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08af8086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08968086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08978086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08858086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08868086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08948086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08958086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08928086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08938086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08908086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08918086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08878086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08888086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x088e8086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x088f8086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08b58086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08b68086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x08b38086 +dd 0x028002ff +dd 0x01540003 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b38086 +dd 0x028002ff +dd 0x01580002 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b48086 +dd 0x028002ff +dd 0x01540003 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b48086 +dd 0x028002ff +dd 0x01580002 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b18086 +dd 0x028002ff +dd 0x01540003 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b18086 +dd 0x028002ff +dd 0x01580002 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b28086 +dd 0x028002ff +dd 0x01540003 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b28086 +dd 0x028002ff +dd 0x01580002 +dd 0x00000003 +dd 0x00000000 +dd 0x00000000 +dd 0x08b08086 +dd 0x028002ff +dd 0x00000001 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +;; The following should be the .bss section +ref_00029a88: +dd 0x00000000 + +ref_00029a8c: +dd 0x00000000 + +ref_00029a90: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00029aa8: +dd 0x00000000 +dd 0x00000000 + +ref_00029ab0: +dd 0x00000000 + +ref_00029ab4: +dd 0x00000000 + +ref_00029ab8: +dd 0x00000000 + +ref_00029abc: +dd 0x00000000 + +ref_00029ac0: +dd 0x00000000 + +ref_00029ac4: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00029adc: +dd 0x00000000 + +ref_00029ae0: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00029b04: +dd 0x00000000 + +ref_00029b08: +dd 0x00000000 + +ref_00029b0c: +dd 0x00000000 + +ref_00029b10: +dd 0x00000000 + +ref_00029b14: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00029c00: +dd 0x00000000 + +ref_00029c04: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00029cf4: +dd 0x00000000 +dd 0x00000000 + +ref_00029cfc: +dd 0x00000000 + +ref_00029d00: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00031230: +dd 0x00000000 + +ref_00031234: +dd 0x00000000 +dd 0x00000000 +dd 0x00000000 + +ref_00031240: +dd 0x00000000 +dd 0x00000000 -- cgit v1.2.3